Projet Développement Web Avancé - 2016/17

Ce projet a pour but d'implémenter un jeu de dé, "le Cul de Chouette", basé sur la série Kaamelott.

Règles du jeu

Principe général

Le Cul de Chouette se joue avec 3 dés à 6 faces et un maximum de 6 joueurs. Le joueur gagnant est celui qui atteint ou dépasse le premier le score de 343. Chaque joueur joue à tour de rôle et marque des points en fonction des combinaisons de son lancer de 3 dés. Certaines combinaisons impliquent une interaction entre les joueurs qui déterminera les points gagnés ou perdus.

Un joueur lance une partie en invitant un ou plusieurs autres joueurs et en précisant l'ordre de jeu de chacun. C'est le joueur qui a lancé la partie qui commence à jouer.

Combinaisons

Les dés se lancent en 2 fois : d'abord 2 dés puis le troisième. Le jet des 2 premiers dés est appelé la chouette et le troisième dé est appelé le cul.

Les combinaisons sans interaction :

Les combinaisons avec interaction :

Fonctionnalités et interfaces

Gestion des comptes joueur

Chaque joueur peut se créer un compte en précisant ses informations personnelles : pseudo, mot de passe, age, sexe et ville. A l'exception du pseudo, les autres champs peuvent être modifiés.

Interface de jeu

Chaque joueur se connecte avec son pseudo et mot de passe. La page affiche la liste des joueurs actuellement connectés avec un rafraichissement régulier.

Un joueur lance une partie en sélectionnant un ou plusieurs joueurs dans la liste. S'il y en a plusieurs, il doit être possible de préciser l'ordre des joueurs. Pour raccourcir les parties, il pourra aussi changer la valeur de 343 de fin de partie.

Chaque joueur sélectionné reçoit une invitation et l'accepte ou la refuse. Une fois que tout le monde a répondu, le jeu démarre.

Quand c'est à son tour de jouer, un joueur lance les dés en deux fois et marque des points comme précisé dans les règles.

Quand ce n'est pas le tour d'un joueur, celui-ci voit sur sa page ce qu'il se passe chez celui qui joue.

Les combinaisons avec interaction sont gérées par des boutons permettant d'envoyer le bon message.

A chaque tour, tout le monde est informé de qui a marqué combien de points et les scores de chaque joueur sont visibles.

Statistiques

Un ensemble d'informations devront être disponibles :

Contraintes techniques

Partie données

Toutes les données sur les joueurs et les parties seront stockées dans une base de données relationnelle dont l'accès se fera via le framework JPA. La couche d'accès aux données doit être totalement découplée des couches métier et de génération/gestion des pages Web.

Partie Web

La partie Web prendra en charge la génération des interfaces du jeu. Les langages utilisés pour les pages Web seront HTML5 et CSS3.

Pour les interactions, les technologies utilisées seront celles vues en cours : JSP, Javascript, AJAX... L'utilisation de frameworks n'est pas obligatoire mais pas interdite non plus.

Il faut que les joueurs puissent créer leurs comptes se connecter à l'interface, créer, rejoindre et quitter des parties, il faut aussi gérer les notifications à tous les joueurs tout au long du déroulement des parties.

Rendu du travail

TODO