Dit kaartspel verloopt, zoals de titel suggereert, in 10 fasen. Elke fase is verschillend en verlangt zijn eigen strategie. Het doel van dit spel is om, door het verzamelen en uitleggen van de kaarten, 10 verschillende combinaties van kaarten uit te spelen. Die 10 combinaties moeten in een welbepaalde volgorde uitgespeeld worden. De eerste fase moet je 2 drielingen (= drie kaarten met zelfde cijfer, kleur maakt niet uit) spelen, tijdens de tweede fase moet 1 drieling en een reeks van 4 kaarten samen stellen. Dit gaat zo verder tot fase 10 waar je 1 vijfling en 1 drieling moet hebben. Wie aan de beurt is, moet eerst een kaart van de verdekte of aflegstapel nemen, kan vervolgens een fase uitspelen en moet een kaart op de aflegstapel leggen om zijn speelbeurt te eindigen. Als je zelf reeds een fase op tafel liggen hebt tijdens die ronde, mag je aanvullend extra kaarten bij uitgespeelde fases van om het even wie aanleggen. Zo kan je je voorraad handkaarten uiteindelijk uitspelen. Slaagt iemand daarin, dan ontvangen de andere spelers strafpunten per overgebleven handkaart.
Alle kaarten worden opnieuw geschud en een nieuwe ronde start. Noteer wie reeds welke fase bereikt heeft en hoeveel strafpunten de spelers ontvangen per beëindigde ronde.
Als oefening zullen we een aantal zaken vanuit de game automatiseren a.d.h.v. functies.
False
). Vervolgens wensen we een boolean die meedeelt of de kaarten de structuur volgen.False
). Vervolgens wensen we een boolean die meedeelt of de kaarten de structuur volgen.False
). Vervolgens wensen we een boolean die meedeelt of de kaarten de structuur volgen.False
). Vervolgens wensen we een boolean die meedeelt of de kaarten de structuur volgen. (zie punt 3)import itertools
l = [('a', 'b'), (1, 2), (2, 3), (4, 5)]
for i in itertools.combinations(l, 2):
print(list(i))
>>> iskaart((5, "Blauw"))
True
>>> iskaart((7, "Oranje"))
False
>>> h1 = [(4, 'Geel'), (12, 'Groen'), (5, 'Blauw'), (1, 'Geel'), (1, 'Blauw'), (1, 'Blauw'), (1, 'Rood'), (7, 'Blauw'), (12, 'Blauw'), (5, 'Groen')]
>>> h2 = [(4, 'Grijs'), (14, 'Groen'), (5, 'Blauw'), (1, 'Geel'), (1, 'Blauw'), (1, 'Blauw'), (1, 'Rood'), (7, 'Blauw'), (12, 'Blauw'), (5, 'Groen')]
>>> iskaarten(h1[:-1])
True
>>> ishand(h1)
True
>>> ishand(h2)
False
>>> s1a = '3A'
>>> s1b = '10A'
>>> s2a = '3K'
>>> s2b = '5J'
>>> s3a = 'ABCD'
>>> s3b = 'ABCE'
>>> isstructuur1(s1a)
True
>>> isstructuur1(s1b)
False
>>> isstructuur2(s2a)
True
>>> isstructuur2(s2b)
False
>>> isstructuur3(s3a)
True
>>> isstructuur3(s3b)
False
>>> isstructuur(s1a)
True
>>> isstructuur(s3b)
False
>>> structuur2aantal(s1a)
3
>>> structuur2aantal(s3a)
4
>>> volgt_structuur1([(5, "Blauw"), (5, "Groen"), (5, "Groen")], s1a)
True
>>> volgt_structuur1([(5, "Blauw"), (10, "Groen"), (5, "Groen")], s1a)
False
>>> volgt_structuur2([(7, "Groen"), (5, "Groen"), (4, "Groen")], s2a)
True
>>> volgt_structuur2([(7, "Groen"), (5, "Groen"), (4, "Geel")], s2a)
False
>>> sorteer_op_getalwaarde([(7, "Groen"), (5, "Groen"), (4, "Groen"), (6, "Rood")])
[(4, 'Groen'), (5, 'Groen'), (6, 'Rood'), (7, 'Groen')]
>>> volgt_structuur3([(7, "Groen"), (5, "Groen"), (4, "Groen"), (6, "Rood")], s3a)
True
>>> volgt_structuur3([(7, "Groen"), (5, "Groen"), (4, "Geel")], s3a)
False
>>> volgt_structuur([(5, "Blauw"), (5, "Groen"), (5, "Groen")], s1a)
True
>>> volgt_structuur([(7, "Groen"), (5, "Groen"), (4, "Geel")], s3a)
False
>>> afleggen(h1, s2a)
True
>>> afleggen(h2, s2a)
False