Advertisement
Guest User

Untitled

a guest
Nov 8th, 2011
188
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.68 KB | None | 0 0
  1. import random
  2. import time
  3.  
  4. START_MONEY     = 100       # pocatecni kapital (pocet zetonu)
  5. ROUNDS          = 1000000.0 # maximalni pocet kol
  6. MINIMAL_STAKE   = 0.01
  7.  
  8. ## Vyjimka vyvolana na konci hry (dosazeni maximalniho poctu kol nebo vycerpani kapitalu).
  9. ## Vypise stav konta a ukonci beh programu.
  10. class GameOver:
  11.     def __init__(self):
  12.         print "Vysledek:", game.getBallanc(), " (", game.getRoundNumber(), " - ", (game.getRoundNumber() / ROUNDS) * 100.0, "%)"
  13.         print "Rekord:", game.getMaximum(), "zetonu"
  14.         exit()
  15.    
  16. ## Implementace vlastni hry.
  17. class Game:
  18.  
  19.     # Inicializuje promenne
  20.     def __init__(self):
  21.         self.ballanc    = START_MONEY
  22.         self.round      = 0
  23.         self.maximum    = self.ballanc
  24.    
  25.     # Vsadi castku "stake" na cislo "number".
  26.     # Vraci:
  27.     #   - cislo 0: padlo cislo 0
  28.     #   - cislo 1: padlo cislo 1
  29.     #   - cislo 2: sazka byla vetsi nez aktualni zustatek NEBO byla prilis mala
  30.     def spin(self, number, stake):
  31.         if (self.round >= ROUNDS) or (self.ballanc <= 0):
  32.             raise GameOver
  33.            
  34.         if (self.ballanc < stake) or (stake < MINIMAL_STAKE):
  35.             return 2
  36.            
  37.         result = random.randint(0, 1)
  38.        
  39.         if result == number:
  40.             self.ballanc = self.ballanc + stake
  41.         else:
  42.             self.ballanc = self.ballanc - stake
  43.        
  44.         if self.maximum < self.ballanc:
  45.             self.maximum = self.ballanc
  46.        
  47.         time.sleep(0.0001)
  48.         self.round += 1
  49.         return result
  50.        
  51.     # Vrati aktualni pocet zetonu.
  52.     def getBallanc(self):
  53.         return self.ballanc
  54.        
  55.     # Vrati cislo aktualniho kola
  56.     def getRoundNumber(self):
  57.         return self.round
  58.        
  59.     # Vrati rekordni stav konta (pocet zetonu) za danou hru
  60.     def getMaximum(self):
  61.         return self.maximum
  62.        
  63.     # Okamzite ukonci hru
  64.     def exitGame(self):
  65.         raise GameOver
  66.  
  67. game = Game()
  68.        
  69.  
  70.  
  71.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement