马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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
|