Решил подкачать скилл в программировании и пишу небольшую игру. В игре есть квадратная доска, как в шахматах, размерами SIZExSIZE. Пишу функцию, которая возвращает все смежные (не по диагоналям) клетки. ЯП - Питон. Имею вот что:
ЯП в общем, не суть, но сильно подозреваю, что существуют более элегантные решения. Кто-нибудь может подсказать?
svarwik(*) (2012-06-03 18:19:24) Отредактировано svarwik по причине "не указана" Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0
P.S. Данный вариант работает и для таких "виртуальных" полей как (0, -1) и так далее, ведь у них соседи в пределах доски тоже есть. Но, если тут действительно шахматная доска, то стоит добавить ещё одну проверку для входных данных. Твой вариант, кстати, тоже не обижается на выход за границы доски.
Можно заменить добавление в список на yield и получить generator function.
//SystemV
anonymous(*)(2012-06-04 01:23:55) Отредактировано anonymous по причине "не указана" Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.34 (KHTML, like Gecko) QupZilla/1.2.0 Safari/534.34
Re:Адресация игровой доски
попробуй лучше написать итератор по всем соседям. Если нужен именно список, итератором и заполняй его
Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:12.0) Gecko/20100101 Firefox/12.0