Komplet
Sedaj, ko imamo objekte Karta
, ki predstavljajo igralne karte, je naslednji logični korak, da definiramo razred Komplet
, ki bo predstavljal komplet kart. Seveda je komplet kart sestavljen iz kart, zato bo vsak objekt Komplet
, kot lastnost, vseboval tabelo kart. Veliko iger s kartami potrebuje vsaj dva različna kompleta – rdečega in modrega.
Definirajmo razred Komplet
. Inicializacijska metoda ustvari tabelo kart, ki jih komplet vsebuje, in jo napolni z 52-imi kartami:
class Komplet: def __init__(self): self._karte = [] for barva in range(4): for vrednost in range(1, 14): self._karte.append(Karta(barva, vrednost))
Najlažji način, da napolnimo komplet kart je, da uporabimo vgnezdeno zanko. Z zunanjo zanko oštevilčimo barve od 0 do 3. Z notranjo zanko pa oštevilčimo vrednosti od 1 do 13. Ker se zunanja zanka izvede 4-krat, notranja zanka pa 13-krat, je skupno število kart, ki jih dodamo v tabelo enako 52 (4 krat 13). Vsaka iteracija ustvari nov objekt Karta
s trenutno barvo in vrednostjo ter ga doda v tabelo kart. Sedaj lahko ustvarimo kompleta kart:
rdeci_komplet = Komplet() modri_komplet = Komplet()