Skip to content

Instantly share code, notes, and snippets.

@guillaumepotier
Last active June 4, 2021 09:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save guillaumepotier/bad5a5ab7a55333cacccf5ed6e3e0475 to your computer and use it in GitHub Desktop.
Save guillaumepotier/bad5a5ab7a55333cacccf5ed6e3e0475 to your computer and use it in GitHub Desktop.
DaMovieQuizz

DaMovieQuiz

The best movie game ever made up. At least it will be.

Présentation

Nous t'invitons à coder un jeu génial nommé Da Movie Quizz, qui teste la culture cinématographique du joueur. Le principe de base est ultra simple:

Dans un temps imparti (let's say 60 secondes), le jeu présente au joueur sous forme de rounds un acteur et une affiche de film. Le joueur doit dire si l'acteur a joué dans le film présenté ou non.

Le jeu s'arrête au bout du temps imparti ou à la première erreur, et donne le score à l'utilisateur. Il a la possibilité de rejouer pour tenter de battre son meilleur score.

Et voilà, plutôt basique, mais efficace et fun.

Enoncé

Pré-requis

  • Se baser sur React obviously. Le temps étant limité, soit tu utilises directement un react.min.js téléchargé soit le projet ReactApp mais ne t'embête pas à configurer un environnement avec webpack et tout ! On ne va pas juger ça, donc bootstrap un React au plus simple.

  • Dans cette app, on a besoin d'une source de données sur le cinéma pour y faire des calls. On te conseille fortement d'utiliser l'API de The Movie Database.

    Tu peux utiliser cette API KEY: 7ea5f490261a949e52930517e1b4657c (mais ne la diffuse pas en dehors de cet exercice) ou en demander une depuis ton profil TMDB, onglet API. Ca s'obtient très vite et très facilement. Si tu préfères une autre API, no problem ;)

  • Côté DB, pas de pré-requis: soit tout en mémoire, soit du local storage, soit dans du Redux, soit .... ce que tu veux, mais pas de backend et ne perds pas de temps sur cette partie, au détriment de la partie Front.

Le jeu (/play)

Etat initial
  • Le jeu est arrêté, on affiche seulement un bouton Play. Dès que le joueur clique dessus, le jeu commence (obviously)
Jeu en cours
  • Un timer, implacable, affiche le temps qui s'écoule pendant toute la durée du jeu.

  • Juste en dessous, on présente aléatoirement un acteur et une affiche de film.

  • Le joueur doit dire si l'acteur a joué dans ce film (des boutons OUI / NON suffiront ici).

Hint 1: Pour une meilleure expérience de jeu, il est préférable de se baser sur des données "populaires" de la base de données de films.

Hint 2: Toujours dans le même but d'améliorer l'expérience de jeu, il faudrait éviter le fait que la bonne réponse soit majoritairement "non", mais essayer d'équilibrer à 50/50 les "oui" et les "non".

Fin de partie
  • La partie s'arrête lorsque le timer arrive à sa fin.

  • On affiche le nombre de bonnes réponses du joueur, qu'on store localement.

  • Un bouton "Play again" permet de rejouer afin d'améliorer son highscore.

Livrable

Réalise le tout dans un repo git pour qu'on puisse ensuite voir comment tu organises tes commits, faire les codes reviews nécessaires, etc..

On s'en tape s'il n'y a pas d'attention au front/css, on va vraiment ici juger si le jeu est fonctionnel, React bien utilisé, les calls à l'API intelligents, la randomness respectée, etc.. on juge le js only et l'archi du jeu / gameplay :)

Des questions ?

A tout moment, tu peux m'envoyer un email => guillaume@wisembly.com

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment