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

WBOY
Release: 2016-06-10 15:16:36
Original
3215 people have browsed it

运行方法:

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()
Copy after login

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

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!