Cassbrik (1998)

Téléchargez Cassbrik !
Téléchargez le source !

1. Introduction

Suite à la programmation du jeu 'LX7' et au relatif succès qu'il a rencontré au club informatique (très relatif succès !), je décidais de me lancer dans l'élaboration d'un nouveau jeu, un casse-brique, en m'inspirant de grands classiques tels que 'Kripton Egg'.

Je souhaitais également éviter quelques 'lourdeurs' de langage tels que le 'delay(pentium)' dans la boucle principale du jeu 'LX7'. En fait, j'avais programmé ce premier jeu sur un 386DX du lycée et le passage sur les Cyrix s'est avéré injouable ! J'ai donc opté pour l'option du délai qui me demandais peu de changements de code.

L'objectif de 'Cassbrik' est de casser toutes les briques pour accéder aux niveaux suivants et obtenir le meilleur score possible... Tout comme dans le jeu 'LX7', le joueur peut ramasser des options.
 
 

2. Description du jeu

Différents types de briques :

: Brique simple (10 points).

: Brique simple (20 points).

: Brique simple (30 points).

: Brique incassable.

: Brique cassable en 4 coups (80 points).

: Brique accélératrice.

: Brique ralentisseuse.

: Brique explosive.

Différentes options :

: Donne une vie.

: Donne deux vies.

: Agrandit la raquette.

: Rétrécit la raquette.

: Donne une balle.

: Enlève une balle.

: Raquette de tir.

: Raquette volante.

: Donne 100 points.

: Donne 200 points.

: Donne 300 points.

: Donne 400 points.

Différents types de balles :

: Balle rapide.

: Balle normale.

: Balle lente mais ne rebondit pas sur les briques.

Différents types de raquettes :

: Raquette de base.

: Raquette de tir.

: Raquette volante.
 
 

Aperçu du jeu en cours de partie :

(Nom du Joueur & points) (Vies restantes) (Niveau) (Password) (Temps restant)






3. Programmation

Je ne détaillerais pas la programmation graphique car j'utilise les mêmes routines que le jeu 'LX7' à quelques détails près...

Quant aux commandes, j'ai opté pour la souris qui offre plus de rapidité et de maniabilité que le clavier. Elle est gérée par l'unité sourunit.

Les commandes sont donc limités aux deux boutons de la souris. Le bouton gauche sert à envoyer la balle ou à tirer tandis que le second sert à mettre la pause...

La balle est gérée à l'aide d'un vecteur vitesse défini par direction (angle) et intensité. Les rebonds ne constituent alors qu'un changement d'angle.

Tout comme 'LX7', 'Cassbrik' offre quelques 'cheat codes'. Ils suffit de les taper pendant la pause puis d'appuyer sur la touche 'Entrée' pour les valider :

CTIR ¿ : Donne la raquette de tir.

CVOL ¿ : Donne la raquette volante.

CVIE ¿ : Donne une vie.

CGOD ¿ : Donne 99 vies.

CWINx ¿ : Passe au niveau 'x' spécifié ou passe un niveau.

CCLK ¿ : Bloque l'horloge.

CBAL ¿ : Donne une balle.
 
 

4. Images de fond

Les images de fonds sont spécifiés lors du lancement du jeu en ligne de commande en donnant le chemin d'accès des images. La version que je présente est la version 'fractales'. Pour lancer 'Cassbrik' avec ces images en fond il faut exécuter 'Cassbrik fractals' et pour y jouer sur fond noir il suffit de lancer 'Cassbrik'.

Chaque image de fond dispose d'une palette de 216 couleurs, les 40 autres couleurs étant réservées pour les options, briques et balles...
 
 

5. Éditeur de niveaux

L'éditeur de niveaux est très rudimentaire mais cela n'a guère d'importance car il n'est pas censé être utilisé par le joueur... Celui-ci ne devrait cependant pas avoir trop de difficulté à créer ses propres niveaux. Tous les niveaux ce trouvent dans le répertoire 'niveaux' et présentent la structure suivante :

- nom du niveau : une chaîne de 50 caractères (string[50]).

- temps : une variable integer.

- fréquence des options : une variable byte (en fait, une chance sur ce nombre d'avoir une option lorsque l'on casse une brique).

- briques : tableau de bytes spécifiant le type de chaque brique.

Lorsque le joueur clique sur le bouton droit, l'éditeur sauve automatiquement le niveau dans le fichier 'niveau.xxx' où 'xxx' est le premier niveau manquant. Ceci permet de facilement ajouter ou remplacer des niveaux.
 
 

6. Réalisation de la présentation

J'ai eu l'idée de réaliser la présentation de 'Cassbrik' après avoir vu en Mathématique les similitudes. Nous avons effectivement étudié les applications complexes associées qui sont de la forme : Z'=AZ+B avec A, B, Z et Z' complexes tels que Z' soit l'affixe du point image et Z l'affixe du point antécédent. De ces équation, j'ai pu tirer les expressions analytiques de la similitude :

ì x'=k[(x-xo)cos(ang)+(yo-y)sin(ang)]+xo

î y'=k[(y-yo)cos(ang)+(x-xo)sin(ang)]+yo

Où M'(x',y') est l'image de M(x,y) par la similitude de centre O(xo,yo) de rapport k et d'angle ang. L'utilisation de ces équations dans le programme 'Make_rot.pas' m'a permis de réaliser ma présentation. A chaque image calculée, le programme attend que l'utilisateur appuie sur la touche 'Entrée'. Cela lui laisse le temps de réaliser une capture de l'écran à l'aide d'un quelconque logiciel de dessin puis de sauver le produit fini sous une image au format PCX qui sera ensuite plus rapide à afficher lors de l'animation de présentation. Ces images sont rangées dans le répertoire 'film'. La succession d'image est plus fluide lorsque que l'ordinateur les charge depuis le disque dur.