其实这样的小游戏挺简单的,可以看成三个数的大小比较,由于是线性比较,加入其他值也是可以使用相同方法。
三个数-1,0,1分别对应剪刀,石头,布,分别只能比自己大一个的数小,所以利用此,只需要简单判断就可以完成三个出拳方式的大小判定。以此类推,四个连续数,五个连续数,也是一样。如果像扑克牌一样的股则只需要比较除A和2之外的大小即可。
# encoding=utf-8
import numpy as np
hands = {
'-1':'剪刀',
'0':'石头',
'1':'布'
}
def main():
choice = robotsHand()
user_input = input('请出拳:\n=================\n'
'剪刀:-1\t石头:0 \t布:1\n'
'=================\n')
if user_input not in hands.keys():
print('wow!输入错误哦')
exit(-1)
user = int(user_input)
print('电脑=> %s \t 你=> %s' % (hands.get(str(choice)), hands.get(user_input)))
print('=================')
if user - choice == 1 :
print('恭喜你赢啦!')
elif user == choice:
print('平局啦')
else:
print('你输啦')
def robotsHand():
choices = list(hands.keys())
print(choices)
choice = np.random.choice(choices)
return int(choice)
if __name__ == '__main__':
main()