from easygui import buttonbox,msgbox,multenterbox,textbox

title = '数字游戏'
choose = ['查看游戏规则','获取游戏致胜点','查看帮助信息']
rules = '游戏规则如下:\n\t此游戏是双人游戏,双方需要约定从1数到几,每次最多数多少(可以是从1到这个数,但不能不数),最后数到这个数减一的人为胜。\n\t此程序可以为你提供此游戏的致胜点,如果你一直数到致胜点,会走向胜利。\n\t致胜点在一个范围内有很多,如果你能记住,那么就可以获胜了。'
helps = '帮助信息如下:\n\t开发者:潘道熹\n\t开发时间:2021年1月\n\t开发者邮箱:advance_software@qq.com\n\n此程序可以求出“数字游戏”的致胜点,只要你使用此程序求出关键点并一直使用这些制胜数字,那么你离胜利就不远了。'

def get_point():
try:
text = multenterbox('请您提供以下信息:',title,['从1开始数到多少:','每次最多数多少:'])
data = []

for i in text:
data.append(int(i))

x = data[0] - 1
y = data[1]
data = []
points = x - 1 - y

while x > 1:
if points >= 1:
points = x - (y + 1)
x -= (y + 1)
data.append(str(points))
for i in data:
if '-' in i or i == '0':
data.remove(i)

data.insert(0,str(int(text[0]) - 1))
z = '\t'.join(data)
content = '您的致胜点生成结果如下:\n\n%s' % z

if len(data) <= 0:
msgbox('您的输入有误!\n程序无法输出!',title)
else:
textbox('恭喜,你的致胜点生成成功!',title,text = content)

except Exception as e:
msgbox('遇到错误:%s' % e,title)

while True:
choice = buttonbox('欢迎使用此程序!\n请选择一个选项:',title,choose)
if choice == choose[0]:
textbox('下面是“数字游戏”的规则:',title,text = rules)
elif choice == choose[2]:
textbox('下面是有关程序与开发者的信息:',title,text = helps)
elif choice == choose[1]:
get_point()
else:
exit()