感觉这个游戏以后可以做可视化的图形用户界面,所以改进一下,先记下来。
CRAPS又称花旗骰,是美国拉斯维加斯非常受欢迎的一种的桌上赌博游戏。该游戏使用两粒骰子,玩家通过摇两粒骰子获得点数进行游戏。简单的规则是:玩家第一次摇骰子如果摇出了7点或11点,玩家胜;玩家第一次如果摇出2点、3点或12点,庄家胜;其他点数玩家继续摇骰子,如果玩家摇出了7点,庄家胜;如果玩家摇出了第一次摇的点数,玩家胜;其他点数,玩家继续要骰子,直到分出胜负。
from time import sleep
from random import randint # 这种写法使得之后的引用比random.randint更简洁
print('>>>>>======-游戏开始-======<<<<<')
start = True # 标志位,使得游戏可以反复开始
while start:
money = 1000
while money > 0:
print('你的总资产为:', money)
needs_go_on = False
while True:
debt = int(input('请下注: '))
if 0 < debt <= money:
print('你的下注金额为', debt)
break
else:
print('你的下注金额不合理!')
first1 = randint(1, 6) # 两个骰子分开,为以后图形界面考虑
first2 = randint(1, 6)
first = first2 + first1
sleep(0.5) # 暂停0.5秒,增加真实感
print('玩家摇出了%d点' % first)
if first == 7 or first == 11:
print('玩家胜!')
money += debt
elif first == 2 or first == 3 or first == 12:
print('庄家胜!')
money -= debt
else:
needs_go_on = True # 也是一个标志位
while needs_go_on:
needs_go_on = False
current1 = randint(1, 6)
current2 = randint(1, 6)
current = current1 + current2
sleep(0.5)
print('玩家摇出了%d点' % current)
if current == 7:
print('庄家胜!')
money -= debt
elif current == first:
print('玩家胜!')
money += debt
else:
needs_go_on = True
print('你破产了, 游戏结束!')
while True:
option = input('还想再玩一次吗?(回答y或n)\n') # 一局游戏结束后询问是否再开一局
#input函数的提示语不带换行,而print函数结尾自动换行
yes = 'y'
no = 'n'
if option == yes:
break
elif option == no:
start = 0
print('>>>>>======-游戏结束-======<<<<<')
break
else:
print('你的回答电脑无法识别!')