Python实现的人机对战小游戏
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Python实现的人机对战小游戏
——<石头、 剪刀、布>
各版本程序功能描述
版本1.0 获取双方对战人员名单 版本2.0实现一次对战 版本3.0根据对战结果评输赢 版本4.0实现多次对战 版本5.0实现最终结果的评判
项目分解-1.0版获取双方对战人员名单
涉及知识点:
(1)print()向控制台输出信息 (2)input()从键盘录入信息,结果为str类型 (3)控制台文本样式
( per_fist==2 and com_fist==3) or
(per_fist==3 and com_fist==1):
print(‘玩家赢’)
(3)电脑赢 其它情况
else:
print(‘电脑赢’)
项目分解-版本3.0根据对战结果评输赢
项目分解-版本4.0实现多次对战
while循环循环语法结构
elif player_score>com_score: print(‘玩家赢’)
else: print(‘电脑赢,玩家惨败’)
项目总结
项目总结
完成一个项目的流程 1.明确项目目标 2. 分析过程,拆解相项 3.逐步执行,代码实现 最后:还需要耐心、细心,不急不噪 罗马城不是一日建成的,日子久了,量变定会引起质变
玩家2 电脑2
玩家3 电脑3
玩家的ቤተ መጻሕፍቲ ባይዱ拳数值与电脑的出拳数值相等
代码逻辑: if per_fist==com_fist :
print(‘平局’)
(2)玩家赢
思维逻辑: 石头 VS 剪刀 or 剪刀VS 布
or 布 VS 石头
玩家1 电脑2
玩家2 电脑3
玩家3 电脑1
代码逻辑: elif ( per_fist==1 and com_fist==2) or
项目分解-2.0实现一次对战-双方出拳
涉及知识点:
随机数的产生: 导入random模块 ran=random.randint(n,m) 产生一个[n,m]之间的整数
项目分解-版本3.0根据对战结果评输赢
评定输赢的标准
(1)平局
思维逻辑:石头VS石头 or 剪刀VS剪刀 or 布VS 布
玩家1 电脑1
(1)初始化变量 answer=input(‘Are you ready?’)
(2)条件判断 while answer==‘y’: (3)循环操作评判输赢 ...... (4)改变变量 answer=input(‘继续吗?’)
项目分解-版本5.0实现最终结果的评判
解决思路
(1)声明两个变量分别用于存储玩家和电脑的对 战积分
平局双方不加分 赢方加1分 输方不加分
(2)循环结束统计对战积分,积分高的为最后的 赢家,积分相等平局
项目分解-版本5.0实现最终结果的评判
项目总结
思维逻辑
分数相同 平局 玩家分数大于电脑人物分数 玩家赢 其它情况 电脑赢
代码逻辑
If player_score==com_score : print(‘平局’)
——<石头、 剪刀、布>
各版本程序功能描述
版本1.0 获取双方对战人员名单 版本2.0实现一次对战 版本3.0根据对战结果评输赢 版本4.0实现多次对战 版本5.0实现最终结果的评判
项目分解-1.0版获取双方对战人员名单
涉及知识点:
(1)print()向控制台输出信息 (2)input()从键盘录入信息,结果为str类型 (3)控制台文本样式
( per_fist==2 and com_fist==3) or
(per_fist==3 and com_fist==1):
print(‘玩家赢’)
(3)电脑赢 其它情况
else:
print(‘电脑赢’)
项目分解-版本3.0根据对战结果评输赢
项目分解-版本4.0实现多次对战
while循环循环语法结构
elif player_score>com_score: print(‘玩家赢’)
else: print(‘电脑赢,玩家惨败’)
项目总结
项目总结
完成一个项目的流程 1.明确项目目标 2. 分析过程,拆解相项 3.逐步执行,代码实现 最后:还需要耐心、细心,不急不噪 罗马城不是一日建成的,日子久了,量变定会引起质变
玩家2 电脑2
玩家3 电脑3
玩家的ቤተ መጻሕፍቲ ባይዱ拳数值与电脑的出拳数值相等
代码逻辑: if per_fist==com_fist :
print(‘平局’)
(2)玩家赢
思维逻辑: 石头 VS 剪刀 or 剪刀VS 布
or 布 VS 石头
玩家1 电脑2
玩家2 电脑3
玩家3 电脑1
代码逻辑: elif ( per_fist==1 and com_fist==2) or
项目分解-2.0实现一次对战-双方出拳
涉及知识点:
随机数的产生: 导入random模块 ran=random.randint(n,m) 产生一个[n,m]之间的整数
项目分解-版本3.0根据对战结果评输赢
评定输赢的标准
(1)平局
思维逻辑:石头VS石头 or 剪刀VS剪刀 or 布VS 布
玩家1 电脑1
(1)初始化变量 answer=input(‘Are you ready?’)
(2)条件判断 while answer==‘y’: (3)循环操作评判输赢 ...... (4)改变变量 answer=input(‘继续吗?’)
项目分解-版本5.0实现最终结果的评判
解决思路
(1)声明两个变量分别用于存储玩家和电脑的对 战积分
平局双方不加分 赢方加1分 输方不加分
(2)循环结束统计对战积分,积分高的为最后的 赢家,积分相等平局
项目分解-版本5.0实现最终结果的评判
项目总结
思维逻辑
分数相同 平局 玩家分数大于电脑人物分数 玩家赢 其它情况 电脑赢
代码逻辑
If player_score==com_score : print(‘平局’)