Микро-достижение: теперь вы можете засорять доску вещами, так что вам придется обновить страницу, чтобы очистить ее. Яаай!

Ах да, для тех из вас, кто только настраивается, это о моем хобби-проекте — рабочее название: Sektor. Код находится на Gitlab, а развернут на Netlify.

Я сделал пару новых вещей, ничего не написав о них. Не было времени и не хотелось утомлять мучительно медленным прогрессом.

Но теперь, наконец, есть о чем написать:

Полоса информации/инструментов

Справа от карты есть полоска/лента/полоса/штучка, которая уже имеет более одной функции.

Основной функцией является отображение текущей выбранной ячейки. Поскольку текущая выбранная ячейка уже выделена, нам это не нужно. В основном, это для эффекта.

Вторая функция видна, когда вы выбираете пустую ячейку — панель инструментов заполняется оранжевыми ячейками! Они называются «строительными ячейками», и вы можете использовать их для создания объектов на карте.

Строительные материалы

  1. Выберите пустую ячейку на карте.
  2. Щелкните оранжевую ячейку на полосе.

Тадааа — пустая ячейка теперь занята!

Однако он не занят выбранной вами ячейкой… Так и должно быть. Вы не можете просто построить что-то из ничего, это нужно сначала построить. Итак, в настоящее время вы можете строить только строительные площадки, которые обозначаются символом подчеркивания («_»).

Ага, еще графика не буэно. Я настоятельно приглашаю на выставку всех, кто готов нарисовать Сектора так, чтобы он выглядел красиво!

Перспектива

Сценарий использования для строительства изначально был не таким. Это было:

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

Я сделал это так, потому что хотел оптимизировать для более быстрого построения более чем одной ячейки одного типа.

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

Нажатие неправильной ячейки особенно возможно при игре с мобильного устройства с сенсорным экраном.

В более общем плане я считаю, что щелчок по карте всегда должен быть просто выбором — идемпотентной операцией. Однако, как основной автор игры, я оставляю за собой право изменить свое мнение по этому поводу.

Все это заставило меня задуматься о том, почему я вообще выбрал этот сценарий. Я оптимизировал функцию, которая совсем не была критична для базовой функциональности. Я ориентировался на будущее, что, по моему опыту, почти всегда расточительно и очень часто вредно.

Я решил перевернуть сценарий. Стало проще — ячейки сборки не выбираются.

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

Совет: как удалить функцию

  1. Удалить код реализации
  2. Запустите тесты: только тесты для этой функции должны завершиться неудачно.
  3. Удалить неудачные тесты
  4. Подтвердить исходный код

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

Будущее все еще возможно

Как ни странно, я придумал способ, с помощью которого все еще будет возможно быстрое построение более чем одной ячейки одного типа — множественный выбор ячеек!

Сначала вы выбираете несколько пустых ячеек, затем просто нажимаете на оранжевую ячейку построения, и все выбранные становятся строительными площадками для этого типа ячеек. Очень просто.

Вперед!

Я полагаю, что приближаюсь к интересному игровому поведению (наконец-то!) — строительные площадки должны превратиться в настоящие здания, но для этого им нужны некоторые ингредиенты.

Когда я это реализую (надеюсь, скоро), общая идея Сектора начнет становиться ясной (ну, во всяком случае, менее туманной) для вас, мой скромный читатель.

До тех пор, тоже!