Ответы пользователя по тегу JavaScript
  • С чего начать написании игры 2048 на JavaScript?

    @romkaby
    Как то ради интересна на яваскрипте сделал 2048, тонкости не помню, но принцип был такой:
    data - двумерный массив 4х4, где хранились все "кубики"
    blocked - такой же массив 4х4 для пометки секторов, где в этот момент уже было сложение кубиков

    Далее при нажатии пробегаюсь по всем кубикам начиная от края ближнего к той стороне, куда сдвигаем (т.е. если нажали "вниз", то просмотриваю все столбцы по кубикам снизу вверх).

    При этом
    1.1) Если есть пустота - сдвигаю,
    1.2) Если нет пустоты - проверка какой именно кубик
    1.2.1) Если кубик != нашему - оставляем все на месте
    1.2.2) Если это такой же кубик, то проверяем массив blocked на предмет того, что этот кубик мы получили путем сложения, или он и был до этого таким
    1.2.2.1) Если кубик и был таким - наш удваиваем, перемещаем (анимация), а тот удаляем, меняем данные в data + ставим блок в массив blocked
    1.2.2.2) Если кубик уже умноженный на этом ходе - оставляем все как есть

    Собственно вся логика, ну и проверка на проигрыш по принципу "если некуда ходить - лузер" и на выигрыш при получении блока 2048.

    Если интересно самому покопаться, добиться - дерзайте, ничего сложного нету, главное - построить логику и она не обязательна будет схожа с тем, что я описал. Если интересно посмотреть готовый вариант - могу скинуть линк на свой вариант, но за чистоту кода не отвечаю, написан за один вечер)
    Ответ написан
    Комментировать
  • Правильно ли я составил регулярные выражения?

    @romkaby
    Проверить можно намример тут planetcalc.ru/708 , либо любой другой онлайн чекер регулярки, либо самому написать простецкий чекер.

    Полагаю, будет лучше, если регулярка будет полностью захватывать выражение.
    Т.е.
    Снилс
    123-456-789-01
    ^\d{3}-\d{3}-\d{3}-\d{2}$
    Код подразделения (из паспорта)
    123-456
    ^\d{3}-\d{3}$
    Сумма
    10 000 или 100 000
    ^[\d ]+$
    Ответ написан
  • Какую тему выбрать для дипломной работы в области веб-разработка?

    @romkaby
    Всегда выбирайте тему такую, которую вы осилите. Комиссии не надо сотни файлов, кучи технологий и тд. Чем проще проект, тем проще и легче его реализация и тем проще и надежнее пройдет его защита. Мне это всегда говорил преподаватель, который вел мой диплом.
    Хотите гемора на сдаче? Значит выбираете сложную и большую тему, на которой вас могут словить. Не забывайте, что вас еще будут спрашивать после представления программы, поэтому при условии десятков библиотек и т.д., которые полностью изучить в рамках проекта не получится, есть шанс что кто-нибудь из комиссии вас завалит на каком-нибудь едком вопросе.
    Лично у меня был проект по автоматическому учету работников и расчету заработной платы сотрудников для коммунальников и я немного пожалел, что связался со всей бухгалтерской чешуйней) Но тем не менее проект был успешно сдан и защищен в прошлом году :)
    Ответ написан
    Комментировать