用python写自定义类实现游戏角色基本类,包含攻击和被攻击的成员函数
时间: 2024-03-01 15:49:53 浏览: 145
用python进行游戏编程
好的,以下是一个简单的游戏角色基类,包含攻击和被攻击的成员函数:
```python
class GameCharacter:
def __init__(self, name, health, strength, agility):
self.name = name
self.health = health
self.strength = strength
self.agility = agility
def attack(self, target):
damage = self.strength * 2 - target.agility
if damage > 0:
target.health -= damage
print(f"{self.name} attacks {target.name} for {damage} damage")
else:
print(f"{self.name}'s attack is blocked by {target.name}")
def be_attacked(self, damage):
self.health -= damage
print(f"{self.name} is hit for {damage} damage")
if self.health <= 0:
print(f"{self.name} is defeated")
def move(self):
# 实现移动逻辑
pass
```
在这个类中,我们新增了两个成员函数:`attack` 和 `be_attacked`。其中,`attack` 函数接收一个目标对象作为参数,计算出攻击伤害后对目标进行攻击,并输出攻击结果。`be_attacked` 函数接收一个伤害值作为参数,减少自己的生命值,并输出受攻击的结果。
在 `attack` 函数中,我们首先计算出攻击伤害值,然后判断攻击是否被目标防御成功。如果攻击成功,则对目标对象造成伤害,否则输出攻击被防御的消息。
在 `be_attacked` 函数中,我们直接减少自己的生命值,并输出受攻击的消息。如果生命值小于等于0,则输出被击败的消息。
当然,这只是一个简单的示例代码,您可以根据实际需求对其进行扩展和修改。
阅读全文