Python实现国外赌场热门游戏Craps(双骰子)
运行方法:
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 can't play since you don't 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 don't 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有所帮助。