Я хотел уменьшить здоровье игроков, но я был не уверен, смог ли я это сделать, извините, если этот вопрос не ясен, но я новый кодер, и я медленно понимаю, как работают классы. Я думаю, мне нужно сделать это более ясным, насколько смогу.Переменные местоположения класса Python
class Health(object):
#health of player and enemy
#input of the both health so it is able to
#be a preset for more combat
def __init__(self, player, enemy):
self.player = player
self.enemy = enemy
class Attack_Type(object):
#making a attack type blueprint
#combat attacks can be modified
def melee(self, target):
#100% chance of landing hit
if target == player:
Health.player -= 1
return Health.player
elif target == enemy:
Health.enemy -= 1
return Health.enemy
test = Health(10,10)
enemy_melee = Attack_Type(Health.player)
Мой вопрос: как получить доступ к значению переменных внутри класса, не делая его глобальным. Могу ли я изменить значение класса в классе? Это не изменяет здоровье игроков, потому что он не может получить доступ к здоровью игроков, но даже когда он это делает, он не возвращает значение в нужное место.
Теперь я понимаю, что гораздо проще сделать здоровье атрибут, извините, все я не совсем понимаю, как работают классы! Спасибо за помощь!
Does 'player_health = bridge.attack (player_health)' делать то, что вы хотите? –
@Paul Rooney нет трекбэка, говорящего, что «player_health» не определен в строке 14 – Alex
Ok. Извините, я предположил, что вы не показывали весь свой код. Предполагается ли, что здоровье игрока является объектом какого-то типа или просто целой? Просто добавьте 'player_health = 0' где-нибудь до последней строки. Я не понимаю, что вы пытаетесь сделать. –