Accueil Ti-Gen Foire Aux Questions Chat sur le chan #tigcc sur IRC
Liste des membres Rechercher Aide
Bienvenue Invité !   Se connecter             Mes sujets   
Administrer
0 membre(s) et 1 visiteur(s) actif(s) durant les 5 dernières minutes Utilisateurs actifs : Aucun membre + 1 visiteur
Avant de poster sur le forum, il y a des régles de bases à respecter pour une bonne entente et un respect de tous.
Veuillez lire la charte du forum.
  :: Index » GFA-Basic TI68K » News » Bêta du projet (38 réponse(s))
./REPRISE DU POST PRECEDENT (post n°19)   Marquer comme non lu.
geogeo Ecrit le: Samedi 18 décembre 2004 à 21:15 Déconnecté(e)    Voir le profil de geogeo Envoyer un email à geogeo Visiter le site WEB de geogeo Envoyer un message privé à geogeo  


Dernière version du projet (je le diffuse car je compte reprendre le développement du portail de Ti-Gen et comme je ne peux pas tout faire en même temps, GFA Basic sera un peu en pause).

Cette version supporte tous les modèles de calculatrice, TI92+/TI89/TI89T & V200.



Donc comme d'habitude, envoyez tous les fichiers se trouvant dans le dossier GFA-Basic/bin et dans le dossier GFA-TEM/bin sur votre TI, ensuite envoyer une démo par exemple ce situant dans le dossier démo puis exécuter un programme en tapant gfaexec("nom_du_prog")
GFA-Basic va créer un fichier tokens.bas contenant votre programme au format GFA-Basic, tokenbuf.gtk au format langage bas niveau pour GFA-TEM et untoken.text contenant le code source de votre programme mais auto-indenté... obtenu à partir du fichier tokens.bas.

Les nouveaux sont assez importantes dans cette bêta comme le support des chaînes de caractères sans trop de restrictions (reste la pile qui a une taille limitée de 1 Ko donc faut pas abuser des grosses chaînes de caractères!!!), elle supporte les tableaux de tous les types même chaînes de caractères, elle supporte la concanétation de chaînes, les constantes (HW_VERSION, CALCULATOR, AMS_2XX, RR_LEFT, LCD_WIDTH... (voir la table des constantes dans les sources ou dans le topic sur le format d'un fichier BAS ou même dans TIGCC). Cette bêa supporte aussi le signe racine carré et exponentielle de la TI. Bref beaucoups de nouveautés très interessante.

A noter qu'un programme quitte tout seul dans demander d'appuyer sur une touche donc le mieux et d'écrire ces 2 lignes à la fin de chaque programme.

repeat
until getkey


Voici la liste des fonctions développées et des possibilités du langage:

Evolution du projet. Et TODO:
-----------------------------

- Gestion des nombres (flottants, entiers).
- Gestion des variables numériques (flottants, entiers, booléens).
- Gestion du transtypage dynamique.
- Gestion de l'affectation.
- Gestion des opérateurs méthématiques:
Additon = +
Soustraction = -
Multiplication = *
Division = /
Division entière = \ ou Div
Puissance = ^
Modulo = Mod
- Gestion des opérateurs de comparaisons:
Egal = =
Supérieur = >
Inférieur = <
Supérieur ou égal = >= ou signe TI
Inférieur ou égal = <= ou signe TI
Différent = <> ou signe TI
- Gestion des opérateurs logiques:
NON logique = Not
ET logique = And
OU Inclusif = Or
OU Exclusif = Xor
Implication = Imp
Equivalence = Eqv
- Gestion de la négation numérique soit (-).
- Gestion des structures:
Goto Label
Do ... Loop
While ... Wend
Repeat ... Until
If ... [Then] ... ElseIf ... [Then] ... Else ... Endif
For ... [To][DownTo] ... Next
For ... To ... Step ... Next
- Gestion de Exit [If] pour quitter une structure précédente sauf structure If et Goto Label.
- Gestion des opérateurs arithmétiques optimisés:
Add, Sub, Mul, Div, Inc et Dec.
- Gestion des constantes:
TRUE
FALSE
PI
- Gestion du signe puissance de dix et Pi de la TI.
- Gestion des commentaires en début de ligne avec ' et en milieu de ligne avec !
- Gestion des nombres en binaire, hexadécimal ou en octal avec &X, &H et &O réciproquement.
- Possibilité de forcer un entier à être un flottant en ajoutant un point à la fin de ce nombre comme par exemple 52. ou 52.0
- Gestion complète de Print et Print At avec la possibilité d'utiliser , ou ; ou ' pour séparer des données. (les chaînes de caractères ne sont pas gérées).
- Autoindentation pour le détokeniseur.
- Possibilité d'utiliser - comme négation (-) ainsi A=A*-3 est possible!
- Possibilité de taper Else If à la place de Elseif.
- Apostrophes côte à côte autorisées Genre Print 25''52.
- Supporte les tableaux de flottants, d'entiers et de booléeans.
- Lecture d'une chaîne de caractères et affichage avec Print.
- Gestion des variables de type chaînes de caractères.
- Gestion des tableaux de chaînes de caractères.
- Concanétation de chaînes de caractères. Opérateur +, fonctionne avec les variables et les tableaux.
- Opérateurs de comparaisons avec les chaînes de caractères. (<, >, <=, >=, <>, =).
- Supporte les signes mathématiques de la TI soit PI, exponentielle de 1 (e), fonction exponentielle 'e^(' et la racine carrée.
- Supporte les constantes du type (CALCULATOR, HW_VERSION, LCD_xxx, AMSx_xx, RR_xxx, KEY_xxx...).


Une instruction de commandes est la première instruction d'une ligne.
Une instruction de fonctions est une instruction qui se trouve n'importe où sur une ligne et qui retourne une valeur.


Liste des instructions de commandes:
====================================

Print [,|;|'][data]= Affichage de données.
Print At(x,y)[,|;|'][data] = Affichage de données à des coordonnées précises.
Cls = Efface l'écran et positionne à 0,0 le curseur de texte pour Print.
Add var,x = Ajoute x à var soit var=var+x.
Sub var,x = Soustrait x à var soit var=var-x.
Mul var,x = Multiplie x à var soit var=var*x
Div var,x = Divise var par x soit var=var/x.
Inc x = Incrémente x de 1 soit x=x+1.
Dec x = Décremente x de 1 soit x=x-1.
Plot x,y = Affiche un point clippé au coordonnées x et y.
Line x0,y0,x1,y1 = Dessine une ligne clippée de coordonnées x0,y0 et x1,y1.
Dim tab(x[,x...])[,tab(x[,x...])...] = Dimensionne et déclare un tableau.
Box x0,y0,x1,y1 = Dessine un rectangle vide clippé de coordonnées x0,y0 à x1,y1.


Liste des instructions de fonctions:
====================================

Abs(x) = Valeur absolue de x.
Cos(x) = Cosinus de x.
Sin(x) = Sinus de x.
Rnd[()] = Retourne un nombre aléatoire compris entre 0 et 1.
Random(x) = Retourne un nombre aléatoire compris entre 0 et x-1.
Timer[()] = Retourne le temps écoulé depuis l'exécution du programme. Ce temps est donné en 1/200 de secondes.
Getkey[()] = Retourne la combinaison de touche pressées.
Atn(x) = Retourne l'arctangente de x.
Even(x) = Détermine la parité de x (paire).
Odd(x) = Détermine la parité de x (impaire).
Sgn(x) = Détermine le signe de x (0, si x=0; +1, si x>0; -1, si x<0).
Tan(x) = Calcule la tangente de x.
Log(x) = Calcule le logarithme népérien de x.
Log10(x) = Calcule le logarithme décimal (base 10) de x. Log10(x)=Log(x)/Log(10).
Sqr(x) = Calcule la racine carrée de x. Sqr(x)=x^(1/2).
Exp(x) = Calcule l'exponentielle de x (e^x e=2.7182818285).
Fix(x) = Récupère la partie entière de x.
Frac(x) = Récupère la partie décimale de x. Frac(52.36)=0.36.
Round(x) = Arrondie le nombre x. (Risque d'erreur avec des nombres supérieurs à 2 milliars en valeur absolue).
Asc(x$) = Retourne le code ASCII du premier caractère de la chaîne x$.
Bin$(x) = Convertit la valeur x en une chaîne de caractères représentant l'écriture binaire de x.
Hex$(x) = Convertit la valeur x en une chaîne de caractères représentant l'écriture hexadécimal de x.
Oct$(x) = Convertit la valeur x en une chaîne de caractères représentant l'écriture octale de x.
Chr$(x) = Retourne le caractère dont le code ASCII est x.
Len(x$) = Calcule la longueur de la chaîne de caractères x$.


Voilà j'espère que vous testerez rapidement cette version et que vous aurez le courage de développer de petits softs (avec les fonctions de tracées de base...). :)
-Edité le Samedi 18 décembre 2004 à 21:21 par geogeo-
Webmaster du site.
Programmeur sur TI68K. Arkanoid, Nebulus, GFA-Basic.

Plus d'informations sur GFA-Basic (un langage Basic pour TI68K).
http://www.tigen.org/gfabasic
    
./Post n°20   Marquer comme non lu.
geogeo Ecrit le: Mardi 21 décembre 2004 à 14:01 Déconnecté(e)    Voir le profil de geogeo Envoyer un email à geogeo Visiter le site WEB de geogeo Envoyer un message privé à geogeo  


Un petit test à l'arrache serait sympa sinon ça sert à rien que je me casse la tête à diffsuer une version!
Webmaster du site.
Programmeur sur TI68K. Arkanoid, Nebulus, GFA-Basic.

Plus d'informations sur GFA-Basic (un langage Basic pour TI68K).
http://www.tigen.org/gfabasic
    
./Post n°21   Marquer comme non lu.
Dari Ecrit le: Mardi 28 décembre 2004 à 18:25 Déconnecté(e)    Voir le profil de Dari Envoyer un email à Dari Visiter le site WEB de Dari Envoyer un message privé à Dari  

Boulette !
Ca marche pas sur ma calto.
J'ai fait le tuto de serioussam, et ça me dit :
Erreur 1 : Ligne 1 : Erreur de Syntaxe.

Cls
Setfont 1
Print "Salut !"
"iPod, therefore, I am."

http://media.laquadrature.net/Quadrature_black-out_HADOPI_468x60px.gif

    
./Post n°22   Marquer comme non lu.
geogeo Ecrit le: Mardi 28 décembre 2004 à 19:20 Déconnecté(e)    Voir le profil de geogeo Envoyer un email à geogeo Visiter le site WEB de geogeo Envoyer un message privé à geogeo  


La fonction Setfont n'existe pas encore dans cette version, confère la liste des fonctions pour voir celles développées.


Liste des instructions de commandes:
====================================

Print [,|;|'][data]= Affichage de données.
Print At(x,y)[,|;|'][data] = Affichage de données à des coordonnées précises.
Cls = Efface l'écran et positionne à 0,0 le curseur de texte pour Print.
Add var,x = Ajoute x à var soit var=var+x.
Sub var,x = Soustrait x à var soit var=var-x.
Mul var,x = Multiplie x à var soit var=var*x
Div var,x = Divise var par x soit var=var/x.
Inc x = Incrémente x de 1 soit x=x+1.
Dec x = Décremente x de 1 soit x=x-1.
Plot x,y = Affiche un point clippé au coordonnées x et y.
Line x0,y0,x1,y1 = Dessine une ligne clippée de coordonnées x0,y0 et x1,y1.
Dim tab(x[,x...])[,tab(x[,x...])...] = Dimensionne et déclare un tableau.
Box x0,y0,x1,y1 = Dessine un rectangle vide clippé de coordonnées x0,y0 à x1,y1.


Liste des instructions de fonctions:
====================================

Abs(x) = Valeur absolue de x.
Cos(x) = Cosinus de x.
Sin(x) = Sinus de x.
Rnd[()] = Retourne un nombre aléatoire compris entre 0 et 1.
Random(x) = Retourne un nombre aléatoire compris entre 0 et x-1.
Timer[()] = Retourne le temps écoulé depuis l'exécution du programme. Ce temps est donné en 1/200 de secondes.
Getkey[()] = Retourne la combinaison de touche pressées.
Atn(x) = Retourne l'arctangente de x.
Even(x) = Détermine la parité de x (paire).
Odd(x) = Détermine la parité de x (impaire).
Sgn(x) = Détermine le signe de x (0, si x=0; +1, si x>0; -1, si x<0).
Tan(x) = Calcule la tangente de x.
Log(x) = Calcule le logarithme népérien de x.
Log10(x) = Calcule le logarithme décimal (base 10) de x. Log10(x)=Log(x)/Log(10).
Sqr(x) = Calcule la racine carrée de x. Sqr(x)=x^(1/2).
Exp(x) = Calcule l'exponentielle de x (e^x e=2.7182818285).
Fix(x) = Récupère la partie entière de x.
Frac(x) = Récupère la partie décimale de x. Frac(52.36)=0.36.
Round(x) = Arrondie le nombre x. (Risque d'erreur avec des nombres supérieurs à 2 milliars en valeur absolue).
Asc(x$) = Retourne le code ASCII du premier caractère de la chaîne x$.
Bin$(x) = Convertit la valeur x en une chaîne de caractères représentant l'écriture binaire de x.
Hex$(x) = Convertit la valeur x en une chaîne de caractères représentant l'écriture hexadécimal de x.
Oct$(x) = Convertit la valeur x en une chaîne de caractères représentant l'écriture octale de x.
Chr$(x) = Retourne le caractère dont le code ASCII est x.
Len(x$) = Calcule la longueur de la chaîne de caractères x$.

-Edité le Mardi 28 décembre 2004 à 19:21 par geogeo-
Webmaster du site.
Programmeur sur TI68K. Arkanoid, Nebulus, GFA-Basic.

Plus d'informations sur GFA-Basic (un langage Basic pour TI68K).
http://www.tigen.org/gfabasic
    
./Post n°23   Marquer comme non lu.
Dari Ecrit le: Mardi 28 décembre 2004 à 19:36 Déconnecté(e)    Voir le profil de Dari Envoyer un email à Dari Visiter le site WEB de Dari Envoyer un message privé à Dari  

Ca marche définitivement pas :
Cls
Print "Salut !"

Donne :
Erreur 1 : Ligne 1 : Erreur de syntaxe.

C'est abusé, j'ai même essayé en désinstallant PreOS, mais rien à faire. Que se passe-t-il ?
"iPod, therefore, I am."

http://media.laquadrature.net/Quadrature_black-out_HADOPI_468x60px.gif

    
./Post n°24   Marquer comme non lu.
geogeo Ecrit le: Mardi 28 décembre 2004 à 19:53 Déconnecté(e)    Voir le profil de geogeo Envoyer un email à geogeo Visiter le site WEB de geogeo Envoyer un message privé à geogeo  


Euh ta bien pris le pack du post index.php?action=sujet&forum=5&cat=105&topic=1042&page=2&p=23#19 et tu as bien mis sur ta TI tous les fichiers se trouvant dans le dossier GFABasic/bin et GFATEM/bin??

Le dernier pack:
http://tisofts.free.fr/GFABasic/GFA1.zip

Ensuite faut écrire ton code dans un fichier texte genre test.text

Cls
Print "Salut !"
Repeat
Until getkey


Ensuite lancer le programme en tapant gfaexec("test")

Je viens d'essayer et ça fonctionne.
-Edité le Mardi 28 décembre 2004 à 19:53 par geogeo-
Webmaster du site.
Programmeur sur TI68K. Arkanoid, Nebulus, GFA-Basic.

Plus d'informations sur GFA-Basic (un langage Basic pour TI68K).
http://www.tigen.org/gfabasic
    
./Post n°25   Marquer comme non lu.
Dari Ecrit le: Mardi 28 décembre 2004 à 20:18 Déconnecté(e)    Voir le profil de Dari Envoyer un email à Dari Visiter le site WEB de Dari Envoyer un message privé à Dari  

Ah, je viens de réessayer avec la version de http://tisofts.free.fr/GFABasic/GFA1.zip, et ça a marché.
Merci pour tout, geogeo, et bonne chance pour la suite.
"iPod, therefore, I am."

http://media.laquadrature.net/Quadrature_black-out_HADOPI_468x60px.gif

    
./Post n°26   Marquer comme non lu.
serioussam Ecrit le: Jeudi 30 décembre 2004 à 18:53 Déconnecté(e)    Voir le profil de serioussam Envoyer un email à serioussam Visiter le site WEB de serioussam Envoyer un message privé à serioussam  

Ouf, j'ai cru que j'avais écrit des conneries :x
la shasse é ouvèrte poure lay maychants
    
./Post n°27   Marquer comme non lu.
geogeo Ecrit le: Mercredi 23 février 2005 à 23:06 Déconnecté(e)    Voir le profil de geogeo Envoyer un email à geogeo Visiter le site WEB de geogeo Envoyer un message privé à geogeo  


Une bêta demain avec 2 jeux. :)
En attendant je vous met 2 sources qui fonctionnes pour que vous voyez à quoi ça ressemble!!!


Rem ------
Rem SLALOM
Rem ------
X_Min%=2
X_Max%=(LCD_WIDTH\8)-X_Min%-2
Setfont F_4X6
Piquet$=Mki$(0)+Mki$(0)+Mki$(&H0010)
For I%=1 To 16
  Read Data%
  Piquet$=Piquet$+Mki$(Data%)
Next I%
Data 256,768,1792,3840
Data 7936,16128,256,256
Data 256,256,256,256
Data 256,256,256,256
Skieur$=Mki$(0)+Mki$(0)+Mki$(&H0010)
For I%=1 To 16
  Read Data%
  Skieur$=Skieur$+Mki$(Data%)
Next I%
Data 896,896,256,1984
Data 4064,2976,5056,2976
Data 1684,936,724,672
Data 960,640,5376,2560
Sapin$=Mki$(0)+Mki$(0)+Mki$(&H0010)
For I%=1 To 16
  Read Data%
  Sapin$=Sapin$+Mki$(Data%)
Next I%
Data 0,0,256,896
Data 1984,4064,4064,8176
Data 16376,16376,32764,65534
Data 896,896,896,0
Cls
X%=X_Max% Div 2
C%=75
Rem ------
Rem LE JEU
Rem ------
Jeu:
A%=Random(X_Max%-X_Min%)+X_Min%
'Procedure screen(x%,3)
For I%=0 To 7
  For J%=0 To 7
    Src!=Point((X%-1)*8+I%,(3-1)*8+J%)
    Exit If Src!
  Next J%
  Exit If Src!
Next I%
Z!=Src!
For I%=0 To 7
  For J%=0 To 7
    Src!=Point(X%*8+I%,(3-1)*8+J%)
    Exit If Src!
  Next J%
  Exit If Src!
Next I%
If Z! Or Src! Then
  Goto Perdu
Endif
If T%/16=T%\16 Then
  Sprite Piquet$,(A%-1)*8,LCD_HEIGHT-24
  Sprite Piquet$,(A%+5)*8,LCD_HEIGHT-24
  B%=A%
  Goto Suite
Endif
If T%/12=T%\12 Then
  Sprite Sapin$,(A%-1)*8,LCD_HEIGHT-24
  Goto Suite
Else
  Print At(1,22)
  Print
Endif
Suite:
Inc T%
Setfont F_6X8
Print At(1,1);V%
Setfont F_4X6
C%=Getkey
If C%=KEY_ESC Then
  Goto Fin_Prog
Elseif C%=KEY_LEFT Then
  If X%>X_Min% Then
    Dec X%
  Endif
Else If C%=KEY_RIGHT
  If X%<X_Max% Then
    Inc X%
  Endif
Endif
Sprite Skieur$,(X%-1)*8,0
If B% And T%/16=T%\16
  If X%-1>=B%-1 And X%-1<=(B%+5) Then   
    Inc V%
  Else
    Sub V%,5
  Endif
  B%=0
Endif
Goto Jeu
Rem -----
Rem PERDU
Rem -----
Perdu:
Setfont F_6X8
Print At(1,1);V%
Print At(1,3);"Vous avez perdu!!!"
Repeat
Until RR_ESC
Fin_Prog:



Rem --------
Rem COCONUTS
Rem --------
Dim C%(10,3)
Coco1$=Mki$(0)+Mki$(0)+Mki$(&H0010)
For I%=1 To 16
 Read Data%
 Coco1$=Coco1$+Mki$(Data%)
Next I%
Data 0,28672,64540,56895
Data 36723,865,15169,32752
Data 64248,58556,51486,35086
Data 4366,6924,5384,4352
Coco2$=Mki$(0)+Mki$(0)+Mki$(&H0010)
For I%=1 To 16
 Read Data%
 Coco2$=Coco2$+Mki$(Data%)
Next I%
Data 6912,5376,4352,4352
Data 6912,5376,4352,4352
Data 6912,5376,4352,4352
Data 6912,5376,4352,4352
Coco3$=Mki$(0)+Mki$(0)+Mki$(&H0010)
For I%=1 To 16
 Read Data%
 Coco3$=Coco3$+Mki$(Data%)
Next I%
Data 6912,5376,4352,4352
Data 6912,5376,4352,4352
Data 23296,13636,4424,39248
Data 38176,21328,12680,65534
Noix$=Mki$(0)+Mki$(0)+Mki$(&H0008)
For I%=1 To 8
 Read Data%
 Noix$=Noix$+Mki$(Data%)
Next I%
Data 15360,32256,65280,65280
Data 65280,65280,65280,32256
Singe$=Mki$(0)+Mki$(0)+Mki$(&H0010)
For I%=1 To 16
 Read Data%
 Singe$=Singe$+Mki$(Data%)
Next I%
Data 65534,21844,27308,16376
Data 51142,50502,26572,13208
Data 8176,1984,1984,1984
Data 1728,1088,3168,7280
Del_Noix$=Mki$(0)+Mki$(0)+Mki$(&H0208)
For I%=1 To 16
  Del_Noix$=Del_Noix$+Mki$(0)+Mki$(0)
Next I%
Del_Singe$=Mki$(0)+Mki$(0)+Mki$(&H0210)
For I%=1 To 16
  Del_Singe$=Del_Singe$+Mki$(0)+Mki$(0)
Next I%
Cls
Sprite Coco1$,0,0
Sprite Coco2$,0,16
Get 0,15,8,31,Coco2$
Put 0,32,Coco2$
Put 0,48,Coco2$
Sprite Coco3$,0,64
Get 0,0,15,79,Coco$
Clr Coco1$,Coco2$,Coco3$
Cls
Setfont F_6X8
Pos%=1
Q%=1
D%=1
Score%=0
Vies%=5
N=0.1
Rem ------
Rem LE JEU
Rem ------
Cls
'Dessine palmiers
For I%=1 To 3
  Put (I%*5-1)*8,8,Coco$
Next I%
Sprite Singe$,(1+Pos%*5)*8+1,84
Jeu:
Print At(1,1);"SCORE:";Score%'''"VIES:";Vies%
J%=1
Repeat
  Pause 4
  Key%=Getkey
  If Key%=KEY_ESC Then
    Goto Fin
  Elseif Key%  
    Pos%=Pos%+(Key%=KEY_RIGHT)*(Pos%<3)-(Key%=KEY_LEFT)*(Pos%>1)
    For I%=1 To 3
      Sprite Del_Singe$,(1+I%*5)*8+1,84
    Next I%
    Sprite Singe$,(1+Pos%*5)*8+1,84
  Endif
  Q%=D%
  For I%=1 To 9
    
    If C%(Q%,J%) 
      Sprite Noix$,(J%*5+2)*8,(I%-1)*8+12
    Else
      Sprite Del_Noix$,(J%*5+2)*8,(I%-1)*8+12 
    Endif
    Inc Q%
    If Q%=11 Then
      Q%=1
    Endif
  Next I%
  If C%(Q%,J%)=0
    Goto Suite
  Endif
  If Pos%<>J% Then
    Goto Suite1
  Endif
  Inc Score%
  If Score%/5=Score% Div 5
    Add N,0.02
  Endif
  If Score%/12=Score%\12
    Inc Vies%
  Endif
  C%(Q%,J%)=0
  Suite:
  Inc J%
Until J%=4
D%=Q%
If (Rnd()>N) Then
  Goto Jeu
Endif
C%(Q%,Random(3)+1)=1
Goto Jeu
Suite1:
Dec Vies%
If Vies%
  Goto Suite
Endif
Print At(1,1);"Vous avez perdu!!!"
Print "Appuyez sur ESC."
Repeat
Until RR_ESC
Fin:

-Edité le Mercredi 23 février 2005 à 23:07 par geogeo-
-Edité le Mercredi 23 février 2005 à 23:09 par geogeo-
Webmaster du site.
Programmeur sur TI68K. Arkanoid, Nebulus, GFA-Basic.

Plus d'informations sur GFA-Basic (un langage Basic pour TI68K).
http://www.tigen.org/gfabasic
    
./Post n°28   Marquer comme non lu.
Kevin Kofler Ecrit le: Jeudi 24 février 2005 à 00:30 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


Arrrgh, tu utilises des chaînes de caractères pour stocker des sprites?! #sick#
Bon, je ne devrais pas me plaindre, parce que Tokens89 stocke aussi un peu tout et n'importe quoi dans des chaînes de caractères. :D
Mais ce n'est vraiment pas le niveau d'efficacité attendu pour une programme sur calculatrice. :(
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
./Post n°29   Marquer comme non lu.
geogeo Ecrit le: Jeudi 24 février 2005 à 13:09 Déconnecté(e)    Voir le profil de geogeo Envoyer un email à geogeo Visiter le site WEB de geogeo Envoyer un message privé à geogeo  


Raah je suis pas Flash moi, c'est un petit jeu après on pourra manipuler des zones mémoires avec malloc et free et aussi des fichiers qui eux contiendront les sprites. Là c'est un exemple.
Mais bon réussir à interpréter et executer ce genre de code en ne bouffant que 5 Ko de mémoire, j'estime que c'est déjà bien! :p
Webmaster du site.
Programmeur sur TI68K. Arkanoid, Nebulus, GFA-Basic.

Plus d'informations sur GFA-Basic (un langage Basic pour TI68K).
http://www.tigen.org/gfabasic
    
./Post n°30   Marquer comme non lu.
geogeo Ecrit le: Jeudi 24 février 2005 à 21:19 Déconnecté(e)    Voir le profil de geogeo Envoyer un email à geogeo Visiter le site WEB de geogeo Envoyer un message privé à geogeo  


Nouvelle release de GFA-Basic/GFA-TEM.



Vous trouverez dans le pack un fichier lisezmoi.txt et beta.txt. Je vous conseille vivement de les lires.

Comme vous le savez, il n'y a pas d'environnement donc pour trouver une erreur et lancer un programme en GFA-Basic ce n'est pas toujours facile!

Au menu de cette release la possibilité de faire des petits jeux et bien d'autres choses!!!
Confère exemples pour voir les capacités de la bête.
-Edité le Jeudi 24 février 2005 à 21:28 par geogeo-
Webmaster du site.
Programmeur sur TI68K. Arkanoid, Nebulus, GFA-Basic.

Plus d'informations sur GFA-Basic (un langage Basic pour TI68K).
http://www.tigen.org/gfabasic
    
./Post n°31   Marquer comme non lu.
Sasume Ecrit le: Jeudi 24 février 2005 à 21:29 Déconnecté(e)    Voir le profil de Sasume Envoyer un email à Sasume Visiter le site WEB de Sasume Envoyer un message privé à Sasume  

#top#
Par contre le code est assez moche #sick# Dommage.
Enfin, c'est peut-être un question d'habitude. Ou simplement on n'a pas les mêmes façons d'écrire.
    
./Post n°32   Marquer comme non lu.
geogeo Ecrit le: Jeudi 24 février 2005 à 21:34 Déconnecté(e)    Voir le profil de geogeo Envoyer un email à geogeo Visiter le site WEB de geogeo Envoyer un message privé à geogeo  


Je suis d'accord avec toi que le code est moche mais bon ça reste du GFA-Basic et de plus c'est un code d'exemple pour montrer le plus possible les possibilités de ce langage.
Webmaster du site.
Programmeur sur TI68K. Arkanoid, Nebulus, GFA-Basic.

Plus d'informations sur GFA-Basic (un langage Basic pour TI68K).
http://www.tigen.org/gfabasic
    
./Post n°33   Marquer comme non lu.
Sasume Ecrit le: Jeudi 24 février 2005 à 23:34 Déconnecté(e)    Voir le profil de Sasume Envoyer un email à Sasume Visiter le site WEB de Sasume Envoyer un message privé à Sasume  

Je viens de tester, quelques remarques :
La tokenisation est longue :( Plus que celle du tibasic.
La démo de 3D est une bonne idée. Il faudrait faire une belle projection en prespective avec des mouvements sur les 6 dof (si tu veux je te le fais [si j'ai du temps]). Cela dit, l'affichage scintille beaucoup :(
J'ai l'impression que la détection des touches n'est pas très fiable.
Pourquoi quand je lance un prog avec gfaexec l'affichage dans la status line est bizarre (la dernière ligne de pixels) ?
    
./Post n°34   Marquer comme non lu.
geogeo Ecrit le: Vendredi 25 février 2005 à 16:17 Déconnecté(e)    Voir le profil de geogeo Envoyer un email à geogeo Visiter le site WEB de geogeo Envoyer un message privé à geogeo  


Sasume :
Je viens de tester, quelques remarques :
La tokenisation est longue :( Plus que celle du tibasic.
La démo de 3D est une bonne idée. Il faudrait faire une belle projection en prespective avec des mouvements sur les 6 dof (si tu veux je te le fais [si j'ai du temps]). Cela dit, l'affichage scintille beaucoup :(
J'ai l'impression que la détection des touches n'est pas très fiable.
Pourquoi quand je lance un prog avec gfaexec l'affichage dans la status line est bizarre (la dernière ligne de pixels) ?


Tokenisation longue car il y a la décompression qui s'effectue en 2 fois pour GFA-Basic, une première passe pour réaliser un fichier token.bas et une autre passe pour détokeniser le fichier token.bas, reconstruire un fichier texte avec untokens.text et enfin créer un fichier d'execution pour GFA-TEM.
Cela sera optimisé mais quand j'aurai du temps et ensuite quand un environnement sera réalisé.
Je pense intégrer des tables de hachages.
Donc la tokenisation, détokenisation n'est pas un pb.

L'affichage scintille car il n'y a pas de fonctions graphiques, si tu regardes le code tu verras Cls qui efface l'écran et qui correspond à la fonction ClrScr. De plus il n'y a pas de Double Buffering. Bref les programmes si joints ne sont pas là pour faire 'jolie' mais pour mpontrer les capacités du langage. Y a encore énormément de boulot à faire.

Comment ça la détection de touches n'est pas fiable, tu as un exemple?

Et pour finir, l'affichage du texte "Appuyer sur une touche pour continuer" est temporaire, y a pas d'interface donc j'ai trouvé ça pour avoir une transition entre GFA Basic et GFA-TEM mais cela changera avec un environnement. Donc ce qui explique l'affichage de la dernière ligne dans la statut ligne.

Ensuite ne pas oublier qu'une erreur de syntaxe ou autre est affiché dans la statut ligne. Cela changera mais faut du temps.

La version diffuser est une bêta pas une version complète...
-Edité le Vendredi 25 février 2005 à 16:20 par geogeo-
Webmaster du site.
Programmeur sur TI68K. Arkanoid, Nebulus, GFA-Basic.

Plus d'informations sur GFA-Basic (un langage Basic pour TI68K).
http://www.tigen.org/gfabasic
    
./Post n°35   Marquer comme non lu.
Sasume Ecrit le: Vendredi 25 février 2005 à 20:52 Déconnecté(e)    Voir le profil de Sasume Envoyer un email à Sasume Visiter le site WEB de Sasume Envoyer un message privé à Sasume  

Pour ce qui est de la status line, le problème est que la chaine n'est pas affichée correctement (la dernière ligne de pixels, la plus basse) contient n'importe quoi.

C'est quoi la différence entre GFA-BASIC et GFA-TEM ?
    
./Post n°36   Marquer comme non lu.
geogeo Ecrit le: Vendredi 25 février 2005 à 22:04 Déconnecté(e)    Voir le profil de geogeo Envoyer un email à geogeo Visiter le site WEB de geogeo Envoyer un message privé à geogeo  


Pour ce qui est de la status line, le problème est que la chaine n'est pas affichée correctement (la dernière ligne de pixels, la plus basse) contient n'importe quoi.


Normal elle contient le contenu de la statut line avant affichage c'est à dire genre:
MAIN            RAD  AUTO...

Mais comme je l'ai dit, c'est provisoire donc tu risques de ne plus voir ce genre de chose dans la prochaine release!


C'est quoi la différence entre GFA-BASIC et GFA-TEM ?


GFA-Basic doit être executé 2 fois pour effectuer 2 phase.
La première correspond au scanner et au parser avec vérification de syntaxe et création d'un fichier tokenisé.

La deuxième phase correspond à la détokenisation du fichier tokenisé, reconstruction du fichier texte avec indentations automatique... Et ensuite à la création d'un buffer de OP-Codes pour GFA-TEM. Avec gestion des structures, des cas particuliés, remise en ordre des expressions...

Reste GFA-TEM qui ne fait que lire les OP-Codes et les executer.

Mais GFA-Basic et GFA-TEM seront confondus dans l'éditeur de texte. Cette question ne se posera plus. :)
-Edité le Vendredi 25 février 2005 à 22:04 par geogeo-
Webmaster du site.
Programmeur sur TI68K. Arkanoid, Nebulus, GFA-Basic.

Plus d'informations sur GFA-Basic (un langage Basic pour TI68K).
http://www.tigen.org/gfabasic
    
./Post n°37   Marquer comme non lu.
geogeo Ecrit le: Jeudi 3 mars 2005 à 17:10 Déconnecté(e)    Voir le profil de geogeo Envoyer un email à geogeo Visiter le site WEB de geogeo Envoyer un message privé à geogeo  


Je viens d'ajouter la possibilité de quitter à tout moment un programme avec la touche [ON]. Utile lors d'une boucle infinie. Ca fonctionne un peu de la même façon que le TI-Basic sauf que là on est sûr d'interrompre l'execution du programme à tout moment.
Et enfin GFA-TEM ne prend plus que 174 octets en mémoire (sans variables bien sûr). :D
Donc autant dire que GFA-TEM vous laisse toute la RAM de dispo!

[EDIT] Si quelqu'un veut cette version, je la diffuse!
-Edité le Jeudi 3 mars 2005 à 17:13 par geogeo-
Webmaster du site.
Programmeur sur TI68K. Arkanoid, Nebulus, GFA-Basic.

Plus d'informations sur GFA-Basic (un langage Basic pour TI68K).
http://www.tigen.org/gfabasic
    
./Post n°38   Marquer comme non lu.
geogeo Ecrit le: Lundi 7 mars 2005 à 20:44 Déconnecté(e)    Voir le profil de geogeo Envoyer un email à geogeo Visiter le site WEB de geogeo Envoyer un message privé à geogeo  


Ajout d'un patch dispo sur le site de GFA-Basic!
Webmaster du site.
Programmeur sur TI68K. Arkanoid, Nebulus, GFA-Basic.

Plus d'informations sur GFA-Basic (un langage Basic pour TI68K).
http://www.tigen.org/gfabasic
    
  :: Index » GFA-Basic TI68K » News » Bêta du projet (38 réponse(s))
Pages : 2/2     « 1 [2] » »|

.Répondre à ce sujet
Les boutons de code
[B]old[I]talic[U]nderline[S]trikethrough[L]ine Flip Hori[Z]ontallyFlip [V]erticallySha[D]ow[G]low[S]poilerCode [G][C]ite
Bullet [L]istList Item [K] Link [H][E]mail[P]icture SmileysHelp
Couleurs :
Saisissez votre message
Activer les smileys
     

Forum de Ti-Gen v3.0 Copyright ©2004 by Geoffrey ANNEHEIM
Webmaster: Kevin KOFLER, Content Admins: list, Server Admins: Tyler CASSIDY and Kevin KOFLER, DNS Admin: squalyl
Page générée en 48.15ms avec 18 requetes