Il faut avoir sur sa TI un programme qui permet d'executer un projet de plus de 24 Ko. Preos suffit.
Téléchargez la dernière version
Cette version comporte plus de 50 fonctions avec les structures suivantes:
label:
Goto label
If ... [Then]
Elseif ... [Then]
Else If ... [Then]
Else
Endif
L'opérateur Not est entièrement géré sans problème.
Il y a quelques erreurs d'espaces avec le détokeniseur.
Dans le pack il y a un programme d'exemple, un petit jeu ou il faut remettre les lettres ou les chiffres dans l'ordre.
Pour lancer l'exemple il faut faire:
gfabasic("invers")
Cette ligne transforme le fichier texte en fichier tokenisé portant le nom de {b]tokens[/b]
Ensuite il faut taper la ligne suivante pour executer le programme:
gfabasic("tokens")
Cette ligne restaure le fichier texte en untoken avec indentation automatique... et execute le programme. Il créer un fichier dit d'executions tokenbuf contenant que des tokens d'executions.
Voici la source du programme Inversion:
Rem --------- Rem INVERSION Rem --------- Dim A$(2) Cls Setfont 1 T=Int(Rnd*2)+1 A$(1)="ABCDEFGHI" A$(2)="123456789" T$=A$(T) Rem ------- Rem MELANGE Rem ------- I=1 Boucle1: If I<=20 Then V=Int(Rnd*9)+1 W=Int(Rnd*9)+1 X$=Mid$(T$,V,1) T$=Left$(T$,V-1)+Mid$(T$,W,1)+Right$(T$,9-V) T$=Left$(T$,W-1)+X$+Right$(T$,9-W) Inc I Goto Boucle1 Endif Rem ------------- Rem DESSIN DU JEU Rem ------------- Setfont 2 Print Space$(3);"INVERSION" Setfont 1 Recom: I=1 Boucle2: If I<=9 Then Print At(I*2,5);I Print At(I*2,3);Mid$(T$,I,1) Inc I Goto Boucle2 Endif If T$=A$(T) Then Goto Fin Endif Rem ------ Rem SAISIE Rem ------ Print At(2,8);"NB INVERSIONS ? "; Boucle3: N=Ngetchx() If N=264 Then End Else If Not(N-48>=2 And N-48<=9) Goto Boucle3 Endif Sub N,48 Print N I=1 Boucle4: If I<=N/2 Then X$=Mid$(T$,I,1) T$=Left$(T$,I-1)+Mid$(T$,N-I+1,1)+Right$(T$,9-I) T$=Left$(T$,N-I)+X$+Right$(T$,8-N+I) Inc I Goto Boucle4 Endif Inc E Goto Recom Rem --- Rem FIN Rem --- Fin: Print At(1,10);"VOUS AVEZ TROUVE " Print At(1,11);"EN ";E;" ESSAIS" End
Les sources du projet sont incluses dans le pack. Il y a encore beaucoup à faire avant d'avoir une version facile à utiliser et finie.