python--猜拳游戏1.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('请重新输入')

chaiquan.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}\n')
                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}\n')
                else:
                    print('平局,当前积分',num,'\n')
            elif num<2:
                judge=input('积分不足是否充值:')
                if judge=='是':
                    num+=int(input('输入充值积分数:'))
                elif judge=='否':
                    print('退出游戏')
                    return
                else:
                    print('瞎几把输,拜拜')
                    return

login.py(主要变更部分)

import pymysql
from begin import role
class login:
    while 1:
        name=input("请输入用户名")
        pwd=input("请输入密码")
        #连接数据库获取用户姓名和密码
        try:
            con=pymysql.connect(host="127.0.0.1",user="root",password="",database="test_login")
            cursor = pymysql.cursors.DictCursor
            cursor=con.cursor(cursor=pymysql.cursors.DictCursor)
            cursor.execute(f"select name,pwd from user where name='{
      
      name}' and pwd='{
      
      pwd}'")
            content=cursor.fetchall()
        except Exception as o:
            print(o)
        if content:
            print("登录成功")
            p = role()
            p.game()
        else:
            print("用户不存在请重新登录")
    #登录判断用户是否存在

start.py

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



猜你喜欢

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