Микро-достижение: теперь вы можете засорять доску вещами, так что вам придется обновить страницу, чтобы очистить ее. Яаай!
Ах да, для тех из вас, кто только настраивается, это о моем хобби-проекте — рабочее название: Sektor. Код находится на Gitlab, а развернут на Netlify.
Я сделал пару новых вещей, ничего не написав о них. Не было времени и не хотелось утомлять мучительно медленным прогрессом.
Но теперь, наконец, есть о чем написать:
Полоса информации/инструментов
Справа от карты есть полоска/лента/полоса/штучка, которая уже имеет более одной функции.
Основной функцией является отображение текущей выбранной ячейки. Поскольку текущая выбранная ячейка уже выделена, нам это не нужно. В основном, это для эффекта.
Вторая функция видна, когда вы выбираете пустую ячейку — панель инструментов заполняется оранжевыми ячейками! Они называются «строительными ячейками», и вы можете использовать их для создания объектов на карте.
Строительные материалы
- Выберите пустую ячейку на карте.
- Щелкните оранжевую ячейку на полосе.
Тадааа — пустая ячейка теперь занята!
Однако он не занят выбранной вами ячейкой… Так и должно быть. Вы не можете просто построить что-то из ничего, это нужно сначала построить. Итак, в настоящее время вы можете строить только строительные площадки, которые обозначаются символом подчеркивания («_»).
Ага, еще графика не буэно. Я настоятельно приглашаю на выставку всех, кто готов нарисовать Сектора так, чтобы он выглядел красиво!
Перспектива
Сценарий использования для строительства изначально был не таким. Это было:
- Выберите ячейку сборки (она стала красной)
- Нажмите на карту (более одного раза, если хотите), чтобы построить выбранную ячейку.
Я сделал это так, потому что хотел оптимизировать для более быстрого построения более чем одной ячейки одного типа.
Однако, как только я его построил, я понял проблему. Если вы случайно нажмете не на ту ячейку карты, вы построите там, где не хотели. Еще хуже, если вы забудете, что выбрали ячейку построения, и случайно нажмете на пустую ячейку.
Нажатие неправильной ячейки особенно возможно при игре с мобильного устройства с сенсорным экраном.
В более общем плане я считаю, что щелчок по карте всегда должен быть просто выбором — идемпотентной операцией. Однако, как основной автор игры, я оставляю за собой право изменить свое мнение по этому поводу.
Все это заставило меня задуматься о том, почему я вообще выбрал этот сценарий. Я оптимизировал функцию, которая совсем не была критична для базовой функциональности. Я ориентировался на будущее, что, по моему опыту, почти всегда расточительно и очень часто вредно.
Я решил перевернуть сценарий. Стало проще — ячейки сборки не выбираются.
Поскольку все управляется тестами (в любом случае, все зависит от поведения), эта значительная модификация пользовательского сценария была тривиальной.
Совет: как удалить функцию
- Удалить код реализации
- Запустите тесты: только тесты для этой функции должны завершиться неудачно.
- Удалить неудачные тесты
- Подтвердить исходный код
К сожалению, в этом случае я забыл последний шаг, поэтому моя фиксация объединяет удаление старой функции и добавление новой. Я должен помнить о небольших коммитах.
Будущее все еще возможно
Как ни странно, я придумал способ, с помощью которого все еще будет возможно быстрое построение более чем одной ячейки одного типа — множественный выбор ячеек!
Сначала вы выбираете несколько пустых ячеек, затем просто нажимаете на оранжевую ячейку построения, и все выбранные становятся строительными площадками для этого типа ячеек. Очень просто.
Вперед!
Я полагаю, что приближаюсь к интересному игровому поведению (наконец-то!) — строительные площадки должны превратиться в настоящие здания, но для этого им нужны некоторые ингредиенты.
Когда я это реализую (надеюсь, скоро), общая идея Сектора начнет становиться ясной (ну, во всяком случае, менее туманной) для вас, мой скромный читатель.
До тех пор, тоже!