Je mets officiellement fin au projet ! (même si des ajustements cosmétiques ne sont pas à exclure). Après une dernière ligne droite plus relevée que prévue, et à l’issue d’une semaine relativement intensive mon jeu est terminé. Voici donc l’écran d’accueil :
…l’écran de jeu, que vous commencez à connaître :p :
…et l’écran d’affichage du score : L’idée était d’arriver à un produit fini, qui fonctionne, il est vrai que la création graphique n’a pas été mon focus principal.
BILAN
Premier constat : jouer avec les librairies tierces, les .dll et autres soucis de compatibilités est finalement bien plus usant que le développement du programme à proprement parler (surtout lorsque c’est la première fois que l’on utilise lesdites librairies, et que le projet est encore relativement modeste et tourne autour de 250 – 300 lignes :p)
PLAN
Du point de vue de l’organisation, j’ai fait les choses simplement. Il y a trois fonctions, une par écran :
- main (écran d’accueil)
- jeu (écran de jeu)
- score (écran d’affichage du score)
Pour illustrer :
Voici un petit plan qui schématise la boucle principale du jeu :
GESTION DES COLLISIONS
La gestion des collisions s’appuie sur la gestion des cas extrêmes, en sachant que les éléments sont définis par la position de leur coin supérieur gauche. Le repère absolu (en pixels) est le coin supérieur gauche de l’écran (w = width et h = height) :
…ce qui se traduit par le code suivant. On rentre dans le bloc si les conditions de collision sont respectées, on attribue de nouvelles coordonnées aléatoires au coeur et on incrémente le compteur (score) :