from random import*
from time import*
#sj时间,第几天
#liang粮食数
#sc每日获得粮食数
#linshu人数
#zyjs职业对应是否解锁
#jssj石器时代是否解锁
#bili职业对应人数
#x每日出生人数
#y每日职业变为猎人数
#yi疫情级数
#i疫情情况
#jian角色对应生病数
#yqxs疫情概率系数

print("本游戏由泡长工作室出品")
zhiye=["无业者","猎灵","石匠"]
zyjs=[1,1,0]
hei=randint(10,20)
bili=[hei,int(hei*7/3),0]
linshu=bili[0]+bili[1]
sj=0
jssj=0
liang=randint(500,800)########################不可篡改
jian=[0,0,0]
yqxs=1
ill=[0,0]
l=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
print("在模糊的记忆中,你拥有了生命。仿佛是突然有了视觉,但又不显得突然。")
print("生命!")
print("在无意间,一滴晶莹的液体滴入了你的嘴里")
player=input("输入你的名字")
print(player,"你出生在一个部落里,你们以“灵”自称。")
print("你们的部落没有贫富差别(当然你本不应该知道这个词),灵们都过着共同的生活。")
print("你的父亲母亲都是“猎灵”,这是一种职业,是灵们唯一的职业")
print("猎灵是你们部落的生产力,他们打猎、采果为群落补充食物(每天获得0-3粮食)")
print("当然,部落中还有像你一样的无业者")
print("现在部落有"+str(linshu)+"灵,其中有无业者"+str(bili[0])+"灵,猎灵"+str(bili[1])+"灵")
print('你们部落现在有'+str(liang)+"粮食,每人每天需要1粮食")
print("部落会出现“饥荒”和“疫”,前者是粮食不足,为了保证部落生存,出现这种情况只能优先让无业者被饿死。后者是灵“中邪”而身体不适,有时邪气会扩散。此外,得到的粮食还可能在20天后发霉")
while True: 
    sleep(1)
while True:
    ill=[0,0]
    lll=0
    input()
    print("")
    sj+=1
    if bili[0]>=4:
        y=randint(0,4)
    else:
        y=0
    if linshu>=2:
        x=randint(y,6)
    else:
        x=0
    bili[1]+=y
    linshu+=x
    bili[0]+=x-y
    print("第"+str(sj)+"天")
    print("今日出生"+str(x)+"人,有"+str(y)+"个无业者变为猎灵")
    jian=[0,0,0]
    yi=randint(yqxs,1000)
    if linshu>=2 and bili[0]>=2 and bili[1]>=2 :
        if (yi<=750):
            yi=0
            if yqxs>125:
                print("疫情得到好转")
            yqxs=1
        elif (yi>=751) and(yi<=825):
            yi=1
            yqxs=125
        elif (yi>=826)and(yi<=900):
            yi=2
            yqxs=300
        elif (yi>=901)and(yi<=950):
            yi=3
            yqxs=675
        elif (yi>=951)and(yi<=975):
            yi=4
            yqxs=775
        elif (yi>=976)and(yi<=989):
            yi=5
            yqxs=825
        elif(yi>=990)and(yi<=999):
            yi=6
            yqxs=875
        else:
            yi=7
            yqxs=950##七级疫情
        if yi==0:
            print("今日无“疫情”出现")
        if yi==1:
            i=randint(1,linshu)
            if i<=bili[0]:
                print("今日一名无业者中魔,处于生病状态")
                jian[0]=1
            elif i<=bili[0]+bili[1]:
                print("今日一名猎灵中魔,处于生病状态,暂时无法捕猎")
                jian[1]=1
        if yi==2:
            i=randint(1,linshu*linshu)
            if i<=bili[0]*bili[0]:
                print("今日两名无业者中魔,处于生病状态")
                jian[0]=2
            elif i<=bili[0]*bili[0]+bili[1]*bili[1]:
                print("今日两名猎灵中魔,处于生病状态,暂时无法捕猎")
                jian[1]=2
            else:
                print("今日一名无业者中魔,一名猎灵中魔,处于生病状态暂时无法捕猎")
                jian[1]=1
                jian[0]=1
        if yi==3:
            i=randint(1,linshu)
            linshu-=1
            if i<=bili[0]:
                print("今日出现严重“疫”,一名无业者死亡")
                bili[0]-=1
            elif i<=bili[0]+bili[1]:
                print("今日出现严重“疫”,一名猎灵死亡")
                bili[1]-=1
        if yi==4:
            i=randint(1,linshu)
            linshu-=1
            if i<=bili[0]:
                print("今日出现严重“疫”,一名无业者死亡")
                bili[0]-=1
            elif i<=bili[0]+bili[1]:
                print("今日出现严重“疫”,一名猎灵死亡")
                bili[1]-=1
                i=randint(1,linshu*linshu)
            if i<=bili[0]*bili[0]:
                print("此外还有两名无业者中魔,处于生病状态")
                jian[0]=2
            elif i<=bili[0]*bili[0]+bili[1]*bili[1]:
                print("此外还有两名猎灵中魔,处于生病状态,暂时无法捕猎")
                jian[1]=2
            else:
                print("此外还有一名无业者中魔,一名猎灵中魔,处于生病状态暂时无法捕猎")
                jian[1]=1
                jian[0]=1    
        if yi==5:
            linshu-=2
            i=randint(1,linshu*linshu)
            if i<=bili[0]*bili[0]:
                print("今日出现严重疫情,两名无业者死亡")
                bili[0]-=2
            elif i<=bili[0]*bili[0]+bili[1]*bili[1]:
                print("今日出现严重疫情,两名猎灵死亡")
                bili[1]-=2
            else:
                print("今日出现严重疫情,一名无业者死亡,一名猎灵死亡")
                bili[1]-=1
                bili[0]-=1
        if yi==6 or yi==7:
            ill[0]=randint(0,int((bili[0]+1)/2))
            ill[1]=randint(0,int((bili[1]+1)/2))
            print("今日出现严重疫情,"+str(ill[0])+"名无业者死亡,"+str(ill[1])+"名猎灵死亡")
            bili[1]-=ill[1]
            bili[0]-=ill[0]
            linshu-=ill[1]+ill[0]
            ill[0]=randint(0,int((bili[0]+1)/3))
            ill[1]=randint(0,int((bili[0]+1)/3))
            print("此外还有"+str(ill[0])+"名无业者中魔,"+str(ill[0])+"名猎灵中魔,处于生病状态暂时无法捕猎")
            jian[1]=ill[1]
            jian[0]=ill[0]
            
        if yi==7:
            print("")
            ill[0]=randint(0,int(bili[0]))
            ill[1]=randint(0,int(bili[1]))
            print("今日出现严重疫情,"+str(ill[0])+"名无业者死亡,"+str(ill[1])+"名猎灵死亡")
            bili[1]-=ill[1]
            bili[0]-=ill[0]
            linshu-=ill[1]+ill[0]
            if linshu>=1:
                ill[0]=randint(0,int((bili[0]+1)/2))
                ill[1]=randint(0,int((bili[0]+1)/2))
                print("此外还有"+str(ill[0])+"名无业者中魔,"+str(ill[0])+"名猎灵中魔,处于生病状态暂时无法捕猎")
                jian[1]=ill[1]
                jian[0]=ill[0]



        
    liang-=linshu
    sc=randint(0,3*(bili[1]-jian[1]))
    liang+=sc#
    l[20]=sc-linshu
    for i in range(0,20):
        l[i]=l[i+1]
    if(l[0]>0):
        lll=1
        if(liang<0):
            l[0]=int(0.1*l[0])+1
        elif(l[0]>0.5*liang):
            l[0]=randint(int(0.2*liang),int(0.5*liang))+1
        qwertyu=randint(1,l[0])
        liang-=qwertyu
    print("今日人口:"+str(linshu)+"灵,"+str(bili[0])+"个无业者,"+str(bili[1])+"个猎灵")
    if(lll):
        print("今日获得"+str(sc)+"粮食,消耗"+str(linshu)+"粮食,"+str(qwertyu)+"粮食发霉,现在有粮食"+str(liang))
    else:
        print("今日获得"+str(sc)+"粮食,消耗"+str(linshu)+"粮食,现在有粮食"+str(liang))
    if liang<0:
        linshu-=0-liang
        print("大饥荒!")
        if (bili[0]+liang>=0):
            bili[0]+=liang
            print("有"+str(0-liang)+"个无业者被饿死")
            print("现有"+str(linshu)+"灵,"+str(bili[0])+"个无业者,"+str(bili[1])+"个猎灵")
        elif bili[0]+bili[1]+liang>0:
            print("有"+str(bili[0])+"个无业者被饿死,"+str(0-bili[0]-liang)+"个猎灵被饿死")
            bili[1]+=bili[0]+liang
            bili[0]-=bili[0]
            print("现有"+str(linshu)+"灵,"+str(bili[0])+"个无业者,"+str(bili[1])+"个猎灵")
            
        else:
            print("现有0灵,0个无业者,0个猎灵")
            print("灵灭绝了!")
            bili[0]=0
            bili[1]=0
            break
        liang=0
    jssj=randint(1,500)##石器时代
    if jssj==0:
        print("一位猎灵制造出一件石器,发现对捕猎有巨大帮助")
        print("灵进入石器时代!")
        print("")
        sleep(3)
        zyjs[2]=1
        bili[2]=1
        bili[1]-=1
        while True:##后没编完
            print("第"+str(sj)+"天")
            print("今日人口:"+str(linshu)+"灵,"+str(bili[0])+"个无业者,"+str(bili[1])+"个猎灵"+str(bili[2])+"个石匠")