Версия 1.1
Автор: Пелевина Анастасия ([email protected])
Приложение является реализацией игры "Морской бой" против бота и с режимом hot seat на шестиугольном поле
- Модуль
tweepy
(Установка через pip) - Модуль
colorama
только для Windows (Установка через pip)
Консольная версия: cbattlebee.py
Модули: game/
Модули для работы с сетью: network/
Тесты: tests/
Запуск: ./cbattlebee.py
Формат координат в игре - число БУКВА (e.g. 1 A
)
show username | bot
- показать поле игрока | ботаauto
- расставить корабли на поле игрока автоматическиnew <side> <ship_max> <mode> <difficulty>
- начать новую игру См. подробнее нижеhelp
- показать справку по управлениюclear
- очистить консольstat
- показать текущую игровую статистикуfire number LETTER
- выстрелить в заданную клеткуplace ship_len rotation number LETTER
- поставить корабль на поле. См. подробнее нижеexit
- закрыть приложение
new <side> <ship_max> <mode> <difficulty>
:
- side - длина стороны поля
- ship_max - максимальная длина коробля в игре
- mode - режим игры: bot или hs (hot seat)
- difficulty - сложность для игры с ботом (0 или 1)
Все аргументы необязательные
place ship_len rotation number LETTER
:
-
ship_len - длина корабля
-
rotation - поворот корабля относительно верхнего левого угла.
Значения:
h - горизонатльно vr - вертикально вправо vl - вертикально влево
-
number LETTER - координаты клетки, куда ставится корабль
Модуль, отвечающий за логику игры, находится в папке game/
. Основным является класс
environment.Environment
, реализующий всю игровую среду, где хранятся игроки и
прочая информация о текущей игре. Также здесь есть классы environment.Honeycomb
и environment.BotAI
, отвечающие, соответсвенно, за игровое поле и
искусственный интеллект бота. Есть класс environment.Player
реализующий механику игрока,
например, доступ к полю, кораблям и т.д. Также есть модуль utils.py
со вспомогательными методами
На модули написаны тесты, котрые находятся в директории tests/
. Покрытие тестами модуля
environment.py
составляет 67%, модуля utils.py
- 76%:
game/environment.py 386 129 67%
game/utils.py 37 9 76%
Модуль для доступа к твиттеру и работы с ним хранится
в папке network/
. В нем есть класс twitter_access.Twitter
для аутентификации и
отправки твиттов.