Python实现国外赌场热门游戏Craps(双骰子)

2018-09-22 00:47

阅读:664

  运行方法:

   1. 打开python2 IDLE;
2. 输入 from craps import *
3. 按提示输入运行命令。例如,玩游戏就输入play();查看余额就输入check_bankroll();
自动玩看胜率就输入auto()

  craps.py

   import random point_set = False bet = 10 bankroll = 1000 sim_win = 0 sim_lose = 0 print Welcome to the Seven Star casino! You are playing craps now, your started bankroll is $1000, the started bet is $10, command: play(): Rolling the dices check_bankroll(): Checking your current balance all_in(): Showing hand set_bet(): Setting a new bet game(): Check your game status auto(): It can be played automatically for you until reach a specific bankroll def roll(): d1 = random.randrange(1,7) d2 = random.randrange(1,7) print You rolled, d1, +, d2, =, d1+d2 return d1 + d2 def play(): global point_set, bankroll, point global sim_win, sim_lose if bankroll < bet: print Sorry, you cant play since you dont have enough money! print Do you wanna get more money? 1: Yes 2: No choice = raw_input(>>) if choice == str(1): money = raw_input(How much do you wanna get?) bankroll += int(money) print Your current bankroll is: , bankroll if choice == str(2): print Thanks for playing! See you next time! else: if not point_set: print print New game. Your bet is: , bet # for the first roll r = roll() if not point_set: if r in (7, 11): bankroll += bet sim_win += 1 print Congratz! You Won! Your bankroll is: , bankroll elif r in (2, 3, 12): bankroll -= bet sim_lose += 1 print Oops! You lost! Your bankroll is: , bankroll else: point = r point_set = True print Your point is, [, point, ] # for subsequence rolls elif r == 7: bankroll -= bet sim_lose += 1 point_set = False print You crapped out! Your bankroll is: , bankroll elif r == point: bankroll += bet sim_win += 1 point_set = False print You made your point! Your bankroll is: , bankroll def set_bet(inp): global bet, bankroll, point_set print if point_set: print WARNING! print The game has started, you will lose half of your bet if resetting your bet! prompt = raw_input( 1: Yes, I am wanna reset my bet! 2: No, I dont wanna reset my bet! ) if prompt == 1: point_set = False bankroll -= bet/2 print Forfeiting current bet. Your bankroll is: , bankroll else: pass bet = int(inp) print New bet size is: , bet def all_in(): set_bet(bankroll) def check_bankroll(): global bet print Your current balance is: , bankroll def game(): total = sim_win + sim_lose percent = float(sim_win)/total * 100 print So far, the games that you have been playing are: , total print Won , sim_win print Lost , sim_lose print Overall, you have %d%% to win! %percent def auto(): game_status = True purpose = raw_input(How much are you gonna reach? ) while game_status: play() if bankroll == int(purpose) or bankroll == 0: game_status = False game()

  以上所述就是本文的全部内容了,希望能够对大家学习Python有所帮助。


评论


亲,登录后才可以留言!