Comments 23
Копировать 5 исходников вручную — это жесть, так что вот архив для тех, кому интересно поиграть: berezuev.ru/tmp/muffe.zip
Надеюсь, автор перезальет и выложит в посте.
Надеюсь, автор перезальет и выложит в посте.
Выглядит, как откомпилированный код с развёрнутыми циклами :)
Увы в семерке это выглядит так:
скрин
Баг:
Вот из такого положения нельзя сдвинуть вниз↓ или влево←. Но у вас можно. Появляются новые двойки.
Вот из такого положения нельзя сдвинуть вниз↓ или влево←. Но у вас можно. Появляются новые двойки.
Автор писал про это
2-ки появляются после каждого нажатия кнопки, даже если не произошло смещение и/или сложение.
хотелось бы получить дельный совет как это можно поправить
Когда только эта штука появилась, забавы ради тоже потратил вечер на написание консольной версии. И эту проблему не решал (то есть работает как и у вас). В целом, много общего в результатах, разве что я уместился в 40 строк (в 30 не вышло, но, полагаю, можно постараться), ибо Python.
Лечить проблему можно, например, сравнивая состояние поля до движения и после. Если они одинаковы, значит движение не происходит, значит так нельзя. Это самый банальный способ.
Лечить проблему можно, например, сравнивая состояние поля до движения и после. Если они одинаковы, значит движение не происходит, значит так нельзя. Это самый банальный способ.
я тоже об этом думал. придется добавить еще 16 переменных и 16 проверок IF
думал что как то проще можно
думал что как то проще можно
Ну это вариант в лоб. Можно (и нужно) сделать умнее. Например, вести флаг изменения состояния поля, который изначально в false и устанавливается в true при любом изменении состояния. По этому флагу и определять, изменилось что-нибудь или нет. Это следующий по простоте и очевидности вариант. Возможны и другие, но нужно смотреть, не окажутся ли они более сложными и менее логичными.
У меня, к слову, ячейки могли двигаться только в одну сторону (предположим, вниз, это неважно). Но поле имело функция поворота на 90 градусов в одну сторону (не на экране, в памяти). Соответственно, направление движения определяло лишь число поворотов поля до движения и после него. А в коде движения я рассматривал уже исключительно одну ситуацию с движением в одну сторону.
У меня, к слову, ячейки могли двигаться только в одну сторону (предположим, вниз, это неважно). Но поле имело функция поворота на 90 градусов в одну сторону (не на экране, в памяти). Соответственно, направление движения определяло лишь число поворотов поля до движения и после него. А в коде движения я рассматривал уже исключительно одну ситуацию с движением в одну сторону.
баг поправил.
Всё работает (win7), спасибо )
ну вообще если не требовать совместимости с досом,
то
if условие (
команда1
команда2
команда3
)
должно работать
то
if условие (
команда1
команда2
команда3
)
должно работать
такая конструкция у меня работала через раз.
Вы меня, конечно, извините, но ваш код ужасен.
Чтобы это не было пустыми словами, сделал свой вариант 2048 cmd и выложил на GitHub.
Там, возможно, не реализовано всё что нужно, да и сам язык батников, конечно, ущербный по определению,
но всё-таки надо же как-то использовать возможности языка, на котором пишете.
Не может правильно написанная команда работать через раз.
Чтобы это не было пустыми словами, сделал свой вариант 2048 cmd и выложил на GitHub.
Там, возможно, не реализовано всё что нужно, да и сам язык батников, конечно, ущербный по определению,
но всё-таки надо же как-то использовать возможности языка, на котором пишете.
Не может правильно написанная команда работать через раз.
цветная версия через 3 года
цвет получают через findstr
вывод через < nul set /p str=
по этому так сильно тормозит процесс отрисовки
Sign up to leave a comment.
Игра 2048 батником на Windows