Итак, я случайным образом генерирую «мир» и рисую его с помощью pygame.Эта часть работала прекрасно, пока я не решил добавить что-то сверх того, что уже нарисовал.
Код выглядит следующим образом.Каждая вещь не имеет значения, но DISPLAY - это поверхность, над которой я работаю, y.colour - это кортеж размера 3, y.coord - это (x, y) кортеж
for x in W_Map:
for y in x:
DISPLAY.fill(y.colour, pygame.Rect(y.coord[0]-tile_size,
y.coord[1]-tile_size,
y.coord[0]+tile_size,
y.coord[1]+tile_size))
DISPLAY.fill(lime, pygame.Rect(300,300,310,310))
Согласнок вышеприведенной игре это должно создать квадрат 10х10, окрашенный в лайм, с центром в 305х305.В результате получается следующая картина:
Как видите, первая часть кода отлично рисует ландшафт, но при создании квадрата извести сверхуто, что уже нарисовано, сходит с ума.Вся функция:
pygame.init()
DISPLAY = pygame.display.set_mode(
(shape[0]*2*tile_size, shape[1]*2*tile_size))
DISPLAY.fill((0,0,0))
#Make and draw the Rects
for x in W_Map:
for y in x:
DISPLAY.fill(y.colour, pygame.Rect(y.coord[0]-tile_size,
y.coord[1]-tile_size,
y.coord[0]+tile_size,
y.coord[1]+tile_size))
DISPLAY.fill(lime, pygame.Rect(300,300,310,310))