人机对战石头剪刀布

import  random
class Player:
    def __init__(self,action):
        self.name='玩家'
        self.action=action
    #定义函数来输出玩家的出拳方式
    def  Action(self):
        if  self.action == 1:
            print('你出拳:石头')
        elif self.action==2:
            print('你出拳:剪刀')
        elif self.action==3:
            print('你出拳:布')
class Computer:
    def __init__(self):
        self.name='电脑'
    #定义一个函数获取电脑的出拳方式
    def Action(self,random_num):
        if random_num==1:
            print('电脑出拳:石头')
        elif random_num==2:
            print('电脑出拳:剪刀')
        elif random_num==3:
            print('电脑出拳:布')
print('-'*10+'欢 迎 进 入 游 戏 世 界'+'-'*10)
print(' '*5+'*'*10)
print(' '*5+'猜拳,开始')
print(' '*5+'*'*10)
print('')
print('出拳规则:1、剪刀2、石头3、布')
count=[0,0]
game = ['剪刀','石头','布']
lis =['刘备','孙权','曹操']
name = int(input('请选择对方角色(1:刘备2:孙权3:曹操):'))
myname = input('请输入你的姓名:')
print(f'{myname}选择了{name}对战')

class game:
    while True:
        action1 = int(input('请出拳:1.剪刀2.石头3.布(输入相应数字):'))
        person = Player(action1)
        person.Action()
        computer = Computer()
        random_num = random.randint(1, 3)
        computer.Action(random_num)
        if action1 == 1:
            if random_num == 1:
                print('本局平局')
                print('-' * 80)
            elif random_num == 2:
                print('本局玩家获胜')
                print('-' * 80)
                count[0] += 1
            elif random_num == 3:
                print('结果:^_^,你输了')
                print('-' * 80)
                count[1] += 1
        elif action1 == 2:
            if random_num == 1:
                print('结果:^_^,你输了')
                print('-' * 80)
                count[1] += 1
            elif random_num == 2:
                print('本局平局')
                print('-' * 80)
            elif random_num == 3:
                print('本局玩家获胜')
                print('-' * 80)
                count[0] += 1
        elif action1 == 3:
            if random_num == 1:
                print('本局玩家获胜')
                print('-' * 80)
                count[0] += 1
            elif random_num == 2:
                print('结果:^_^,你输了')
                print('-' * 80)
                count[1] += 1
            elif random_num == 3:
                 print('本局平局')
                 print('-' * 80)
                 count[0] += 1
        again = input('是否还要再来一局!(y/n):')
        if again == 'n':
            print('----------最终判断----------')
            print(myname, 'score:', count[0])
            print(lis[name - 1], 'score:', count[1])
            if count[0] > count[1]:
                print('最终局为', myname, '胜')
            elif count[0] < count[1]:
                print('最终局为', lis[name - 1], '胜')
            else:
                print('最终为双方平局')
            break

c = game()
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值