[VG5000] Lode Runner

Cette catégorie traite de développements récents pour nos vieilles machines, applications, jeux ou démos... Amis programmeurs, c'est ici que vous pourrez enfin devenir célèbres!

Modérateurs : Papy.G, fneck, Carl

Xavier_

Re: [VG5000] Lode Runner

Message par Xavier_ »

Je pense qu'effectivement, il est impossible de passer la ligne jaune, car elle est pas cassable.

C'est Guillaume qui l'a dit !

Mais, la ligne de brique rouge, elle est cassable à fond.

La bordure du tableau en jaune n'est pas paramétrable dans la feuille Excel, car elle est affichée dans le programme Basic.

Purée… y en a qui sont fatigué… travaillez moins vite ! On a le temps...
joaopa
Messages : 512
Inscription : 14 sept. 2013 12:17

Re: [VG5000] Lode Runner

Message par joaopa »

Il y a un bug dans la version BASIC de Lode Runner ligne 573
Si on touche un ennemi alors que celui ci est en sa position initiale alors il n'est pas réaffiché puisque ses coordonnes sont ses originales et celle du joueur. La ligne 573 devrait être en 568. Je m'en suis rendu compte, puisque pour l'instant je teste la versoin assembleur sans gestion des mouvements des ennemis.
Xavier_

Re: [VG5000] Lode Runner

Message par Xavier_ »

Salut,

Voilà, pour ma version expurgée.
LodeRunner_30niveaux.zip
(7.06 Kio) Téléchargé 149 fois
Le code assembleur de MarkError n'a pas été inclus car les trente niveaux poussent la mémoire des variables au niveau de la limite de la routine.
Guillaume
Messages : 46
Inscription : 26 avr. 2020 15:24
Localisation : Nice

Re: [VG5000] Lode Runner

Message par Guillaume »

Hello hello,

Vous avez vu juste Joaopa et Xavier, c'est dans le code que la ligne en dessous du tableau de jeu (donc confondu avec la bordure jaune du bas) est rempli de brique incassable:
134 FOR I=1 TO 28:T(I,17)=2:NEXT I
Ce qui évite au héro de tomber dans les abimes.
Avatar de l’utilisateur
hlide
Messages : 3456
Inscription : 29 nov. 2017 10:23

Re: [VG5000] Lode Runner

Message par hlide »

Ben voilà, c'était bien dans le tableau... du BASIC
joaopa
Messages : 512
Inscription : 14 sept. 2013 12:17

Re: [VG5000] Lode Runner

Message par joaopa »

Quelqu'un peut-il confirmer que le dernier caractère définissant le tableau est Z (ascii=90), le premier du deuxième tableau est % (ascii=37)?
Xavier_

Re: [VG5000] Lode Runner

Message par Xavier_ »

Si ta question est : "Y a-t-il des balises pour la fin de tableau ?"
Non, il n'y a pas de balises, hormis le tag de fin "!" v=33.

Le programme rempli l'écran en calculant les ordonnées et les abscisses.
Il compte X, si X>28 , on incrémente Y.
Si Y= 17, on fini la boucle de lecture.
Donc, la lecture reste à l'offset OS, prêt pour le prochain tableau.

Dernier caractère :
Tableau 1: v=90
Tableau 2: v=37
Tableau 3: v=125
Tableau 4: v=57
Tableau 5: v=111


"134 FOR I=1 TO 28:T(I,17)=2:NEXT I"
Ha, oui. Une erreur de lecture sur la K7 originale !
Un truc comme ça : 134 FOR I=1 TO 28:T(I,17)=2 REM NEXT I
J'ai donc modifié l'erreur de tocken...
joaopa
Messages : 512
Inscription : 14 sept. 2013 12:17

Re: [VG5000] Lode Runner

Message par joaopa »

@Xavier: As-tu modifié les tableaux de Guillaume. Dans le tableau 2, je peux monter entre les échelles (celles tout à droite) avec ton fichier. Avec le fichier de Guillaume, on ne peut pas.


EDIT:
Après avoir compris le tableau, je pense qu'il y a un bug dans ton code Xavier (et dans le mien aussi :mrgreen: )
A la position dite, il s'agit de l'échelle de sortie. Avec ton code et le mien, on peut l'utliser même si elle n'est pas affichée
Xavier_

Re: [VG5000] Lode Runner

Message par Xavier_ »

Oui, j'ai modifié imperceptiblement le code pour pouvoir monter entre deux murs, deux echelles…
Le déplacement est moins rigide et à l'usage, ça permet de sauter et de s'accrocher en plein vol.
Le but était de ne pas rester bloqué dans un trou, et de pouvoir remonter, sans avoir à se suicider.

Et effectivement, il y a un problème avec les echelles de sorties, mais seulement sur certains tableaux.
Sûrement un décalage dans les données du à une mauvaise transition entre deux tableaux… probablement les tableaux 10 et 11.
Au tableau 15 tout redevient normal.
joaopa
Messages : 512
Inscription : 14 sept. 2013 12:17

Re: [VG5000] Lode Runner

Message par joaopa »

La ligne 585 se termine par un return. A quel gosub correspond-il? Ne s'agit-il pas d'un GOTO? Et si oui GOTO quelle ligne?
Xavier_

Re: [VG5000] Lode Runner

Message par Xavier_ »

Code : Tout sélectionner

656 GOSUB690
…
690 E=T(AX,AY):CURSORX AX+SX:CURSORY AY+SY:ET CO(E):PRINT CHR$(100+E)
692 CURSORX EX(N)+SX:CURSORY EY(N)+SY:ET CO(8):PRINT CHR$(108):IFEX(N)=XANDEY(N)=Y GOTO 560
…
585 IF(X+D-1)<1OR(X+D-1)>28ORY=16THENRETURN
Oui, il vient de loin...
joaopa
Messages : 512
Inscription : 14 sept. 2013 12:17

Re: [VG5000] Lode Runner

Message par joaopa »

En ligne 571, il y a un goto. Comment fait-on pour atteindre la ligne suivante (ligne 585)?
Xavier_

Re: [VG5000] Lode Runner

Message par Xavier_ »

Code : Tout sélectionner

505 IFACTION(2)=1 GOTO 585
Oui, effectivement, le RETURN est sur la boucle de contrôle de déplacement.

Code : Tout sélectionner

571 X=O:Y=P:NX=X:NY=Y:GOSUB920:GOTO 900
à mon avis, le "goto 900" devrai être un Return, mais bon...
Avatar de l’utilisateur
hlide
Messages : 3456
Inscription : 29 nov. 2017 10:23

Re: [VG5000] Lode Runner

Message par hlide »

Ah les joies du BASIC spaghetti... ^^
joaopa
Messages : 512
Inscription : 14 sept. 2013 12:17

Re: [VG5000] Lode Runner

Message par joaopa »

@Guillaume: As-tu eu le temps de programmer le mode CHASE?
une autre question: pourquoi quand stickx est actionné vers la droite (ligne 500), il y a un test pour D (D=0 ou D=2) et il y en n'a pas pour stickx actionné vers la gauche?

Encore un bug: en position initiale, creusez un trou en dessous. Tombez dedans et suicidez. Au réaffichage, le joueur lévite.
Screenshot_20200515_174351.png
Screenshot_20200515_174351.png (24.75 Kio) Consulté 5386 fois
Pour éviter ce type de problème, le plus simple serait de refaire le niveau en entier. En plus ça corserait le jeu.
Répondre