Ne fonctionne pas avec Java ≥ 17 ! Utiliser 16 ou inférieur
(de toute façon, pour QGL vous êtes censés utiliser Java 11)
- Télécharger depuis ce lien soyouz.tooling.jar et games.zip
- Ajouter le .jar en référence dans IntelliJ :
- Dans le Application.java du projet tooling, modifier la méthode main pour obtenir ceci :
public static void main(String[] args)
{
fr.unice.polytech.si3.qgl.soyouz.tooling.Application.runSimulator(fr.unice.polytech.si3.qgl.teamid.Cockpit.class); // <-----------
}
(Remplacez teamid
par votre nom d'équipe)
- Extraire le zip de sorte à avoir le dossier games à la racine du projet
- Mettre quelque chose dans votre Cockpit, par exemple voici une fonction qui valide la Week 1 :
public String nextRound(String round) {
System.out.println("Next round input: " + round);
return " [{"
+ " \"sailorId\": 0,"
+ " \"type\": \"OAR\""
+ " },"
+ " {"
+ " \"sailorId\": 1,"
+ " \"type\": \"OAR\""
+ " }]";
}
(ce code demande simplement aux deux marins de ramer tout droit)
- Lancer le main via IntelliJ. Vous devriez pouvoir lancer la simulation (sur le fichier Week1.json) et le bateau devrait avancer.
Utilisation du simulateur
En lançant le simulateur, la fenêtre ressemble à ça :
La flèche noire est votre bateau. Le cercle noir correspond à votre "champ de vision", qui devient important plus tard dans le projet quand il y aura des obstacles, car ne vous seront fournis à chaque tour que les obstacles dans votre champ de vision. En rouge et numérotés, les objectifs.
En haut à gauche, le pont du bateau. Les cercles colorés numérotés représentent les marins.
Dans l'ordre :
- Next = faire une étape de simulation
- Play = lancer la simulation jusqu'à ce que le bateau atteigne l'objectif final
- Reset = redémarrer la simuation
- Reset & shuffle = redémarrer la situation en plaçant les marins au hasard dans le bateau
- Clear path = inutile
- Benchmark = inutile pour vous
- Center view = centre la vue (2D) sur la scène
- Vue 3D = vue 3D, inutile
- Show graph = inutile
- Show nodes = inutile
- Debug collisions = inutile
- Slow/Medium/Fast = vitesse de simulation
- games\*.json = choix de la carte
Pensez à regarder la sortie console à la recherche d'erreurs !