Forum

Des lignes de basic...
 
Notifications
Retirer tout

Des lignes de basic...

31 Posts
9 Utilisateurs
0 Reactions
165 Vu
(@jerres12)
Posts: 109
Début du sujet
 

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

 
Posté : 24/07/2019 10:36 pm
(@jerres12)
Posts: 109
Début du sujet
 

10 CLS: BORDER 0

 
Posté : 24/07/2019 10:36 pm
(@monos)
Posts: 6
 

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

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

 
Posté : 26/07/2019 6:15 am
(@retropoke)
Posts: 310
 

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 ?

 

 
Posté : 26/07/2019 10:27 am
(@solorenzero)
Posts: 27
 

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

 
Posté : 26/07/2019 1:38 pm
(@monos)
Posts: 6
 

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

 
Posté : 27/07/2019 5:18 am
(@jerres12)
Posts: 109
Début du sujet
 

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
 
Posté : 27/07/2019 2:23 pm
(@jerres12)
Posts: 109
Début du sujet
 

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"

 
Posté : 27/07/2019 2:25 pm
(@solorenzero)
Posts: 27
 

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 !

 
Posté : 27/07/2019 3:37 pm
(@jerres12)
Posts: 109
Début du sujet
 

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"

 
Posté : 28/07/2019 12:42 am
(@solorenzero)
Posts: 27
 

Sachant que n'importe qui peut faire CLS ou changer de MODE, on va avoir droit à une belle Basic Demo qui rendrait jaloux Roudoudou 😀

14 DEFINT a-q:DEF FN ae(x,y)=&C000+INT(x/8)*(x>=0)*(x<=638)+(INT((398-y)/16)*80+(INT((398-y)/2) MOD 8)*2048)*(y>=0)*(y<=398):SOUND 2,1,2000,14,,,31:FOR n=1 to 450:POKE FNae(RND*638,RND*398),2^(INT(RND*4)):NEXT

 

 
Posté : 28/07/2019 10:04 am
(@ldir-hector)
Posts: 81
Membre Admin
 

30 locate 16,13: print "à la tomate"

 
Posté : 28/07/2019 11:48 am
(@solorenzero)
Posts: 27
 

15 DEG:INK 3,13:FOR t=-100 TO 100 STEP 8:MOVE 320+2*t,0:DRAW 320,440,1,0:NEXT:MASK 170:FOR t=0 TO 400 STEP 2:MOVE 120+t/2+30*SIN(4.5*t),t:DRAWR 400-t,0,3,3:NEXT:DIM cc(12):RESTORE:FOR n=0 TO 12:READ cc(n):NEXT:DATA 0,1,2,11,20,23,26,25,24,15,6,3,4

 
Posté : 28/07/2019 12:36 pm
(@khomenor)
Posts: 3
Membre Admin
 

histoire de faire chier

 

2 NEW

 
Posté : 29/07/2019 11:16 pm
(@jerres12)
Posts: 109
Début du sujet
 

Ne jamais sous estimer le pouvoir de nuisance d'un programmeur 😀

La ligne ne respectant pas la règle 8, j'invoque donc le delete tout puissant:

DELETE 2

 
Posté : 30/07/2019 12:30 am
Page 1 / 3
Share: