Born to be wired

 Pong Clock :: calcul des trajectoires

Deux rapides améliorations ont été apportées :

La police de caractères utilisée pour l’affichage des scores a été modifiée pour se rapprocher du jeu original, plus « carrée », composée de lignes simples. Ça n’a l’air de rien comme ça, mais j’ai dû « dessiner » les 10 chiffres pixel par pixel dans le code (par groupe de 8 pixels, pour être précis). Ce qui donne un truc très sympa dans ce genre là (une ligne = un caractère) :

unsigned char pongfont[4096] = {
	0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, // chr(0)
	// [...]
	254,254,198,198,198,198,198,198,198,198,198,198,198,254,254,0, // chr(48) = 0
	24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,0, // chr(49) = 1
	254,254,6,6,6,6,254,254,192,192,192,192,192,254,254,0, // chr(50) = 2
	254,254,6,6,6,6,62,62,6,6,6,6,6,254,254,0, // chr(51) = 3
	198,198,198,198,198,198,254,254,6,6,6,6,6,6,6,0, // chr(52) = 4
	254,254,192,192,192,192,254,254,6,6,6,6,6,254,254,0, // chr(53) = 5
	254,254,192,192,192,192,254,254,198,198,198,198,198,254,254,0, // chr(54) = 6
	254,254,6,6,6,6,6,6,6,6,6,6,6,6,6,0, // chr(55) = 7
	254,254,198,198,198,198,254,254,198,198,198,198,198,254,254,0, // chr(56) = 8
	254,254,198,198,198,198,254,254,6,6,6,6,6,254,254,0, // chr(57) = 9
	// [...]
	0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0  // chr(255) = ÿ
};
Mise à jour de la police de caractères, premières informations de trajectoire.

Mise à jour de la police de caractères, premières informations de trajectoire.

Enfin, pas forcément plus simple, sans être non plus très complexe, la détermination de la trajectoire qui sera suivie par la balle lorsqu’elle touche la raquette, jusqu’à la raquette adverse, affichée en vert sur ces captures d’écran en mode debug.

Le nombre de rebonds peut rapidement devenir important...

Le nombre de rebonds peut rapidement devenir important…

C’est à peu près tout ce qu’il est possible de faire à ce stade avec des images fixes. Les prochaines modifications m’amèneront certainement à me lancer à minima dans l’animation de la balle.

 Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.