Code Every Day 🚀
30 subscribers
687 photos
243 videos
22 files
174 links
Просто для развлечения
Download Telegram
👨‍💻 Соответственно, для логирования добавим функции, которые выводят логи совместно с уровнем логирования, попозже будет видно, как это работает.
👍1
👨‍💻Также хорошо бы уметь логировать состояние игрового поля, для этого напишем отдельный метод, который преобразует двумерный массив в строки и выводит в логи
👍1
👨‍💻Для клиентского кода нужно будет предоставить пару методов: один из них - метод смены состояния ячейки. В этот метод нужно передать координаты ячейки и значение: крестик или нолик. Метод должен уметь обрабатывать ошибки.
👍1
👨‍💻Детали проверок для метода смены состояния ячейки игрового поля представлены на скриншоте, фактически они проверяют, что игрок не пытается поменять ячейку не в пределах игрового поля, а также он должен выбрать один из возможных вариантов для ячейки
👍1
👨‍💻Скрипт бизнес логики уже умеет менять состояние игрового поля, поэтому можно написать тестовые методы для проверки его работы. Добавим для удобства специальный метод testCase, который принимает имя тест кейса, по этому имени логи будут группироваться, а также анонимную функцию, в которой можно описать набор тестов.

На скриншоте написаны тесты для метода set
👍1
Media is too big
VIEW IN TELEGRAM
👨‍💻 Результат работы скрипта, тестов скрипта, отвечающего за моделирования логики крестков-ноликов, представлены на демо.
👍1
День 80: Прогнозы по продвинутым угрозам безопасности на 2024 год

Вышла статья Прогнозы по продвинутым угрозам на 2024 год, в которой опиcано, какие из прогнозов на 2023 год сбылись, а какие нет. Также делаются прогнозы на будущий год. Статья интересная, для общего понимания трендов будет полезно.

#securelist
🤔2
Code Every Day 🚀
Основы Roblox - Крестики-Нолики: логика игры 🎯 Решил реализовать крестики-нолики в Roblox. Работу начал с бизнес логики игры. В проект добавил файл скрипта TicTacToeLogicScript, в рамках которого буду программировать логику игры. Фактически она никак не…
Основы Roblox - Крестики-Нолики: логика игры

🎯 Вчера был разработан скрипт, который моделировал состояние игрового поля и позволял менять значения в ячейках игрового поля. Сегодня продолжил работу и реализовал метод проверки решения - solve()

👉Алгоритм поиска решения:
- проверяем все строки, есть ли строка, которая содержит одинаковые элементы со значением cell.cross или cell.zero
- проверяем все столбцы, есть ли столбец, который содержит одинаковые элементы со значением cell.cross или cell.zero
- проверяем две диагонали

Детали функции solve приведены на скриншотах

#Roblox
#TicTacToe
👍2
👨‍💻В основе алгоритма лежит функция проверки: все ли элементы списка равны некоторому значению
👍1
👨‍💻 Для отладки добавил метод логирования результатов поиска решения
👍1
👨‍💻Также добавил метод для сброса состояния игрока
👍1
👨‍💻После добавил новый тест кейс, который будет создавать разные комбинации решения игры
👍1
👨‍💻 Запустив демо, стартанул код тест кейса и в консоли видны результаты
👍1
Файл бизнес логики игры готов, напомню основное назначение:
👉 отслеживает состояние поля игры
👉 с помощью метода set() можно менять значение состояния
👉 позволяет проверять решение solve() , данный метод можно вызывать после каждого хода игрока
👉 позволяет сбрасывать состояние игры, чтобы можно было начинать игру сначала
👍1
TicTacToeLogicScript.lua
7.2 KB
Обновленный файл с метдом solve()

Теперь можно прикручивать UI, тут будет интересно, 3D крестики-нолики пока еще не делал, надо подумать, как это лучше представить, хотя вариантов масса 🤔
👍1
День 81: Основы Roblox - Крестики-нолики: UI

🎯 Продолжаю работу над крестиками-ноликами в Roblox. В прошлый раз удалось написать скрипт, который отвечал за логику. Попробовал теперь написать скрипт, который отвечает за UI .

Первое, что пришлось сделать, - это преобразовать скрипт логики в модульный скрипт, чтобы его можно было использовать в других скриптах. Дело в том, что функции одного скрипта нельзя вызвать в рамках другого, если это обычные скрипты. Для переискользуемых скриптов есть специальные скрипты - модульные.

Преобразовал наш скрипт в модульный согласно документации https://create.roblox.com/docs/tutorials/fundamentals/coding-6/intro-to-module-scripts

#Roblox
#TicTacToe
👍1
TicTacToeLogicScript.lua
7.6 KB
👉 Файл обновленного модульного скрипта прикладываю к посту