- BC20260066's blog
Python(有病毒)2
- 2024-5-27 12:16:58 @
from random import *
from time import *
######玩家######
#blood 玩家血量
#blomax 最大生命值
#card 玩家所有牌
#sp 玩家手牌
#casl 玩家所有卡牌数量
#zdr 角色初始卡牌
#zdrkp 角色卡牌(除初始)
#zdrz 角色卡牌数量
######敌人######
#drxh 敌人类别
#dr 敌人名字
#drsl 敌人数量
#drsy 剩余敌人数量
#dmian 敌人免控层数
#dyin 敌人是否隐身
######战斗######
#dra 所有敌人攻击总和
#da 敌人攻击
#sc 输出卡牌
#nl 能量
#scd 输出卡牌对应敌人
#mon 金币
#djs 定时炸弹还有几回合爆炸
######商店休息区######
#gm 购买卡片序号
#sjkp 上架卡片(5个)
#sjkpj 上架卡片价格
#jiali 获得奖励
#duan 锻造卡牌序号
print("本游戏由泡长工作室出品")
zdr=["自爆(1)","自爆(1)","自爆(1)","投掷炸弹(2)",'投掷炸弹(2)']#没用
zdrkp=["定时炸弹(3)","手榴弹(1)","烟雾弹(2)"]
zdrz=3
yanwu="""
@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@
"""
while True:
juese=input("输入你的角色种子")
if juese=="0":
mon=100
blood=100
blomax=100
print("欢迎“炸弹人”来到游戏")
card=["自爆(1)","自爆(1)","自爆(1)","投掷炸弹(2)",'投掷炸弹(2)']
casl=5
print("你的卡牌:",card)
print("你的血量"+str(blood)+"/"+str(blomax)+",金币数量:"+str(mon))
print("自爆(1):消耗自身一半(向上取整)的血量击杀一名非BOSS敌人")
print("投掷炸弹(2):对所有敌人造成10伤害")
print("开始前,你将获得一个奖励")
jl=input("随机一张卡牌输入1,240金币输入2,加5最大生命输入3")
if jl=="2":
mon+=240
print("金币数量:"+str(mon))
elif jl=="1":
jiaka=randint(0,zdrz-1)
card.append(zdrkp[jiaka])
print("你获得了"+zdrkp[jiaka])
print("现在卡组:",card)
casl+=1
elif jl=="3":
blood+=5
blomax+=5
print("你的血量"+str(blood)+"/"+str(blomax))
print("第一个世界:草原")##1-10关
for i in range(9):
if blood<=0:
print("你已死亡")
break
else:
print("现在你的血量"+str(blood)+",金币数量:"+str(mon))
print("第",i+1,"关")
djs=-1
if (i+1)%5!=0:
drxh=randint(1,1)
if drxh==1:
drsy=1
drsl=1
print("敌人:抢劫的")
dqjb=randint(0,int((mon+1)/2))
mon-=dqjb
print("被盗金币:"+str(dqjb))
dr=["抢劫的"]
dmian=[0]
da=[0]
dra=0
dblo=[0]
j=-1
for i in dr:
j+=1
if i =="抢劫的":
dblo[j]=randint(3,5)
dblo[j]*=10
print(i+"的血量"+str(dblo[j]))
input("开战")
huihe=0
while (blood>0 and huihe<=6):
huihe+=1
print("第"+str(huihe)+"回合")
if huihe<=5:
print("敌人意图:攻击")
dra=0
for i in range(drsl):
drai=randint(10,15)
da[i]=drai
dra+=drai
print(dr[i]+"意图:攻击"+str(drai))
else:
print("敌人意图:逃跑")
print("我方回合")
djs-=1
if djs==0:
djs=-1
print("定时炸弹爆炸了!")
for i in range(drsl):
dblo[i]-=40
if dblo[i]<=0 and dr[i]!="":
print(dr[i]+"已死亡")
drsy-=1
dr[i]=""
sp=["","","","","","","","","",""]
for i in range(5):
sp[i]=randint(0,casl-1)
sp[i]=card[sp[i]]
nl=3
while(nl>=0 and drsy>=1 and blood>0):
print("你还有"+str(nl)+"能量")
spp=sp
sp=["","","","","","","","","",""]
k=0
for i in spp:
if i!="":
sp[k]=i
k+=1
spp=["","","","","","","","","",""]
print("现在手牌",sp[0],sp[1],sp[2],sp[3],sp[4],sp[5],sp[6],sp[7],sp[8],sp[9])
sc=int(input("使用哪张牌?(结束输入0,不要超出范围!)"))
if sc==0:
break
else:
if sp[sc-1]=="自爆(1)":
if nl>=1:
sp[sc-1]=""
nl-=1
scd=int(input("对谁使用自爆?"))
dblo[scd-1]=0
if dr[scd-1]!="":
print(dr[scd-1],"已死亡")
drsy-=1
dr[scd-1]=""
blood-=int((blood+blood%2)/2)
print("我的血量",str(blood)+"/"+str(blomax))
else:
print("你没有足够的能量")
elif sp[sc-1]=="投掷炸弹(2)":
if nl<2:
print("你没有足够的能量")
else:
sp[sc-1]=""
nl-=2
for i in range(drsl):
dblo[i]-=10
if dblo[i]<=0 and dr[i]!="":
print(dr[i]+"已死亡")
drsy-=1
dr[i]=""
elif sp[sc-1]=="定时炸弹(3)":
if nl<3:
print("你没有足够的能量")
else:
sp[sc-1]=""
nl-=3
djs=3
elif sp[sc-1]=="手榴弹(1)":
if nl>=1:
sp[sc-1]=""
nl-=1
scd=int(input("对谁使用手榴弹?"))
if dr[scd-1]!="":
dblo[scd-1]-=8
if dblo[scd-1]<=0:
print(dr[scd-1],"已死亡")
drsy-=1
dr[scd-1]=""
else:
print("这个位置没有敌人,你打空了")
else:
print("你没有足够的能量")
elif sp[sc-1]=="烟雾弹(2)":
if nl>=2:
nl-=2
sp[sc-1]=""
print(yanwu)
for i in range(drsl):
if dr[i]!="":
if dmian[i]==0 :###################gfdgesgsdgsdf
dra-=da[i]
da[i]=0
print(dr[i]+"被遮挡视线,无法攻击")
else:
dmian[i]-=1
print(dr[i]+"一层免控抵消")
break #烟雾弹结束回合
else:
print("你没有足够的能量")
else:
print("你没有这张牌")
for i in range(drsl):
if dr[i]!="":
print(dr[i]+"血量"+str(dblo[i]))
if drsy<1:
print("好好搜刮")
print("夺回金币:",dqjb)
mon+=dqjb
hdjb=randint(1,100)
print("额外获得金币:",hdjb)
mon+=hdjb
jiali=['','','']
for i in range(3):
kap=randint(0,zdrz-1)
jiali[i]=zdrkp[kap]
if jiali[i]=="烟雾弹(2)":
print("烟雾弹(2):结束回合,使敌方无法攻击一回合(下回合解除)")
elif jiali[i]=="手榴弹(1)":
print("手榴弹(1):对一名敌人造成8伤害")
elif jiali[i]=="定时炸弹(3)":
print("定时炸弹(3):三回合后对所有敌人造成40伤害")
print("奖励卡牌三选一(输入0跳过):",jiali)
huo=int(input())
if huo!=0:
card.append(jiali[huo-1])
print("现在卡组:",card)
casl+=1
break
print("敌方回合")
if huihe==6:
print("敌人逃走了")
break
else:
print("敌人:“还不把钱交出来”")
m=input("是否把钱交出?")
if m=="是":
print("敌人:“谢谢你的钱啦”")
drsl=0
mon=0
break
else:
blood-=dra
print("你剩余血量:"+str(blood))
if i+1==5 :
print("精英即将来袭")
print("商店:")
gm=-1
sjkp=["","","","",""]
sjkpj=[0,0,0,0,0]
for i in range(5):
abcd=randint(0,zdrz-1)
sjkp[i]=zdrkp[abcd]
sjkpj[i]=randint(60,310)
while (gm!=0):
print("金币:"+str(mon))
print("上架卡片:1号",sjkp[0],sjkpj[0],"元,2号",sjkp[1],sjkpj[1],"元,3号",sjkp[2],sjkpj[2],"元,4号",sjkp[3],sjkpj[3],"元,5号",sjkp[4],sjkpj[4],"元")
print("服务: 6号 最大生命+6 250元 7号 生命值+26 260元")
gm=int(input("你要购买哪一个(按顺序输入数字,不要输入0)"))
if gm==0:
break
elif gm<=5:
if mon>=sjkpj[gm-1]:
mon-=sjkpj[gm-1]
print("成交! 给你一张",sjkp[gm-1])
card.append(sjkp[gm-1])
abcd=randint(0,zdrz-1)
sjkp[gm-1]=zdrkp[abcd]
sjkpj[gm-1]=randint(20,100)
print("现在卡组:",card)
casl+=1
else:
print("你没有这么多钱")
elif gm==6:
if mon>=250:
mon-=250
blomax+=6
blood+=6
print("成交!生命值:"+str(blood)+"/"+str(blomax))
else:
print("你没有这么多钱")
elif gm==7:
if mon>=260:
mon-=260
blood+=26
if blood>blomax:
blood=blomax
print("成交!生命值:"+str(blood)+"/"+str(blomax))
else:
print("你没有这么多钱")
print("休息区:")
jiali=input("请选择:1.加最大生命值的20%。2.升级一张卡牌。(退出输入其他)")
if jiali=="1":
jiasm=blomax-blood
if jiasm>int(blomax/5):
jiasm=int(blomax/5)
blood+=jiasm
print("增加"+str(jiasm)+"生命值,现在生命"+str(blood)+"/"+str(blomax))
elif jiali=="2":
print("你的牌",card)
while True:
duan=int(input("你要锻造哪张牌?(有加号的代表已经锻造过,不能重复锻造)输入在1-"+str(casl)+"之间,不然会出错"))
if card[duan-1]=="自爆(1)":
print("自爆(1)+:消耗自身一半(向上取整)的血量击杀一名非BOSS敌人,*使用后重新加入卡组*")
sf=input("是否确认锻造?")
if sf=="是":
break
elif card[duan-1]=="投掷炸弹(2)":
print("投掷炸弹(2)+:对所有敌人造成*18*伤害")
sf=input("是否确认锻造?")
if sf=="是":
break
elif card[duan-1]=="定时炸弹(3)":
print("定时炸弹(3)+:三回合后对所有敌人造成*50*伤害")
sf=input("是否确认锻造?")
if sf=="是":
break
elif card[duan-1]=="手榴弹(1)":
print("手榴弹(1)+:对一名敌人造成*12*伤害")
sf=input("是否确认锻造?")
if sf=="是":
break
elif card[duan-1]=="烟雾弹(2)":
print("烟雾弹(2)+:需要能量降低(只需*1*)")
sf=input("是否确认锻造?")
if sf=="是":
break
else:
print("这张卡牌已经锻造过了")
print("正在锻造"+card[duan-1])
#card[duan-1]=card[duan-1]+"+"
#print(card[duan-1])
print("锻造时起火了,你急忙逃跑,锻造失败")
drxh=randint(1,1)
if drxh==1:
drsy=1
drsl=1
print("精英:幽魂小偷")
dqjb=randint(0,int((mon+1)/2))
mon-=dqjb
print("被盗金币:"+str(dqjb))
dr=["小偷"]
dmian=[0]
dyin=[0]
da=[0]
dra=0
dblo=[0]
j=-1
for i in dr:
j+=1
if i =="小偷":
dblo[j]=randint(3,5)
dblo[j]*=10
print(i+"的血量"+str(dblo[j]))
input("开战")
huihe=0
while (blood>0):
huihe+=1
print("第"+str(huihe)+"回合")
if huihe%5==1:
if huihe>=6:
print("敌人隐身效果解除")
dyin[0]=0
print("敌人在寻找隐身药水")
elif huihe%5==2:
print("敌人在饮用隐身药水")
elif huihe>2:
dyin[0]=1
print("敌人意图:攻击")
dra=0
drai=randint(5,10)
hhh=randint(1,2)
drai*=hhh
da[0]=drai
dra+=drai
print(dr[0]+"意图:攻击"+str(drai))
print("我方回合")
djs-=1
if djs==0:
djs=-1
print("定时炸弹爆炸了!")
for i in range(drsl):
if dyin[i]==0:
dblo[i]-=40
if dblo[i]<=0 and dr[i]!="":
print(dr[i]+"已死亡")
drsy-=1
dr[i]=""
else:
print(dr[i]+"隐身,没受伤害")
sp=["","","","","","","","","",""]
for i in range(5):
sp[i]=randint(0,casl-1)
sp[i]=card[sp[i]]
nl=3
while(nl>=0 and drsy>=1 and blood>0):
print("你还有"+str(nl)+"能量")
spp=sp
sp=["","","","","","","","","",""]
k=0
for i in spp:
if i!="":
sp[k]=i
k+=1
spp=["","","","","","","","","",""]
print("现在手牌",sp[0],sp[1],sp[2],sp[3],sp[4],sp[5],sp[6],sp[7],sp[8],sp[9])
sc=int(input("使用哪张牌?(结束输入0,不要超出范围!)"))
if sc==0:
break
else:
if sp[sc-1]=="自爆(1)":
if nl>=1:
sp[sc-1]=""
nl-=1
scd=int(input("对谁使用自爆?"))
print("敌方为精英,自爆没用")
blood-=int((blood+blood%2)/2)
print("我的血量",str(blood)+"/"+str(blomax))
else:
print("你没有足够的能量")
elif sp[sc-1]=="投掷炸弹(2)":
if nl<2:
print("你没有足够的能量")
else:
sp[sc-1]=""
nl-=2
for i in range(drsl):
if dyin[i]==0:
dblo[i]-=10
if dblo[i]<=0 and dr[i]!="":
print(dr[i]+"已死亡")
drsy-=1
dr[i]=""
else:
print(dr[i]+"隐身,没受伤害")
elif sp[sc-1]=="定时炸弹(3)":
if nl<3:
print("你没有足够的能量")
else:
sp[sc-1]=""
nl-=3
djs=3
elif sp[sc-1]=="手榴弹(1)":
if nl>=1:
sp[sc-1]=""
nl-=1
scd=int(input("对谁使用手榴弹?"))
if dr[scd-1]!="":
if dyin[scd-1]==0:
dblo[scd-1]-=8
if dblo[scd-1]<=0:
print(dr[scd-1],"已死亡")
drsy-=1
dr[scd-1]=""
else:
print(dr[scd-1]+"隐身,没受伤害")
else:
print("这个位置没有敌人,你打空了")
else:
print("你没有足够的能量")
elif sp[sc-1]=="烟雾弹(2)":
if nl>=2:
nl-=2
sp[sc-1]=""
print(yanwu)
for i in range(drsl):
if dr[i]!="":
if dmian[i]==0 :###################gfdgesgsdgsdf
dra-=da[i]
da[i]=0
print(dr[i]+"被遮挡视线,无法攻击")
else:
dmian[i]-=1
print(dr[i]+"一层免控抵消")
break #烟雾弹结束回合
else:
print("你没有足够的能量")
else:
print("你没有这张牌")
for i in range(drsl):
if dr[i]!="":
print(dr[i]+"血量"+str(dblo[i]))
if drsy<1:
print("好好搜刮")
print("夺回金币:",dqjb)
mon+=dqjb
hdjb=randint(1,100)
print("额外获得金币:",hdjb)
mon+=hdjb
jiali=['','','']
for i in range(3):
kap=randint(0,zdrz-1)
jiali[i]=zdrkp[kap]
if jiali[i]=="烟雾弹(2)":
print("烟雾弹(2):结束回合,使敌方无法攻击一回合(下回合解除)")
elif jiali[i]=="手榴弹(1)":
print("手榴弹(1):对一名敌人造成8伤害")
elif jiali[i]=="定时炸弹(3)":
print("定时炸弹(3):三回合后对所有敌人造成40伤害")
print("奖励卡牌三选一(输入0跳过):",jiali)
huo=int(input())
if huo!=0:
card.append(jiali[huo-1])
print("现在卡组:",card)
casl+=1
break
print("敌方回合")
blood-=dra
print("你剩余血量:"+str(blood))