Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import random
- import time
- START_MONEY = 100 # pocatecni kapital (pocet zetonu)
- ROUNDS = 1000000.0 # maximalni pocet kol
- MINIMAL_STAKE = 0.01
- ## Vyjimka vyvolana na konci hry (dosazeni maximalniho poctu kol nebo vycerpani kapitalu).
- ## Vypise stav konta a ukonci beh programu.
- class GameOver:
- def __init__(self):
- print "Vysledek:", game.getBallance(), " (", game.getRoundNumber(), " - ", (game.getRoundNumber() / ROUNDS) * 100.0, "%)"
- print "Rekord:", game.getMaximum(), "zetonu"
- print "Minimum", game.getMinimum(), "zetonu"
- exit()
- ## Implementace vlastni hry.
- class Game:
- # Inicializuje promenne
- def __init__(self):
- self.ballance = START_MONEY
- self.round = 0
- self.maximum = self.ballance
- self.minimum = self.ballance
- # Vsadi castku "stake" na cislo "number".
- # Vraci:
- # - cislo 0: padlo cislo 0
- # - cislo 1: padlo cislo 1
- # - cislo 2: sazka byla vetsi nez aktualni zustatek NEBO byla prilis mala
- def spin(self, number, stake):
- if (self.round >= ROUNDS) or (self.ballance <= 0):
- raise GameOver
- if (self.ballance < stake) or (stake < MINIMAL_STAKE):
- return 2
- result = random.randint(0, 1)
- if result == number:
- self.ballance = self.ballance + stake
- else:
- self.ballance = self.ballance - stake
- if self.maximum < self.ballance:
- self.maximum = self.ballance
- if self.minimum > self.ballance:
- self.minimum = self.ballance
- self.round += 1
- return result
- # Vrati aktualni pocet zetonu.
- def getBallance(self):
- return self.ballance
- # Vrati cislo aktualniho kola
- def getRoundNumber(self):
- return self.round
- # Vrati rekordni stav konta (pocet zetonu) za danou hru
- def getMaximum(self):
- return self.maximum
- # Vrati nejnizsi stav konta (poctu zetonu) za danou hru
- def getMinimum(self):
- return self.minimum
- # Okamzite ukonci hru
- def exitGame(self):
- raise GameOver
- game = Game()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement