Exemple #1
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]))
def entrainement(fn):
    simu = Simulation(team1, team2)
    show_simu(simu)
    # recuperation de tous les etats
    training_states = strat_j1.states
    # sauvegarde dans un fichier
    dump_jsonz(training_states, fn)
def entrainer(fname):
    #Creation d'une partie
    kb_strat_def = KeyboardStrategy()
    kb_strat_def.add("a", posdefStrategy())
    kb_strat_def.add("z", passeStrategy())

    kb_strat_atk = KeyboardStrategy()
    kb_strat_atk.add("q", pospasseStrategy())
    kb_strat_atk.add("s", dribbleStrategy())
    kb_strat_atk.add("d", tirStrategy())

    team1 = SoccerTeam(name="Control Team")
    team2 = SoccerTeam(name="Sparing")
    team1.add("Defenseur", kb_strat_def)
    team1.add("Attaquant", kb_strat_atk)
    team2.add("Player1", AttaqueStrategy())
    team2.add("Player2", DefenseStrategy())
    simu = Simulation(team1, team2)
    #Jouer, afficher et controler la partie
    show_simu(simu)
    print("Nombre d'exemples : " + str(len(kb_strat_atk.states)))
    print("Nombre d'exemples : " + str(len(kb_strat_def.states)))
    # Sauvegarde des etats dans un fichier
    dump_jsonz(kb_strat_atk.states, fname)
    dump_jsonz(kb_strat_def.states, fname)
    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)
Exemple #5
0
 def start(self, show=True):
     team1 = SoccerTeam("Team 1")
     team1.add("Test tire", self.strategy)
     self.simu = Simulation(team1, max_steps=100000)
     self.simu.listeners += self
     if show:
         show_simu(self.simu)
     else:
         self.simu.start()
    def start(self):
        if self.visu :
            show_simu(self.simu)
        else:
            self.simu.start()
                    
    
    
# Trouver parametre
Exemple #7
0
 def  start(self , show=True , fps=None):
     if not  self.simu:
         team1 = SoccerTeam("Team␣1")
         team2 = SoccerTeam("Team␣2")
         team1.add(self.strategy.name , self.strategy)
         team2.add(StrategyAttaquant().name , StrategyAttaquant())
         self.simu = Simulation(team1 , team2 , max_steps=self.max_steps)
     self.simu.listeners  += self
     if show:
         show_simu(self.simu , fps=fps)
     else:
         self.simu.start ()
Exemple #8
0
def jouer_arbre(dt):
    ####
    # Utilisation de l'arbre
    ###
    dic = {"Fonce": FonceStrategy(), "Static": StaticStrategy()}
    treeStrat1 = DTreeStrategy(dt, dic, my_get_features)
    treeStrat2 = DTreeStrategy(dt, dic, my_get_features)
    team3 = SoccerTeam("Arbre Team")
    team3.add("Joueur 1", treeStrat1)
    team3.add("Joueur 2", treeStrat2)
    simu = Simulation(team2, team3)
    show_simu(simu)
Exemple #9
0
    def start(self, show=True):
        if not self.simu:
            team1 = SoccerTeam("Team 1")
            team2 = SoccerTeam("Team 2")
            team1.add("Defenseur_2v2_opti.name", self.strategy)
            team2.add("Fonceur_brain.name", Fonceur())
            self.simu = Simulation(team1, team2, max_steps=self.max_steps)
        self.simu.listeners += self

        if show:
            show_simu(self.simu)
        else:
            self.simu.start()
Exemple #10
0
    def start(self, show=True):
        if not self.simu:
            team1 = SoccerTeam("Team 1")
            team2 = SoccerTeam("Team 2")
            team1.add(self.strategy1.name, self.strategy1)
            team2.add(self.strategy2.name, self.strategy2)
            self.simu = Simulation(team1, team2, max_steps=self.max_steps)
        self.simu.listeners += self

        if show:
            show_simu(self.simu)
        else:
            self.simu.start()
Exemple #11
0
    def start(self, show=True):
        if not self.simu:
            team1 = SoccerTeam("Chelsea")
            team2 = SoccerTeam("Arsenal")
            team1.add(self.strategy.name, self.strategy)
            #team2.add(Strategy().name, Strategy())
            self.simu = Simulation(team1, team2, max_steps=self.max_steps)
        self.simu.listeners += self

        if show:
            show_simu(self.simu)
        else:
            self.simu.start()
Exemple #12
0
    def start(self, show=True):
        if not self.simu:
            team1 = SoccerTeam("Team Goal")
            team2 = SoccerTeam("Team Shooter")
            team1.add(self.strategy.name, self.strategy)
            team2.add(FSF().name, FSF())
            self.simu = Simulation(team1, team2, max_steps=self.max_steps)
        self.simu.listeners += self

        if show:
            show_simu(self.simu)
        else:
            self.simu.start()
Exemple #13
0
    def start(self, show=True):
        if not self.simu:
            team1 = SoccerTeam("Team Passeurs")
            team2 = SoccerTeam("Team Vide")
            team1.add(self.strategy.name, self.strategy)
            team1.add(PasseTestStrategy().name, PasseTestStrategy())
            team2.add(Strategy().name, Strategy())
            self.simu = Simulation(team1, team2, max_steps=self.max_steps)
        self.simu.listeners += self

        if show:
            show_simu(self.simu)
        else:
            self.simu.start()
Exemple #14
0
    def start(self, show=True):
        if not self.simu:
            team1 = SoccerTeam("Team Fonceur")
            team2 = SoccerTeam("Team Dribbler")
            #team1.add(FonceurChallenge1Strategy().name, FonceurChallenge1Strategy())
            team1.add(FonceurStrategy().name, FonceurStrategy())
            team2.add(self.strategy.name, self.strategy)
            self.simu = Simulation(team1, team2, max_steps=self.max_steps)
        self.simu.listeners += self

        if show:
            show_simu(self.simu)
        else:
            self.simu.start()
Exemple #15
0
def jouer_arbre(dt):
    ####
    # Utilisation de l'arbre
    ###
    dic = dict([(f.__name__, GenStrat(f)) for f in [
        dribble, se_positionner_haut, se_positionner_bas, donothing,
        ralentir_moyen, shoot_but, up, down, left, right
    ]])
    treeStrat1 = DTreeStrategy(dt, dic, my_get_features)
    team3 = SoccerTeam("Arbre Team")
    team3.add("Joueur 1", treeStrat1)
    team3.add("Joueur 2", ElDefenseur())
    simu = Simulation(team2, team3)
    show_simu(simu)
Exemple #16
0
def jouer_arbre(dt):
    ####
    # Utilisation de l'arbre
    ###
    dic = {
        "Ma Strategie d'attaque": MyAttackStrategy(),
        "Strategie Intelligente": IntelligentStrategy(),
        "Ma Strategie de defense": MyDefenseStrategy(),
        "Ma Strategie de dribble": DribblerStrategy()
    }
    treeStrat1 = DTreeStrategy(dt, dic, my_get_features)
    treeStrat2 = DTreeStrategy(dt, dic, my_get_features)
    team3 = SoccerTeam("Arbre Team")
    team3.add("Giroud", treeStrat1)
    team3.add("Pogba", treeStrat2)
    simu = Simulation(team2, team3)
    show_simu(simu)
Exemple #17
0
def entrainer(fname):
    #Creation d'une partie
    kb_strat = KeyboardStrategy()
    kb_strat.add("a", FonceurStrategy())
    kb_strat.add("z", Milieu())
    kb_strat.add("e", Gardien())

    team1 = SoccerTeam(name="Contol Team")
    team2 = SoccerTeam(name="Sparing")
    team1.add("ControlPlayer", kb_strat)
    team2.add("Player", FonceurStrategy())
    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
    dump_jsonz(kb_strat.states, fname)
Exemple #18
0
    def Train(self, show=False):
        self.epochs = nb_epochs
        self.epsilon = epsilon
        self.current_epoch = 0

        self.step_per_epoch = step_per_epoch
        self.max_steps = self.epochs * self.step_per_epoch

        team1 = getteam.get_team(self.nb_player_per_team, 1)
        team2 = getteam.get_team(self.nb_player_per_team, 2)

        self.simu = soc.Simulation(team1, team2, max_steps=self.max_steps)
        self.simu.listeners += self

        if show:
            soc.show_simu(self.simu)
        else:
            self.simu.start()
def entrainer(fname):
    #Creation d'une partie
    kb_strat = KeyboardStrategy()
    kb_strat.add("q", GoToMyGoalStrategy())
    kb_strat.add("z", PushUpStrategy())
    kb_strat.add("p", PassStrategy())
    kb_strat.add("m", ReceivePassStrategy())
    kb_strat.add("d", CutDownAngleStrategy())
    kb_strat.add("s", MarkStrategy())

    team1 = SoccerTeam(name="Contol Team")
    team2 = ia.get_team(2)
    team1.add("ControlPlayer", kb_strat)
    team1.add("     ST", AttaquantStrategy(fn_st="st_dico_TME8.pkl"))
    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
    dump_jsonz(kb_strat.states, fname)
def entrainer(fichier):
    """
	Simule un match dans lequel on doit intervenir pour générer un fichier d'apprentissage.
	Contrôles : a pour Fonceur, d pour Défenseur.
	"""
    #Création des équipes
    kb_strat = KeyboardStrategy()
    kb_strat.add("a", Fonceur())
    kb_strat.add("d", Defenseur())

    team1 = SoccerTeam(name="Moi")
    team2 = SoccerTeam(name="Idiots")
    team1.add("ControlPlayer", kb_strat)
    team2.add("Player", Fonceur())

    #Jouer, afficher et controler la partie
    simu = Simulation(team1, team2)
    show_simu(simu)

    print("Nombre d'exemples : " + str(len(kb_strat.states)))
    # Sauvegarde des états dans un fichier
    dump_jsonz(kb_strat.states, fichier)
from soccersimulator import ChallengeFonceurButeur, SoccerTeam, show_simu
from ia.strategies import FonceurChallenge1Strategy

team = SoccerTeam("ChPerFusion")
team.add("FonceurCh1Joueur", FonceurChallenge1Strategy())

challenge = ChallengeFonceurButeur(team, max_but=20)
show_simu(challenge)
print("temps moyen : ", challenge.stats_score, "\nliste des temps",
      challenge.resultats)
Exemple #22
0
"""
Created on Mon Feb  4 16:51:52 2019

@author: 3700049
"""

#from Strategy_f import SuperState, StrategySolo, StrategyAttaquant, StrategyDefenseur, StrategyDefenseur_duo, RandomStrategy
#from soccersimulator import SoccerTeam
#
#def get_team(nb_players):  +++++
#    team = SoccerTeam(name="Unknown")
#    if nb_players == 1:
#        team.add("StrikeBack",StrategySolo())
#    if nb_players == 2:
#        team.add("Footix", RandomStr++ategy())
#        team.add("Billy", StrategyDefenseur_duo())
#    if nb_players == 3:
#        team.add("Footix", StrategyAttaquant())----
#        team.add( a"Footix", StrategyAttaquant())
#        team.add("Billy", StrategyDefenseur_duo())
#    return team

#if __name__ =='__main__':
from soccersimulator import Simulation, show_simu
from Strategy_f import get_team

team1 = get_team(4)
team2 = get_team(5)
simu = Simulation (team1,team2) 
show_simu(simu)
Exemple #23
0
 def start(self, visu=True):
     """ demarre la visualisation avec ou sans affichage"""
     if visu:
         show_simu(self.simu)
     else:
         self.simu.start()
Exemple #24
0
from salsa import Attaquant, Defense
from soccersimulator import Player, SoccerTeam, Simulation, show_simu

joueura1 = Player("Attaquant A", Attaquant())
joueura2 = Player("Defenseur A", Defense())
team1 = SoccerTeam("Equipe A", [joueura1, joueura2])
# nombre de joueurs de l equipe
joueurb1 = Player("Attaquant B", Attaquant())
joueurb2 = Player("Defenseur B", Defense())
team2 = SoccerTeam("Equipe B", [joueurb1, joueurb2])
# Creer un match entre 2 equipes et de duree 10 pas
match = Simulation(team1, team2, 1000)
# Jouer le match ( sans le visualiser )
match.start()
# Jouer le match en le visualisant
show_simu(match)
# Attention !! une fois le match joue , la fonction start () permet de faire jouer le replay
# mais pas de relancer le match !!!
# Pour regarder le replay d un match
Exemple #25
0
    def __init__(self):
        super(StrategiepourTROIS, self).__init__("fonceur")

    def compute_strategy(self, state, idteam, idplayer):
        ball = state.ball
        me = state.player_state(1, 0)
        oth = state.balls[0]
        shoot = (oth.position - ball.position + 2) * 50
        if (me.position.distance(ball.position) <
            (settings.BALL_RADIUS +
             settings.PLAYER_RADIUS)) and me.vitesse.norm < 0.5:
            return SoccerAction(shoot=shoot)
        acc = ball.position - me.position
        if acc.norm < 5:
            acc.norm = 0.5
        return SoccerAction(acceleration=acc)


myt = SoccerTeam("premierjoueur")
myt.add("M", StrategiepourUN())
#myt = SoccerTeam("premierjoueur")
#myt.add("M",StrategiepourUN())
#myt = SoccerTeam("deuxiemejoueur")
#myt.add("P",StrategiepourDEUX())
#myt = SoccerTeam("troisiemejoueur")
#myt.add("R",StrategiepourTROIS())

b = Billard(myt, type_game=0)

show_simu(b)
Exemple #26
0
#from "notre dossier" import "nos strategies"

import Nasser

if __name__ == '__main__':
    from soccersimulator import Simulation, show_simu
    from moduleH import get_team

    #Test avec 1 et 2 joueurs
    team1 = Nasser.get_team(4)
    team2 = get_team(4)

    # Create a match
    simulation1 = Simulation(team2, team1)

    # Simulate and display the match
    show_simu(simulation1)

    #Deuxieme simulation 2 vs 2
    #team2_2 = get_team(2)

    #Lancement de la simulation
    #simulation2 = Simulation(team2,team2_2)
    #show_simu(simulation2)
Exemple #27
0
import soccersimulator as soc
from module_teo_nicolas.lib.strategies import *

if __name__ == '__main__':

    team1 = soc.SoccerTeam(name=" Pain au chocolat ")
    team1.add("Auto", createStrategy(AutoBehavior()))
    team2 = soc.SoccerTeam(name=" Chocolatine ")
    team2.add("Fonceur", createStrategy(FonceurBehavior()))
    match = soc.Simulation(team1, team2, 2000)
    match.start()
    soc.show_simu(match)
Exemple #28
0
from soccersimulator import SoccerTeam, Simulation, show_simu
from profAI import fonceurStrategy, defenseStrategy, get_team

## Creation d'une equipe
pyteam = get_team(2)
thon = SoccerTeam(name="ThonTeam")
thon.add("PyPlayer", fonceurStrategy())
thon.add("ThonPlayer", defenseStrategy())  #Strategie aleatoire
#Creation d'une partie
simu = Simulation(pyteam,
                  thon)  # simu declaré mais Simulation est un class appelé
#Jouer et afficher la partie
show_simu(simu)  # appelé
Exemple #29
0
from soccersimulator import show_simu, load_jsonz
import sys

try:
    input = raw_input
except NameError:
    pass

if __name__ == "__main__":
    if len(sys.argv) != 2:
        print("Usage : %s file.jz" % sys.argv[0])
        sys.exit(0)
    tournoi = load_jsonz(sys.argv[1])
    key = ''
    while key != 'q':
        tournoi.print_scores(True)
        key = input("Match ? : ")
        try:
            i, j = [int(x) for x in key.split(" ")]
            show_simu(tournoi.get_match(i, j))
        except:
            key = 'q'