DS 2 : projet de code

Tag :
  • code python

documents à rendre

  1. le code (on doit pouvoir taper python main.py pour lancer le jeu)
  2. un ficher markdown comportant les différentes étapes du projet que vous avez effectuées

sujet

Création d'un jeu du snake

Initialement, le jeu est en pause. Il faut appuyer sur la barre d'espace pour que le snake se déplace. La direction par défaut est vers le haut.

Le snake est composé de carrés de 20 pixels de long qui se suivent en se touchant par un côté. Initialement, le snake est constitué de 3 carrés.

Position initiale du snake (□ est la tête du snake) :

 □
 O
 O

A chaque déplacement le 1er carré se déplace de 20 pixels dans la direction de déplacement, les carrés suivant se plaçant là où était le carré précédent (attention, le snake ne peut pas reculer).

Exemple. Position initiale du snake composé de 6 carrés (0 est la tête du snake) :

  O□
  O
OOO

Déplacement vers le haut (de 20pixels) :

   □
  OO
  O
 OO

Le jeu s'arrête si :

Le score augmente de 1 toutes les secondes où le snake est vivant et que le jeu n'est pas en pause. Initialement, le score vaut 0 et est affiché en haut à droite de l'écran.

Toutes les 5 secondes vont apparaître à l'écran (à une position aléatoire mais pas sur le snake) des disques de rayon 40 pixels. Lorsque le snake passe dessus, son score augmente de 5 et sa taille augmente de 5 carrés (le snake va grossir de 1 carré à chacun des 5 déplacements suivants) :

Exemple de grossissement du snake.

Position initiale :

 OO□

On veut faire augmenter la taille du snake de 2 carrés. On suppose également que le snake se déplace vers le haut.

Après le 1er déplacement, le snake à grossi de 1 carré (X est le nouveau carré) :

   □
 XOO

Après le 2ème déplacement, le snake a encore grossi de carré (X est le nouveau carré) :

   □
   O
 XOO

Finalement, le snake se déplace normalement. Par exemple, s'il continue de se déplacer vers le haut :

   □
   O
   O
  OO

etc...

pour aller plus loin

Vous pouvez ajouter :