[Axe] Pong
3 participants
Page 1 sur 2
Page 1 sur 2 • 1, 2
[Axe] Pong
En utilisant comme programme de base le Pong déjà disponible avec l'Axe Parser (ici), j'ai créé un Pong. Celui-ci gère les 5 meilleurs scores ainsi que de le nom de leurs possesseurs. Je vous laisse admirer la vitesse de l'Axe Parser !
Compatible: TI-83+/TI-84+ (& Silver Edition)
[Vous devez être inscrit et connecté pour voir cette image]
PS: Le mode difficile est 2 fois plus rapide sur calculette que sur le screen.
Pong No Shell
Compatible: TI-83+/TI-84+ (& Silver Edition)
[Vous devez être inscrit et connecté pour voir cette image]
PS: Le mode difficile est 2 fois plus rapide sur calculette que sur le screen.
- SOURCE:
- Code:
:.PONG Pong par Metallica
:
:DiagnosticOff
:0→Q→Θ
:"vPong"→GDB0
:"METALLICA "→GDB1
:det(4)
:!If GetCalc(GDB0)→P
: UnArchive GDB0
:If GetCalc(GDB0)→P
: 1→Q
:Else
:GetCalc(GDB0,95)→P
:!If P
: Return
:End
:For(A,0,4)
: conj(GDB1,A*19+P,19)
:End
:End
:End
:
:sub(GME)
:ClrHome
:If Q
: Archive GDB0
:End
:Return
:
:Lbl GME
:65535→B
:1→M
:24→N
:
:" PONG "→Str1
:"[2nd] - Jouer"→Str2
:"[Alpha] - Voir Scores"→Str3
:"<Facile>"→Str4
:"<Difficile>"→Str5
:"[Clear] - Quitter"→Str6
:" (c) - Adrien Redon - 2010 "→Str7
:Lbl M
:ClrHome
:Fix 1
:Fix 3
:Output(0,0,Str1)
:Fix 0
:Text(0,56,Str7
:Fix 2
:Text(26,20,Str2)
:Text(16,34,Str3)
:If Θ
: Text(29,27,Str5)
:Else
:Text(31,27,Str4
:End
:Text(22,41,Str6)
:While getKey(54)
: Pause 50
:End
:Repeat getKey(54)
: If getKey(3)
: 1→Θ
: Full
: Goto M
:End
:If getKey(2)
: 0→Θ
:Normal
:Goto M
:End
:If getKey(48)
: Goto HS
:End
:If getKey(15)
: Full
:ClrDraw
:DispGraph
:Archive GDB0
:Return
:End
:End
:[000000000000FFFF]→Pic1
:[0000182C3C180000]→Pic2
:0→S-1→D
:44→Z*256→X
:0→Y
:sub(HT)
:Repeat getKey(15)
: If getKey(2) and (Z≠0)
: Z-2→Z
:End
:If getKey(3) and (Z≠80)
: Z+2→Z
:End
:X+V→X
:Y+D→Y
:If Y>70
: ClrDraw
:Goto L
:End
:If Y≤0
: sub(HT)
:End
:If Y=56 and (abs(X/256-Z)<16)
: sub(HT)
:S+1+Θ→S
:End
:If X/256≤0 or (X/256≥88)
: ‾V→V+X→X
:End
:ClrDraw
:Pt-On(Z,56,Pic1
:Pt-On(Z+8,56,Pic1
:Pt-On(X/256,Y,Pic2
:DispGraph
:End
:Lbl L
:ClrDraw
:ClrHome
:Output(11,0)
:Disp S►Dec
:Output(0)
:Disp "SCORE:"
:
:If {P+93}r>S
: While getKey(54)
: Pause 50
:End
:Repeat getKey(54)
:End
:Else
:0→A
:Output(0,4)
:Disp "Tapes ton nom:"
:Output(0,5)
:"WRMH"→GDB5
:det(3)
:"VQLG"
:det(3)
:"ZUPKFC"
:det(1)
:" YTOJEB"
:det(2)
:"XSNIDA"
:" "→GDB9
:
:Repeat B=54 and (A≠0
: getKey→B
: If B=56 and (A≠0
: A-1→A
: Output(A,5,' '►Frac)
: Output(A,5)
:End
:If B=15
: 0→A
:Output(0,5,GDB9)
:Output(0,5)
:End
:If A<16
:If B>10 and (B<48)
:If {B+GDB5-11}→C
: Disp C►Frac
:C→{A+L1}
:A+1→A
:End
:End
:End
:End
:While A<19
: 0→{A+L1}
: A+1→A
:End
:S→{L1+17}r
:
:If S>{P+74}r
:If S>{P+55}r
:If S>{P+36}r
:If S>{P+17}r
: conj(P+75,P+19+75,76)r
:conj(L1,P,19)
:Else
:conj(P+19+56,P+38+56,57)r
:conj(L1,P+19,19)
:End
:Else
:conj(P+38+37,P+57+37,38)r
:conj(L1,P+38,19)
:End
:Else
:conj(P+57,P+76,19)
:conj(L1,P+57,19)
:End
:Else
:conj(L1,P+76,19)
:End
:End
:ClrDraw
:Goto M
:
:Lbl HS
:ClrDraw
:Fix 5
:For(A,0,4)
: Text(5,A*7+20,19*A+P)
: Text(72,A*7+20,{19*A+P+17}r►Dec)
:End
:Fix 4
:DispGraph
:Repeat getKey(54) or getKey(9)
:End
:
:While getKey(54)
: Pause 50
:End
:ClrDraw
:Goto M
:Lbl HT
:rand^512-256→V
:‾D→D
Pong No Shell
Dernière édition par Metallica le Ven 3 Déc - 18:03, édité 8 fois (Raison : Mise à jour)
Metallica- Or 4
- Sexe :
Age : 28
Messages : 926
Date d'inscription : 30/06/2010
Etudes : DUT Info
Points Forum : 17
Points Concours : 9
Langages :- - TI-Basic Z80
- - Axe Parser
- - TI-82 Stats.fr
- - TI-83+ SE
Re: [Axe] Pong
Si tu veux créer une appvar je peux te dire comment faire je sais à présent.
Sinon c'est bien !
Sinon c'est bien !
Re: [Axe] Pong
J'aimerais bien que tu m'explique comment créer une appvar. Stp
Metallica- Or 4
- Sexe :
Age : 28
Messages : 926
Date d'inscription : 30/06/2010
Etudes : DUT Info
Points Forum : 17
Points Concours : 9
Langages :- - TI-Basic Z80
- - Axe Parser
- - TI-82 Stats.fr
- - TI-83+ SE
Re: [Axe] Pong
Je suis pas un expert mais bon je vais essayer de t'expliquer, le texte qui suis les ";" sont des commentaires, ne les tapes pas.:
- Créer une appvar en Axe Parser:
- Tout d'abord il faut écrire ça:
- Code:
"appvNOM"→Str1 ; Nom de l'appvar, Str1 peut être remplacer par une autre chaîne.
Ensuite si elle est archivée il faut la déarchiver:- Code:
GetCalc(Str1,Yɿ)→Z ; Z peut être remplacé par une autre variable.
If Z ; Si Z différent de 0.
UnArchive Str1
End
Si elle n'existe pas on la crée:- Code:
!If Z ; L'inverse de Z différent de zéro donc si Z=0.
GetCalc(Str1,2)→Z ; 2 peut être remplacer par une autre valeur, c'est un peu comme le nombre de termes de l'appvar.
1→{Z} ; Pour la prochaine fois cela est différent de 0 donc on ne recrée pas l'appvar.
0→{Z+1} ; Le record est remis à 0.
End
Pour modifier le record tu mets:- Code:
A→{Z+1} ; Où le record est stoké dans la variable A.
Et à la fin tu mets:- Code:
Archive Str1 ; C'est assez lent...
Re: [Axe] Pong
Merci beaucoup, je posterais à nouveau le code quand j'aurais fait les modifications.
Metallica- Or 4
- Sexe :
Age : 28
Messages : 926
Date d'inscription : 30/06/2010
Etudes : DUT Info
Points Forum : 17
Points Concours : 9
Langages :- - TI-Basic Z80
- - Axe Parser
- - TI-82 Stats.fr
- - TI-83+ SE
Re: [Axe] Pong
Et on fait comment pour enregistrer le nom et ensuite le sauvegarder dans l'appvar ?
Metallica- Or 4
- Sexe :
Age : 28
Messages : 926
Date d'inscription : 30/06/2010
Etudes : DUT Info
Points Forum : 17
Points Concours : 9
Langages :- - TI-Basic Z80
- - Axe Parser
- - TI-82 Stats.fr
- - TI-83+ SE
Re: [Axe] Pong
Je suis pas sûr mais essais:
Cela devrais s'écrire sur les autres octets aussi donc remplace le fameux 2 par 50 par exemple:
- Code:
"NOM"→{Z+2}
Cela devrais s'écrire sur les autres octets aussi donc remplace le fameux 2 par 50 par exemple:
- Code:
GetCalc(Str1,50)→Z
Re: [Axe] Pong
OK et il n'y a pas des fonctions input ?
Tu ne voulais pas plutot dire
Tu ne voulais pas plutot dire
- Code:
String0->{Z+2}
Metallica- Or 4
- Sexe :
Age : 28
Messages : 926
Date d'inscription : 30/06/2010
Etudes : DUT Info
Points Forum : 17
Points Concours : 9
Langages :- - TI-Basic Z80
- - Axe Parser
- - TI-82 Stats.fr
- - TI-83+ SE
Re: [Axe] Pong
Non, il n'y a pas de fonction Input, néanmoins la réponse au problème est décrite ici.
Ensuite oui si tu stocke le nom dans Str0, mais là c'était juste pour essayer.
Ensuite oui si tu stocke le nom dans Str0, mais là c'était juste pour essayer.
Re: [Axe] Pong
Merci pour tout ces renseignements et pour le lien.
Metallica- Or 4
- Sexe :
Age : 28
Messages : 926
Date d'inscription : 30/06/2010
Etudes : DUT Info
Points Forum : 17
Points Concours : 9
Langages :- - TI-Basic Z80
- - Axe Parser
- - TI-82 Stats.fr
- - TI-83+ SE
Re: [Axe] Pong
Et puis pour la fonction input ça n'a pas l'air de marcher alors je vais chercher dans des sources.
Metallica- Or 4
- Sexe :
Age : 28
Messages : 926
Date d'inscription : 30/06/2010
Etudes : DUT Info
Points Forum : 17
Points Concours : 9
Langages :- - TI-Basic Z80
- - Axe Parser
- - TI-82 Stats.fr
- - TI-83+ SE
Re: [Axe] Pong
C'est bon j'ai mis à jour le programme. Je n'ai pas tout compris mais ça marche. Le jeu enregistre les 5 meilleurs scores ainsi que le nom de son possesseurs.
Metallica- Or 4
- Sexe :
Age : 28
Messages : 926
Date d'inscription : 30/06/2010
Etudes : DUT Info
Points Forum : 17
Points Concours : 9
Langages :- - TI-Basic Z80
- - Axe Parser
- - TI-82 Stats.fr
- - TI-83+ SE
Re: [Axe] Pong
La meilleur fonction de d'input pour ton cas :
LIEN
Le code est un peu dur à comprendre, si tu veut je peut le détailler en entier (mais demain ^^)
Ou sinon en jetant un coup d'oeil rapide, le code est pas mal optimisé, mais tu peut encore mieux faire je suis sur ^^
Prend l'habitude de mettre le moins possible de pointeur.
Ici tu peut enlèver Pic2 dans la déclarations des data, et dans le code tu remplace les Pic2 par Pic1+8, c'est une question d'habitude, après tu comprendra l'utilité de coder comme ça.
LIEN
Le code est un peu dur à comprendre, si tu veut je peut le détailler en entier (mais demain ^^)
Ou sinon en jetant un coup d'oeil rapide, le code est pas mal optimisé, mais tu peut encore mieux faire je suis sur ^^
Prend l'habitude de mettre le moins possible de pointeur.
Ici tu peut enlèver Pic2 dans la déclarations des data, et dans le code tu remplace les Pic2 par Pic1+8, c'est une question d'habitude, après tu comprendra l'utilité de coder comme ça.
kindermoumoute- Or 4
- Sexe :
Age : 30
Messages : 797
Date d'inscription : 07/10/2010
Points Forum : 21
Points Concours : 1
Langages :- - TI-Basic Z80
- - Axe Parser
- - TI-83+
Re: [Axe] Pong
Quand tu dis pointeur, tu parle de sprite ?
Je ne comprend pas trop le "pic1+8". Est-ce que ça veut dire que tu écrit les 2 sprites dans pic1 ?
Je ne comprend pas trop le "pic1+8". Est-ce que ça veut dire que tu écrit les 2 sprites dans pic1 ?
Metallica- Or 4
- Sexe :
Age : 28
Messages : 926
Date d'inscription : 30/06/2010
Etudes : DUT Info
Points Forum : 17
Points Concours : 9
Langages :- - TI-Basic Z80
- - Axe Parser
- - TI-82 Stats.fr
- - TI-83+ SE
kindermoumoute- Or 4
- Sexe :
Age : 30
Messages : 797
Date d'inscription : 07/10/2010
Points Forum : 21
Points Concours : 1
Langages :- - TI-Basic Z80
- - Axe Parser
- - TI-83+
Re: [Axe] Pong
Donc J'écris plus de 16 caractères dans pic1 et je fais pic1+16 ?
Metallica- Or 4
- Sexe :
Age : 28
Messages : 926
Date d'inscription : 30/06/2010
Etudes : DUT Info
Points Forum : 17
Points Concours : 9
Langages :- - TI-Basic Z80
- - Axe Parser
- - TI-82 Stats.fr
- - TI-83+ SE
Re: [Axe] Pong
non, pic1+8, car 2 caractère hexadécimals = 1 octel (c'est mal expliqué dans mon tuto?)
kindermoumoute- Or 4
- Sexe :
Age : 30
Messages : 797
Date d'inscription : 07/10/2010
Points Forum : 21
Points Concours : 1
Langages :- - TI-Basic Z80
- - Axe Parser
- - TI-83+
Re: [Axe] Pong
Ah ok. Non mais depuis ma Wii je ne pouvais pas télécharger. J'avais déjà commencer à lire le début du tuto sur un PC et il est très bien expliqué.
Dernière édition par Metallica le Mer 29 Déc - 13:18, édité 1 fois
Metallica- Or 4
- Sexe :
Age : 28
Messages : 926
Date d'inscription : 30/06/2010
Etudes : DUT Info
Points Forum : 17
Points Concours : 9
Langages :- - TI-Basic Z80
- - Axe Parser
- - TI-82 Stats.fr
- - TI-83+ SE
Re: [Axe] Pong
Au temps pour moi, mais je n'ai pas commencé les sprites, je m'y mettrais bientôt.
kindermoumoute- Or 4
- Sexe :
Age : 30
Messages : 797
Date d'inscription : 07/10/2010
Points Forum : 21
Points Concours : 1
Langages :- - TI-Basic Z80
- - Axe Parser
- - TI-83+
Re: [Axe] Pong
OK, vivement le tuto terminé alors.
Metallica- Or 4
- Sexe :
Age : 28
Messages : 926
Date d'inscription : 30/06/2010
Etudes : DUT Info
Points Forum : 17
Points Concours : 9
Langages :- - TI-Basic Z80
- - Axe Parser
- - TI-82 Stats.fr
- - TI-83+ SE
Re: [Axe] Pong
Moi 117 je renvoyait la balle pendant 10 min et j'ai aussi fait 91 et 2 fois 37. Le reste n'est plus dans le top.
Metallica- Or 4
- Sexe :
Age : 28
Messages : 926
Date d'inscription : 30/06/2010
Etudes : DUT Info
Points Forum : 17
Points Concours : 9
Langages :- - TI-Basic Z80
- - Axe Parser
- - TI-82 Stats.fr
- - TI-83+ SE
Page 1 sur 2 • 1, 2
Page 1 sur 2
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|