Как правильно построить структуру приложения (python)?
Всем привет столкнулся с проблемой, я осваиваю ООП и для этого пишу простую текстовую рпг, у меня такая структура:
класс герой(hero) : жизни, сила, ловкость
класс монстр(monst) : жизни, сила, ловкость
их наследует класс с вычислением урона удара(fightsys) - в нем вычисляется урон наносимый монстром или героем в зависимости куда идет удар, голова, тело, руки, ноги
класс(fight) наследует fightsys
в нем обрабатывается уже логика боя, человек играет за героя и выбирает в какую часть ударить а монстр отвечает на рандомно.
так вот проблема в том что это не работает. то есть не понятно почему не работает, первая же проверка в классе fight на то что бы монстр и герой были с полными хп оканчивается неудачей, хп героя нормально отрабатывает а хп монстра не приходит, если оно вообще дальше своего класса не уходит. хотя все сделано 1 в 1 с классом героя.
В чем проблема ? или я вообще не верно построил приложение ?
Вы путаете классы с функциями.
Мне кажется, стоит сделать так:
class Person с методом hit(self, enemy, limb), где enemy - экземпляр Person, а дальше вы можете в методе описывать всю логику удара.
Соответственно Hero и Monster наследуются от Person, и в Hero определить метод fight, который спрашивал бы у пользователя куда и кого ударить, и испольовал бы self.hit(кого, куда).
В целом, не плодите много классов и наследований, а также пишите имена классов CamelCase'ом.