剪刀石头布游戏思路与总结-2018-02-03
2018-02-03 本文已影响0人
爱吃肉的小码哥
import random
while 1:
num = random.randint(1,3)
if num == 1: computer = '剪刀'
elif num == 2: computer = '石头'
elif num == 3: computer = '布'
player = input('开始游戏,请输入指令,输入"end"结束')
blist = ['剪刀','石头','布']
if (player not in blist) and (player != 'end'): print('游戏指令输入错误')
elif (player not in blist) and (player == 'end'):
print('游戏结束')
break
elif player == computer: print('游戏平局')
elif (player == '剪刀' and computer == '石头') or (player == '石头' and computer == '布') or (player == '布' and computer == '剪刀'):
print('电脑出了:',computer,'玩家失败')
elif (player == '剪刀' and computer == '布') or (player == '石头' and computer == '剪刀') or (player == '布' and computer == '石头'):
print('电脑出了:',computer,'玩家胜利')
大致分三个步骤实现
1.电脑输出的指令
2.玩家输入的指令
3.双方指令进行判断
import random
引入Python随机模块
定义一个while
无限循环,通常做法是循环条件为1
random.randint()
是random模块下用来生成整数的随机数,由于此游戏仅有三个触发指令(即'剪刀','石头','布'),所以生成3个随机数.(js自定义随机数公式:Math.floor(Math.random()*(max-min+1)+min)
)
定义一个list用来表示电脑的输出指令.
判断随机数:为1,2,3时,变量分别为'剪刀','石头','布'.list的作用是检测玩家输入的指令是否匹配
定义一个变量存放玩家输入的指令
判断:
- 如果玩家输入非游戏指令,并且也不是退出指令'end',那么提示指令错误,并再次执行输入
- 如果玩家输入非游戏指令,并且是退出指令'end',那么提示退出,
break
终止循环 - 如果玩家输入的和电脑输出一致,那么提示游戏平局,继续执行输入
- 如果玩家输入的是'剪刀' or '石头' or '布',并且电脑输出的对应是'石头','布','剪刀',那么电脑胜利,继续输入
- 如果玩家输入的是'剪刀' or '石头' or '布',并且电脑输出的对应的是'布','剪刀','石头',那么玩家胜利,继续输入