Skip to content
This repository was archived by the owner on Jul 8, 2023. It is now read-only.

Commit 1e4d477

Browse files
committed
[Battle] Adjust seating for multiple bots
1 parent 990155b commit 1e4d477

File tree

2 files changed

+30
-1
lines changed

2 files changed

+30
-1
lines changed

project/bots_battle.py

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import datetime
2+
import itertools
23
import logging
34
import os
45
import random
@@ -31,6 +32,11 @@ def main(number_of_games, print_logs):
3132
if not os.path.exists(replays_directory):
3233
os.mkdir(replays_directory)
3334

35+
possible_configurations = list(itertools.combinations(BattleConfig.CLIENTS_CONFIGS, 4))
36+
assert len(BattleConfig.CLIENTS_CONFIGS) == 12
37+
assert len(possible_configurations) == 495
38+
39+
chosen_configuration = 0
3440
for i in trange(number_of_games):
3541
if i < len(seeds):
3642
seed_value = seeds[i]
@@ -39,7 +45,10 @@ def main(number_of_games, print_logs):
3945

4046
replay_name = GameManager.generate_replay_name()
4147

42-
clients = [LocalClient(BattleConfig.CLIENTS_CONFIGS[x](), print_logs, replay_name, i) for x in range(0, 4)]
48+
clients = [
49+
LocalClient(possible_configurations[chosen_configuration][x](), print_logs, replay_name, i)
50+
for x in range(0, 4)
51+
]
4352
manager = GameManager(clients, replays_directory, replay_name)
4453

4554
try:
@@ -49,6 +58,10 @@ def main(number_of_games, print_logs):
4958
manager.replay.save_failed_log()
5059
logger.error(f"Hanchan seed={seed_value} crashed", exc_info=e)
5160

61+
chosen_configuration += 1
62+
if chosen_configuration == len(possible_configurations):
63+
chosen_configuration = 0
64+
5265

5366
def _set_up_bots_battle_game_logger():
5467
logs_directory = os.path.join(battle_results_folder, "logs")

project/game/bots_battle/battle_config.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
from game.ai.configs.bot5 import MikiConfig
2+
from game.ai.configs.bot6 import ChioriConfig
3+
from game.ai.configs.bot7 import KanaConfig
4+
from game.ai.configs.bot8 import MaiConfig
5+
from game.ai.configs.bot9 import YuiConfig
6+
from game.ai.configs.bot10 import NadeshikoConfig
7+
from game.ai.configs.bot11 import RiuConfig
8+
from game.ai.configs.bot12 import KeikumusumeConfig
19
from game.ai.configs.bot_ichihime import IchihimeConfig
210
from game.ai.configs.bot_kaavi import KaaviConfig
311
from game.ai.configs.bot_wanjirou import WanjirouConfig
@@ -10,4 +18,12 @@ class BattleConfig:
1018
KaaviConfig,
1119
WanjirouConfig,
1220
XeniaConfig,
21+
MikiConfig,
22+
ChioriConfig,
23+
KanaConfig,
24+
MaiConfig,
25+
YuiConfig,
26+
NadeshikoConfig,
27+
RiuConfig,
28+
KeikumusumeConfig,
1329
]

0 commit comments

Comments
 (0)