Omega Race



1.1. Présentation

Omega Race est un vieux jeu vidéo développé pour le Commodore 64 en 1982. On peut trouver quelques vidéos afin de comprendre le principe assez simple du jeu : dégommer les ennemis.

Omega Race

Le joueur, symbolisé par un triangle doit tirer des missiles afin d'éliminer les ennemis ainsi que les mines. Il rebondit sur les bords de l'écran ainsi que sur une zone au centre de l'écran. Il peut se déplacer en accélérant (curseur haut) ou en modifiant son angle de rotation (curseur droit ou gauche).

Le but du projet n'est pas de reproduire à l'identique le jeu mais d'en utiliser les principes afin de développer en python une nouvelle version du jeu.

On désire garder les éléments suivants du jeu initial :

1.2. La bibliothèque PyGame

La bibliothèque PyGame permet de réaliser des jeux simples en dessinant dans une fenêtre graphique.

Vous pouvez vous familiariser avec les notions de PyGame en suivant la construction du jeu Pong.

1.3. Travail

Pour la période de 17 au 21 avril 2023 :

1.3.1. Présentation des librairies geometry et canvas

1.3.1.a  paquet geometry

La librairie (paquet) geometry permet de définir différents éléments géométriques 2D comme le point (Point), la ligne (Line), le triangle (Triangle), le rectangle (Rectangle), le cercle (Circle) et le polygone (Polygon). Tous ces objets héritent de la classe Form qui définit les méthodes suivantes pour chaque objet :

Les deux premières méthodes permettent de déplacer les objets alors que les deux dernières permettent de gérer les collisions entre objets.

On utilise notamment la notion de boîte englobante (bounding box en anglais) qui définit un rectangle qui contient la forme.

boite englobante

On dispose donc d'une classe BoundingBox qui est en fait un rectangle, mais distincte de la classe Rectangle issue de Form. Cette classe dispose de plusieurs méthodes associées :

1.3.1.b  paquet canvas

Canvas est une classe qui permet de dessiner des objets dans la fenêtre courante de PyGame en définissant les coordonnées de dessin comme pour une feuille de papier en fixant le point origine (x=0,y=0) au centre de la fenêtre.

On peut également donner la couleur de dessin ou des transformations (rotation et/ou translation) à appliquer à la forme passée en paramètre avant de la dessiner.

1.3.1.c  téléchargement

Vous pouvez télécharger ces paquets et les programmes de test associés ici.

Exercice 1.1

A titre d'exercice et afin de vous familiariser avec ces paquets, créez un rectangle et déplacez le de la gauche vers la droite, puis vers le bas et faite le revenir à sa position initiale en diagonale.