Le bureau d'études de IN102 porte sur la réalisation d'un jeu en langage C en utilisant la bibliothèque graphique SDL. Cette année, le jeu retenu comme modèle est Zuma. Le but de ce bureau d'études est de réaliser notre propre Zuma en respectant des spécificités imposées mais aussi en y apportant si possible des compléments.
En ce qui nous concerne, nous avons découvert l'existence de Zuma en même temps que le sujet du bureau d'études nous a été remis. Comme nous n'y avions jamais joué auparavant, la première chose que nous avons faite a donc été naturellement d'aller y jouer sur internet afin de nous faire une idée de ce que nous devions réaliser.
[...] Pour cela, on considère la boule précédent la boule du cortège où a lieu l'impact. Si la boule tirée est à une distance supérieure à deux fois 32 pixels de cette boule, alors elle s'insère devant la boule qu'elle impacte. Sinon, elle s'insère derrière Destruction de boules Pour réaliser la destruction de boules, on utilise une fonction qui ne détruit qu'une boule. On commence par expliquer le principe de cette fonction, avant de présenter l'algorithme utilisé pour détruire les boules de même couleur. [...]
[...] Cette année, le jeu retenu comme modèle est Zuma. Le but de ce BE est de réaliser notre propre Zuma en respectant des spécificités imposées mais aussi en y apportant si possible des compléments Qu'est-ce que Zuma ? En ce qui nous concerne, nous avons découvert l'existence de Zuma en même temps que le sujet du BE nous a été remis. Comme nous n'y avions jamais joué auparavant, la première chose que nous avons faite a donc été naturellement d'aller y jouer sur internet afin de nous faire une idée de ce que nous devions réaliser. [...]
[...] La subdivision que nous avons adopté est la suivante : 1. créer un cortège de boules 2. le déplacer selon un chemin prédéfini 3. tirer une boule 4. insérer la boule tirée dans le cortège à l'endroit ou l'impact a lieu 5. détruire les boules quand il le faut 6. gérer tout ce qu'il y a autour du jeu (menu, meilleurs scores ) Ce travail de découpage s'est accompagné d'une réflexion sur les fonctions que nous devions développer : les arguments en entrée, le type de retour, les sorties, le pseudo-code ainsi que la création des différents types nécessaires. [...]
[...] Lorsque plusieurs boules consécutives ont la même couleur, elles disparaissent. La partie est gagnée lorsqu'il n'y a plus de boules dans le cortège Cahier des charges Le plateau de jeu Le plateau de jeu doit avoir une taille fixe de 800 par 600 pixels. Le choix du fond est libre. Sur les différents Zuma auxquels nous avons joué, nous avons remarqué que l'idée de temple revenait souvent. C'est pourquoi nous avons choisi comme fond du plateau de jeu une image représentant des pyramides mayas. [...]
[...] Il fait appel aux fonctions qui ont été écrites dans les 2 autres fichiers et que nous avons développées pour l'occasion. Les boucles infinies correspondant à chaque phase du jeu (saisie du pseudo, menu, page des meilleurs scores et jeu) ainsi que la gestion de l'affichage graphique et des évènements (l'utilisation de la SDL) sont faits dans le main. Un header (zuma.h), dans lequel nous déclarons les structures que nous utilisons ainsi que les différentes fonctions. Un fichier source (zuma.c), dans lequel nous définissons toutes les fonctions déclarées dans le fichier zuma.h Ce découpage en trois fichiers nous permet de faire une compilation séparée : on conserve ainsi ce qui a été déjà compilé et on recompile ainsi que ce qui a été modifié. [...]
Source aux normes APA
Pour votre bibliographieLecture en ligne
avec notre liseuse dédiée !Contenu vérifié
par notre comité de lecture