用python做一个5v5的模拟战斗代码实例 
时间: 2023-05-23 17:03:44 浏览: 59
当然可以,让我来给您提供一个示例代码:
```python
import random
class Player:
def __init__(self, name, team):
self.name = name
self.team = team
self.health = 100
self.attack = random.randint(10, 20)
self.defense = random.randint(5, 10)
class Battle:
def __init__(self, team1, team2):
self.team1 = team1
self.team2 = team2
def start(self):
print("开始模拟战斗!")
while True:
player1 = self.get_alive_player(self.team1)
player2 = self.get_alive_player(self.team2)
if player1 is None or player2 is None:
break
print(f"{player1.name}({player1.team}) 攻击了 {player2.name}({player2.team})")
damage = player1.attack - player2.defense
if damage > 0:
player2.health -= damage
print(f"{player2.name}({player2.team}) 的血量剩余 {player2.health}")
if player2.health <= 0:
print(f"{player2.name}({player2.team}) 被 {player1.name}({player1.team}) 打败了!")
print("战斗结束")
def get_alive_player(self, team):
alive_players = [p for p in team if p.health > 0]
if alive_players:
return random.choice(alive_players)
else:
return None
if __name__ == "__main__":
team1 = [Player("张三", "红队"), Player("李四", "红队"), Player("王五", "红队"), Player("赵六", "红队"), Player("钱七", "红队")]
team2 = [Player("Tom", "蓝队"), Player("Jack", "蓝队"), Player("Mary", "蓝队"), Player("Lucy", "蓝队"), Player("Bob", "蓝队")]
battle = Battle(team1, team2)
battle.start()
```
以上代码演示了一个5v5的模拟战斗,每个人有一定的血量、攻击力和防御力,随机攻击对方,直到一方全部被打败为止。您可以根据实际需要进行改进和扩展。
相关推荐
















