speedy's image Licence 2ème année - Projet OcamlPilot
Last update: 25-11-2023
1.Nouvelles fraîches 
2.Présentation générale
3.Présentation du jeu
4.Les exécutables d'OcamlPilot(d)
5.Les énoncés de TP
6.Les tailles des objets graphiques
7.Ressources
8.Env de développement
9.Le protocole d'OcamlPilot
10.Coding style
11.Le Plan du cours
12.Evaluation des projets
13.Foire Aux Questions

Valid XHTML 1.0! Valid CSS!
TME numéro 5



Exercice 1

Ouvrez une fenêtre graphique. Écrivez une fonction recupere_action_joueur : unit -> unit qui inspecte si l'utilisateur a appuyé sur une touche dans la fenêtre graphique et, le cas échéant, affiche cette touche dans le toplevel (indication : utilisez les fonctions key_pressed et read_key du module Graphics).



Exercice 2

Reprenez ce que vous aviez écrit dans votre TME précédent et modifiez la fonction précédente de manière à ce qu'elle transmette au serveur la commande correspondant à la touche appuyée par l'utilisateur. La fonction devrait donc maintenant avoir le type : recupere_action_joueur : in_channel -> out_channel -> unit. Remplacez l'appel que vous faisiez antérieurement à la fonction aide_recupere_action_joueur par un appel à recupere_action_joueur.



Exercice 3

Écrivez une fonction :
initialise_partie : couleur -> in_channel -> out_channel -> unit qui envoie au serveur la couleur de votre vaisseau (via un PUT COULEUR VAISSEAU) et qui affiche ce que le serveur vous a renvoyé. Pour tester votre fonction, vous ne devez pas utiliser aide_connexion_serveur pour vous connecter au serveur car cette fonction se charge elle-même d'envoyer le « PUT COULEUR VAISSEAU » au serveur. Vous pouvez utiliser à la place la fonction du module Aide_client :
aide_connexion : string -> string -> in_channel * out_channel
qui établit juste la connexion avec le serveur et vous renvoie les canaux de communication correspondants. La couleur que vous devez passer en argument à votre fonction « initialise_partie » pourra être demandée à l'utilisateur en utilisant la fonction « get_couleur » que vous aviez programmée au TME précédent.



Exercice 4

Modifiez la fonction précédente de manière à demander en plus au serveur les tailles du plateau, des balles, des vaisseaux, des cubes ainsi que le nombre de points de vie par défaut des vaisseaux, et affichez le tout dans la fenêtre « caml-toplevel » de xemacs.



Exercice 5

Créez des variables globales en début de votre programme pour conserver les infos obtenues du serveur dans l'exercice précédent et modifiez la fonction initialise_partie de manière à ce qu'elle change les valeurs de ces variables (utilisez des ref).



Licence 2ème année - Projet OcamlPilot