Я пишу змейку которая играет сама , без какого либо взаимодействия с ней , и я дошел до стадии где мне нужно получать все доступные пиксели(те, куда может попасть змейка) , и мне приходится проходится по всем пикселям на игровой области , все бы было отлично если б этот код не работал бы настолько медленно , из за чего сама игра при каждом ходе змейки очень сильно тормозит.
Вопрос: Как можно ускорить данный код ?
def algorithms3(self):
head_x, head_y, peaks = self.window.datagame["snake"]["x"], self.window.datagame["snake"]["y"], []
while self._Examination.check_step(head_x, head_y):
peaks.append([head_x, head_y])
head_x += 10
while self._Examination.check_step(head_x, head_y):
peaks.append([head_x, head_y])
head_y += 10
head_y = self.window.datagame["snake"]["y"]
while self._Examination.check_step(head_x, head_y):
peaks.append([head_x, head_y])
head_y -= 10
head_y = self.window.datagame["snake"]["y"]
head_x, head_y = self.window.datagame["snake"]["x"], self.window.datagame["snake"]["y"]
while self._Examination.check_step(head_x, head_y):
peaks.append([head_x, head_y])
head_x -= 10
while self._Examination.check_step(head_x, head_y):
peaks.append([head_x, head_y])
head_y += 10
head_y = self.window.datagame["snake"]["y"]
while self._Examination.check_step(head_x, head_y):
peaks.append([head_x, head_y])
head_y -= 10
head_y = self.window.datagame["snake"]["y"]
head_x, head_y = self.window.datagame["snake"]["x"], self.window.datagame["snake"]["y"]
while self._Examination.check_step(head_x, head_y):
peaks.append([head_x, head_y])
head_y += 10
head_y = self.window.datagame["snake"]["y"]
while self._Examination.check_step(head_x, head_y):
peaks.append([head_x, head_y])
head_y -= 10
head_y = self.window.datagame["snake"]["y"]