Razred BlackJackDelivec

Delivec je na nek način posebna vrsta igralca, torej bomo napisali nov razred BlackJackDelivec, ki bo predstavljal delivca in bo dedoval lastnosti in metode starševskega razreda BlackJackIgralec.

Razred BlackJackDelivec bo imel posodobljneno metodo __init__, ki bo vsebovala lastnost _skrito. Privzeta vrednost te lastnosti bo True kar bo pomenilo, da bo ena izmed dveh delivčevih kart na začetku igre skrita. To karto bomo odkrili šele, ko bodo vsi igralci odigrali igro, saj delivec zadnji vleče morebitne dodatne karte:

class BlackJackDelivec(BlackJackIgralec):

  def __init__(self):
    self._karte = []
    self._skrito = True

Metoda __init__ ne bo vsebovala lastnosti _ime, saj ni nujno, da vemo ime delivca.

Posodobili bomo tudi metodo __str__, ki bo izpisala samo katere karte ima delivec, ne pa tudi ali je delivec zmagal ali izgubil. To niti ni smiselno, saj pri tej igri igrajo igralci proti delivcu in nas v resnici zanima samo, ali je posamezen igralec premagal delivca ali ne:

class BlackJackDelivec(BlackJackIgralec):
  # ...

  def __str__(self):
    s = "Delivec ima\n"
    if self._skrito:
      s += str(self.karte[0]) + "\n (skrita karta)\n"
    else:
      s += Komplet.__str__(self)
    return s

Podobno kot metodo __str__, bomo posodobili tudi metodo rezultat, ki bo izpisala samo skupno vrednost kart, ki jih ima delivec, ne pa tudi tega, ali je delivec zmagal ali izgubil. Posodobljeno kodo metode rezultat si oglej v interaktivnem urejevalniku.


Izvedi Počisti