鱼C论坛

 找回密码
 立即注册
查看: 1660|回复: 0

[技术交流] EasyGui猜数字升级版(待改进)

[复制链接]
发表于 2022-7-3 18:43:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
用EasyGui写的猜数字,仿老污龟语句,猜数字测试版,一些有待修改的问题写在代码结尾,大家可以一起讨论怎么修改
import easygui as e#引用模块
import random as r

def start():
    e.msgbox('欢迎来到猜数字小油戏','开始')#游戏开始的提示

def ARandomNum(end):#一个用于生成随机数的函数,参数end表示生成0~end之间的数字
    num = r.randint(0,end)
    return num

def ChoiceAMod(i):#难度选择函数,参数i没有用
    choices = ['地狱','困难','普通','E Z']
    choice = e.choicebox('请选择难度','选难度',choices)#选择消息框
    if choice == '地狱':#根据上面返回的choice值决定ends的值
        ends = 10000
    elif choice == '困难':
        ends = 1000
    elif choice == '普通':
        ends = 100
    elif choice == 'E Z':  
        ends = 10
        e.msgbox('太拉了吧,选个EZ?')#浅浅的嘲讽一下
    return ends
def game(i = True):#游戏主体
    while i:#这里的i用于判断若用户在下面选择了取消,则i = False 则退出游戏
        ends = ChoiceAMod(i)#返回ends得值
        num = ARandomNum(ends)#根据ends的值大小决定num的范围
        frequency = 0#frequency意为次数,用于记录用户输入了几次
        while i:#同理
            frequencyChar = ['猜了',frequency,'次']#由于函数不能用‘,’输出所以这里用列表来表示输入了几次
            answer = int(e.passwordbox('输入你心中所想',frequencyChar))
            frequency +=1#每输入一次frequency自加一
            if(num > answer):#判断大小,无他
                e.msgbox('切,这么小~','小了小了~')                
            elif(num < answer):
                e.msgbox('啊!不要,太大了','大了大了!')
            else:
                frequencyChar = ['恭喜你,猜了',frequency,'次终于通关']
                i = e.boolbox('你猜对了!你要在玩一遍吗?',frequencyChar,('好,今个儿就给你办的彻彻底底','不了不了,已经一点也不剩了(指时间)'))
            
start()
game()
#但是这个游戏有待改进,所以我征求大家的意见
#有以下问题
#1.当用户选择在玩一遍,无法重新选择难度 并且 生成一个新的随机数
#2.当用户在answer = int(e.passwordbox('输入你心中所想',frequencyChar))语句时什么都不输入或输入英文字母则程序会报错崩溃
#3.重玩时计数器无法归0
    
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-11 07:14

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表