Labyrinthe IA - Apprentissage

Sur cette page tu trouveras comment :

Créer les différents modes de jeux

Création des arrières plans

Pour pouvoir entraîner l’IA à jouer au labyrinthe, nous allons mettre en place différents modes de jeux:
  • Le mode jeu libre : où l’on peut jouer tout simplement sans IA
  • Le mode entrainement : où l’on va jouer pour collecter des données et entraîner l’IA
  • Le mode jeu auto : où l’IA une fois entraînée joue toute seule

Pour chacun des ces modes, on va créer un arrière plan différent et selon l’arrière plan affiché, on lancera le mode en question.

 

 Code des différents modes de jeux

En fonction du mode de jeu choisit,  les mouvements du personnage seront différents.

On va donc créer différentes fonction de mouvement du personnage pour chacun de ces modes. On verra par la suite comment les coder, pour l’instant on va s’intéresser sur le choix.

Pour cela on va juste utiliser des conditions sur l’arrière plan pour choisir le code à lancer.

Créer un capteur de distance

Un capteur de distance est un petit sprite qui part du personnage et va s’éloigner petit à petit jusqu’à ce qu’il rencontre un obstacle de notre choix.

Une fois qu’il rencontre l’obstacle, on récupère la distance entre ce sprite et le joueur pour savoir à quelle distance est l’obstacle.

En en mettant plusieurs on créé ainsi une sorte de sonar pour détecter les obstacles dans différentes directions.

Voici comment on le code.

  1.  On place le capteur au niveau du joueur.
  2. On fixe la direction dans laquelle il va partir
  3. Tant qu’il n’as pas atteint sa destination, il avance
  4. Une fois la destination atteinte on récupère cette valeur dans une variable, pour la récupérer facilement.

Attention quand on créer le bloc mesurer, il faut cocher la case exécuter sans rafraichissement d’écran pour que le capteur arrive directement à destination en une seule étape.

Pour bien détecter dans toutes les directions on peut mettre à minima 3 capteurs (en face, à gauche, à droite) mais on peut rajouter des positions intermédiaire pour avoir les diagonales voir encore plus de valeurs.

Récupération des données

Pour l’entrainement de la voiture on va tout simplement reprendre les mouvements de base de la voiture et ajouter l’enregistrement des données à chaque fois qu’une touche est pressée.

De plus avant chaque déplacement, on va effectuer une mesure avec les capteurs. Il faut donc envoyer le message mesure.

Voici un aperçu du code

Déplacament automatique de la voiture

Pour le déplacement automatique on va utiliser la méthode suivante :

    • on mesure la distance sur tous les capteurs
    • on demande à l’IA de prédire le meilleur mouvement à faire
    • on sait le mouvement choisit par l’IA

Voici à quoi ressemble le code

Pour le timer nous allons faire ça coté arrière plan. On va compter le nombre de tour de boucle de jeux qui ont eu lieu. A chaque tour on ajoute un !

Retour en haut