Défi Web

Imprimer
Pyramidas


1°/ Objectif
 
  • L'objectif du challenge Web du hackathon 2017 est de créer un jeu que l'on appellera "Pyramidas". 
  • Ses principes sont expliqués ci-dessous mais ils ont déjà été utilisés pour des TP/projets en S1 et S3. 
  • Cette fois, il s'agit de le coder le jeu en utilisant les technologies Web.
2°/ Le jeu et ses règles.
  • Pyramidas est un jeu de placement tactique où au moins deux joueurs vont placer des pions de couleur numérotés sur un plateau.
  • Dans sa version classique, le plateau a une forme de pyramide à 6 niveaux composés de cercles tangents.
  • La figure ci-dessous donne un exemple de plateau au début de la partie, donc vide de tout pion.
pyramide-void
Le plateau  classique du Pyramidas

  • Toujours dans sa version classique, 2 joueurs s'affrontent en posant alternativement des pions bleus ou rouges (selon le joueur) numérotés de 1 à 10.
  • Le joueur bleu commence en posant son pion n° 1 sur une des cases libres du plateau,
  • Le joueur rouge fait de même avec son pion n° 1.
  • Le joueur bleu place ensuite sont pion n°2 puis le rouge fait de même.
  • Ainsi de suite jusqu'à ce que les deux joueurs aient placé tous leurs pions.
  • Comme il y a 21 cases sur le plateau, il reste forcément une case libre. La figure ci-dessous donne un exemple de plateau en fin de phase de pose.
pyramide-full
exemple de placement après la pose
  • Pour déterminer le vainqueur, il suffit de faire la somme des jetons bleus et rouges autour de la case libre.
  • Dans l'exemple ci-dessus, la somme des bleus fait 11 et la somme de rouge 13.
  • Le joueur qui a la plus petite somme gagne, dans l'exemple, c'est le bleu.
  • Bien entendu, il peut y avoir un nul.
3°/ Implémentation
  • Il existe seulement deux contraintes que vous devez respecter pour coder le jeu :
    • utiliser les technologies Web,
    • que le jeu se joue via un navigateur Web de type Chrome ou Firefox.
  • Vous pouvez donc le réaliser à votre guise en Javascript sans serveur Web, en PHP/Pyhton/Ruby/... avec un serveur web, avec du NodeJS, etc.
4°/ Notation
  • Ce challenge rapporte au minimum 4 points mais cela peut aller jusqu'à 8. C'est un jury de professeurs qui décidera de votre note.
  • Pour avoir le minimum de 4, votre implémentation doit :
    • être totalement fonctionnelle (donc notamment calculer qui gagne correctement),
    • respecter les règles classiques (2 joueurs sur un plateau de 6 niveaux, 21 cases),
    • présenter un affichage agréable, respectant la forme de pyramide avec des "cases" qui se touchent. Vous n'êtes pas obligé d'utiliser des ronds pour représenter les cases, mais aussi des carrés, hexagones, etc.
  • Pour avoir plus que 4 points, votre implémentation doit comporter des fonctionnalités additionnelles telles que :
    • différentes configurations possibles de pyramides et de nombre de joueurs (par exemple, 5 niveaux à 2 joueurs, 7 niveaux à 3 joueurs, ...)
    • autres formes de plateaux,
    • animations, sons,
    • graphismes recherchés,
    • enregistrement en BdD des joueurs ainsi que leurs victoires/défaites, affichage d'un classement, ...
    • ou toute autre idée qui vous semble intéressante.
Mise à jour le Mardi, 17 Janvier 2017 18:11