класс Battle наследуется от models.Model - хранит информацию о батлах
поля:
gameplayers (подробнее в PlayersInBattles)
statustotal_timelogs
методы:
request_to_run - создает объект класса InvokerMultiRequest на паралельный запуск n стратегий и play игры
run - запускается при получении свободных инвокеров, передает выдаваемые ответы между стратегиями и play и записывает ход игры в файл логов (номер хода; игрок совершающий ход; сам ход; время затраченное на ход)
update_battle_results - добавляет ссылку на файл логов в поле logs в объекте класса Battle, обновляет поля отвечающие за результат каждого игрока в объекте класса PlayersInBattles (пока это is_win и points)
Класс PlayersInBattles
вспомогательный класс для хранения более точной информации о каждом игроке в конкретном батле
поля:
playerbattlestrategynumber
поля отвечающие за результат (лучше доработать):
is_winpoints
Прочее
я как игрок/создатель/зритель от battle хочу:
кто играл
во что играл
где играл (турнир)
результат (кто победил, или какое количество очков набрал)
как победил (игра доведена до конца или какя-то ошибка соперника)
кто, в каком порядке, как, сколько по времени в ходил (логи)
дата время проведения батла
суммарное время на батл
я как разработчик от battle хочу:
чтобы баттл ссылался на турнир, чтобы востанавливать результат турнира
Класс Battle
класс
Battle
наследуется отmodels.Model
- хранит информацию о батлахполя:
game
players
(подробнее вPlayersInBattles
)status
total_time
logs
методы:
request_to_run
- создает объект классаInvokerMultiRequest
на паралельный запуск n стратегий и play игрыrun
- запускается при получении свободных инвокеров, передает выдаваемые ответы между стратегиями и play и записывает ход игры в файл логов (номер хода; игрок совершающий ход; сам ход; время затраченное на ход)update_battle_results
- добавляет ссылку на файл логов в полеlogs
в объекте классаBattle
, обновляет поля отвечающие за результат каждого игрока в объекте классаPlayersInBattles
(пока этоis_win
иpoints
)Класс PlayersInBattles
вспомогательный класс для хранения более точной информации о каждом игроке в конкретном батле
поля:
player
battle
strategy
number
поля отвечающие за результат (лучше доработать):is_win
points
Прочее
я как игрок/создатель/зритель от battle хочу: кто играл во что играл где играл (турнир) результат (кто победил, или какое количество очков набрал) как победил (игра доведена до конца или какя-то ошибка соперника) кто, в каком порядке, как, сколько по времени в ходил (логи) дата время проведения батла суммарное время на батл
я как разработчик от battle хочу: чтобы баттл ссылался на турнир, чтобы востанавливать результат турнира