Esempio n. 1
0
    def entrainer1v1_main(self, fname, ia):

        if self.nb_players != 1:
            raise Exception(
                "Not the good number of players for this function.")

        #Creation d'une partie
        kb_strat = KeyboardStrategy()
        kb_strat.add("a", m.strategy.ShootStrat())
        kb_strat.add("z", m.strategy.DefStrat())
        kb_strat.add("e", m.strategy.GardienStrat())
        kb_strat.add("q", m.strategy.DribleStrat())
        kb_strat.add("s", m.strategy.PassStrat())
        kb_strat.add("d", m.strategy.AtkStrat())

        team1 = SoccerTeam(name="Control Team")
        #team2 = SoccerTeam(name="Sparing")
        team1.add("ControlPlayer", kb_strat)
        #team2.add("Player",m.strategy.ShootStrat())
        team2 = ia.get_team(1)
        simu = Simulation(team1, team2)
        #Jouer, afficher et controler la partie
        show_simu(simu)
        print("Nombre d'exemples : " + str(len(kb_strat.states)))

        # Sauvegarde des etats dans un fichier
        if simu.get_score_team(1) > simu.get_score_team(2):
            try:
                temp = load_jsonz(fname)
                temp += kb_strat.states
                dump_jsonz(temp, fname)
            except FileNotFoundError:
                dump_jsonz(kb_strat.states, fname)
Esempio n. 2
0
    def start(self, show=False, verbose=True):
        self.results = np.empty((self.trials, 2), dtype=int)
        for i in range(self.trials):
            if verbose:
                print(" Match", i)
            brasil = SoccerTeam("Brasil")
            brasil.add(
                "self.strategy",
                self.strategy(accShoot=self.list_param[0],
                              accDrible=self.list_param[1],
                              vit=self.list_param[2],
                              n=self.list_param[3],
                              maxAngle=self.list_param[4],
                              tooFar=self.list_param[5],
                              rSurfBut=self.list_param[6],
                              AngleHyst=self.list_param[7],
                              alpha=self.list_param[8]))

            desafiante = self.ia.get_team(1)

            simu = Simulation(brasil, desafiante, max_steps=self.max_steps)

            if show:
                show_simu(simu)
            else:
                simu.start()

            self.results[i, 0] = simu.get_score_team(1)
            self.results[i, 1] = simu.get_score_team(2)
            if verbose:
                print(" Score : {} x {}".format(self.results[i, 0],
                                                self.results[i, 1]))