Félicitations ! Vous êtes sur ce dépôt parce que vous avez été sélectionné pour participer à la première étape du recrutement chez COTEP.
Comme expliqué par email, nous souhaitons que vous réalisiez un test technique afin de pouvoir évaluer vos compétences et capacités de raisonnement.
Ce test consiste à recréer le jeu snake dans une page web ! Au minimum, le jeu doit comprendre :
- la carte,
- le serpent,
- pouvoir déplacer le serpent avec les touches du clavier,
- pouvoir manger des boulettes avec le serpent,
- faire grandir le serpent,
- l'avancée automatique du serpent,
- l'apparition de nouvelles boulettes,
- la gestion des conflits (et mort du serpent !).
- A compter de la réception du mail donnant accès à ce dépôt, vous avez 72h pour coder et nous soumettre les codes sources. Attention, il ne faut pas être en retard !
- Nous acceptons votre travail même s'il n'est pas terminé.
- Les langages à utiliser sont html, css et Javascript.
- Utiliser un framework (Angular ou Vue.js).
- Créer un fichier
index.htmlqui permet une fois chargé de pouvoir accéder au jeu. - Il n'y a pas de limite au nombre de fichiers.
- Le code doit être commenté et propre.
NOTE : Si du code doit être transpilé/compilé par rapport aux bonus, créer un README.md afin de nous expliquer comment lancer l'application.
Forker le dépôt et créer un pull-request avec pour nom NOM_PRENOM@ANNEE (les 6 premières lettres du nom de famille et la 1ère lettre du prénom). Exemples:
| Prénom | Nom | Nom de la pull request |
|---|---|---|
| Gwenaelle | BOURGOING | bourgo_g@2024 |
| Yvan | PASTA | pasta_y@2024 |
Un bonus ajoute une contrainte complémentaire à l'exercice. Les bonus ne sont pas obligatoires.
| Bonus fonctionnels |
|---|
| Ajouter la gestion du score |
Gérer les actions pause, stop, resume et restart |
| Gérer l'accélération de la vitesse du jeu par rapport à la taille du serpent |
| Ajouter de la couleur aux boulettes et au serpent |
| Jouer du son |
| Afficher le top score |
| Afficher les 10 meilleurs scores |
| Bonus techniques |
|---|
Utiliser scss à la place de css |
Utiliser typescript à la place de javascript |
Utiliser eslint pour le projet |
Ajouter une partie serveur en node.js avec express et faire transiter toutes les commandes de l'utilisateur via les webservices. La page web devient uniquement un visuel, la réflexion passe côté serveur. |
