Vous êtes sur la page 1sur 10

1.

Bataille Navale
Objectif: Il s'agit de réaliser un jeu de bataille navale en tour par tour et sans inscription au site.
Code à donner pour la sélection : batailleNavale

Déroulement
Le jeu doit fonctionner sans phase d'inscription. Pour identifier les joueurs, le serveur génèrera
des urls avec un paramêtre GET généré aléatoirement.
Le jeu fonctionne comme un jeu de bataille navale classique. Les joueurs placeront eux même
leurs bateaux puis quand ce sera à un joueur de jouer, il choisira où tirer et obtiendra le résultat
de son essai (à l'eau ou sur un bateau ennemi). Le jeu se terminera quand un joueur aura perdu
tout ses bateaux.
Dans le détail:

• un visiteur va sur le site et débute une partie


• il place ses bateaux et valide le placement
• le serveur génère alors 2 URLs. La première est pour le joueur qui a initié la partie
(joueur 1), la seconde pour son adversaire (joueur 2)
• le joueur 1 communique l'URL au joueur 2
• le joueur 2 va à l'URL, génère son placement. Une fois le placement décidé, il ne peut
plus rien faire et doit attendre le mouvement du joueur 1
• le joueur 1 tire un coup et voit le résultat. Il est alors bloqué tant que le joueur 2 n'a pas
joué
• en retournant à son URL privé, le joueur 2 peut maintenant jouer son coup.
• etc.

Difficultées
• Algorithmique: 2/5
• PHP: 3/5
• Javascript: 1/5
• Persistance: 2/5
2. Démineurs et des mateurs
Objectif: Il s'agit de réaliser un jeu de démineur embarquant un mode spectateur.
Code à donner pour la sélection : demineur

Déroulement
Le jeu doit fonctionner sans phase d'inscription. Pour identifier les joueurs, le serveur génèrera
des urls avec un paramêtre GET généré aléatoirement.
Le jeu reprends le principe du démineur. On choisit une taille de grille et un niveau de difficulté
(un nombre de mines). Le joueur doit alors trouver toutes les mines sans jamais creuser sur une
mine. Le jeu se terminera lorsque le joueur aura indiquer sans erreur le placement de toutes les
mines, ou aura creusé sur une mine.
La où le jeu se différencie des autres démineur, c'est que le serveur enregistre toutes les actions
réalisées par le joueur et qu'il permet de les rejouer. Cela permet par exemple à des spectateurs
de vérifier comment le joueur a procédé.
Dans le détail:

• un visiteur va sur le site et débute une partie en choisissant la difficulté.


• le serveur génère alors 2 URLs. La première est pour le joueur qui a initié la partie, la
seconde permettra d'avoir le mode spectateur
• à chaque fois que le joueur réalise une action (indiquer une mine ou creuser), le serveur
indique le résultat et enregistre l'action.
• si quelqu'un va sur l'URL du mode spectateur, le système affiche la grille de démineur
et des boutons (lecture, pause, ...) permettant de lire les actions qui ont été enregistrées.

Difficultées
• Algorithmique: 1/5
• PHP: 3/5
• Javascript: 3/5
• Persistance: 2/5
3. Anagrammes
Objectif: Il s'agit de réaliser un jeu de rapidité ou il faut trouver un maximum d'anagramme
dans un temps impartit
Code à donner pour la sélection : anagramme

Déroulement
Lorsqu'un joueur lance une partie sur le serveur, le serveur choisit 8 lettres aléatoirement. Le
joueur a alors 60 secondes pour trouver un maximum d'anagrammes utilisant ces lettres. À
chaque fois que le joueur pense trouver un mot, le serveur doit le valider d'après un dictionnaire
qu'il embarque. La partie se termine lorsque le joueur n'a plus de temps. Le serveur met alors à
disposition un classement des joueurs avec la possibilité de partager le résultat sur facebook et
twitter.
L'objectif est de fournir un jeu rapide et réactif. Typiquement, à chaque fois que le joueur trouve
un mot, son compteur de temps restant doit être augmenté. Ensuite, il doit être possible de
demander un nouveau tirage de lettres.

Difficultées
• Algorithmique: 1/5
• PHP: 2/5
• Javascript: 3/5
• Persistance: 2/5
4. eSwap
Objectifs : eSwap est un site d'échange et de troc. Il permet à un internaute de proposer des
objets à échanger contre d'autres objets. L'utilisateur d'eSwap doit créer un compte sur le site
pour proposer des objets à échanger. Sans authentification, il est seulement possible de
parcourir les différents objets proposés à l'échange.
Code à donner pour la sélection : eSwap

Fonctionnalités attendues
• un utilisateur non authentifié doit pouvoir consulter les offres de troc
o par catégories (jeux, vêtements, divers, etc.)
o par date (des plus récentes au plus anciennes)
• une fois son compte créé, un utilisateur peut s'authentifier et il peut
o renseigner son profil (pseudo, région/ville de résidence, numéro de portable)
o proposer des objets à troquer
o répondre à des offres de troc
• une proposition de troc se présente comme une offre du type Echangerai A contre X, Y
ou Z
• pour chaque objet A proposé au troc, on crée une fiche de description avec
o du texte décrivant l'objet (état, âge, etc.)
o des photos montrant l'objet sous différents angles

Fonctionnalités supplémentaires
• la consultation des offres de troc peut être affinée
• le contact entre les utilisateurs est effectué par mail (qui est aussi le login) mais les
adresses mails restent privées et c'est le site (PHP) qui envoie les messages

Difficultés
• Algorithmique: 1/5
• PHP : 2/3
• JavaScript : 3/3
• persistance : 3/3
5. FlashCard
Objectifs : Un test de flashcard (cartes mémoire en français) est un outil d'apprentissage basé
sur la technique de la répétition espacée. Une carte mémoire est une fiche cartonnée avec une
question sur sa face et la réponse sur le verso. L'exercice d'apprentissage consiste à tirer les
questions une à une et à les redistribuer en fonction de la qualité que l'apprenant attribue à sa
réponse.
Code à donner pour la sélection : FlashCard

Fonctionnement
On place les nouvelles cartes à apprendre dans le premier compartiment d'une boîte en
comprenant plusieurs. On prend une carte dans le compartiment étudié, et on essaye de trouver
la réponse, puis on regarde la correction au verso. Si on a répondu juste, la carte est placée dans
le compartiment suivant, sinon, elle est remise dans le premier compartiment. Les cartes dans
le premier compartiment seront vues tous les jours; les cartes dans le deuxième, tous les deux
jours, les cartes dans le troisième tous les quatre jours et ainsi de suite… Ainsi, plus on arrive
facilement à trouver la réponse à une question, moins celle-ci est posée fréquemment, selon la
méthode de la répétition espacée.

Réalisation
L'application propose des flashcards sur des thèmes donnés (vocabulaire anglais, calcul mental,
géographie, etc.). Un utilisateur doit obligatoirement créer un compte et s'authentifier. Il dispose
d'une ou plusieurs boîtes de flashcards chacune sur un sujet donné.Il peut effectuer un test en
visualisant toutes les cartes du compartiment d'une boite donnée, et en les déplaçant
éventuellement dans le compartiment adéquat. L'application peut gérer la fréquence de
visualisation des différents compartiments mais pas sur une base journalière qui serait difficile
et long à tester : on peut décider que les cartes du premier compartiment seront vues à chaque
test, les cartes dans le deuxième, tous les deux tests, les cartes dans le troisième tous les quatre
tests et ainsi de suite…

Difficultés
• Algorithmique: 1/3
• PHP : 3/3
• JavaScript : 1/3
• persistance : 3/3
6. Puissance4
Objectifs : réaliser un jeu de Puissance 4, joueur contre ordinateur et/ou joueur contre joueur.
Code à donner pour la sélection : Puissance4

Joueur contre ordinateur


Le joueur lance une partie et le serveur génère une grille de jeu. Le joueur et le serveur jouent
alors alternativement jusqu'à ce que l'un des deux gagne ou bien s'ils font match nul. Après que
le joueur ait joué, le serveur le bloque, puis joue à son tour.

Joueur contre joueur


Le premier joueur lance une partie et le serveur génère une grille de jeu. Le serveur génère
ensuite 2 URLs contenant chacune un identifiant unique permettant d'identifier un joueur.
En utilisant leur URL, chaque joueur peut alors accéder à la partie en cours et voit la grille de
jeu à l'écran. Le joueur dont c'est le tour joue et le serveur mets à jour la grille de jeu pour les
deux joueurs. Le serveur bloque ensuite ce joueur jusqu'à ce que l'autre joueur ai joué à son
tour. La partie s'arrête lorsqu'un joueur a gagné ou bien si les joueurs ont fait match nul.

Difficultés
• Algorithmique : 3/3
• PHP : 2/3
• JavaScript : 2/3
• persistance : 2/3
7. QuizzMe
Objectifs : cette application permet d'effectuer des QCM en lignes sur des sujets divers et variés.
Un utilisateur peut tester ses connaissances en faisant des QCMs mais il peut également
alimenter la base de données de questions avec de nouvelles questions.
Code à donner pour la sélection : QuizzMe

Principe
On peut utiliser l'application sans authentification. Dans ce cas, l'utilisateur peut faire un QCM
et obtenir son score, mais il ne peut stocker aucune information sur le serveur.
Un utilisateur peut créer un compte sur le site. Après authentification, il peut effectuer des
QCMs et conserver ses scores, puis les afficher à tout moment. Un utilisateur authentifié peut
également ajouter des questions à la base de questions.
Les QCMs sont générés aléatoirement à partir d'un ou plusieurs fichiers de questions. Chaque
question est constituée de la question proprement dite, des réponses possibles, et de toutes les
(meta)informations nécessaires à sa manipulation : indication de la bonne réponse, domaine,
niveau de difficulté, etc.

Difficultés
• Algorithmique : 1/3
• PHP : 2/3
• JavaScript : 2/3
• persistance : 3/3
8. Jeu de Dame
Objectifs : Partie de dame. Chaque joueur peut créer un compte pour sauvegarder ses victoires
et ses scores (nombre de pièces restantes en cas de victoire). Il peut aussi personnaliser ses pions
avec une banque d'icones présente sur le serveur. Sans compte, on peut quand même jouer mais
le score ne sera pas enregistré.
Code à donner pour la sélection : dames

Fonctionnalités attendues
• Génération de la grille
• placement des pions
• Enregistrement des scores et des victoires pour chacun des comptes
• Sauvegarde d'une partie en cours
• Personnalisation des pions
• Compte pour le joueur

Difficultés
• php: 2
• javascript: 2
• persistance: 3
• UI: 2
9. Snake
Objectifs : Faire un snake. On peut aussi jouer en mode 2 joueurs: chaque joueur à un serpent
qu'il contrôle. Si un des serpents rencontre l'autre, le joueur correspondant perd.
Maître d'ouvrage : Émilien Cornillon
Code à donner pour la sélection : snake

Fonctionnalités attendues
• Déplacement avec des touches (ZQSD pour le premier joueur et flèches directionelles
pour le second)
• Apparition de points sur l'écran
• Affichage du score du joueur
• mode 2 joueurs
• Mémorisation du TOP 10 des meilleurs scores (nom + score + date)

Difficultés
• php: 1
• javascript: 3
• persistance: 1
• UI: 2
10. Labyrinthe
Objectif: L'objectif est de réaliser un jeu de labyrinthe. Le joueur doit mettre le moins de temps
possible pour sortir.
Code à donner pour la sélection : labyrinthe

Déroulement
Le joueur se dirige dans le labyrinthe en utilisant les flêches directionnelles. Il peut ramasser
des objets sur le chemin qui serviront à détruire les obstacles. Il doit mettre le moins de temps
possible pour sortir du labyrinthe. Les meilleurs temps par carte sont sauvegarder sur le serveur.
Les joueurs peuvent uploader de nouvelles cartes.

Difficultées
• PHP: 1
• Javascript: 2
• Persistance: 2
• UI: 2

Vous aimerez peut-être aussi