Сергей Шиманский
Мудрец
(11357)
6 лет назад
class Player:
_def __init__(self, hp, oc, lvl, imag):
__self.hp=hp
__self.oc=oc
__self.lvl=lvl
__self.imag=imag
Skel1=Player(hp=100,oc=0,lvl=1,imag="Skull11")
ЕВГЕНИЙ ЕВГЕНИЙЗнаток (311)
6 лет назад
Большое спасибо! Как можно будет выбрать лучший ответ, выберу ваш!
На самом деле у меня есть ещё пара вопросов, но пока попробую разобраться с ними сам)
ЕВГЕНИЙ ЕВГЕНИЙЗнаток (311)
6 лет назад
Можете подсказать ещё одно, в моём основном коде помимо этих строк так-же есть ещё множество других (странно сказано.. вроде логично) и там, мир создан в отдельном классе, мне подсказали что таким образом можно будет сделать потом "пошаговость", так вот.. например строка:
self.img1 = ImageTk.PhotoImage(Image.open(Skel1.imag))
Тут всё ясно как день, но.. у меня же планируется не 1 враг Skel1, а множество, как мне изменить эту и другие строки, чтобы в дальнейшем, скажем при нажатии на кнопку "далее" (которая будет появляться после смерти врага) он брал следующего нпс.. скажем.. dragon.image ?
noname
Мастер
(2098)
6 лет назад
не указаны переменные hp, oc, lvl, imag
ЕВГЕНИЙ ЕВГЕНИЙЗнаток (311)
6 лет назад
Да, я тоже так подумал, что где то в начале должны быть черновые варианты этих переменных, типа hp=0 lvl=0, как уже писал..
("каких нибудь hp=0, oc=0, lvl=0"), но проблема в том что в основном коде нет такой ошибки и всё работает нормально, но при этом там нет ничего такого, там скажу написанно:
#Костыль
class Player:
def __init__(self):
self.hp=hp
self.oc=oc
self.lvl=lvl
self.imag=imag
Skel1=Player(hp=100,oc=0,lvl=1,image="Skull11")
ЕВГЕНИЙ ЕВГЕНИЙЗнаток (311)
6 лет назад
И как мне выйти из этой ситуации, я конечно могу написать:
class Player:
_def __init__(self):
__self.hp=100
__self.oc=0
__self.lvl=1
__self.imag="12312.png"
но тогда этот костыль сможет создавать только нпс с данными характеристиками, а я хочу чтобы при помощи этого класса можно было создавать любого нпс, просто по ходу давая ему разные хар.
class Player:
_def __init__(self):
__self.hp=hp
__self.oc=oc
__self.lvl=lvl
__self.imag=imag
Тут всё понятно, с этим вроде как вопросов нет, но вот как теперь мне создать моба из этого класса? Вообще это делается так:
Skeleton=Player()
Но мне выдаёт ошибку, мол имя hp в строке self.hp=hp не индифицируется, почему? В другом коде, из которого я взял этот кусок всё работает (решил по кусочкам писать) хотя там всё точно так-же и нет в начале кода каких нибудь hp=0, oc=0, lvl=0, там всё точно так-же, почему так происходит? Как исправить?
Это лишь первый вопрос. Ещё мне бы хотелось узнать, как затем создать моба, допустим того же Skeleton но с определёнными характеристиками?
Пробовал Skel1=Player(hp=100,oc=0,lvl=1,image="Skull11") после class Player(self): но такой вариант не работает