Outils d'utilisateurs

Outils du Site


informatique:simu:explication-code

Explication rapide du code (les différents fichiers)

Package « engine » :

  • engine.py : permet de coupler le moteur physique et le moteur graphique
  • engineobject.py : permet de créer les différents éléments de base (poly, cercle, etc)
  • motorgraphic.py : moteur graphique basé sur PyGame
  • motorphysic.py : moteur physique basé sur PyMunk

Ce sont les extensions PyGame et PyMunk qui s’occupent de la gestion de la partie graphique et de la partie physique, nous nous contentons de les utiliser avec les bons paramètres (aucune gestion n’est faite).

Package « objects » :

Liste l’ensemble des objets de la table de jeu. Un objet physique correspond à 1 classe (et donc à 1 objet virtuel). Chaque classe permet d’initialiser l’objet (taille, forme, couleur, physique, liens d’interactions) et possède un ensemble de méthodes qui permettent d’interagir avec l’objet.

Exemple : Le robot (classe mère robot et classes filles pour le gros et le petit de chaque équipe) possède une méthode « récupérerFeu » qui s’active lorsque le robot touche un feu. L’objet feu possède une méthode « capturé » qui s’active quand le robot le touche : la couleur du feu passe de noir à rouge, ce qui indique que le robot a récupéré un feu (et un des états du robot permet de stocker l’information comme quoi le feu a bien été récupéré).

Les objects sont le cœur du simulateur : c’est eux qui vont déterminer le comportement à adopter dans telle ou telle situation et renvoyer à l’IA les bonnes indications pour simuler ce qui se serait passé lors d’un match réel.

Dossier racine :

  • define.py : liste de define pour tout un tas de paramètres, dont les raccourcis claviers, les types de collisions ou encore des données relatives aux distances.
  • hokyo.py : permet de simuler l’hokyo (pour avoir la position de l’ennemi, très utile pour tester le système d’évitement)
  • maploader.py : permet de charger le fond de carte (en dehors des moteurs graphiques et physiques, la fenêtre affiche en fond le map en 2d : ceci permet de se repérer efficacement)
  • match.py : j’imagine que ça sert à simuler le match (non touché l’an dernier)
  • simubot.py : pas utilisé (c’était pour le client irc, à faire un autre truc pour le nouveau client de cette année)

Code en détail

informatique/simu/explication-code.txt · Dernière modification: 2013/11/28 19:29 par qchateau