forum

Navigation du forum
Fil d’Ariane du forum – Vous êtes ici :ForumCommunauté: Border0Des lignes de basic...
Vous devez vous identifier pour créer des messages et des sujets.

Des lignes de basic...

L'idée m'est venue, en faisant n'importe quoi sur le chat, de lancer une nouvelle expérience participative. Pour que ce soit intéressant, il faut quand même fixer quelques règles (qui pourront évoluer au fil du temps):

  1. V Il n'est possible de programmer qu'en BASIC
  2. V Il n'est possible de poster qu'une seule ligne à la fois
  3. X Il est interdit d'écraser une ligne déjà existante
  4. V Il autorisé d'insérer des lignes entre celles déjà poster
  5. X Il est interdit de faire deux posts de suite
  6. X Il est interdit de discuter du sujet avec les autres participants
  7. V Il est possible de corriger une ligne renvoyant un message d'erreur (mais en gardant l'esprit dans l'esprit initial)
  8. X Il est interdit d'empêcher l'exécution d'autres lignes

On verra bien si ça prend...

Et pour commencer, sans surprise (parce que je suis nul et parce que...):

Jerres 12 @ Border 0 http://jerres12.net/

10 CLS: BORDER 0

Jerres 12 @ Border 0 http://jerres12.net/

100 cls: locate 0,0 : print "MENU"

(J'étais tenté de faire un 1 goto 1 xd)

Donc :

10 CLS: BORDER 0
100 cls: locate 0,0 : print "MENU"
RUN
Improper argument in 100
La commande 'Locate' débute à 1... Exemple: LOCATE 1, 1
🙄 On fait comment de ce cas ?

 

faire en sorte que la ligne ne soit jamais exécutée 😮

99 DEF FN rc(x,y)=SQR(x*x+y*y):DEF FN tc(x,y)=ATN(y/x):DEF FN xc(r,t)=r*COS(t):DEF FN yc(r,t)=r*SIN(t):DEG:FOR n=0 to 23:r=4+RND*16:ORIGIN RND*640,RND*400:FOR t=0 to 359 step 80\r:PLOT 0,0,1+n\8:DRAW FNxc(r,t),FNyc(r,t):NEXT t,n:ORIGIN 320,200:GOTO 101

à écouter avec la musique d'EXOLON lol

oh merde, l'habitude en ce moment d'être indexé sur 0. J'ai zapé ça.

Il semble y avoir quelques cas que je n'avais pas identifiés:

  • le cas où une ligne renvoie un message d'erreur (ligne 100 de @monos)
  • le cas où une ligne empêche l'exécution d'une autre ligne (ligne 99 de @solorenzero)

Il convient donc de rajouter quelques règles:

  • V Il est possible de corriger une ligne renvoyant un message d'erreur (mais en gardant l'esprit dans l'esprit initial)
  • X Il est interdit d'empêcher l'exécution d'autres lignes
Jerres 12 @ Border 0 http://jerres12.net/

Petit récapitulatif donc après correction des lignes 99 et 100:

10 CLS: BORDER 0

99 DEF FN rc(x,y)=SQR(x*x+y*y):DEF FN tc(x,y)=ATN(y/x):DEF FN xc(r,t)=r*COS(t):DEF FN yc(r,t)=r*SIN(t):DEG:FOR n=0 to 23:r=4+RND*16:ORIGIN RND*640,RND*400:FOR t=0 to 359 step 80\r:PLOT 0,0,1+n\8:DRAW FNxc(r,t),FNyc(r,t):NEXT t,n:ORIGIN 320,200

100 cls: locate 1,1 : print "MENU"

Jerres 12 @ Border 0 http://jerres12.net/

Rajouter une ligne de code, c'est pas en option ^^

Règle n°5 : Il est interdit de faire deux posts de suite 😮

J'imagine que ça ne m'autorise pas à continuer le programme !

Et non @solorenzero, tu ne peux pas 🙂

Mais pour t'aider à avancer je propose une ligne 20 dans laquelle je peux exprimer tout mon talent créatif :

20 MODE 1 : LOCATE 16,12 : PRINT "DE L'EAU" : FOR I=1 TO 64 : INK 1,24 : DRAW RND*640,RND*400 : NEXT : LOCATE 8,13 : PRINT "DES SPAGHETTI DANS L'EAU"

Jerres 12 @ Border 0 http://jerres12.net/