Razred BlackJackIgralec

Napišimo še metodo rezultat, ki preveri rezultat igre – ali je igralec zmagal proti delivcu – in vrne niz, ki predstavlja rezultat igre:

class BlackJackIgralec(Igralec):
  # ...

  def rezultat(self, rezultat_delivca):
    s = "Igralec " + self._ime + ":\n"
    s += " Vrednost kart v roki " + str(self.vrednost_kart())
    if self.ima_blackjack():
      s += " (Black Jack)"
    s += "\n"

    rezultat = self.vrednost_kart()
    if self.ima_blackjack():
      s += " ZMAGA\n"
    elif rezultat <= 21 and rezultat > rezultat_delivca:
      s += " ZMAGA\n"
    elif rezultat <= 21 and rezultat_delivca > 21:
      s += " ZMAGA\n"
    else:
      s += " PORAZ\n"
    return s

Prvi del metode sestavi niz, ki izpiše vrednost kart, ki jih ima igralec v roki ter morebitno kombinacijo Black Jack, če jo igralec ima. Drugi del metode preveri vrednost kart igralca in jo primerja z vrednostjo kart delivca. Igralec zmaga v enem od naslednjih treh primerov:

  • igralec ima Black Jack,
  • vsota vrednosti kart igralca je manjša ali enaka 21 in hkrati večja od vsote vrednosti kart delivca,
  • vsota vrednosti kart igralca je manjša ali enaka 21 in hkrati je vsota vrednosti kart delivca večja od 21.

V vseh drugih primerih zmaga delivec.


Izvedi Počisti