【UNDERTALE同人互動游戲】作業(yè)之下v2.0

某種神奇的小程序
from tkinter import Tk
from random import randint
def answer(*pswcol):
??while True:
????ans=input()
????if ans in pswcol:
??????return ans
def death(x=0):
??if randint(0,2)!=2 and x==0:
????print('GAME OVER')
????Tk().after(200)
????print('你 ',end='')
????Tk().after(200)
????print('涼 ',end='')
????Tk().after(200)
????print('透 ',end='')
????Tk().after(200)
????print('了 ')
????Tk().after(500)
????print('Press 0 to continue')
??elif randint(0,2)!=2 and x==1:
????print('GAME OVER')
????Tk().after(200)
????print('你 ',end='')
????Tk().after(200)
????print('猝 ',end='')
????Tk().after(200)
????print('死 ',end='')
????Tk().after(200)
????print('了 ')
????Tk().after(500)
????print('Press 0 to continue')
??else:
????print('看來你已經(jīng)到達了')
????Tk().after(200)
????print('一個結局。')
????Tk().after(200)
????print('Press 0 to continue')
??answer('0')
??returnback()
def returnback():
??global deathRand,eternalAssignmentComplete,shengBaoUsed
??print('*你醒來了。原來只是一個夢。')
??Tk().after(1000)
??print('*該寫作業(yè)了。')
??Tk().after(1000)
??deathRand=80
??eternalAssignmentComplete=0
??shengBaoUsed=False
def attack():
??print('-999\n*作業(yè) HP [???] 0/1')
??Tk().after(1000)
??print('*Toriel:你 T M 敢 把 作 業(yè) 撕 了 死 孩 子 ')
??Tk().after(1000)
??print('HP LV 1 [ ] 0/20')
??Tk().after(1500)
??death()
def assignmentFinale():
??print('終于')
??Tk().after(1000)
??print('作業(yè)完成了')
??Tk().after(1000)
??print('啊啊啊~')
??Tk().after(1000)
??print('今天也是~')
??Tk().after(1000)
??print('好天氣啊~')
??Tk().after(1000)
??print('又一年過去了……')
??Tk().after(1500)
??print('Press 0 to continue')
??answer('0')
??returnback()
def eatShengBao():
??global deathRand,shengBaoUsed
??print('*你感覺你真是high到不行啊')
??Tk().after(1000)
??print('*猝死幾率減少了75%')
??Tk().after(1000)
??shengBaoUsed=True
??deathRand-=75
deathRand=80
eternalAssignmentComplete=0
shengBaoUsed=False
print('UNDERASSIGNMENT\n\nPress 0 to continue')
answer('0')
while True:
??print('*你又一次感到作業(yè)爬上你的脊背。\n*那可真重。\n1.戰(zhàn)斗\n2.行動\n3.物品\n4.仁慈')
??ans=answer('1','2','3','4')
??if ans=='1':
????attack()
????continue
??if ans=='2':
????while True:
??????print('1.寫作業(yè)\n2.撕作業(yè)\n3.X')
??????ans=answer('1','2','3')
??????if ans=='3':
????????break
??????if ans=='2':
????????attack()
????????break
??????eternalAssignmentComplete+=20
??????flag=True
??????if randint(1,100)<=deathRand:
????????flag=False
????????death(1)
????????break
??????if eternalAssignmentComplete==100:
????????assignmentFinale()
????????break
??????print('*作業(yè)完成了(%d/99)'%eternalAssignmentComplete)
????continue
??if ans=='3':
????if not shengBaoUsed:
??????print('1.腎寶\n2.X')
??????if answer('1','2')=='2':
????????continue
??????else:
????????eatShengBao()
????????continue
??if ans=='4':
????print('1.饒恕\n2.逃跑\n3.X')
????ans=answer('1','2','3')
????if ans=='3':
??????continue
????if ans=='2':
??????returnback()
??????continue
????if ans=='1':
??????print('作業(yè)厭倦了你意味不明的把戲。')
??????Tk().after(500)
??????returnback()
??????continue