def zuo(n,a1,hita,yua,asb) :
if n=='a':
a1+=1
if n=='s':
yua=1
if n=='d':
if a1>0 :
a1-=1
hita=1
else :
asb=1
if n=='w' :
if a1>1 :
a1-=2
hita=2
else :
asb=1
return a1,hita,yua,asb
def you(m,b1,hitb,yub,bsb) :
if m=='1':
b1+=1
if m=='2':
yub=1
if m=='3':
if b1>0 :
b1-=1
hitb=1
else :
bsb=1
if m=='5' :
if b1>1 :
b1-=2
hitb=2
else :
bsb=1
return b1,hitb,yub,bsb
def nizuo(n,a1) :
if n=='a':
a1-=1
if n=='d':
a1+=1
if n=='w':
a1+=2
return a1
def niyou(m,b1) :
if m=='1':
b1-=1
if m=='3':
b1+=1
if m=='5':
b1+=2
return b1
def AI(n,b1,hpa,hpb,jkl) :
if hpa>2 and hpb>1 : ##拉扯模式
if n=="s" :
if b1>3 :
jkl="5"
else :
jkl="1"
if n=="d" :
jkl="2"
if n=="a" :
if b1>1 :
jkl="3"
else :
jkl="1"
if n=="w" :
if b1>1 :
jkl="3"
else :
jkl="1"
else :
if hpa!=1 : ##狂暴模式
if n=="s" :
if b1>2 :
jkl="5"
else :
jkl="1"
if n=="d" :
if b1>0 :
jkl="3"
else :
jkl="1"
if n=="a" :
if b1>0 :
jkl="3"
else :
jkl="1"
if n=="w" :
if b1>0 :
jkl="3"
else :
jkl="1"
else : ##斩杀
if n=="s" :
if b1>1 :
jkl="5"
else :
jkl="1"
else :
if b1>0 :
jkl="3"
else :
jkl="1"
return jkl
print("\033[1m\033[30m请选择模式:")
print("1.单人模式")
print("2.双人模式(填数字)")
msxz=int(input())
if msxz==1 :
print("\033[0m欢迎来到无法战胜的单人模式,(内心os:你也就只能打打真人了)")
hpa=5
hpb=5 ##初始生命值为5(可更改)
a1=0
b1=0 ##初始子弹为0
while hpa!=0 and hpb!=0 :
yua=0
yub=0
hita=0
hitb=0
asb=0
bsb=0
tonga=0
tongb=0
jkl=""
print("\033[0m玩家(字母英文小写) a:子弹+1 s:防御(抵御一次攻击) d:进攻(消耗一发子弹) w:双枪(“双枪会给出答案”无视防御扣除敌方一格生命)")
print("\033[1m")
n=input("玩家输入")
if len(n)!=1 :
print("\033[31moioi 是不是选错模式了,单人模式仅输入一个字母!!!\033[30m") ##输入输错自动判定人机获胜
elif n!="a" and n!="s" and n!="d" and n!="w" :
print("\033[31moioi 输错了喂 看看规则啊!!!\033[30m")
else :
ai=AI(n,b1,hpa,hpb,jkl)
print("AI输入"+"\033[34m"+ai+"\033[30m")
a1,hita,yua,asb=zuo(n,a1,hita,yua,asb)
b1,hitb,yub,bsb=you(ai,b1,hitb,yub,bsb)
if asb==1 :
print("\033[31m玩家子弹数不足,请再次输入")
b1=niyou(ai,b1)
else :
if yua==0 :
if hitb==1 :
hpa-=1
if hitb==2 :
hpa-=1
else :
if hitb==2 :
hpa-=1
if yub==0 :
if hita==1 :
hpb-=1
if hita==2 :
hpb-=1
else :
if hita==2 :
hpb-=1
print("\033[30m当前左侧玩家血量为"+str(hpa)+",子弹量为"+str(a1)+",AI血量为"+str(hpb)+",子弹量为"+str(b1))
if hpa==3 :
print("\033[31m人机:压力!"+"\033[30m")
if hpa==1 :
print("\033[31m人机:不是哥们你人机还是我人机?!"+"\033[30m")
print("\033[30m人机获胜") ##为什么没有真人嘲讽代码? 反正真人赢不了 懒得写
for i in range(5) :
print("\033[31m不收徒")
print("菜就多练")
print("[摸头][摸头][摸头][摸头][摸头]")
break
else :
print("\033[0m欢迎来到双人模式,加油争夺嘲讽权")
print("左侧玩家(字母英文小写) a:子弹+1 s:防御(抵御一次攻击) d:进攻(消耗一发子弹) w:双枪(“双枪会给出答案”无视防御扣除敌方一格生命)")
print("右侧玩家 1:子弹+1 2:防御(抵御一次攻击) 3:进攻(消耗一发子弹) 5:双枪(“双枪会给出答案”无视防御扣除敌方一格生命)")
hpa=5
hpb=5 ##初始生命值为5(可更改)
a1=0
b1=0 ##初始子弹为0
acf=0
bcf=0
while hpa!=0 and hpb!=0 :
yua=0
yub=0
hita=0
hitb=0
asb=0
bsb=0
tonga=0
tongb=0
print("\033[1m")
n=input("\033[30m双方同时输入")
if len(n)!=2 :
print("\033[31m你的对手还没准备好呢,请再次输入")
else :
if 'a'<=n[0]<='z' :
tonga=0
tongb=1
else :
tongb=0
tonga=1
a1,hita,yua,asb=zuo(n[tonga],a1,hita,yua,asb)
b1,hitb,yub,bsb=you(n[tongb],b1,hitb,yub,bsb)
if asb==1 and bsb==1 :
print("\033[31m左右玩家子弹数都不足,请再次输入")
elif asb==1 :
print("\033[31m左侧玩家子弹数不足,请再次输入")
b1=niyou(n[tongb],b1)
elif bsb==1 :
print("\033[31m右侧玩家子弹数不足,请再次输入")
a1=nizuo(n[tonga],a1)
else :
if yua==0 :
if hitb==1 :
hpa-=1
if hitb==2 :
hpa-=1
else :
if hitb==2 :
hpa-=1
if yub==0 :
if hita==1 :
hpb-=1
if hita==2 :
hpb-=1
else :
if hita==2 :
hpb-=1
print("\033[30m当前左侧玩家血量为"+str(hpa)+",子弹量为"+str(a1)+",右侧玩家血量为"+str(hpb)+",子弹量为"+str(b1))
if hpa==0 and hpb==0 :
print("\033[33m平分秋色")
print("\033[30m再战按'F5'")
elif hpa==0 :
print("\033[33m右侧玩家胜利!!!")
print("\033[30m不服再战按'F5'")
acf=input("\033[31m按'4'+回车嘲讽对方")
if acf=='4' :
for i in range(5) :
print("\033[31m不收徒")
print("菜就多练")
print("[摸头][摸头][摸头][摸头][摸头]")
else :
print("\033[33m左侧玩家胜利!!!")
print("\033[30m不服再战按'F5'")
bcf=input("\033[31m按'q'+回车嘲讽对方")
if bcf=='q' :
for j in range(5) :
print("\033[31m不收徒")
print("菜就多练")
print("[摸头][摸头][摸头][摸头][摸头]")