Page 3 sur 3

Re: Basic z80

Message non luPosté: 30 Avr 2011, 14:37
de Wellen
Alors j'utilise ça sans la savoir, mais dans mon cas je remplace Exit par le "remplissage" de la condition :
Code: Tout sélectionner
:Repeat A=B
:If C: B - A
:End


En s'arrangeant pour que lorsque tu veux 'exit' ta boucle, elle ne soit pas relue avant de sortir

Re: Basic z80

Message non luPosté: 30 Avr 2011, 14:47
de Kiligolo
Oui mais là il faut attendre que la machine vérifie la condition alors qu'Exit quitte directement la boucle. Mais Exit étant inexistant en z80... ^^

Re: Basic z80

Message non luPosté: 30 Avr 2011, 14:57
de Wellen
Au pire, un goto et on en parle plus x)
Mais j'aime pas trop ça (voir le probleme de fuite de mémoire en plus..)

Re: Basic z80

Message non luPosté: 30 Avr 2011, 17:34
de Loulou 54
tama a écrit:Un goto à l'intérieur d'une boucle peut effectivement entrainer des fuites de mémoire et donc des ralentissements
Et il me semble pas avoir vu de break ou équivalent sur z80... :/

Oui c'est exactement ça.
J'ai fait des tests, en fait, si on sort d'une boucle par un goto, le programme, lui est toujours en attente d'un End et si on le fait plusieurs fois, la calto va "ouvrir" plein de boucles qu'elle ne fermera pas jusqu'à une erreur de mémoire !
On peux faire ce programme de test pour vérifier le problème :

Code: Tout sélectionner
Lbl A
While 1
Goto A
End


Et au bout d'un moment, on a l'erreur MEMORY.
Bon , j'ai trouvé une alternative. Merci pour vos remarques !

Wellen Il s'agissait de ton tout premier jeu avec le petit carré dans le labyrinthe ! :#top#:

Re: Basic z80

Message non luPosté: 01 Mai 2011, 00:07
de Loulou 54
Y a-t-il un moyen de gérer des erreurs ?
(comme "Try" sur 68k)

Ou y a-t-il possibilité de savoir si une variable est définie ou non ? (une matrice dans mon cas)

Merci ! :=):

Re: Basic z80

Message non luPosté: 01 Mai 2011, 07:01
de Kiligolo
Try n'existe pas sur z80 et si tu fais une simple condition aved une variable non définie, l'utilisateur verra une erreur...

Re: Basic z80

Message non luPosté: 01 Mai 2011, 14:31
de Wellen
Si tu changes la dimension de ta matrice à l'ouverture du programme et qu'elle était déjà definie avant, son contenu ne change pas (sauf si des valeurs se trouvent "en dehors", elles sont supprimées, et des 0 là ou tu "agrandis" ta matrice).
Donc définis la dimension de ta matrice, puis teste ensuite son contenu.
Code: Tout sélectionner
:{lignes,colonnes}-dim([A])

Re: Basic z80

Message non luPosté: 02 Mai 2011, 17:34
de Loulou 54
Wellen a écrit:Si tu changes la dimension de ta matrice à l'ouverture du programme et qu'elle était déjà definie avant, son contenu ne change pas (sauf si des valeurs se trouvent "en dehors", elles sont supprimées, et des 0 là ou tu "agrandis" ta matrice).
Donc définis la dimension de ta matrice, puis teste ensuite son contenu.
Code: Tout sélectionner
:{lignes,colonnes}-dim([A])


Ça c'est futé ! :#tritop#:
Je regrderai ça ! :=):