首页 > 编程 > Python > 正文

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

2019-11-25 17:52:48
字体:
来源:转载
供稿:网友

运行方法:

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

craps.py

import random point_set = Falsebet = 10bankroll = 1000sim_win = 0sim_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有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表