Рустбу
Лихессовый клон Shobu, прикрепленный к ржавчине.
Как 2 беги:
Получить ржавчину
cargo run
???
Выгода.
Имейте в виду, что это только бэкэнд, который вам также нужен, чтобы запустить его: https://github.com/kapsyloffer/rustbu-fe
Список TODO:
Frontend Todo:
- Рендерировать доски на фронте.
- Создайте новую игру и получите общую ссылку на нее
- Ввод ссылки присоединяется к игре.
- Разрешить движения, только если это ваша очередь.
- Напишите хороший интерфейс.
- Определите, какой цвет игрок.
- Черный игрок не может перемещать белые камни, и наоборот.
- Зеркал игру для белого игрока. (т.е. белые камни на дне)
- Определить фактические позиции скалы.
- Правильное использование веб -пирожных/вещания.
- Переместите с помощью кликов
- Двигаться, перетаскивая
- Рендеринг камней на вершине доски, независимо, а не в Divs.
- Основные доски, где возможна движение. (Домохозяйки на пассивных досках противоположного цвета на агрессивном)
- Локально изменить планировку плат между стандартом и «придурком» (см. Рисунок 1)
- Покажите возможный путь движения, как в лихессе.
- Макс 2 шага за ход.
- Верни пассивное движение на месте.
- Определить местные позиции скалы. т.е. Если мы переехали пассивно, покажите это.
- Агрессивный ход должен иметь тот же размер и направление, что и пассивное.
- Предотвратить агрессивный ход на доске того же цвета, что и пассивный ход.
- Предотвратить агрессивный ход на доске того же цвета, что и пассивный ход.
- Завершите игру, когда у нас есть победитель.
- Перепишите функции, связанные с WebSocket, чтобы поддержать вещание.
Рисунок 1:
Standard layout: "DORK" layout:
[B][W] [B][W]
------ ------
[B][W] [W][B]
Бэкэнд Тодо:
- Фаза пассивного движения.
- Предотвратите толкать любые камни в пассивном движении.
- Макс 2 шага за ход.
- Предотвратить пассивный ход на домом противника.
- Предотвратите толкать любые камни в пассивном движении.
- Агрессивная фаза движения.
- Предотвратить толкание той же цветной скалы.
- Предотвратить толкание более 2 камней одновременно.
- Предотвратить агрессивный ход на доске того же цвета, что и пассивный ход.
- Предотвратить агрессивный ход, который отличается от пассивного движения.
- Предотвратить движения на досках того же цвета.
- Проверьте на победителя.
- Измените активного игрока, если как пассивный, так и агрессивный ход в порядке.
- Правила движения единичного теста.
- Обрабатывать соединение WebSocket.
- Убедитесь, какой игрок делает ход. Черный не должен перемещать белые камни.
- Создать ссылку на новую игру и перенаправить.
- Обновить состояние для обоих игроков на борту. (Тодо: Делай должным образом ...)
- Присоединиться к игре; Владелец лобби черный, следующий человек, который присоединится, белый.
- Если игра полна, вы зритель. (Иш)
- Предотвратить первое движение на домом противника.
- Нельзя сделать ходов, пока игра не началась.
- Завершите игру, когда у нас есть победитель.
- Предотвратить дубликаты URL. (Редкая проблема, но все же плохая, если это произойдет.)
- Вещание.
Будущие улучшения:
Отказ от ответственности: я не владею Shobu в какой -либо степени, форме или форме. Я просто нахожу игру аккуратной, поэтому я делаю этот проект.