Question BASIC 1.0

Cette catégorie traite de développements récents destinés à 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

HuggyOne76
Messages : 62
Inscription : 30 nov. 2011 10:19

Question BASIC 1.0

Message par HuggyOne76 »

Bonjour tout le monde,

Je suis sûr que les habitués du BASIC 1.0 vont avoir la solution...

J'écris un petit jeu en BASIC pour me dérouiller un peu ;-) Et mon problème est le suivant : Lorsque j'affiche un caractère tout en bas à droite (Locate 39,24), puis que j'en affiche ensuite un en haut à gauche (Locate 0,0), l'écran se décale vers le haut comme si le PRINT qui suit mon premier Locate avait fait un retour charriot puis était ensuite allé afficher en 0,0.
Comment éviter ce retour charriot après mon affichage en 39,24 ?

Je pense que le problème est assez classique, mais ça fait tellement longtemps que je n'ai plus mis le nez dans le BASIC 1.0... ;-)

Merci de vos conseils
__sam__
Messages : 7989
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Question BASIC 1.0

Message par __sam__ »

Truc à vérifier: ne pas oublier le ";" à la fin du PRINT pour supprimer l'ajout du CR/LF par l'instruction.

Je ne pense pas que c'est le problème ici. Il me semble qu'il y a un bug du moniteur qui ajoute une ligne sitôt qu'non affiche un caractère en bas à droite (parce qu'il faut de la place pour le curseur, même si ce dernier est invisible).

Il y a une option à CONSOLE pour supprimer le scroll qui fixe ca, mais c'est peut-être en basic 128. Tu peux aussi essayer de masquer le curseur (suffit de faire un LOCATE 0,0,1 au début du programme), ca sauve peut-être la mise aussi (pas testé), ou encore afficher le caractère en bas à gauche avec un PSET plutôt qu'un LOCATE+PRINT.

Désolé de ne pas être plus précis, j'ai pas de quoi tester tout de suite.
Dernière modification par __sam__ le 11 juin 2023 21:28, modifié 1 fois.
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
HuggyOne76
Messages : 62
Inscription : 30 nov. 2011 10:19

Re: Question BASIC 1.0

Message par HuggyOne76 »

Je teste tout ça après dîner 😅
Merci !
Daniel
Messages : 17426
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Question BASIC 1.0

Message par Daniel »

De mémoire le PRINT en bas à droite, même suivi d'un point-virgule, fait défiler l'écran.
Quand j'avais le problème j'utilisais un PSET en mode caractère, je crois que c'est le seul moyen d'éviter le scroll vertical.
Daniel
L'obstacle augmente mon ardeur.
HuggyOne76
Messages : 62
Inscription : 30 nov. 2011 10:19

Re: Question BASIC 1.0

Message par HuggyOne76 »

Merci Daniel, ta méthode fonctionne.
Mais je me rends compte que si je veux afficher une chaîne de deux caractères, seul le premier est affiché avec pset. C’est normal je suppose ?
__sam__
Messages : 7989
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Question BASIC 1.0

Message par __sam__ »

Le "CONSOLE,,,2" qui supprime le scroll est pas mal non plus. A voir si ca marche aussi en basic 1 (pas de contre-indication dans la doc).
Capture.PNG
Capture.PNG (256.4 Kio) Consulté 1653 fois
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Daniel
Messages : 17426
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Question BASIC 1.0

Message par Daniel »

HuggyOne76 a écrit : 11 juin 2023 21:29 si je veux afficher une chaîne de deux caractères, seul le premier est affiché avec pset. C’est normal je suppose ?
Oui c'est normal. PSET affiche un seul caractère.
Pour afficher plusieurs caractères il faut plusieurs PSET. Ou un PRINT"..."; suivi d'un PSET pour le dernier caractère.
La méthode de __sam__ avec CONSOLE est aussi une solution. Je ne l'ai pas essayée mais je suis sûr que ça fonctionne. Le curseur doit se retrouver en haut à gauche de l'écran, ensuite on peut faire un LOCATE si on veut le mettre ailleurs.
Daniel
L'obstacle augmente mon ardeur.
HuggyOne76
Messages : 62
Inscription : 30 nov. 2011 10:19

Re: Question BASIC 1.0

Message par HuggyOne76 »

Je teste demain 😉 Merci !!!!
HuggyOne76
Messages : 62
Inscription : 30 nov. 2011 10:19

Re: Question BASIC 1.0

Message par HuggyOne76 »

Bonjour tout le monde,
J’ai testé la commande CONSOLE,,,2 et effectivement ça fonctionne tout aussi bien que de mettre du PSET. Ça simplifie certaines petites routines du programme même si je suis sur un truc très simple (ça me permet d’y remettre le nez et à ma copine de débuter 😅)
Merci de votre aide en tout cas !
Répondre