TP 2:Le vaisseau spatial

Cahier des charges

Le cahier des charges est analogue au scénario d'un film

Imaginez un instant que vous écrivez un scénario pour un film; pour que les acteurs comprennent ce qu'ils doivent faire vous devez précisez dans le scénario:

  1. les acteurs
  2. Leurs caractéristiques physiques
  3. Comment ils interagissent entre eux (dialogues)

Nous allons faire la même chose ici pour le jeu "Astéroïdes"

Voir ici les caractéristiques de ce jeu

Commençons par mettre au point le vaisseau spatial

Le vaisseau spatial

ses caractéristiques

  1. Vecteur position: deux entiers x et y (coordonnées du coin supérieur gauche de l'image représentant le vaisseau spatial
  2. direction: un float d (angle)
  3. Vecteur accélération $\overrightarrow{a}$
  4. Vecteur vitesse $\overrightarrow{v}$
  5. vitesse angulaire
  6. accelere, un booléen: si accelere est à True cela signifie qu'on a appuyé sur la touche UP, accelere passe à False lorsqu' on a relâché cette même touche
  7. tourneADroite, un booléen
  8. tourneAGauche, un booléen

Mise au point du vaisseau spatial (1ère partie)

Le vaisseau ne regarde que vers la droite et ne peut accélérer que dans cette direction

Il ne peut pas tourner sur lui même

L'idée fondamentale est :

  1. si accelere passe à True alors on ajoute à la vitesse du vaisseau (vecteur) une accélération (vecteur) en norme constante
  2. Il faut donc une fonction qui donne le vecteur accélération en fonction de la direction du vaisseau
  3. A La position du vaisseau (vecteur) il faut donc ajouter le nouveau vecteur vitesse

Exercice

  1. >Télécharger le code ici
  2. Modifier le en ajoutant un coefficient de frottement , même si cela n'est pas réaliste dans l'espace, pour que le vaisseau ne prenne pas trop de vitesse

Mise au point du vaisseau spatial (2 ième partie)

Le vaisseau tourne sur lui même au centre de l'écran/p>

  1. si accelere passe à True alors on ajoute à la vitesse du vaisseau (vecteur) une accélération (vecteur) en norme constante
  2. Il faut donc une fonction qui donne le vecteur accélération en fonction de la direction du vaisseau
  3. A La position du vaisseau (vecteur) il faut donc ajouter le nouveau vecteur vitesse

Exercice

  1. Télécharger le code ici
  2. Modifier la vitesse angulaire et tester

Mise au point du vaisseau spatial (Dernière partie)

On assemble les deux parties précédentes

Pour la fluidité du déplacement dans les différents tests faut il utiliser des if .... elif ....elif .... ou plutôt if .... if... if ...

Correction

  1. Télécharger le code ici
  2. Télécharger le sprite du vaisseau ici