★ AMSTRAD CPC ★ GAMESLIST ★ THE ULTIMATE FIGHT (c) CPC REVUE ★

CPC REVUE

The Ultimate Fight est un programme qui se joue à deux (profitez en pour inciter vos amis). Le but du jeu est d'arriver à tuer votre adversaire qui vous a provoque en duel. Vous vous êtes donc donné rendez-vous dans le désert. Armé d'un revolver pour tuer votre ennemi, vous devez lui tirer 10 balles dessus.

Mais il faut attendre que le canon se refroidisse entre deux tirs et, à chaque fois qu'un des joueur est touché, le tableau change et lorsqu'un des cow-boys est mort vous avez droit à  une belle animation.

EXPLICATIONS DU PROGRAMME

Ce programme comporte, comme vous avez pu le constater, de nombreuses routines en assembleur. Il y a tout d'abord une routine qui permet d'afficher des sprites colorés. Cette routine, pour une rapidité plus grande, accède directement à la mémoire écran et affiche des sprites pré-encodés de taille quelconque.

Il est indispensable que l'écran n'ait pas subi de scrollirigs, son accès se fait par un CALL &A400,NS,X,Y où NS est le n° de sprite, X la colonne et Y la ligne. Il y a également une routine qui s'appelle par un CALL &A402,NS,X1 ,Y1 ,X0,Y0 qui efface le sprite n° NS en position X0,Y0 et le réaffiche en X1,Y1. Mais-l'une des routines les plus importantes de ce jeu est certainement celle située en &A100. En effet c'est elle qui fait tous les tests lorsqu'une balle est tirée. Elle fait avancer la balle d'un caractère, vérifie si elle heurte un obstacle (si c'est le cas elle décrémente le compteur de l'objet et si celui-ci atteint 0 l'objet est effacé) et teste si la balle sort de l'écran. Cette routine gère en même temps les balles des deux joueurs ce qui permet une plus grande équité, c'est grâce à cette routine que le programme est aussi rapide.

Les CALL &BB4E servent à ré-initialiser l'écran (suppression du mode inverse), les PRINT CHR$(&30 + NBR) ; permettent d'afficher un seul chiffre sans effacer les caractères voisins. Dans les lignes 400 et 410 les IF THEN IF THEN permettent de ne pas ralentir inutilement le jeu si personne ne tire. Les nombreux POKE et CALL &A300 servent pour initialiser les paramètres de la routine de gestion de balles. Le titre est affiché avec un TAG puis avec un PRINT, le mode transparent ayant été mis, ce qui évite l'effacement du fond. Il faut noter que pour des raisons de balayage écran on ne voit pas toutes les positions de  la balle, car si j'avais synchronisé l'affichage de la balle sur le retour du rayon elle aurait été trop lente. Si le coeur vous en dit vous pouvez très bien créer vos propres tableaux (lignes de  DATAS  600...)  en  changeant les datas organisées comme ci-dessous : NS,HS,X,Y,NC : NS = n° du SPRITE ; HS = hauteur du SPRITE ; X et Y sont la positions du SPRITE (il faut noter que le haut à gauche de l'écran a pour coordonnée 0,0 et 1,1 comme avec LOCATE) ;
NC le nombre de coups qu'il faut tirer pour détruire le SPRITE (si NC = 0 alors un nombre aléatoire de coups sera choisi entre 1 et 4).

Les SPRITES utilisables dans un tableau sont :

4 : cactus ;
9 : serpent ;
10 : arbre mort ;
11 : crâne de bovidé ;
12 : scorpion ;
22 : petits cailloux compacts ;
23 : petits cailloux éparpillés ;
24 : buisson ;
25 : crâne humain ;
27 : gros caillou.
Les hauteurs sont toujours de 3 sauf pour les SPRITES :
22 et 23 : hauteur 1 ;
24 et 25 : hauteur 2.
Il peut y avoir jusqu'à 31  objets dans chaque tableau (qui doit impérativement se terminer par -1).

Vous avez également la possibilité de faire varier :

–   Le temps entre 2 coups successifs en changeant aux lignes 370 et 380 le : IF T1 > 5 ou le : IF T2 > 5 par une valeur différente, ce qui permet de donner un handicap à un joueur plus expérimenté ;
–   Le temps mis pour que les balles "remontent" en remplaçant à la ligne 430 le : MOD 25 par une valeur différente ex. : MOD 15 ou MOD 30.
Les touches sont aisément redéfinissables en changeant la valeur des INKEY(X).

CPC n°17
 
PHLYCTENES

Pour les inconditionnels d'ULTIMATE FIGHT (CPC n° 17), dont les doigts seraient sujets à des échauffements prononcés et dont le clavier se refuse à subir les derniers outrages. Michaël HOFFERT, de THIONVILLE, propose les modifications suivantes :

280 IF JOY(0) = 1 etc.
290 IF JOY(1 ) = 1 ...
300 IF JOY(O) = 2 ...
310 IF JOY(1) = 2 ...
320 IF JOY(O) = 8 ...
330 IF JOY(1 ) =4 ...
340 IF JOY(0)< >8 ...
350 IF JOY(1)< >4 ...
370 IF JOY(0) = 8 ...
380 IF JOY(1) = 4 ...
Désormais, c'est le joystick qui subira vos assauts !

CPC n°23

THE ULTIMATE FIGHT
(c) CPC REVUE

PROGRAMMATION: YOURI BAUDOIN
GRAPHISMES: MAXIME ROUX

★ ANNÉE: 1987
★ LANGAGE:
★ GENRE: INGAME MODE 1 , ARCADE , GREEN , WESTERN

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» The  Ultimate  Fight    FRENCHDATE: 2013-08-30
DL: 58 fois
TYPE: ZIP
SIZE: 35Ko
NOTE: 40 Cyls
.HFE: OUI

Je participe au site:
» Newfile(s) upload/Envoye de fichier(s)

QUE DIT LA LOI FRANÇAISE:

L'alinéa 8 de l'article L122-5 du Code de la propriété intellectuelle explique que « Lorsque l'œuvre a été divulguée, l'auteur ne peut interdire la reproduction d'une œuvre et sa représentation effectuées à des fins de conservation ou destinées à préserver les conditions de sa consultation à des fins de recherche ou détudes privées par des particuliers, dans les locaux de l'établissement et sur des terminaux dédiés par des bibliothèques accessibles au public, par des musées ou par des services d'archives, sous réserve que ceux-ci ne recherchent aucun avantage économique ou commercial ». Pas de problème donc pour nous!

CPCrulez[Content Management System] v8.7-desktop/cache
Page créée en 115 millisecondes et consultée 1044 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.