胡乱小说18(Python卡牌对决)
2024-08-09 18:24:42
发布于:浙江
import random
print("-- -- -- 卡牌对决 -- -- --")
card1 = {"名称":"诺兹多姆", "攻击力":5000, "防御力":4000, "敏捷":40,"攻击":1}
card2 = {"名称":"核弹", "攻击力":10000, "防御力":20000, "敏捷":600,"攻击":1}
card3 = {"名称":"伊瑟拉", "攻击力":2000, "防御力":6000, "敏捷":30,"攻击":1}
card4 = {"名称":"玛里苟斯", "攻击力":2000, "防御力":4000, "敏捷":50,"攻击":1}
card5 = {"名称":"耐萨里奥", "攻击力":6000, "防御力":2000, "敏捷":20,"攻击":1}
card6 = {"名称":"诺兹多姆", "攻击力":5000000000, "防御力":40000000000, "敏捷":4000000,"攻击":1000000000000000000000000}
card7 = {"名称":"核弹", "攻击力":10000000000, "防御力":2000000000, "敏捷":60000000,"攻击":1000000000000000000000000000}
card8 = {"名称":"伊瑟拉", "攻击力":20000000000, "防御力":600000000000, "敏捷":3000000,"攻击":1000000000000000000000000}
card9 = {"名称":"玛里苟斯", "攻击力":2000000000, "防御力":4000000000, "敏捷":50000000,"攻击":1000000000000000000000000}
card10 = {"名称":"耐萨里奥", "攻击力":600000000, "防御力":20000000000, "敏捷":20000000,"攻击":100000000000000000000000}
print("""规则:
1、双方初始血量:10000
2、对决之前,双方随机获得3张卡牌
3、每回合双方派出1张卡牌出战,对决后,出战卡牌消失,并重新抽取1张卡牌
4、敏捷高的一方进行攻击,对方根据自身卡牌的防御力,扣除血量
5、接着敏捷低的一方进行反击,对方根据自身卡牌的防御力,扣除血量
6、血量低于0的一方输掉比赛
""")
q= input("是否开K:")
血量
playerHP = 10000
enemyHP = 10000
卡池
cards = [card1, card2, card3, card4, card5]
cardsK = [card6, card7, card8, card9, card10]
抽取卡牌
playerCards = []
enemyCards = []
for i in range(3):
if q=="1":
a = random.randint(0, len(cardsK) - 1)
playerCards.append(cardsK[a])
b = random.randint(0, len(cards) - 1)
enemyCards.append(cards[b])
else:
a = random.randint(0, len(cards) - 1)
playerCards.append(cards[a])
b = random.randint(0, len(cards) - 1)
enemyCards.append(cards[b])
while True:
# 卡牌展示
print("我方卡牌:")
for i in playerCards:
print(i)
print("敌方卡牌:")
for i in enemyCards:
print(i)
# 我方出牌
playerSelect = input("派第几张卡牌出战:")
playerC = playerCards[int(playerSelect) - 1]
print("我方派出了:" + playerC["名称"])
# 敌方出牌
enemySelect = random.randint(0, len(enemyCards) - 1)
enemyC = enemyCards[enemySelect]
print("敌方派出了:" + enemyC["名称"])
# 我方先攻击
if playerC["敏捷"] > enemyC["敏捷"]:
print("我方发起攻击!")
playerHurt = playerC["攻击力"] - enemyC["防御力"]
if playerHurt < 0:
playerHurt = 0
enemyHP = enemyHP - playerHurt
if enemyHP <= 0:
print("对决结束,敌方血量为0,我方获胜!")
break
else:
print("我方造成伤害:" + str(playerHurt) + ",敌方剩余血量:" + str(enemyHP))
# 敌方反击
if enemyC["攻击"]>= playerC["攻击"]:
print("敌方发起反击!")
enemyHurt = enemyC["攻击力"] - playerC["防御力"]
if enemyHurt < 0:
enemyHurt = 0
playerHP = playerHP - enemyHurt
if playerHP <= 0:
print("对决结束,我方血量为0,敌方获胜!")
break
else:
print("敌方造成伤害:" + str(enemyHurt) + ",我方剩余血量:" + str(playerHP))
# 敌方先攻击
elif playerC["敏捷"] < enemyC["敏捷"]:
print("敌方发起攻击!")
enemyHurt = enemyC["攻击力"] - playerC["防御力"]
if enemyHurt < 0:
enemyHurt = 0
playerHP = playerHP - enemyHurt
if playerHP <= 0:
print("对决结束,我方血量为0,敌方获胜!")
break
else:
print("敌方造成伤害:" + str(enemyHurt) + ",我方剩余血量:" + str(playerHP))
# 我方反击
if playerC["攻击"]>= enemyC["攻击"]:
print("我方发起反击!")
playerHurt = playerC["攻击力"] - enemyC["防御力"]
if playerHurt < 0:
playerHurt = 0
enemyHP = enemyHP - playerHurt
if enemyHP <= 0:
print("对决结束,敌方血量为0,我方获胜!")
break
else:
print("我方造成伤害:" + str(playerHurt) + ",敌方剩余血量:" + str(enemyHP))
# 不攻击
else:
print("对方跑得太快,追不上!")
# 删除卡牌
playerCards.remove(playerC)
enemyCards.remove(enemyC)
# 补充卡牌
a = random.randint(0, len(cards) - 1)
playerCards.append(cards[a])
b = random.randint(0, len(cards) - 1)
enemyCards.append(cards[b])
#魔法
spring=random.randint(0,100)
if spring<=40:
print("魔法***")
magic=random.randint(0,100)
if magic<=50:
print("<3000+1000")
for i in cards:
if i["攻击力"]<3000:
i["buff"]="*"
else:
print(">6000-1000")
for i in cards:
if i["攻击力"]>6000:
i["buff"]="**"
else:
print("魔法***********")
#qq
for i in cards:
if "buff"in i:
if i["buff"]=="*":
i["攻击力"]+=1000
elif:
i["buff"]=="**":
i["攻击力"]-=1000
if i["攻击力"]<0:
i["攻击力"]=0
这里空空如也
有帮助,赞一个