LX7 (1998)

Téléchargez LX7 (source inclus) !

1. Introduction

L'intérêt de ce premier programme était de dévelloper un jeu, pas forcément beau, mais permettant de s'amuser à plusieurs. Mon choix s'est alors orienté vers un jeu de vaisseau à scrolling horizontal permettant de se défouler à quatre simultanément. Le jeu se nomme 'LX7' car il s'agit de la septième version du jeu 'LX' (LX pour Aile-X ou X-Wing, les vaisseaux de combat du film nommé 'La Guerre des Étoiles').

Le but de jeu est de détruire le maximum d'ennemi de façon à marquer le plus de points. Chaque vaisseau est limité en vies et en carburants (ce sont respectivement les deux barres situées sous le nom du joueur). Au cours de sa progression, chaque joueur peut ramasser des options :

: Vies.

: Carburant.

: Points. (différents dégradés pour traduire l'intensité de l'option...)

: Tirs. (différents types de tir : avant, avant/arrière, double).

: RAZ. (détruit tous les ennemis à l'écran).
 
 

Aperçu du jeu en cours de partie :








2. Mode graphique

Le jeu est entièrement programmé dans le mode 13h fourni par les cartes VGA/EGA car c'est l'un des plus simples à programmer à mon goût.

Plusieurs pointeurs sont initialisés au début du programme de façon à simuler des pages virtuelles, dans lesquelles je peux effectuer toutes les étapes de la construction de l'écran final avant de l'afficher en le copiant vers la mémoire vidéo. Ces pointeurs sont les suivants :

- scrn_pg : pointeur constant sur la mémoire vidéo.

- make_pg : pointeur sur la page de construction.

- star_pg : pointeur sur la page de fond contenant les étoiles.

- ship_pg : pointeur sur la page contenant les sprites.

Les différents sprites du jeu sont stockés dans l'image 'lx.pcx' de façon à facilement les éditer et les modifier. Cette image est chargée à l'aide du chargeur PCX contenu dans le fichier 'pcx.inc'.

La police de caractère fournie par le mode graphique étant trop grosse, j'ai créé ma propre police qui est en fait un tableau de boolean contenu dans le fichier 'police.inc'.
 
 

3. Programmation du clavier

Le clavier est programmé en détournant l'interruption clavier 09h (confer la procédure keep dans l'aide de 'Turbo Pascal' qui donne un exemple pour détourner cette même interruption) puis en interceptant les scan codes sur le port 60h.

J'ai ainsi opté pour les touches suivantes :
 

Action
Touche
Joueurs
Haut
Bas
Gauche
Droite
Tir
1
ñ
ò
ï
ð
0
2
^
ù
M
*
L
3
H
N
B
,
V
4
Z
S
Q
D
TAB
Nouvelle Partie
F1
Pause
F2
Quitter
échap

Les joueurs sont alors suffisamment espacés pour ne pas trop se gêner au clavier...
 
 

4 Remarques

La présentation, contenue dans le fichier 'royale.inc' réalise une simulation de flammes au dessus de chaque lettres du pseudonyme 'Royale'.

LX7, comme de nombreux jeux, offre aux utilisateurs un setup. Il s'agit en fait d'un petit fichier batch qui édite le fichier 'setup.inc' puis qui recompile le jeu à l'aide du compilateur en ligne.

Il existe également une série de 'cheat codes' qui permettent d'avoir quelques avantages, il suffit de lancer LX7 suivit des combinaisons '/strong', '/tanker' ou '/bigger' en ligne de commande.