Im curently обучения Python (2.7), используя отличные учебники из http://www.learnpythonthehardway.org/Python - передать переменную в функцию
Я пытаюсь сделать небольшой ввод текста игру, чтобы улучшить свои навыки, как часть этого я пытаюсь для добавления счетчика здоровья к основному символу. Я также добавляю бой, который уменьшит их здоровье.
Ниже код предназначен для установки на здоровье игроков до 100 в начале каждой игры, он делает это, выполняя другую функцию «player_health» в классе под названием «Set_Health»
class Health():
def store_health(self):
d = Set_Health()
d.player_health()
local_health = d.player_health()
print "Your health is at", local_health, "%"
return local_health
Когда ниже Выполняется функция «punch_received», здоровье игроков уменьшается на 10
class Combat():
def punch_received(self):
punch = 10
x = Health()
x.store_health()
combat_health = x.store_health()
combat_health = combat_health - punch
print "You have been punched, your health is", combat_health, "%"
Пока все хорошо. Это может быть не идеальная или лучшая методология, но она работает как основа для изучения.
Моя проблема в том, что я не знаю, как вернуть/отправить значение «combat_health» другой переменной, например. «current_hero_health», который находится в другой функции.
class Hero_Health():
def current_hero_health(self):
# I want to store a running total of the heros health in here
Любая помощь с этим очень ценится. Спасибо Deepend
Несмотря на то, что вы написали, что знаете, что это «не может быть совершенным или лучшей методологией», я бы предложил разработать классы более естественно. Таким образом, ваш герой должен быть экземпляром класса «Герой» с помощью метода «Punch» ... и свойств типа «Здоровье» и т. Д., И каждый «Бой» должен быть экземпляром «Combat». Это поможет вам, естественно, найти лучший способ для разработки ваших переменных потоков. Вы, очевидно, не заметили использование объектно-ориентированного программирования, так как вы пытаетесь имитировать функциональное программирование ;-) – tamasgal
Спасибо septi, я закончил перестройку проекта, как вы предложили, так как каждое изменение я только что создал новые ошибки – Deepend