赞
踩
剪刀石头布,这个大家都很熟悉。下面我来写一个人与电脑进行猜拳的小游戏,希望对各位有所启发。各位客官请接着往下看。
一个是random函数:用来模拟电脑的随机出拳;二是sys:用来触发事件来退出程序。
代码如下:
import random
import sys
代码如下:
print('jiandao shitou bu')
win=0
loss=0
tie=0
初始化胜利、失败、平局都为0
代码如下:
while True:
......#外层
while True:
......#内层
在这里我们要做到的效果是可以一直进行pk,而不是进行一局程序就结束了。
所以,在这里采用两个循环结构:
代码如下:
while True:
print('ender your choice: (j)jiandao (s)shitou (b)bu or (q)qiut')
player_choice=input()
程序运行起来,会提示我们输入j、s、b进行猜拳或者q退出程序。
代码如下:
while True:
.......
if player_choice=='q':
sys.exit() #终止代码运行,退出整个程序
if player_choice=='j' or player_choice=='s' or player_choice=='b':
break #退出当前的内层循环,执行外层循环代码
print('type one of j,s,b,or q')
这里我们要区分sys.exit()和break的区别。
代码如下:
while True:
.......
suiji_number=random.randint(1,3)
if suiji_number==1:
computer_choice='j'
print('jiandao')
elif suiji_number==2:
computer_choice='s'
print('shitou')
elif suiji_number==3:
computer_choice='b'
print('bu')
电脑根据random随机函数进行整数随机选择。
代码如下:
while True: ....... if player_choice==computer_choice: print('this is a tie') tie+=1 elif player_choice=='j' and computer_choice=='b': print('you win') win+=1 elif player_choice == 's' and computer_choice == 'j': print('you win') win += 1 elif player_choice == 'b' and computer_choice == 's': print('you win') win += 1 elif player_choice=='b' and computer_choice=='j': print('you loss') loss+=1 elif player_choice == 'j' and computer_choice == 's': print('you loss') loss+=1 elif player_choice == 's' and computer_choice == 'b': print('you loss') loss+=1
代码虽然有点长,很好理解,就是剪刀石头布的输赢规则,谁克谁。
代码如下:
while True:
.......
print('%s Win,%s Loss,%s Tie' % (win, loss, tie))
这里与《设置基本参数》相对应。
print(‘%s Win,%s Loss,%s Tie’ % (win, loss, tie)):打印一个字符串,这个字符串中包含变量win、loss和tie的值。%s是一个占位符,表示后面要插入一个字符串。而%后面的数字则表示要插入的变量的顺序。例如,%s Win将被替换为变量win的值,%s Loss将被替换为变量loss的值,以此类推。
这样一个简单的小游戏算是做成了,我个人感觉这个微信里的骰子比大小、剪刀石头布的实现原理是一样的,都是使用随机函数来生成的。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。