• Aucun résultat trouvé

Programmation des Syst

N/A
N/A
Protected

Academic year: 2022

Partager "Programmation des Syst"

Copied!
2
0
0

Texte intégral

(1)

Programmation des Syst`emes

TP 4 : Pong

1 But

Le but de ce projet est de vous faire programmer une version simplifi´ee du jeu Pong. Il faudra programmer ce jeu enti`erement en assembleur. Vous pourrez vous aider des proc´edures que vous avez programm´ees lors du TP 3.

Qu’est-ce que Pong ? Une petite « boule », se d´eplace `a travers l’´ecran, rebondissant sur les rebords du haut et du bas, et les deux joueurs commandent chacun un « paddle », qui glisse de haut en bas `a travers les extr´emit´es de l’´ecran. Si la boule frappe la raquette, elle rebondit vers l’autre joueur. Si elle manque la raquette, l’autre joueur marque un point. La« boule»rebondit de diff´erentes mani`eres selon la fa¸con dont elle touche la raquette.

2 Travail ` a faire

Dans ce TP, nous vous demanderons de programmer une variante de Pong : – Le terrain de jeu est constitu´e de trois bords, en haut, `a gauche et `a droite

(il s’agit de lignes).

– Il y a une boule qui rebondit sur les bords : La boule est un cercle vide (uti- lisez la fonctiondrawCircledu TP pr´ec´edent). Elle doit ˆetre de couleur blanche.

– Une raquette est command´ee par un joueur, elle se trouve en bas de l’´ecran et peut se d´eplacer `a gauche et `a droite. La raquette se pr´esente sous la forme d’un rectangle.

– Si la raquette manque la balle, alors le jeu est termin´e. Vous pouvez faire une animation si vous voulez. Pour recommencer la partie, il suffit d’ap- puyer surstart(Il s’agit de la touche entersur l’´emulateur).

– Le rebond consiste en une inversion du d´eplacement.

– Trouvez un algorithme qui n’efface pas tout l’´ecran entre deux affichages.

Ce TP devra ˆetre programm´eenti`erementen assembleur.

3 Indications

– Les valeurs des boutons se trouvent `a l’adresse : 0x04000130. Chaque bouton est cod´e sur un bit : 1 si le bouton est press´e, 0 sinon. Voici la position de chaque bouton :

1

(2)

Bouton Bit

A 1

B 2

SELECT 3 START 4 RIGHT 5 LEFT 6

UP 7

DOWN 8

R 9

L 10

Exemple : Si le troisi`eme bit vaut 3, alors le boutonSELECTest press´e.

– Pour cr´eer un projet seulement en assembleur : 1. Cr´eez un nouveau projet en C.

2. Supprimez le fichiermain.cet ajoutez un fichier assembleur au pro- jet.

3. Dans le fichier makefile, remplacez la ligne

OFILES += main.o #nouveau_fichier.o#

par

OFILES += #nouveau_fichier.o#

o`umain.oest supprim´e.

4. Voici le code minimum pour cr´eer un programme en assembleur.

.ARM .align .globl main main:

2

Références

Documents relatifs

E 1 Puce reçoit une première liste de 2019 entiers compris entre 0 et n qu’il doit recopier sur une même colonne puis en face de chaque entier il doit écrire sur une

De cet œil ouvert, le Guéla d’en haut surveille le Guéla d’en bas, son ennemi, même la nuit, quand le Guéla d’en haut reprend au Guéla d’en bas le soleil qu’il lui a

Illustrer avec des images découpées, le texte de l'histoire utilisant un vocabulaire spatial Associer chaque image au texte correspondant à la direction surveillée. e place les

[r]

Après chaque concert, il range sa baguette dans son étui avant de descendre de son estrade?. Couché devant son abri, on pourrait croire

La tableau de nombres Numération Je sais placer un nombre dans le tableau.. La tableau de nombres Numération Je sais placer un nombre dans

Le choix de l’inhumation dans un coff re de bois ainsi que du dépôt d’un collier d’amulettes et de monnaies à des fi ns prophylact iques rapproche la tombe  des

Cote-condition a: C’est une cote de fonctionnement. 2.Tracer la chaîne de cotes relative aux vecteurs cote-condition a et b. 3.Reporter sur les dessins ci-dessous, les