En pj vous trouverez le zip d'une disquette TI8 pour jouer aux 16 niveuax de Demineur Xtreme en version assembleur.
Le jeu est jouable, mais je vous conseille de mettre DC Moto en plein écran pour les grandes grilles (plus facile à la souris).
Pour jouer:
1/ choisissez votre niveau de départ (0 à 9 ou a à f, insensible à la casse)
2/ clic gauche pour révéler les cases (avec enchainement en cascade si case=0), clic droit = appliquer un drapeau ou enlever le drapeau : ajoute ou enlève le nombre de bombes "découvert" en haut.
3/ Une fois qu'il reste 0 cases à découvrir OU si vous avez cliqué sur une bombe, le jeu se termine avec un message "gagné" ou "perdu" : pour rejouer appuyez sur n'importe quelle touche sauf "q" (minuscule ou majuscule) qui quitte le jeu.
Ce qu'il manque dans le jeu :
- chronomètre (à vroi pour la stratégie : est ce que je le désactive pendant toute la phase de découverte de case ?)
- bruitage (comme ceux présent dans la version basic mais en mieux)
- les options de jeu complète : mode "challenge", mode "aventure" (un mélange entre Mc Gyver, l'Ukraine et la protection de la biodiversité, mais je dois faire des conversions d'images pour cela grâce grâce aux modules de Samuel pour grafx... pas mal de choses à ahjouter de ce côté là...
- un bouton "Pause" qui metra la grille dans une image (avec les fonction Basic)
- une option "aide" grille initiale ?
Remarque:
- le jeu de niveau "Bombwatch" le même que celui de 'lAtari ST, donne une vitesse quasi identique à celle de l'Atari ST!! comme quoi le Thomson est loin d'être une limace!!
- j'ai l'impression que la fonction d'aléoitarisation de Samuel donne des bombes qui sont + sitiée vers le bas et la droite (est ce une impression ?) alors que le RND des Thomson ne me donnait pas cette impresison là... Ceoendant ça vient peut-être de la manière dont je l'ai utilisé...
- il y a peut-être de l'optimisation à faire (en terme de place) pour la fonction d'affichage en cascade assembleur...
Code:
*************************************
* Fnt Randomise 2. Applique une
* limite superieure (DIMXY)
* au RND.
*************************************
ORG $8050
RND1 *
JSR RND0 '
LDD SEED '
ANDA #31 '=11111 '
ANDB #31 '=11111 '
RND10 *
CMPB YMAX '
BLS RND11 '
LSRB '
BRA RND10 '
RND11 *
CMPA XMAX '
BLS RND1A '
LSRA '
BRA RND11 '
RND1A RTS 'B = NB ALEATOIRE '
J'ai créé une autre alternative à ce code qui est
Code:
*************************************
* Fnt Randomise 2. Applique une
* limite superieure (DIMXY)
* au RND.
*************************************
ORG $8050
RND1 *
JSR RND0
LDD #$3131
STD FILT01
LDD SEED
RND10 *
ANDB FILT01+1
CMPB YMAX
BLS RND11
LSR FILT01+1
BRA RND10
RND11 *
CMPA FILT01
BLS RND1A
LSR FILT01
BRA RND11
RND1A RTS 'B = NB ALEATOIRE
...je ne sais pas laquelle est la meilleure pour la bonne randomisation
Enfin je termine par une vidéo en temps réelle du dernier test du jeu :
Attention : addentum du 07/06/2022 à 23:12 : j'ai modifié l'algorithme d'aléatoirisation qui est meilleur maintenant, un grand merci à Samuel de m'avoir aidé sur ce point