У меня есть следующий код:питона класс недвижимость неприятность
class tile:
def __init__(self, value):
self.value = value
class map_2d:
def __init__(self, xsize, ysize):
self.dimx = xsize
self.dimy = ysize
self.canvas = [[tile(0)] * xsize for i in range(ysize)]
for yc in range(ysize):
for xc in range(xsize):
self.canvas[yc][xc].x = xc
self.canvas[yc][xc].y = yC#CHECKPOINT
#TEST:
mymap = map_2d(10, 10)
for line in mymap.canvas:
print ' | '.join('%d:%d' % (cell.x, cell.y) for cell in line)
я ожидаю, чтобы иметь map_2d
экземпляр с .canvas
собственности, то есть 2d массив экземпляров плитки с x
и y
свойств, соответствующих координаты плитки. Как 0:0, 1:0, 2:0, ...
Проблема в том, что в конце концов мои плитки имеют свойство x
xsize-1
, 9 в вышеприведенном тесте. Это совершенно запутанно, так как в настоящий момент, отмеченный #CHECKPOINT
, все правильно, и все плитки имеют свои фактические координаты как x
и y
. С моим методом визуализации ничего не получается.
Я хотел бы приветствовать любые подсказки, чтобы помочь с этой тайной. Любые предложения о достижении моей цели (которая назначает координаты ячейкам) более эффективно будут оценены.
Кроме того, если кто-либо читает это, похоже, «что, черт возьми, этот парень делает», я был бы благодарен за любые разумные советы о том, как бороться с простым генерированием карты, что является моей конечной целью в этом случае. Я сделал все это, чтобы иметь способ адресовать плитки, прилегающие к другой плите по координатам, но мой подход кажется довольно субоптимальным.
Да, это выглядит, как он. Спасибо! –