1、需求
1 石头剪刀布游戏需求
(1)循环打印菜单:
**************************************************************
欢迎玩石头、剪刀、布游戏
游戏规则:
按 0 键,出石头;
按 1 键,出剪刀;
按 2 键,出布;
按 9 键,退出游戏;
按其他键,可以重新输入,但累计按错3次,游戏结束。
**************************************************************
(2)要打印系统出的是哪个,要打印用户输入的哪个
(3)要打印用户输赢情况
(4)统计用户和系统的输赢情况,如果用户累加赢三次,则输出用户大胜;如果系统累加赢3次,则输出用户大败;
无论用户大胜 还是大败,都退出游戏。
2、代码
import random
flag = True
count = 0
syscoun = 0
error = 0
# return 手势:石头、剪刀、布
def fist(num):
global error
if num==0:
return '出石头'
elif num==1:
return '出剪刀'
elif num==2:
return '出布'
# 判断输赢,输出结果
def execute(n1,n2,a1,a2):
display1 = fist(a1)
display2 = fist(a2)
global count
global syscoun
if a1==a2:
print(n1,display1)
print(n2,display2)
print('平局了再接再厉!')
elif a1==0: # 玩家 出石头
print(n1, display1)
if a2==1:
print(n2, display2)
print('恭喜玩家赢了!')
count += 1
if a2==2:
print(n2, display2)
print('很遗憾玩家输了!')
syscoun += 1
elif a1==1: # 玩家 出剪刀
print(n1, display1)
if a2==0:
print(n2, display2)
print('很遗憾玩家输了!')
syscoun += 1
if a2==2:
print(n2, display2)
print('恭喜玩家赢了!')
count += 1
elif a1==2: # 玩家 出布
print(n1, display1)
if a2==1:
print(n2, display2)
print('很遗憾玩家输了!')
syscoun += 1
if a2==0:
print(n2, display2)
print('恭喜玩家赢了!')
count += 1
print('玩家积分:' + str(count) + ' 电脑积分:' + str(syscoun))
# 游戏初始化界面
def init():
print()
print('****************************************************************')
print('欢迎玩石头、剪刀、布游戏')
print("游戏规则:")
print("按 0 键,出石头;")
print("按 1 键,出剪刀;")
print("按 2 键,出布;")
print("按 9 键,退出游戏;")
print("按其他键,可以重新输入,但累计按错3次,游戏结束。")
print('*****************************************************************')
# 游戏结束界面
def destory():
print('*************************游戏结束*******************************')
#
def game():
global count
global syscoun
global flag
global error
while flag:
if error>=3:
print('累计按错3次,游戏结束')
flag = False
ins = input()
if ins=='9':
print('玩家退出')
flag = False
else:
if ins != '0' and ins != '1' and ins != '2':
print('输入格式有误,请重新输入')
error += 1
continue
ins = int(ins)
rand = int(random.randint(0,2))
execute('玩家','电脑',ins,rand)
if count>=3:
print('玩家大胜')
flag = False
if syscoun>=3:
print('玩家大败')
flag = False
if error>=3:
print('输入有误')
print('累计按错3次,游戏结束')
flag = False
# 主方法
def main():
init()
game()
destory()
# 执行
main()
3、运行结果
****************************************************************
欢迎玩石头、剪刀、布游戏
游戏规则:
按 0 键,出石头;
按 1 键,出剪刀;
按 2 键,出布;
按 9 键,退出游戏;
按其他键,可以重新输入,但累计按错3次,游戏结束。
*****************************************************************
1
玩家 出剪刀
电脑 出剪刀
平局了再接再厉!
玩家积分:0 电脑积分:0
0
玩家 出石头
电脑 出布
很遗憾玩家输了!
玩家积分:0 电脑积分:1
2
玩家 出布
电脑 出剪刀
很遗憾玩家输了!
玩家积分:0 电脑积分:2
3
输入格式有误,请重新输入
1
玩家 出剪刀
电脑 出石头
很遗憾玩家输了!
玩家积分:0 电脑积分:3
玩家大败
*************************游戏结束*******************************