测试项目:人机对战(石头剪刀布)
流程:
玩家:进入系统,输入玩家姓名,选择对战的角色,进行pk环节,选择出具的手势,与电脑进行pk
显示:挑选对战英雄,显示对决情况,显示对战的结果
import random
name="玩家"
hero_name=""
ren_win=0
pc_win=0
pk_sum=0
def selectHeros():
print("==============欢迎来到人机对战系统=================")
#定义全局变量,局部变量nolocal
global name
global hero_name
name=input("请输入您的昵称:")
print("您好,"+name)
hero=input("请选择你要对战的英雄编号:1.亚瑟 2.嬴政 3李白 4.伽罗\n")
if(hero=="1"):
print("您选择了亚瑟")
hero_name="亚瑟"
elif(hero=="2"):
print("您选择了嬴政")
hero_name="嬴政"
elif (hero == "3"):
print("您选择了李白")
hero_name = "李白"
elif (hero == "4"):
print("您选择了伽罗")
hero_name = "伽罗"
else:
print("英雄都选不了,玩什么游戏,去和傻瓜玩吧")
hero_name = "傻瓜"
#进行pk
def ren_pc_pk():
#人赢的局数
global ren_win
#电脑赢的局数
global pc_win
#总局数
global pk_sum
#用循环去模仿对决的
while True:
#每次进入一次循环,我的对局数+1
pk_sum += 1
#人选择手势
ren_key=int(input("请选择你要出的手势:(1.石头 2.剪刀 3.布)\n"))
if(ren_key==1):
print("您选择了石头")
elif(ren_key==2):
print("您选择了剪刀")
elif (ren_key == 3):
print("您选择了布")
else:
print("手势都选不了,别玩游戏了")
#如果手势不是我想要的,那么就让游戏强制退出
exits()
#电脑选择手势
#获取随机数
pc_key=random.randint(1,3)
if (pc_key == 1):
print("电脑选择了石头")
elif (pc_key == 2):
print("电脑选择了剪刀")
else:
print("电脑选择了布")
#判断对决结合
if(ren_key==1 and pc_key==2 or ren_key==2 and pc_key==3 or ren_key==3 and pc_key==1 ):
ren_win = ren_win+1
print("您赢了!,厉害了我的哥")
elif(ren_key==pc_key):
print("不符再战")
else:
pc_win = pc_win+1
print("您输喽!,你个小菜鸡")
if(pk_sum>4):
print("战斗结束!")
#break作用的范围是距离当前代码从内到外最近的循环
break
#结果展示
def showResult():
print("===============对战结果========================")
print("{}一共对战了{}局,其中{}赢了{}局,{}赢了{}局\n最终结果是:".format(name,pk_sum,name,ren_win,hero_name,pc_win))
if(ren_win>pc_win):
print("大吉大利,今晚吃鸡")
elif(ren_win==pc_win):
print("今天平局,来人再战")
else:
print("你连{}都打不过".format(hero_name))
#退出
def exits():
k=input("是否继续?退出按q退出游戏,按任意键继续!\n")
if(k=='q'):
print("游戏结束!")
#将代码设置为0
exit(0)
else:
# 人赢的局数
global ren_win
# 电脑赢的局数
global pc_win
# 总局数
global pk_sum
ren_win = 0
pc_win = 0
pk_sum = 0
# 用循环去模仿对决的
selectHeros()
ren_pc_pk()
showResult()
exits()
if __name__ == '__main__':
selectHeros()
ren_pc_pk()
showResult()
exits()
#运行结果
==============欢迎来到人机对战系统=================
请输入您的昵称:鹏少
您好,鹏少
请选择你要对战的英雄编号:1.亚瑟 2.嬴政 3李白 4.伽罗
4
您选择了伽罗
请选择你要出的手势:(1.石头 2.剪刀 3.布)
2
您选择了剪刀
电脑选择了石头
您输喽!,你个小菜鸡
请选择你要出的手势:(1.石头 2.剪刀 3.布)
3
您选择了布
电脑选择了石头
您赢了!,厉害了我的哥
请选择你要出的手势:(1.石头 2.剪刀 3.布)
1
您选择了石头
电脑选择了布
您输喽!,你个小菜鸡
请选择你要出的手势:(1.石头 2.剪刀 3.布)
3
您选择了布
电脑选择了布
不符再战
请选择你要出的手势:(1.石头 2.剪刀 3.布)
4
手势都选不了,别玩游戏了
是否继续?退出按q退出游戏,按任意键继续!
q
游戏结束!
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/114575.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...