Не критика, а по моему мнению желательное дополнение. когда «квадратик» появляется в почти достроенной линии, сделать бы так чтобы линия исчезала.
пример стояло 4 «квадратика» через 1 клетку еще 1
«оооо о»
и в пустом месте появился «квадратик» того же цвета что и линия
«оооооо»
но она не исчезла.
Я про это знаю, если посмотрите исходники они немного другие. Я планирую при написание следующей части переписать код с логикой, исправить баги и еще дописать много чего.
И не должны. В посте автор написал
В следующей части мы рассмотрим алгоритм проверки собранных линий, подсчета балов за сгоревшие шарики. И самое интересное алгоритм поиска пути, наши шарики ведь не должны летать как сейчас — мы подрежем им крылья. >:)
Замечательная статья! Спасибо огромной автору =)
За то баг нашли :). А читерство не хорошо. Надо будет это как то присеч. К стати не кто не знает как это лучше сделать, я знаю один способ но вам его не скажу а то перестанет работать.
Единственный способ, имхо, перенести всю логику на серверную часть, все остальное всегда можно раскопать и поломать =)
Всегда есть момент, когда конечный результат передается на сервер и на данном этапе его всегда можно подменить.
Есть вариант с отсылкой очков при каждом ходе, проверкой, т.е. очки не могли измениться более чем на максимально возможное число за ход, но это лишь немного осложнит задачу взлома т.к. мы не можем точно знать игра ли послала эти очки.
Тоже это думал,. Можно при этом еще слать в разные промежутки времени по определенному алгоритму потомм все усреднять и высчитывать в каких пределах могут быть балы.
А перенос на сервер логики, приведет к задержка между ходами что не есть Ase.
логика на сервере, отсылать на сервер ход (как в шахматах Е2Е6), сервер возвращает результат хода (игровое поле), вывести клиенту. взламывать нечего =), но придётся на сервере хранить игру пользователя, что опасно при большом количестве посещений, можно поставить ограничение на ход 10 секунд, тогда после этого у пользователя игра gameOver(), а на сервере игра удаляется из памяти, но это как-то несерьёзно для такой игры
Ситуация: стоит 4 одноцветных квадрата в ряд, пятый появляется при некотором перемещении. В итоге я вижу пять квадратов подряд и они не сгорают. Баг или фича?
Это бета версия со своими багами со второй частью статьи я их все исправлю и вообще планирую переписать некоторые куски кода. Пока что решение поставить рядом еще шарик того же цвета :)
отличная игра Lines, жаль только, что в вашей реализации еще не реализована проверка возможности хода, ведь поле может быть перекрто. Я когда делал клон Lines (см. мой следующий пост в этом блоге) нашел это самой интересной задачей. Она решается несколькими способами, я просто беру две клетки, откуда и куда нужно перенести шар, и перед переносом проверяю возможность — иду по спирали от клетки «откуда» и если не упираюсь в границы или в другие шары и при этом пути встречаю клетку «куда» то переход возможен, все довольно просто и быстро.
Ну и конечно, в оригинальной игре, если линия заполнлась сама при появлении нужного шара в нужном месте, то она сгорала, жаль, что у вас этого нет. Потенциально это может привести к появлению цельной линии, которую не убрать
Проверка на путь есть в самой игре, как ее сделать я уже сказал что опешу в следующей части она почти готова. На счет сгорание появляющихся шаров то я в самой игре поправил этот баг.
Когда программисту нечего делать, пишем игры сами. Часть 1