Devoir 2 - Jeu de la taupe
Exemple de partie en cours.
Description
L'objectif de ce devoir est de reproduire un jeu de type « Whack-A-Mole » qui se comporte comme dans cette démo montrée en classe.
Projet de départ
Téléchargez ce fichier de medias (assets) pour votre projet. Vous devez partir d'un fichier gabarit vide et y intégrer ces éléments de façon à reproduire le jeu demandé.
medias.zip
Date de remise ( heure limite: 23h59 ):
- Groupe du mardi am: Mardi 31 mars
- Groupe du mercredi am: Mercredi 1er avril Mercredi 8 avril
- Groupe du mercredi pm: Mercredi 1er avril Mercredi 8 avril
Fichiers à remettre:
Vous devez faire la remise de votre travail dans le dossier de remise de devoir de l'équipe Teams de votre groupe. Remettre votre dossier de projet Unity portant votre matricule comme nom et compressé en .zip (exemple: BINB1234567.zip)
Pondération
Ce devoir vaut 20% de la note finale du cours.
Exigences générales
- Votre code sera majoritairement rédigé dans GameManager.cs, mais vous devrez aussi créer un script pour les gameObjects de taupes. Vous pouvez, si vous le désirez, créer d'autres scripts au besoin.
- Quand on clique le bouton, une fonction publique nommée Go() est activée sur GameManager: C'est elle qui déclenche tout.
- Respectez les normes de nomenclature vues en classe.
- Faites bon usage des tableaux, fonctions et boucles pour avoir un code efficace, clair et concis.
- Pour ce devoir, vous devez commenter votre code selon les normes indiquées dans les notes de cours du cours 1.
Comportement du programme:
-
Lors du lancement du jeu, la musique « musique.mp3 » joue en boucle et rien ne bouge. Seuls les trous de taupes sont visibles. Un pointage et un temps de 0 sont affichés.
-
Un bouton « Go » stylisé comme dans l’exemple permet de lancer une nouvelle partie. Lorsqu’on appuie sur le bouton, ce dernier disparaît et les taupes commencent à apparaître. Le bouton émet un bref effet sonore quand il est cliqué et disparaît. La limite de temps de 30 sec s'affiche et le décompte du temps commence.
-
Chaque taupe (6 au total), doit rester cachée sous terre un temps aléatoire de votre choix (par exemple entre 3 et 7 secondes), puis sortir de terre avec une animation. Le temps que la taupe passe à l’extérieur de la terre doit être constant, puis elle retourne sous terre avec l’animation formée des images de sa sortie de terre, en ordre inverse. Le processus recommence sans arrêt tant que la partie est en cours.
-
Lorsque le joueur clique sur une taupe pendant qu’elle est complètement sortie de terre et à l'arrêt, une animation de « taupe assomée » se déclenche et la taupe retourne sous terre. On ajoute 100 points au pointage qui est affiché dans l’interface.
-
Pendant la partie, le nombre de secondes qui reste est indiqué à l’utilisateur (et baisse jusqu’à ce qu’il atteigne zéro). À ce moment, la partie se termine: toutes les taupes retournent sous terre et arrêtent de sortir. Le bouton « Go » réapparait alors pour permettre de jouer à nouveau.
-
Le son « bouton.wav » est joué lorsqu’on appuie sur le bouton « Go ».
-
Le son « frapper.ogg » est joué lorsqu’on frappe une taupe hors de terre
Important!
- Ne modifiez pas les images fournies: vous devez les utiliser telles quelles afin de reproduire le jeu demandé (même aspect et comportement).
- Vous devez utiliser la police ainsi que les sons fournis.
Évaluation (sur 20)
- 2 pts - Le projet est sonorisé tel que demandé
- 1 pt - Aspect de l'interface conforme à la démo
- 1 pt - Bouton "Go" (style et visibilité au bon moment)
- 1 pt - Organisation de la hiérarchie, et du projet en général
- 2 pts - Animation des taupes comme dans la démo
- 2 pts – Interaction avec les taupes (clic seulement dans la bonne phase, délai de sortie de terre, …)
- 2 pts - Déroulement des étapes du jeu
- 2 pts - Calcul et affichage du temps
- 2 pts - Calcul et affichage du pointage
- 1 pt - Respect des règles de nomenclature
- 2 pts - Code bien commenté et bien organisé
- 2 pts - Code concis, clair et efficace
Bonus applicables:
- +0.5 pt - Ajout d'une courte animation "d'étourdissement" (ex: 'étoiles qui tournent") au dessus de la tête d'une taupe quand on clique dessus.
- +0.5 pt - Ajouter un effet visuel au champ de pointage (il s'anime brièvement) à chaque fois qu'on clique sur une taupe et qu'on marque des points.
- +0.5 pt - Intégrer au projet un champ qui indique notre meilleur pointage à date pour cette séance de jeu. Ce champ revient à zéro cependant quand on ferme et redémarre l'application (pas de mémoire "permanente" du meilleur pointage ici).
Remarque: La note maximale pour ce devoir ne peut dépasser 20/20
Pénalités applicables:
- Jusqu'à -30% pour non-respect de plusieurs exigences du devis / projet incomplet
- Jusqu'à -10% pour mauvaise qualité de la langue
- Jusqu'à -10% pour projet non-fonctionnel (impossible à exécuter initialement)