[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

Avatar du membre
Xavier_
Messages : 160
Enregistré le : 24 avr. 2020 21:20

Re: [VG5000] Lode Runner

Message par Xavier_ » 13 mai 2020 19:50

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 : 500
Enregistré le : 14 sept. 2013 12:17

Re: [VG5000] Lode Runner

Message par joaopa » 14 mai 2020 21:56

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.

Avatar du membre
Xavier_
Messages : 160
Enregistré le : 24 avr. 2020 21:20

Re: [VG5000] Lode Runner

Message par Xavier_ » 14 mai 2020 22:14

Salut,

Voilà, pour ma version expurgée.
LodeRunner_30niveaux.zip
(7.06 Kio) Téléchargé 8 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
Enregistré le : 26 avr. 2020 15:24
Localisation : Nice

Re: [VG5000] Lode Runner

Message par Guillaume » 15 mai 2020 00:24

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.

hlide
Messages : 1618
Enregistré le : 29 nov. 2017 10:23

Re: [VG5000] Lode Runner

Message par hlide » 15 mai 2020 05:40

Ben voilà, c'était bien dans le tableau... du BASIC

joaopa
Messages : 500
Enregistré le : 14 sept. 2013 12:17

Re: [VG5000] Lode Runner

Message par joaopa » 15 mai 2020 05:52

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)?

Avatar du membre
Xavier_
Messages : 160
Enregistré le : 24 avr. 2020 21:20

Re: [VG5000] Lode Runner

Message par Xavier_ » 15 mai 2020 08:32

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 : 500
Enregistré le : 14 sept. 2013 12:17

Re: [VG5000] Lode Runner

Message par joaopa » 15 mai 2020 19:38

@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

Avatar du membre
Xavier_
Messages : 160
Enregistré le : 24 avr. 2020 21:20

Re: [VG5000] Lode Runner

Message par Xavier_ » 15 mai 2020 21:52

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 : 500
Enregistré le : 14 sept. 2013 12:17

Re: [VG5000] Lode Runner

Message par joaopa » 15 mai 2020 21:59

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?

Avatar du membre
Xavier_
Messages : 160
Enregistré le : 24 avr. 2020 21:20

Re: [VG5000] Lode Runner

Message par Xavier_ » 15 mai 2020 22:42

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 : 500
Enregistré le : 14 sept. 2013 12:17

Re: [VG5000] Lode Runner

Message par joaopa » 15 mai 2020 23:04

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

Avatar du membre
Xavier_
Messages : 160
Enregistré le : 24 avr. 2020 21:20

Re: [VG5000] Lode Runner

Message par Xavier_ » 15 mai 2020 23:25

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...

hlide
Messages : 1618
Enregistré le : 29 nov. 2017 10:23

Re: [VG5000] Lode Runner

Message par hlide » 16 mai 2020 02:04

Ah les joies du BASIC spaghetti... ^^

joaopa
Messages : 500
Enregistré le : 14 sept. 2013 12:17

Re: [VG5000] Lode Runner

Message par joaopa » 16 mai 2020 05:14

@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) Vu 191 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