石头、纸、剪刀小游戏(剪刀石头布?)

       这个游戏类似于,我小时候玩的剪刀石头布,也可以说基本一样吧。这个游戏非常有意思,大家有兴趣可以玩,源码附在下面:

import random,sys
print('ROCK,PAPER,SCISSORS')

wines = 0
losses = 0
ties = 0
playerMove = 0
computerMove = 0
while True:
    print('%s Wines,%s Losses,%s Ties' % (wines, losses, ties))
    while True:
        print('Enter your move: (r)ock (p)aper (s)cissore or (q)uit')
        playerMove = input()
        if playerMove == 'q':
            sys.exit()
        if playerMove == 'r' or playerMove == 'p' or playerMove == 's':
            break
        print('Type one of r,p,s or q.')

    if playerMove == 'r':
        print('ROCK versus...')
    elif playerMove == 'p':
        print('PAPER versus...')
    elif playerMove == 's':
        print('SCISSORS versus...')

    randomNumber = random.randint(1,3)
    if randomNumber == 1:
        computerMove = 'r'
        print('ROCK')
    if randomNumber == 2:
        computerMove = 'p'
        print('PAPER')
    if randomNumber == 3:
        computerMove = 's'
        print('SCISSORS')

    if playerMove == computerMove:
        print('It is a tie!')
        ties += 1
    elif playerMove == 'r' and computerMove == 's':
        print('You win!')
        wines += 1
    elif playerMove == 'p' and computerMove == 'r':
        print('You win!')
        wines += 1
    elif playerMove == 's' and computerMove == 'p':
        print('You win!')
        wines += 1
    elif playerMove == 'r' and computerMove == 'p':
        print('You lose!')
        losses += 1
    elif playerMove == 'p' and computerMove == 's':
        print('You lose!')
        losses += 1
    elif playerMove == 'S' and computerMove == 'r':
        print('You lose!')
        losses += 1

          我们来解读一下整段代码。

import random,sys
print('ROCK,PAPER,SCISSORS')

wines = 0
losses = 0
ties = 0
playerMove = 0
computerMove = 0

        首先,导入random和sys模块,为了后面调用random.randint()和sys.exit()函数。再设置三个变量来确定后面玩家获得的胜利、失败和平局。再定义playMove和computerMove两个变量,并赋初值。

while True:
    print('%s Wines,%s Losses,%s Ties' % (wines, losses, ties))
    while True:
        print('Enter your move: (r)ock (p)aper (s)cissore or (q)uit')
        playerMove = input()
        if playerMove == 'q':
            sys.exit()
        if playerMove == 'r' or playerMove == 'p' or playerMove == 's':
            break
        print('Type one of r,p,s or q.')

        该程序使用一个while循环里面再嵌套一个while循环,第一个循环是主循环,在每一次循环中玩家玩一次游戏。第二个循环是让玩家输入自己的游戏:r:石头;p:纸;s:剪刀;q:退出。

        剩余代码会将玩家的选择显示在屏幕上,并且随机选择计算机的选择。random.randint()选择随机数。最后比较玩家与计算机的选择,将结果显示,然后增加wins,losses和ties的值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lzj799657529

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值