Créez un jeu de plateau tour par tour en JS

Session du 6 Mars 2019

Mentor de Soutenance : Antoine de Conto

Commentaires

Avis Global

Très bon travail de la part d’Emeric, ça se voit que du temps a été investi dans ce projet et aussi beaucoup de plaisir.
Le projet est de très bonne qualité et l’ajout de fonctionnalité est un réel plus !
Félicitations pour cet excellent travail !

Observations sur les livrables

Toutes les fonctionnalités attendues sont présentes dans le projet dans le respect de la POO
Le code est complet et soigné. De nombreuses fonctionnalités ont été rajoutées ! Bravo !

Remarques sur la présentation orale et les échanges

Très bonne présentation de la part d’Emeric, d’une durée de 27mn.

Points positifs

L’ajout de fonctionnalité :

  • le Pathfinding
  • les sauvegardes des parties
  • le paramétrage du board ( nombre de joueurs, cellules, obstacles) !!

Axes d’amélioration et/ou suggestions

Enlever le CSS du fichier HTML.
Faire des optimisations pour éviter la duplication de code.

Énoncé

Vous avez jusqu’ici développé des petites applications JavaScript. Il faut maintenant vous lancer dans la création d’un projet plus complet, plus solide… bref plus costaud. ;)

Ce projet consistera à créer un jeu en ligne en JavaScript dans lequel 2 joueurs évoluent chacun leur tour pour s’affronter. Comme dans Highlander, il ne peut en rester qu’un !

Etape 1 : génération de la carte

Commencez par générer aléatoirement la carte du jeu. Chaque case peut être soit :

  • Vide
  • Inaccessible (grisée)

Sur la carte, un nombre limité d’armes (4 maximum) sera placé aléatoirement et pourra être récolté par les joueurs qui passeraient dessus.

Vous inventerez au moins 4 types d’arme dans le jeu, avec des dégâts différents. L’arme par défaut qui équipe les joueurs doit infliger 10 points de dégâts. Chaque arme a un nom et un visuel associé.

Le placement des deux joueurs est lui aussi aléatoire sur la carte au chargement de la partie. Ils ne doivent pas se toucher (ils ne peuvent pas être côte à côte).

Etape 2 : les mouvements

A chaque tour, un joueur peut se déplacer d’une à trois cases (horizontalement ou verticalement) avant de terminer son tour. Il ne peut évidemment pas passer à travers un obstacle.

Si un joueur passe sur une case contenant une arme, il laisse son arme actuelle sur place et la remplace par la nouvelle.

Etape 3 : le combat !

Si les joueurs se croisent sur des cases adjacentes (horizontalement ou verticalement), un combat à mort s’engage.

Lors d’un combat, le fonctionnement du jeu est le suivant :

  • Chacun attaque à son tour
  • Les dégâts infligés dépendent de l’arme possédée par le joueur
  • Le joueur peut choisir d’attaquer ou de se défendre contre le prochain coup
  • Lorsque le joueur se défend, il encaisse 50% de dégâts en moins qu’en temps normal
  • Dès que les points de vie d’un joueur (initialement à 100) tombent à 0 , celui-ci a perdu. Un message s’affiche et la partie est terminée.

Compétences évaluées

  • Concevoir une architecture d’application JavaScript réutilisable
  • Développer une application JavaScript orientée objet
  • Mettre en oeuvre la bibliothèque jQuery dans une application web
Partager
Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.

9 + 16 =

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.