Le site du projet se trouve à cette adresse : http://www.lozi.org/gtuxball/
ou http://gtuxball.lozi.org, si les DNS sont à jour. Merci de le visiter, il contient
des informations, et la documentation du projet.
1. Introduction
Voici mon projet de programmation impérative. Je n'ai pas utilisé la programmation Xlib, mais les classes GDK/GTK+, et uniquement ces
classes - c'est pourquoi je n'ai pas mis de son, car ceci nécessitait des librairies gnome par exemple (ce que je ne voulais pas faire,
c'est pour cela que j'ai reprogrammé de zéro les dialogues "About" et "Scores..." au lieu d'utiliser les routines de gnome gnome_about_new ()
et gnome_scores_new () ). J'ai réalisé la totalité du projet en anglais, comme l'année dernie`re, par défi personnel.
J'ai renommé le fichier shape.c en element.c, avant de le modifier, car il ne s'agit plus vraiment de formes, mais d'éléments : la balle,
les blocs, le pad. J'ai également ajouté un nouveau type abstrait, le type Score, qui se trouve dans les fichiers score.c/score.h.
J'ai essayé de respecter le plus possible l'idée des types abstraits, notamment par l'appel du pointeur de fonction draw contenu dans la
structure Element.
Le code du projet est largement commenté. Pour résumer, voici les différents fichiers :
main.c
contient juste un appel à la fonction de graphics qui lance l'event loop.
graphics.c
contient toutes les routines graphiques, concernant GDK/GTK+.
element.c
contient le type abstrait Element.
score.c
contient le type abstrait Score.
globals.c
contient les variables globales du jeu.
error.c
contient la fonction qui traite les erreurs.
2. Compiler / exécuter
J'ai fourni deux Makefile, basés sur celui fourni en TP. Le premier, recommandé, utilise pkg-config, pas le second. Si vous n'avez pas
pkg-config, merci d'utiliser le second (dans lequel j'ai juste remplacé les appels à pkg-config par leur résultat sur mon syste`me).
Avec pkg-config :
$ tar -xvzf gtuxball.tar.gz
$ cd gtuxball
$ make
$ ./gtuxball
Sans pkg-config :
$ tar -xvzf gtuxball.tar.gz
$ cd gtuxball
$ make -f Makefile-alt
$ ./gtuxball
3. Utilisation du jeu
Le jeu est assez intuitif, et simple à utiliser. Il suffit de lancer New Game pour commencer à jouer... Puis d'utiliser la souris pour
que les pingouins portent le pad dans la direction voulue. On peut également utiliser les flèches de droite et de gauche (ce qui est
moins rapide).
3.1 Le menu fichier
Le menu fichier contient 5 éléments :
New game
démarre un nouveau jeu.
Pause game
met le jeu en pause.
Scores...
affiche les meilleurs scores.
End Game
arrête la partie courante.
Quit
sort du jeu.
3.2 Le menu settings
Ce menu contient un seul élément qui permet de choisir le niveau de départ à la prochaine partie.
3.3 Le menu help
Ce menu contient un seul élément, About
, qui permet d'afficher la boîte de dialogue A propos...
.
4. Conclusion
J'ai passé beaucoup de temps sur ce projet, merci, si vous rencontrez un quelconque problème, de me contacter à l'adresse
suivante :
webmaster@lozi.org.