网络编程
位置:首页>> 网络编程>> Python编程>> Python实现国外 * 热门游戏Craps(双骰子)

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

作者:hebedich  发布时间:2023-12-13 23:22:21 

标签: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有所帮助。

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com