forked from CodeClash-ai/CodeClash
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path__init__.py
More file actions
38 lines (35 loc) · 1.37 KB
/
Copy path__init__.py
File metadata and controls
38 lines (35 loc) · 1.37 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
from codeclash.arenas.arena import CodeArena
from codeclash.arenas.battlecode.battlecode import BattleCodeArena
from codeclash.arenas.battlesnake.battlesnake import BattleSnakeArena
from codeclash.arenas.bridge.bridge import BridgeArena
from codeclash.arenas.corewar.corewar import CoreWarArena
from codeclash.arenas.dummy.dummy import DummyArena
from codeclash.arenas.figgie.figgie import FiggieArena
from codeclash.arenas.gomoku.gomoku import GomokuArena
from codeclash.arenas.halite.halite import HaliteArena
from codeclash.arenas.halite2.halite2 import Halite2Arena
from codeclash.arenas.halite3.halite3 import Halite3Arena
from codeclash.arenas.huskybench.huskybench import HuskyBenchArena
from codeclash.arenas.robocode.robocode import RoboCodeArena
from codeclash.arenas.robotrumble.robotrumble import RobotRumbleArena
ARENAS = [
BattleCodeArena,
BattleSnakeArena,
BridgeArena,
CoreWarArena,
DummyArena,
FiggieArena,
GomokuArena,
HaliteArena,
Halite2Arena,
Halite3Arena,
HuskyBenchArena,
RoboCodeArena,
RobotRumbleArena,
]
# might consider postponing imports to avoid loading things we don't need
def get_arena(config: dict, **kwargs) -> CodeArena:
game = {x.name: x for x in ARENAS}.get(config["game"]["name"])
if game is None:
raise ValueError(f"Unknown game: {config['game']['name']}")
return game(config, **kwargs)