π
<-

[AIDE]Programme(s) en Axe Parser

Assembleur, Axe, C/C++, ICE...

[AIDE]Programme(s) en Axe Parser

Unread postby Kiligolo » 24 Sep 2010, 20:51

Bonjour,

J'ai créé ce topic parce que j'avais besoin d'être aidé sur le langage de l'Axe Parser. Peut-être que d'autres en auront besoin, je ne sais pas mais en tout cas ils pourront le poster ici.

Je débute dans ce langage et j'aimerais demander de l'aide (notamment à kindermoumoute) sur un programme.

Voici le code:
Code: Select all
.AA
[0020129454555555]-Pic1
[102810385410286C]-Pic2
For(A,0,94)
For(B,30,64)
Pt-On(A,B,Pic1)
B+7-B
End
A+7-A
End
DispGraph
Repeat G=9
Repeat G
getKey-G
End
If G=1
A+1-A
End
Pt-On(A,B,Pic2)
DispGraph
End


Voila. critor2000, j'attends ton aide!
User avatar
Kiligolo
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 84.3%
 
Posts: 1465
Joined: 17 May 2010, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: 1reS

Re: [AIDE]Programme(s) en Axe Parser

Unread postby kindermoumoute » 24 Sep 2010, 20:59

Alors, pour une map, ça tombe bien vu que c'est ce que je n'arrive pas encore (je vais donc me lancer dans la recherche de comment ça marche les map ^^).
Pour le bonhomme, si j'ai bien compris, tu cherche à faire un mec qui se déplace sur une map?

dit moi si c'est le genre de code que tu cherche :
 
Show/Hide spoilerAfficher/Masquer le spoiler
Code: Select all
:[0020129454555555]-Pic1
:Repeat GetKey(9)
:If getKey(1) and (Y≠63
:   Y+1→Y
:End
:If getKey(2) and (X≠0
:   X-1→X
:End
:If getKey(3) and (X≠95
:   X+1→X
:End
:If getKey(4) and (Y≠0
:   Y-1→Y
:End
:Pt-On(X,Y,Pic1)
:DispGraph
:End


EDIT :
Dit moi ce que tu veut faire exactement, surtout en commentant ton code.


PS : au faite, je préfère que tu fasse les flèches = car je ne vois pas le caractère comme tu le met.
Tutoriel sur l'axe parser, un langage de programmation pour z80 ultra rapide et beaucoup plus facile que l'ASM !
User avatar
kindermoumouteProgrammeur
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 2.6%
 
Posts: 849
Joined: 30 Sep 2009, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: Ecole d'ingénieur informatique et industriel

Re: [AIDE]Programme(s) en Axe Parser

Unread postby Kiligolo » 25 Sep 2010, 12:50

Désolé de te répondre si tard j'ai été retiré de mon ordinateur de force! :#gni#:

Bref... Oui c'est ça que je veux faire. On arrête pas de me dire que l'axe parser c'est fait pour les jeux donc pour un début je me suis dit:
  1. Je fais une map avec un peu d'herbe (ça c'est fait)
  2. Je rajoute un bonhomme (ça aussi)
  3. J'ajoute une fonction qui le fait bouger (= Crash :#love#: )
  4. Et peut être je vais ajouter une maison ou une barrière... Enfin développer la map quoi.
  5. Si j'y arrive: faire d'autres maps... (et le cycle continue)
Voila tu as raison kindermoumoute c'est ça le code.

Je crois que je me suis planté sur les Getkeys :8): (ça c'est fait)
Et on pourrais pas faire une sous-boucle genre:
Code: Select all
:[0020129454555555]-Pic1
:Repeat GetKey(9)
:Repeat G  |
:Getkey     |}Ceci
:End       |
:If getKey(1) and (Y≠63
:   Y+1→Y
:End
:If getKey(2) and (X≠0
:   X-1→X
:End
:If getKey(3) and (X≠95
:   X+1→X
:End
:If getKey(4) and (Y≠0
:   Y-1→Y
:End
:Pt-On(X,Y,Pic1)
:DispGraph
:End

Pour que le programme aille plus vite (éviter qu'il ai fini la grande boucle pour continuer) ?
User avatar
Kiligolo
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 84.3%
 
Posts: 1465
Joined: 17 May 2010, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: 1reS

Re: [AIDE]Programme(s) en Axe Parser

Unread postby Kiligolo » 25 Sep 2010, 13:12

J'ai testé le programme sur ma calculatrice et... ça marche! :):
Il faudrait juste mettre le bonhomme sur la map avant les déplacements (on le voit pas au début) et faire un truc pour pas qu'il ne laisse de traces...
Le code en gros (qui affiche le bonhomme au début):
Code: Select all
:.TILEMAP
:[0020129454555555]→Pic1
:[102810385410286C]→Pic2
:DiagnosticOff
:0→X:0→Y
:For(A,0,94)
:For(B,30,64)
:Pt-On(A,B,Pic1)
:B+7→B
:End
:A+7→A
:End
:Pt-On(0,0,Pic2)
:DispGraph
:Repeat getKey(9)
:If getKey(1) and (Y≠63
:Y+1→Y
:End
:If getKey(2) and (X≠0
:X-1→X
:End
:If getKey(3) and (X≠95
:X+1→X
:End
:If getKey(4) and (Y≠0
:Y-1→Y
:End
:Pt-On(X,Y,Pic2)
:DispGraph
:End

EDIT: C'est mille fois plus rapide que le basic! :o:
User avatar
Kiligolo
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 84.3%
 
Posts: 1465
Joined: 17 May 2010, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: 1reS

Re: [AIDE]Programme(s) en Axe Parser

Unread postby Lionel Debroux » 25 Sep 2010, 15:51

EDIT: C'est mille fois plus rapide que le basic!

En effet. Axe conserve, à  peu de choses près, la facilité de programmation du BASIC, mais offre une vitesse d'exécution beaucoup plus élevée :):
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
User avatar
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 11.4%
 
Posts: 6875
Joined: 23 Dec 2009, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Class: -
GitHub: debrouxl

Re: [AIDE]Programme(s) en Axe Parser

Unread postby kindermoumoute » 25 Sep 2010, 18:12

Bon voici le code qui répond à tes attentes :
 
Show/Hide spoilerAfficher/Masquer le spoiler
Code: Select all
:.TILEMAP
:[0020129454555555]→Pic1
:[102810385410286C]→Pic2
:0→X→Y
:For(A,0,94)
:For(B,30,64)
:Pt-On(A,B,Pic1)
:B+7→B
:End
:A+7→A
:End
:StorePic
:Repeat getKey(15)
:ClrDraw
:Pt-On(X,Y,Pic2)
:DispGraphr
:If getKey
:ReturnIf getKey(15)
:sub(G
:End
:End
:
:Lbl G
:If getKey(1) and (Y≠63
:Y+2→Y
:End
:If getKey(2) and (X≠0
:X-2→X
:End
:If getKey(3) and (X≠95
:X+2→X
:End
:If getKey(4) and (Y≠0
:Y-2→Y
:End
:Return


Le petit r (2nd+app+3) qui se trouve après dispgraph permet de faire une troisième couleur sur la calculatrice (noir / gris / blanc), mais je trouve que c'est super lent quand on fait comme cela :/

Les fonctions existent et sont très utiles en Axe parser, la syntaxe est :
:Sub(S // j'appelle la fonction S
: // * ici
...
:Lbl S // n'importe ou dans le code voici ma fonction S
:code:
:Return // et on revient *

Si l'on met Return dans le programme principale (main on vas dire :p) on quitte alors le programme.

Des questions? :p

PS : joli sprites pour un début =)
Tutoriel sur l'axe parser, un langage de programmation pour z80 ultra rapide et beaucoup plus facile que l'ASM !
User avatar
kindermoumouteProgrammeur
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 2.6%
 
Posts: 849
Joined: 30 Sep 2009, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: Ecole d'ingénieur informatique et industriel

Re: [AIDE]Programme(s) en Axe Parser

Unread postby Kiligolo » 25 Sep 2010, 19:01

kindermoumoute wrote:Le petit r (2nd+app+3) qui se trouve après dispgraph permet de faire une troisième couleur sur la calculatrice (noir / gris / blanc), mais je trouve que c'est super lent quand on fait comme cela :/

Et comment tu choisit la couleur?
kindermoumoute wrote:Les fonctions existent et sont très utiles en Axe parser, la syntaxe est :
:Sub(S // j'appelle la fonction S
: // * ici
...
:Lbl S // n'importe ou dans le code voici ma fonction S
:code:
:Return // et on revient *

Ouf c'est bon j'ai compris (j'avais pas vu le "et on revient ici...). C'est un peut comme en C. On peut envoyer des variables ou elles sont déjà là?
kindermoumoute wrote:Si l'on met Return dans le programme principale (main on vas dire :p) on quitte alors le programme.

Comme "stop".

kindermoumoute wrote:PS : joli sprites pour un début =)

J'utilise HEXPIC (qui est un peu lent d'ailleurs...). Il faudrait faire une version en axe parser! :#langue#:

EDIT: Merci pour le code et les explications! :):
User avatar
Kiligolo
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 84.3%
 
Posts: 1465
Joined: 17 May 2010, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: 1reS

Re: [AIDE]Programme(s) en Axe Parser

Unread postby kindermoumoute » 25 Sep 2010, 19:59

Kiligolo wrote:Et comment tu choisit la couleur?

Bonne question ^^.
La on va se compliqué les choses (ou les choses vont se compliquer?).
Tu a 3 écran en Axe parser, l'écran, le buffer (ou l'écran tampon) et le back-buffer (l'avant écran tampon :p).
La commande dispGraphr permet de faire apparaître alternativement et d'une manière extrêmement rapide (que seul l'Axe Parser explique), le Back-Buffer et le Buffer. Vu de l'oeil humain, on voit apparaître une 3ème couleur intermédiaire (il peut y en avoir 4 même).
Donc la commande va être pour faire apparaître un bonhomme en gris (mi noir mi blanc) :
:pt-on(X,Y,Pic1)r // on le fait apparaître en X, Y dans le back buffer.
:dispGraphr //on fait apparaître alternativement le buffer et le back-buffer.

La j'ai surement mal expliqué, je connais le truc depuis peu seulement. Essaye de regarder le source du programme exemple (dans le dossier de l'axe parser) AXERPG.8xp, il y a 4 niveau de gris (Blanc, Gris 25%, Gris 75%, Noir).


Kiligolo wrote:On peut envoyer des variables ou elles sont déjà là?


Tu utilisera les variable de la calculatrice normalement, comme si c'était un goto (mais c'est une fonction grâce au return).
Cependant, grâce à la variable Ans, tu peut facilement faire des fonctions booléennes :
:If sub(F) // si la fonction F est vrai, si X = 0 la fonction est fausse, si X=0 la fonction est vrai
:code:
:End
...
:Lbl F
:code:
:Return X // X sera la variable booléenne

Mais il y a encore mieux dans ces fonction, on peut faire :
:If sub(A)
:code:
:End
:If sub(B)
:code:
:End
:If sub(B) And sub(A)
:code:
:End
:
:Lbl A
:A
:Return
:
:Lbl B
:B
:Return

Et dans le même genre (je croit que ça marche) :
:If Ysub(A) xor (Xsub(A)) xor (Zsub(A)
:code:
:End
:
:Lbl A
:=A
:Return








Kiligolo wrote: Il faudrait faire une version en axe parser! :#langue#:


Je croit qu'il y en a une.. mais je l'ai perdu.
Tutoriel sur l'axe parser, un langage de programmation pour z80 ultra rapide et beaucoup plus facile que l'ASM !
User avatar
kindermoumouteProgrammeur
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 2.6%
 
Posts: 849
Joined: 30 Sep 2009, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: Ecole d'ingénieur informatique et industriel

Re: [AIDE]Programme(s) en Axe Parser

Unread postby Kiligolo » 25 Sep 2010, 20:37

kindermoumoute wrote::pt-on(X,Y,Pic1)r // on le fait apparaître en X, Y dans le back buffer.

Et ça va apparaitre en gris, c'est ça?
User avatar
Kiligolo
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 84.3%
 
Posts: 1465
Joined: 17 May 2010, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: 1reS

Re: [AIDE]Programme(s) en Axe Parser

Unread postby kindermoumoute » 25 Sep 2010, 20:51

Par exemple voici un screen du code que je t'ai montré :
Image

L'herbe est mise dans le back-buffer (via la commande storePic) et apparaît en gris.

Et ici un exemple de niveau de couleur :
 
Show/Hide spoilerAfficher/Masquer le spoiler
Image


Ici il y a 4 niveaux de couleurs bien visible.
Tutoriel sur l'axe parser, un langage de programmation pour z80 ultra rapide et beaucoup plus facile que l'ASM !
User avatar
kindermoumouteProgrammeur
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 2.6%
 
Posts: 849
Joined: 30 Sep 2009, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: Ecole d'ingénieur informatique et industriel

Next

Return to Langages alternatifs

Who is online

Users browsing this forum: ClaudeBot [spider] and 8 guests

-
Search
-
Social TI-Planet
-
Featured topics
Ndless for CX 4.5.5 / CX II 6.2.0
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
12345
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1881 utilisateurs:
>1849 invités
>21 membres
>11 robots
Record simultané (sur 6 mois):
32248 utilisateurs (le 01/09/2025)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)