NicolasDEBRAY et Fred RAJAONA, étudiants ingénieurs à l'ECE Paris
Nous avons conçue une application java testée sur un téléphone type androïd.
L'intitulé de notre jeu est : "Tower defense", il s'agit d'un jeu de plateforme, permettant à un utilisateur de construire des tourelles de défense sur un terrain de jeu, afin d'éliminer les ennemis qui arrivent par paquet et qui veulent atteindre la maison du joueur.
Pour cela, le joueur a à sa disposition 4 types différents de tourelles, avec une portée et des dégâts propres à chacune.
Fonctionnement du projet:
La classe GameLayout:
Cette classe permet de redessiner l'interface en fonction de l'état du jeu (écran d'accueil, en jeu, game over). C'est cette classe qui gère aussi la configuration du menu Option (accessible en appuyant sur le bouton Menu).
La classe GameView:
Cette classe est chargée de dessiner les objets. Elle hérite de SurfaceView. Pour dessiner sur une SurfaceView, on utilise un Canvas. Les objets sont dessiner lorsque la SurfaceView appelle la fonction onDraw(). Pour dessiner, il faut donc surcharger cette méthode en y indiquant les objets à dessiner en utilisant canvas.draw().
Il n'est pas possible d'appeler directement la méthode onDraw(). Elle est appelée chaque fois que la méthode postInvalidate() est appelé. Ainsi pour obtenir un rafraichissement continu, il faut utiliser un thread qui va régulièrement appeler postInvalidate().
De plus, cette classe doit pouvoir gérer les événements tactiles. Ainsi il faut gérer l'événement onTouchEvent(). Lorsque un utilisateur touche l'écran dans la zone de la GameView, les événements sont pris en charge dans cette classe.
La classe Terrain:
Cette classe gère lévolution du plateau de jeu. Elle détient une liste des ennemis présents, une liste des tours et une liste des tirs. Grâce à cela, elle peut gérer la « vie » du jeu (collision, gestion de largent, score).
Lien vers le code source: http://www.ece.fr/~rajaona/TowerDefense-ING5-DEBRAY-RAJAONA.zip
Commentaires