Итак, эта проблема с Python вызывает у меня проблемы с тех пор, как я попытался перегруппировать код в разные файлы. У меня есть файл с именем object.py, и в нем, связанный код:
class Object:
#this is a generic object: the player, a monster, an item, the stairs...
#it's always represented by a character on screen.
def __init__(self, x, y, char, color):
self.x = x
self.y = y
self.char = char
self.color = color
def move(self, dx, dy):
#move by the given amount, if the destination is not blocked
#if not map[self.x + dx][self.y + dy].blocked:
self.x += dx
self.y += dy
Теперь, когда я пытаюсь скомпилировать этот файл специально, я получаю эту ошибку:
TypeError: unbound method __init__() must be called with Object instance as first argument (got int instance instead)
Код, который пытается вызвать это:
player = object_info.Object.__init__(BurglaryConstants.SCREEN_WIDTH/2, BurglaryConstants.SCREEN_HEIGHT/2, '@', libtcod.white)
Что вызывает эту ошибку при компиляции:
AttributeError: 'module' object has no attribute 'Object'
Так что, черт возьми, происходит со всем этим и как я должен рефакторинг этого? Также я предполагаю, что наличие класса Object не очень хорошая практика кодирования, правильно?
Спасибо за вашу помощь!