python--猜拳小游戏1.1

新增内容:

增加连胜获得积分连续翻倍
增加连败扣除积分连续翻倍
举例:第一次胜利获得2积分,第二次胜利获得4积分,第三次胜利获得8积分,以此类推;中途失败则累计积分取消;失败后再次获胜积分重新从2开始计算

结构

在这里插入图片描述

begin.py

#gengjiange
#规则初始10分,胜利+2分,输-2分,小于2分停止游戏
#开始选角色,
from chuquan import result
name=''
class role:
    def game(self):
        while 1:
            xuan=input('选择角色 1.刘 2.关 3.张 4.退出\n请选择:')
            global name
            if xuan=='1':
                print('您选的刘,开始游戏\n')
                name='刘'
                r=result()
                r.chuquan()
                break
            elif xuan=='2':
                print('您选的关,开始游戏\n')
                name='关'
                r = result()
                r.chuquan()
                break
            elif xuan=='3':
                print('您选的张,开始游戏\n')
                name='张'
                r = result()
                r.chuquan()
                break
            elif xuan=='4':
                print('退出游戏')
                return
            else:
                print('请重新输入')

chuquan.py

#gengjiange
#人出手
import random
class result:
    def chuquan(self):
        # num=0#初始积分
        get = 2  # 获得积分
        win = 0  # 胜利次数
        shu = 0  # 输的次数
        # rebot=2#固定机器出手次数
        num = int(input('输入初始积分:'))#积分数量
        while 1:
            if num>=2:
                #人出拳
                option=int(input('请出拳 1.剪刀 2.石头 3.布 4.退出\n请选择:'))
                # 机器出手
                rebot = random.randint(1, 3)
                if rebot==1:print('机器出的剪刀')
                elif rebot==2:print('机器出的石头')
                elif rebot==3:print('机器出的布')

                if option==1:print('您出的剪刀')
                elif option==2:print('您出的石头')
                elif option==3:print('您出的布')
                elif option==4:
                    print('退出游戏')
                    return
                else:
                    print('\n请重新选择')
                    while 1:
                        self.chuquan()

                if (option==1 and rebot==3) or (option==2 and rebot==1) or (option==3 and rebot==2):
                    # num+=2#1.0版本代码
                    # print('赢了,当前积分', num,'\n')#1.0版本代码
                    shu = 0  # 清空输的次数
                    win += 1  # 胜利次数+1
                    get = 2 ** win
                    num = num + get
                    print(f'获胜,当前积分{num},增加积分{get}')
                elif (option==1 and rebot==2) or (option==2 and rebot==3) or (option==3 and rebot==1):
                    # num-=2#1.0版本代码
                    # print('输了,当前积分',num,'\n')#1.0版本代码
                    win = 0  # 清空胜利次数
                    shu += 1  # 输的次数+1
                    get = 2 ** shu
                    num = num - get
                    print(f'失败,当前积分{num},减少积分{get}')
                else:
                    print('平局,当前积分',num,'\n')
            elif num<2:
                judge=input('积分不足是否充值:')
                if judge=='是':
                    num+=int(input('输入充值积分数:'))
                elif judge=='否':
                    print('退出游戏')
                    return
                else:
                    print('瞎几把输,拜拜')
                    return

start.py

#gengjiange
#总执行窗口
from begin import role
p=role()
p.game()



下版更新内容:

增加数据库连接,增加用户登录,判断用户是否合法

猜你喜欢

转载自blog.csdn.net/weixin_44934430/article/details/117163299