Skip to content

NakoGH/AmongUsCode

Repository files navigation

Projet web elc-d3 AmongUS_code

Ce projet a ete realise par BELAHCENE Rayan et BELGHITI Nabil. Nous avons divise le travail comme suit : BELGHITI Nabil : logique du jeu, regles et une partie du front BELAHCENE Rayan : backend et frontend et architecture de l'app

Principe du jeu :

Un ensemble de quetes de code est allouee aux joueurs et un imposteur parmi tous ces joueurs est designee pour venir saboter leur code et faire en sorte qu'il ne soit pas fonctionnel. Le but du groupe est de determinee qui est l'imposteur.

Regles du jeu :

Definition d'un temps max de partie en fonction de la difficulte des quetes : par exemple 10min

Un joueur est designe comme imposteur par le vote de l'ensemble des membres du groupe : une fois que la partie est lancee, un chrono tourne et tous les joueurs doivent selectionner un joueur comme imposteur

Fin de partie lorsque : temps ecoule ou toutes les quetes ont ete faites

Quetes : Tout le code des joueurs sera realise en python. Une quete designe une fonction (ou methode) que devra coder un des joueurs. Le fonctionnalite de la fonction ainsi qu'un ensemble de parametre, avec leur type, leur seront fournis avant de lancer le jeu. Une fois que toutes les personnes ont compris les fonctions, ils indiqueront cela. Une fois que tout le monde a compris les regles. La partie est lancee.

Une fois que le chrono est termine : l'ensemble des quetes terminees sont testees sur un serveur. La liste des joueurs avec le plus de vote est donnee a la fin de maniere decroissante. Si la personne qui a recoltee le plus de vote est en premier sur la liste alors elle a perdu, et les autres membres ont reussi leur mission ! Sinon, si le nb de quetes echouees (reellement) est superieur ou egal a 1 alors l'imposteur a gagne.

Possibilite de buzz : si une personne constate une manipulation suspecte d'une autre personne sur le code, alors elle peut le signaler aux autres et un vote de 30s - 1min pour debattre (en partant du principe que les personnes peuvent communiquer entre elles).

Attribution des roles : La personne chargee de saboter le code est designe par imposteur. Les personnes chargees de realiser les quetes sont les resistants. L'imposteur et les resistants sont affectes aleatoirement. On affecte les taches aleatoirement aux resistants. Personne ne peut pas connaitre le role ni les taches des joueurs. On attribue aleatoirement une couleur a chaque joueur (pour pouvoir le reconnaitre sur l'editeur de texte).

A faire si bien avance : creation de compte avec pseudo, nb d'impsoteur trouvee, nb de victoire

Stack technique : backend Node/express, frontend Vite/React

Visuel de l'application :

Visuel de l'application

Limites connues et pistes d'ameliorations : Ajouter une base de donnée (pour stocker plus proprement les quêtes et stats sur les utilisateurs comme le nombre de victoire) Lancer plusieurs parties en parallèle

Installation et lancement :

Ouvrir un terminal puis lancer Frontend :

cd frontend
npm i
npm run dev

puis ouvrir un deuxième terminal et lancer le Backend :

cd backend
npm i 
npm run dev

Le site est maintenant accessible à l'url : https://localhost:5173

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages