Всем привет, решил приобщиться к общему безумию. В 30 строк уже написали почти все, что могли, но старого доброго сокобана я не нашел (возможно, плохо искал), так что хочу восполнить этот пробел.
Ссылка на fiddle
Если кто не в курсе, смысл в том, чтобы затолкать ящики на указанные места. Ящики можно только толкать, тянуть нельзя. Одновременно можно толкать перед собой только один ящик. Стены лабиринта нарисованы черным, ящики — синим, места для ящиков — серым, ящики, стоящие на нужных местах — красным, игрок — зеленым. Управление стрелками курсора.
Карта уровня задается в массиве levelData в начале скрипта.
Используемые символы:
- 'w' — стенка
- 'b' — ящик
- 's' или пробел — свободное место
- 'y' — игрок
Автор: zabbius