Example #1
0
    def __init__(self, conf_str, team1_conf, team2_conf):
        self._score = [0, 0]
        self._is_paused = False
        self._exceptional_type_problem_happened = [False, False]

        self._croot = ET.fromstring(conf_str)
        self._t1_croot = ET.fromstring(team1_conf)
        self._t2_croot = ET.fromstring(team2_conf)

        self._board = Board.fromNode(self._croot.find('board'))
        self._gate = Gate.fromNode(self._croot.find('gate'))


        self._max_score = [int(self._croot.find('max_score').get('left')),
                             int(self._croot.find('max_score').get('right'))]

        self._balls_init = []
        self._team_players1 = []
        self._team_players2 = []


        for ball in self._croot.findall('./balls/ball'):
            bi = "self._balls_init.append(game_objects.Ball([" + \
                  ball.get('x') + "," + \
                  ball.get('y') + "]," + \
                  ball.get('r') + " , game_objects.ball_skin))"
            exec (bi)

        self._player_deviation = int(self._croot.find('player_deviation').text)


        t1_filename = self._t1_croot.find('file_name').text
        exec ("import " + t1_filename)
        for pl in self._t1_croot.findall('./players/player'):
            comm = "self._team_players1.append(game_objects.Player([" + \
                   pl.get('x') + "," + \
                   pl.get('y') + "]," + \
                   pl.get('r') + " , game_objects.first_team_skin, " + \
                   t1_filename + "." + pl.get('logic') + "() , '" + \
                   pl.get('name') + \
                   "'))"
            exec (comm)

        t2_filename = self._t2_croot.find('file_name').text
        exec ("import " + t2_filename)
        for pl in self._t2_croot.findall('./players/player'):
            comm = "self._team_players2.append(game_objects.Player([" + \
                   pl.get('x') + "," + \
                   pl.get('y') + "]," + \
                   pl.get('r') + " , game_objects.second_team_skin, " + \
                   t2_filename + "." + pl.get('logic') + "() , '" + \
                   pl.get('name') + \
                   "'))"
            exec (comm)

        self.refresh()