UPDATE

上级 df352508
print('欢迎来到 InsCode') from random import randint,choice
\ No newline at end of file from time import sleep
import json
print("欢迎来到狼人杀!")
try:
fs=open("shengli.dat")
fs.close()
except FileNotFoundError:
lll={"l":0,
"p":0,
"114514":0,
"all":0,
"jsfs":0,
"ch":[],
"yy":0
}
with open("shengli.dat","w") as f_obj:
json.dump(lll,f_obj)
else:
with open("shengli.dat") as f_obj:
lll=json.load(f_obj)
print("狼人胜场:",lll["l"])
print("好人胜场:",lll["p"])
print("你死的次数:",lll["114514"])
print("总场次:",lll["all"])
print("识破的狼人数量:",lll["yy"])
if len(lll["ch"])!=0:
print("称号:"+",".join(lll["ch"]))
sleep(0.3)
a=["平民 ","平民","狼人","女巫"]#身份,用列表表示(用元组也行)
xing=("王","李","张","刘","徐","冯","袁","邓","韩","杜","朴","金","逄")
zhongjian=("既","海","若","树","丽","虎","涵")
zuihou=("羽","生","茵","芹","乔","智","丽")
disi=("玺","霍","获","岚","吾","乐","空","阵")
p1=choice(xing)+choice(zhongjian)
p2=choice(xing)+choice(zhongjian)+choice(zuihou)
p3=choice(xing)+choice(zhongjian)+choice(zuihou)+choice(disi)
wanjianame=[p1,p2,p3]
pl=["0","1","2","3"]#玩家
player0=choice(a)#设置玩家身份
ar=a.index(player0)
print("等待玩家进入游戏中...")
sleep(randint(0,3))
print("玩家1"+"("+p1+")加入游戏")
sleep(randint(0,3))
print("玩家2"+"("+p2+")加入游戏")
sleep(randint(0,3))
print("玩家3"+"("+p3+")加入游戏")
print("玩家已全齐,开始游戏倒计时")
timer=3
for i in range(3):
print(timer,end=" ")
timer-=1
sleep(1)
player1=choice(a)
ae=a.index(player1)
player2=choice(a)
ac=a.index(player2)
player3=choice(a)
ad=a.index(player3)
while ae==ar or ae==ac or ae==ad or ad==ac or ad==ar or ac==ar:
player1=choice(a)
ae=a.index(player1)
player2=choice(a)
ac=a.index(player2)
player3=choice(a)
ad=a.index(player3)
ap=[player0,player1,player2,player3]
langren=ap.index("狼人")
nvwu=ap.index("女巫")
print("\n你的身份是"+player0)
nvwuhuozhe=True
nvwuyouduyao=True
nvwujiuming=True
days=0
######print(ap)
while True:
days+=1
print("\t\t\t\t\t\t第"+str(days)+"天~~~~~~~~~~~~~~~")
cc=5
if len(pl)==2:#如果在场玩家只剩一个,狼人胜利
print("好人只剩一个,狼人胜利")
lll["l"]+=1
break
du=5
duyao=5
if nvwuyouduyao==False and nvwujiuming==False:
nvwuhuozhe=False
c=','.join(pl)
print("天黑请闭眼")
if a.index(player0)==2:
print("狼人请睁眼\n请选择你要杀害的玩家(输入数字"+c+")")
cc=int(input())
cd=cc
print("狼人请闭眼")
else:
print("狼人请睁眼\n请选择你要杀害的玩家")
sleep(3)
cc=randint(0,3)
while cc==langren or str(cc) not in pl:
cc=randint(0,3)
cd=cc
print("狼人请闭眼")
if nvwuhuozhe:
sleep(2)
if a.index(player0)==3:
print("女巫请睁眼")
if nvwujiuming:
if cc==0:
print("今天晚上,你死了,你是否要进行自救(输入0为否,输入1为是)")
ccc=int(input())
if ccc==1:
nvwujiuming=False
lll["jsfs"]+=1
cc=5
else:
print("今天晚上,玩家"+str(cc)+"("+wanjianame[cc-1]+")死了,你是否要救(输入0为否,输入1为是)")
ccc=int(input())
if ccc==1:
nvwujiuming=False
lll["jsfs"]+=1
cc=5
if nvwuyouduyao:
print("你有一瓶毒药,你是否要毒?(输入0为否,输入1为是)")
duyao=int(input())
if duyao==1:
print("要毒谁呢?(输入数字"+c+")")
du=int(input())
print("女巫请闭眼")
else:
print("女巫请睁眼")
if nvwujiuming:
print("今天晚上,玩家...死了,你是否要救")
sleep(3)
ccc=randint(0,1)
if ccc==1:
nvwujiuming=False
cc=5
if nvwuyouduyao:
print("你有一瓶毒药,你是否要毒?")
sleep(3)
if ccc==0:
duyao=0
else:
duyao=randint(0,1)
if duyao==1:
du=randint(0,3)
while du==nvwu or du==cd or str(du) not in pl:
du=randint(0,3)
print("女巫请闭眼")
sleep(2)
print("天亮了")
if cc==5 and duyao==0:
print("昨天没有人死")
else:
if cc==0 or du==0:
print("你死了,已出局")
lll["114514"]+=1
break
else:
if cc!=5:
print("昨天晚上玩家"+str(cc)+"("+wanjianame[cc-1]+")死了(狼人杀害)他的身份是:"+ap[cc])
del pl[pl.index(str(cc))]
else:
print("昨晚狼人没有杀人(女巫拯救)")
if duyao==1:
print("昨天晚上玩家"+str(du)+"("+wanjianame[du-1]+")死了(女巫毒杀)","他的身份是:"+ap[du])
if ap[du]=="狼人":
print("狼人出局,好人胜利")
if player0=="女巫":
lll["yy"]+=1
lll["p"]+=1
break
del pl[pl.index(str(du))]
nvwuyouduyao=False
if len(pl)==2:#如果在场玩家只剩一个,狼人胜利
print("好人只剩一个,狼人胜利")
lll["l"]+=1
break
myself,wanjia1,wanjia2,wanjia3=0,0,0,0
c=','.join(pl)
print("请你选择要投票的玩家(输入数字"+c+(",投自己将视为弃权)"))
aaaaa=int(input())
if aaaaa==1:
wanjia1+=1
elif aaaaa==2:
wanjia2+=1
elif aaaaa==3:
wanjia3+=1
aaaab=aaaaa
if "1" in pl:
print("请玩家1选择要投票的玩家")
while aaaaa==1 or str(aaaaa) not in pl:
aaaaa=randint(0,3)
if aaaaa==0:
myself+=1
elif aaaaa==2:
wanjia2+=1
elif aaaaa==3:
wanjia3+=1
sleep(3)
if aaaaa==0:
print("玩家1投给了",aaaaa)
else:
print("玩家1投给了",aaaaa,"("+wanjianame[aaaaa-1]+")")
if "2" in pl:
sleep(2)
print("请玩家2选择要投票的玩家")
while aaaaa==2 or str(aaaaa) not in pl:
aaaaa=randint(0,3)
if aaaaa==0:
myself+=1
elif aaaaa==1:
wanjia1+=1
elif aaaaa==3:
wanjia3+=1
sleep(3)
if aaaaa==0:
print("玩家2投给了",aaaaa)
else:
print("玩家2投给了",aaaaa,"("+wanjianame[aaaaa-1]+")")
if "3" in pl:
sleep(2)
print("请玩家3选择要投票的玩家")
while aaaaa==3 or str(aaaaa) not in pl:
aaaaa=randint(0,3)
if aaaaa==0:
myself+=1
elif aaaaa==1:
wanjia1+=1
elif aaaaa==2:
wanjia2+=1
sleep(3)
if aaaaa==0:
print("玩家3投给了",aaaaa)
else:
print("玩家3投给了",aaaaa,"("+wanjianame[aaaaa-1]+")")
n=[myself,wanjia1,wanjia2,wanjia3]
n.sort(reverse=True)
if n[1]==n[0]:
print("平票,无人出局")
elif n[0]==myself:
print("你票数最多,出局")
lll["114514"]+=1
break
elif n[0]==wanjia1:
print("玩家1"+"("+wanjianame[wanjianame.index(p1)]+")票数最多,出局")
print("玩家1的身份是"+player1)
if a.index(player1)==2:
print("狼人出局,好人胜利")
if aaaab==1:
lll["yy"]+=1
lll["p"]+=1
break
elif a.index(player1)==3:
nvwuhuozhe=False
del pl[pl.index("1")]
else:
del pl[pl.index("1")]
elif n[0]==wanjia2:
print("玩家2"+"("+wanjianame[wanjianame.index(p2)]+")票数最多,出局")
print("玩家2的身份是"+player2)
if a.index(player2)==2:
print("狼人出局,好人胜利")
if aaaab==2:
lll["yy"]+=1
lll["p"]+=1
break
elif a.index(player2)==3:
nvwuhuozhe=False
del pl[pl.index("2")]
else:
del pl[pl.index("2")]
elif n[0]==wanjia3:
print("玩家3"+"("+wanjianame[wanjianame.index(p3)]+")票数最多,出局")
print("玩家3的身份是"+player3)
if a.index(player3)==2:
print("狼人出局,好人胜利")
if aaaab==3:
lll["yy"]+=1
lll["p"]+=1
break
elif a.index(player3)==3:
nvwuhuozhe=False
del pl[pl.index("3")]
else:
del pl[pl.index("3")]
print("你的票数:",myself)
if "1" in pl:
print("玩家1的票数:",wanjia1)
if "2" in pl:
print("玩家2的票数:",wanjia2)
if "3" in pl:
print("玩家3的票数:",wanjia3)
if len(pl)==2:#如果在场玩家只剩一个,狼人胜利
print("好人只剩一个,狼人胜利")
lll["l"]+=1
break
print("玩家1身份:"+player1+"\n玩家2身份:"+player2+"\n玩家3身份:"+player3)
lll["all"]+=1
if lll["114514"]/lll["all"]>0.60 and "替罪羊" not in lll["ch"]:
print("恭喜获得称号:替罪羊(自己的死亡数占总场数的60%以上)")
lll["ch"].append("替罪羊")
if lll["114514"]/lll["all"]>0.75 and "究极替罪羊" not in lll["ch"]:
print("恭喜获得称号:究极替罪羊(自己的死亡数占总场数的75%以上)")
lll["ch"].append("究极替罪羊")
if lll["all"]>=15 and "沙场新秀" not in lll["ch"]:
print("恭喜获得称号:沙场新秀(总场数超过15场)")
lll["ch"].append("沙场新秀")
if lll["all"]>=45 and "沙场老兵" not in lll["ch"]:
print("恭喜获得称号:沙场老兵(总场数超过45场)")
lll["ch"].append("沙场老兵")
if lll["all"]>=100 and "沙场战神" not in lll["ch"]:
print("恭喜获得称号:沙场战神(总场数超过100场)")
lll["ch"].append("沙场战神")
if lll["all"]>=500 and "沙场神仙" not in lll["ch"]:
print("恭喜获得称号:沙场神仙(总场数超过500场)")
lll["ch"].append("沙场神仙")
if lll["jsfs"]>=20 and "医者仁心" not in lll["ch"]:
print("恭喜获得称号:医者仁心(使用女巫救人超过20人)")
lll["ch"].append("医者仁心")
if lll["yy"]>=20 and "鹰眼" not in lll["ch"]:
print("恭喜获得称号:鹰眼(识破狼人超过20人)")
lll["ch"].append("鹰眼")
with open("shengli.dat","w") as f_obj:
json.dump(lll,f_obj)
input("按回车继续")
{"l": 0, "p": 0, "114514": 0, "all": 0, "jsfs": 0, "ch": [], "yy": 0}
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册