MCPcopy Index your code
hub / github.com/battlecode/battlecode-2018 / __init__

Method __init__

battlecode-manager/server.py:51–114  ·  view source on GitHub ↗
(self, game_map: bc.GameMap, logging_level=logging.DEBUG,
                 logging_file="server.log", time_pool=10000, time_additional=50,
                 terminal_viewer=False, map_name="unknown",
                 extra_delay=0)

Source from the content-addressed store, hash-verified

49 '''
50
51 def __init__(self, game_map: bc.GameMap, logging_level=logging.DEBUG,
52 logging_file="server.log", time_pool=10000, time_additional=50,
53 terminal_viewer=False, map_name="unknown",
54 extra_delay=0):
55 self.terminal_viewer = terminal_viewer
56 self.extra_delay = extra_delay
57
58 self.time_pool = time_pool/1000.
59 self.time_additional = time_additional/1000.
60 logging.basicConfig(filename=logging_file, level=logging_level)
61 '''
62 Initialize Game object
63 Args:
64 num_players: Number of players
65 state: Start state of game (Note can be snapshot
66 '''
67 self.players = [] # Array containing the player ids
68 # Dict taking player id and giving bool of log in
69 self.player_logged = {}
70 # Dict taking player id and giving amount of time left as float
71 self.times = {}
72 # List of how many players per team are connected (red,blue).
73 self.connected_players = [0,0]
74
75 self.disconnected = False
76
77 # Initialize the players
78 for index in range(NUM_PLAYERS):
79 new_id = random.randrange(10**30)
80 self.players.append({'id':new_id})
81 self.players[-1]['player'] = bc.Player(bc.Team.Red if index % 2 == 0 else bc.Team.Blue, bc.Planet.Earth if index < 2 else bc.Planet.Mars)
82 self.players[-1]['running_stats'] = {
83 "tl": time_pool,
84 "atu": 0,
85 "lng": "?",
86 "bld": True
87 }
88 self.players[-1]['built_successfully'] = False
89
90 self.player_logged[new_id] = False
91 self.times[new_id] = self.time_pool
92
93 self.started = False
94 self.game_over = False
95
96 # Lock thread running player should hold
97 self.current_player_index = 0
98 self.turn_events = [threading.Event() for _ in range(len(self.players))]
99
100 self.map = game_map
101
102 self.manager = bc.GameController.new_manager(self.map)
103 for player in self.players:
104 player['start_message'] = self.manager.start_game(player['player']).to_json()
105 self.viewer_messages = []
106 manager_start_message = self.manager.initial_start_turn_message(int(1000 * self.time_pool))
107 self.manager_viewer_messages = []
108 self.manager_viewer_messages.append(self.manager.manager_viewer_message())

Callers 1

__init__Method · 0.45

Calls 4

new_managerMethod · 0.80
start_gameMethod · 0.45

Tested by

no test coverage detected