利用Python3模拟游戏登陆界面以及基础游戏制作,纯属娱乐!!!

本文介绍了一个使用Python实现的简易用户管理系统,包括账户注册、登录、密码修改等功能,并集成了猜数游戏、抽奖游戏等模块,展示了基本的流程控制和用户交互。

感兴趣的话可以复制到python中浏览!!!
##################################################################
若有其他更好的案例,请多多指教!!!

z={'admin':'admin','guest':'guest'}
while True:
    a=int(input('注册账户(1),\n登录系统(2),\n修改密码(3),\n请输入数字:'))
    if a==1:
        name=input('请输入要注册的账户:')
        while name in z:
            name=input('账户已存在,请重新输入要注册的账户:')
        while True:
            z[name]=input('请输入要注册的密码:')
            yanzheng=input('请确认密码:')
            if z[name]!=yanzheng:
                print('密码两次不一致!!!')
            else:
                break
        print('账户注册成功!!!\n')  
        a=a
    if a==2:
        name=input ('请输入要登陆的账户:')
        i=3
        while name not in z:
            i-=1
            name=input ('账户错误,您还有%s次机会:'%i)
            if (i==1) and (name not in z):
                print ('账户被锁定!!!\n')
                break
        else:
            pwd=input('请输入要登陆的密码:')
            i=3
            while (pwd!=z[name]) and (i>1):
                i-=1
                pwd=(input('密码错误,您还有%s次机会:'%i))
            if pwd==z[name]:
                print ('登录成功,正在进入游戏!!!\n')
                a=id(99)               #进入游戏界面
            if (i==1 and pwd!=z[name]):
                print ('账户被锁定!!!\n')
                break
    if a==3:
        name=input('请输入要修改的账户:')
        i=3
        while (name not in z) and (i!=1):
            i-=1
            print('账户不正确,您还有%s机会!!!'%i)
            name=input('请重新输入:')
        if i == 1:
            print ('账户错误,正在退出!!!')
            continue
        pwd=(input('请输入要修改的密码:'))
        pwd1=(input('请确认要修改的密码:'))
        while pwd != pwd1:
            print('两次密码输入不一致')
            pwd=(input('请输入要修改的密码:'))
            pwd1=(input('请确认要修改的密码:'))
        z[name]=pwd
        print ('密码修改成功')
    while a==id(99):
        print('\t\t\t欢迎进入游戏\n\t1.猜数游戏。2.抽奖游戏。3.轻松时刻。4.找出最大值最小值。')
        caidan=int(input('请输入要进入的游戏:'))
        if caidan==1:
            print('正在进入猜数游戏中!!!')
            while caidan==1:
                from random import randint
                num = randint(1,100)
                print ('一百以内的数字,请写出你所想的数字:!!!')
                while True :
                    answer = int(input())
                    if answer>num:
                        print('%s 大了!!!'%answer)
                    if answer<num:
                        print('%s 小了!!!'%answer)
                    if answer==num:
                        print('%s 是正确的!!!'%answer)
                        break
                a=input('游戏结束,是否重新开始(y,n)')
                if a=='n':
                    a=id(99)
                    break
        if caidan==2:
            print('正在进入抽奖游戏中!!!')
            while True:
                a=input('\t注:默认的中奖项为每周的天数,\n是否写入自己特定的内容(y,n):')
                if a=='n':
                    while True:
                        a=input('是否开始抽奖(y,n):')
                        if a=='n':
                            break
                        import random
                        name=['星期一','星期二','星期三','星期四','星期五','星期六','星期日']
                        x=random.choice(name)
                        print('中奖人员:%s'%x)
                if a=='y':
                    print('\t注:若添加完成请输入(t)!!!\t\t\t删除请输入(d)')
                    name=[]
                    while True:
                        neirong=input('请输入你要添加的内容(t:退出,d:删除):')
                        if (neirong=='t'):
                            break
                        if neirong=='d':
                            while True:
                                print (name)
                                a=input('请输入要删除的位置:')
                                if a=="t":
                                   break
                                else:
                                    a=eval(a)
                                    a-=1
                                    del name[a]
                                    break
                            continue
                        name.append(neirong)
                        print(name)
                    a=input('是否开始抽奖(y,n):')
                    while a=='y':
                        import random
                        print(name)
                        x=random.choice(name)
                        print('中奖人员:%s'%x)
                        a=input('是否重新开始(y,n):')
                if a=='n':
                    a=id(99)
                    break
        if caidan==3:
            a='y'
            while a=='y':
                import turtle
                import random
                def love(x,y):#在(x,y)处画爱心lalala
                    lv=turtle.Turtle()
                    lv.hideturtle()
                    lv.up()
                    lv.goto(x,y)#定位到(x,y)
                    def curvemove():#画圆弧
                        for i in range(20):
                            lv.right(10)
                            lv.forward(2)
                    lv.color('red','pink')
                    lv.speed(10000000)
                    lv.pensize(1)
                    #开始画爱心lalala
                    lv.down()
                    lv.begin_fill()
                    lv.left(140)
                    lv.forward(22)
                    curvemove()
                    lv.left(120)
                    curvemove()
                    lv.forward(22)
                    lv.write("H.C.Y",font=("Arial",16,"normal"),align="center")#写上表白的人的名字
                    lv.left(140)#画完复位
                    lv.end_fill()
                def tree(branchLen,t):
                    if branchLen > 5:#剩余树枝太少要结束递归
                        if branchLen<20:
                            t.color("green")
                            t.pensize(random.uniform((branchLen + 5) / 4 - 2, (branchLen + 6) / 4 + 5))
                            t.down()
                            t.forward(branchLen)
                            love(t.xcor(),t.ycor())#传输现在turtle的坐标
                            t.up()
                            t.backward(branchLen)
                            t.color("brown")
                            return
                        t.pensize(random.uniform((branchLen+5)/4-2,(branchLen+6)/4+5))
                        t.down()
                        t.forward(branchLen)
                        # 以下递归
                        ang=random.uniform(15,45)
                        t.right(ang)
                        tree(branchLen-random.uniform(12,16),t)#随机决定减小长度
                        t.left(2*ang)
                        tree(branchLen-random.uniform(12,16),t)#随机决定减小长度
                        t.right(ang)
                        t.up()
                        t.backward(branchLen)
                myWin = turtle.Screen()
                t = turtle.Turtle()
                t.hideturtle()
                t.speed(1000)
                t.left(90)
                t.up()
                t.backward(200)
                t.down()
                t.color("brown")
                t.pensize(32)
                t.forward(60)
                tree(100,t)
                myWin.exitonclick()
                a= input('是否重新开始(y,n):')
                if a!='y':
                    a=id(99)
        if caidan==4:
            while True:
                print('输入 (t) 表示退出界面!!!')
                a = (input('请输入数字:'))
                if a=='t':
                    a=id(99)
                    break
                a=eval(a)
                da = a
                xiao = da
                while True:
                    if da < a and a != 0:
                            da = a
                    if xiao > a and a != 0:
                        xiao = a
                    a = (input('输入一个数字:'))
                    a = eval(a)
                    if a == 0:
                        print('最大值:%s,最小值:%s' % (da, xiao))
                        break


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

H . C . Y

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

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

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

打赏作者

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

抵扣说明:

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

余额充值