########################## klassen Kort ############################# class Kort(object): """ Ett spelkort. """ VALORER = ["ess", "2", "3", "4", "5", "6", "7", "8", "9", "10", "knekt", "dam", "kung"] FARGER = ["Klöver", "Ruter", "Hjärter", "Spader"] def __init__(self, valor, farg, synligt = True): self.valor = valor self.farg = farg self.framsidanUpp = synligt def __str__(self): if self.framsidanUpp: rep = self.farg + " " + self.valor else: rep = "XX" return rep.ljust(14) def vand(self): self.framsidanUpp = not self.framsidanUpp ########################## klassen Hand ############################# class Hand(object): def __init__(self): self.korten = [] def __str__(self): if self.korten: rep = "" for card in self.korten: rep += str(card) + "\t" else: rep = "" return rep def bort(self): self.korten = [] def stoppaIn(self, kort): self.korten.append(kort) def ge(self, kort, annanHand): self.korten.remove(kort) annanHand.stoppaIn(kort) ########################## klassen Deck ############################# class Lek(Hand): """ En kortlek. """ def fyll(self): for farg in Kort.FARGER: for valor in Kort.VALORER: self.stoppaIn(Kort(valor, farg)) def blanda(self): import random random.shuffle(self.korten) def delaUt(self, personer, perHand = 1): for runda in range(perHand): for person in personer: if self.korten: oversta = self.korten[0] self.ge(oversta, person) else: print "Slut på kort!" ##################### Slut på klasserna ############################# def main(): print "Skapar en kortlek" kortlek = Lek() kortlek.fyll() kortlek.blanda() antal = input("Hur många spelare? ") spelare = [] for i in range(antal): spelare.append(Hand()) kortlek.delaUt(spelare,3) for s in spelare: print s main()