Forum

Catégorie : Programmes
Forum : Les programmes des internautes
Vues : 1839
Réponses : 26
Type : discussion
Etat : réponses autorisées

Reflex élaboré :p

Programaths le 16/07/2011 à 20:54
Alors, je suis en train de faire le jeu "Reflex" que beaucoup de monde on du faire sur ce forum...
(je fini le programme simple mais vous allez voir pour la suite, j'attend vos conseil :p )

Déjà, si vous savez les manières les moins lourd en octet pour en faire un.

Il y aura 2 mode :
-un ou ça met par exemple "ALPHA" et on doit appuyer sur la touche alpha ^^
-un déja plus compliqué, ça met le numéro et on doit appuyer sur la touche.

Pour l'instant facile, MAIS: le mode qui rendra ce réflexe spécial^^:

Si ça met "quit" il faudra appuyé sur [2ND]+[MODE]
Si ça met "U" faudra appuyer sur [ALPHA]+[5] !

Voila ! j'ai déja ma ptite idée et bientôt je vous le poste mais j'ai peur que ça va etre un peux lourd en octet.
sandro le 16/07/2011 à 20:59
Pas mal l'idée, par contre "code touche" ("getkey" en anglais) ne prend en compte qu'une touche à la fois, donc, il faut un code qui prenne en compte très vite les 2 touches (il ne faut pas que la préssion dela seconde soit iniorée car la TI n'est pas prète) l'une après l'autre (dans un ordre précis ou non).

Bonne chance
Sandro
Programaths le 16/07/2011 à 21:27
J'ai l'idée de faire par au début :

Code

X désigne le getKey qu'on dois appuyer

randInt(1,3->P
If P=3::Goto CC
If P=1 and X-21 and X-45 and [4 fleche]:Goto AA
If P=2 and X-32 and X-21 and X-22 and X-23 and ...  :Goto BB

Lbl CC
... les touche normal

Lbl AA
les touche bleu (2ND)

Lbl BB
les touceh verte (alpha)




P=1: touche bleu
P=2: touceh verte (j'ai pas mis toute les touches verte impossible)

et pour le double getkey, je sais pas trop par exemple :

Si P=1 (bleu) aucune touche ne marche a part [2nd] puis après ça se débloque.

Voila désolé si c'est un peu embrouillé crazy.gif
sandro le 16/07/2011 à 21:41
Oui, c'est juste qu'il faut prévoir qu'un utilisateur peu appuyer sur [2nde] ou [alpha] et dessuite après sur la seconde touche, il faut donc que le programme soit déjà prs à réceptionner le second getkey, faute de quoi il risque de ne pas comptabiliser une préssion trop rapide.

Sandro
Programaths le 16/07/2011 à 21:47
Et si on définit deux getkey ??
Dabord: getKey-> K
puis, si k=21 ou 32 et tout
getKey-> H

non ??
sandro le 16/07/2011 à 21:58
On peut effectivement faire:
Code
:0 -> Z
:Reapeat K
:codetouche -> K
:End
:Reapeat G
codetouche -> G
:End
:If Z et G=B et K=A
:Then
:...
:End

Par contre il faut ajouter un compteur de temps et veiller à ce quel'on ne puisse pas appuyer sur la seconde touche avant le lancement de la seconde touche à cause de celui-ci.

Sandro
Programaths le 16/07/2011 à 22:15
Citation

Code

:0 -> Z
:Reapeat K
:codetouche -> K
:End
:Reapeat G
codetouche -> G
:End
:If Z et G=B et K=A
:Then
:...
:End


Par contre il faut ajouter un compteur de temps et veiller à ce quel'on ne puisse pas appuyer sur la seconde touche avant le lancement de la seconde touche à cause de celui-ci.


que, le compteur temps (pour les scores) se mette en 'pause' quand on a appuyer sur la première touche ?? je comprend pas non plus le code :/
sandro le 16/07/2011 à 22:31
Désolé, c'est :
Code
:Reapeat K       \
:codetouche -> K       !boucle qui attend la préssion de la première touche
:End                   /
:Reapeat G                 \     
codetouche -> G            !boucle qui attend la préssion de la 2nde touche
:End                       /
:If G=B et K=A
:Then
:code si la combinaison de touches est bonne
:Else
:code si la combinaison de touches est fausse
:End


La seconde boucle doit démarer le plus vite possible pour éviter que la préssion de la seconde boucle ne soit ratée.

Sandro
Programaths le 16/07/2011 à 22:54
désolé j'aurai du précisé c'est quoi :
Citation
:If G=B et K=A


B et A ?
azerty1 le 16/07/2011 à 22:57
B et A sont les codes touches des touches en questions je pense, par exemple A=21 et B=22, pour avoir la touche [quitter] , je pense =)
Programaths le 16/07/2011 à 23:02
aah Si K=21 (première boucle, si au début on appui sur [2ND]), après si G=B (2eme boucle, le B étant le code de la touche approprié)

c'est ça non ?
Programaths le 17/07/2011 à 00:25
j'ai réussi ! ça marche :p pour l'instant, pas de présentation, pas de score, juste appuyer sur les touches happy.gif (si on rate ça fais erreur)
voila le code ! il est un peu long, mais bon :p

Code

Lbl 1
1ü ( ) â
10entAl–at(1,10)
Rep+entAl–at(1+(Rep>99),5+(Rep=20)-(Rep=30))ü ( ) X
EffEcr
entAl–at(1,3ü ( ) P
If P=1 et X-21 et X-24 et X-26 et X-25 et X-34 et X-45:Goto AA
If P=2 et X-31 et X-21 et X-22 et X-23 et X-24 et X-26 et X-25 et X-34 et X-45 et X-32 et X-33 et X-44:Goto BB
Lbl CC
If X=11
"[Y=]ü ( ) Cha ne0
If X=12
"[window]ü ( ) Cha ne0
If X=13
"[zoom]ü ( ) Cha ne0
If X=14
"[trace]ü ( ) Cha ne0
If X=15
"[graphe]ü ( ) Cha ne0
If X=21
"[2ND]ü ( ) Cha ne0
If X=22
"[MODE]ü ( ) Cha ne0
If X=23
"[DEL]ü ( ) Cha ne0
If X=24
"[gauche]ü ( ) Cha ne0
If X=25
"[haut]ü ( ) Cha ne0
If X=26
"[droite]ü ( ) Cha ne0
If X=31
"[ALPHA]ü ( ) Cha ne0
If X=32
"[X,T,Á,n]ü ( ) Cha ne0
If X=33
"[STAT]ü ( ) Cha ne0
If X=34
"[bas]ü ( ) Cha ne0
If X=41
"[MATH]ü ( ) Cha ne0
If X=42
"[APPS]ü ( ) Cha ne0
If X=43
"[PRGM]ü ( ) Cha ne0
If X=44
"[VARS]ü ( ) Cha ne0
If X=45
"[CLEAR]ü ( ) Cha ne0
If X=51
"[ xñ ]ü ( ) Cha ne0
If X=52
"[sin]ü ( ) Cha ne0
If X=53
"[cos]ü ( ) Cha ne0
If X=54
"[tan]ü ( ) Cha ne0
If X=55
"[^]ü ( ) Cha ne0
If X=61
"[xÜ]ü ( ) Cha ne0
If X=62
"[,]ü ( ) Cha ne0
If X=63
"[(]ü ( ) Cha ne0
If X=64
"[)]ü ( ) Cha ne0
If X=65
"[/]ü ( ) Cha ne0
If X=71
"[LOG]ü ( ) Cha ne0
If X=75
"[*]ü ( ) Cha ne0
If X=81
"[LN]ü ( ) Cha ne0
If X=85
"[-]ü ( ) Cha ne0
If X=91
"[STO>]ü ( ) Cha ne0
.1Xü ( ) Y
10partD–c(Yü ( ) Z
If Yù ( ) 7 et Y÷ ( ) 10 et Z>1 et Z<5
Then
0ü ( ) â
Output(2,3,"[ ]
Output(2,4,8-3partEnt(Y-6)+Z
End
If X=95
"[+]ü ( ) Cha ne0
If X=102
"[0]ü ( ) Cha ne0
If X=103
"[.]ü ( ) Cha ne0
If X=104
"[(-)]ü ( ) Cha ne0
If X=105
"[ENTER]ü ( ) Cha ne0
If â:Output(2,2,Cha ne0
While K-X
codeTouch(ü ( ) K
If K-X et K
Then
Output(5,1,"erreur!
For(U,1,200:End
Output(5,1,"       
End
End
0ü ( ) K
Goto 1
Lbl AA
If X=11
"[stat plot]ü ( ) Cha ne0
If X=12
"[tblset]ü ( ) Cha ne0
If X=13
"[format]ü ( ) Cha ne0
If X=14
"[calc]ü ( ) Cha ne0
If X=15
"[table]ü ( ) Cha ne0
If X=22
"[QUIT]ü ( ) Cha ne0
If X=23
"[inser]ü ( ) Cha ne0
If X=31
"[A-LOCK]ü ( ) Cha ne0
If X=32
"[LINK]ü ( ) Cha ne0
If X=33
"[LIST]ü ( ) Cha ne0
If X=41
"[TEST]ü ( ) Cha ne0
If X=42
"[ANGLE]ü ( ) Cha ne0
If X=43
"[DRAW]ü ( ) Cha ne0
If X=44
"[DISTR]ü ( ) Cha ne0
If X=51
"[MATRIX]ü ( ) Cha ne0
If X=52
"[Arcsin(]ü ( ) Cha ne0
If X=53
"[Arccos(]ü ( ) Cha ne0
If X=54
"[Arctan(]ü ( ) Cha ne0
If X=55
"[Ä]ü ( ) Cha ne0
If X=61
"[ð(]ü ( ) Cha ne0
If X=62
"[ûû]ü ( ) Cha ne0
If X=63
"[{]ü ( ) Cha ne0
If X=64
"[}]ü ( ) Cha ne0
If X=65
"[ë]ü ( ) Cha ne0
If X=71
"[ý^ ( ) (]ü ( ) Cha ne0
If X=75
"['[']ü ( ) Cha ne0
If X=81
"[ë^(]ü ( ) Cha ne0
If X=85
"[']']ü ( ) Cha ne0
If X=72
"[u]ü ( ) Cha ne0
If X=73
"[v]ü ( ) Cha ne0
If X=74
"[w]ü ( ) Cha ne0
If X=82
"[L„]ü ( ) Cha ne0
If X=83
"[L…]ü ( ) Cha ne0
If X=84
"[L†]ü ( ) Cha ne0
If X=92
"[L]ü ( ) Cha ne0
If X=93
"[L‚]ü ( ) Cha ne0
If X=94
"[Lƒ]ü ( ) Cha ne0
If X=91
"[RCL]ü ( ) Cha ne0
If X=95
"[mem]ü ( ) Cha ne0
If X=102
"[catalog]ü ( ) Cha ne0
If X=103
"[à]ü ( ) Cha ne0
If X=104
"[Rep]ü ( ) Cha ne0
If X=105
"[ENTRY]
Output(2,2,Cha ne0
While Kø21
codeTouch(ü ( ) K
End
Output(1,13,"2ND
While K-X
codeTouch(ü ( ) K
If K-X et K
Output(5,1,"erreur!
For(W,1,200:End
Output(5,1,"       
End
0ü ( ) K
Goto 1
Lbl BB
If X=11
"[F1]ü ( ) Cha ne0
If X=12
"[F2]ü ( ) Cha ne0
If X=13
"[F3]ü ( ) Cha ne0
If X=14
"[F4]ü ( ) Cha ne0
If X=15
"[F5]ü ( ) Cha ne0
If X=41
"[A]ü ( ) Cha ne0
If X=42
"[B]ü ( ) Cha ne0
If X=43
"[C]ü ( ) Cha ne0
If X=51
"[D]ü ( ) Cha ne0
If X=52
"[E]ü ( ) Cha ne0
If X=53
"[F]ü ( ) Cha ne0
If X=54
"[G]ü ( ) Cha ne0
If X=55
"[H]ü ( ) Cha ne0
If X=61
"[I]ü ( ) Cha ne0
If X=62
"[J]ü ( ) Cha ne0
If X=63
"[K]ü ( ) Cha ne0
If X=64
"[L]ü ( ) Cha ne0
If X=65
"[M]ü ( ) Cha ne0
If X=71
"[N]ü ( ) Cha ne0
If X=72
"[O]ü ( ) Cha ne0
If X=73
"[P]ü ( ) Cha ne0
If X=74
"[Q]ü ( ) Cha ne0
If X=75
"[R]ü ( ) Cha ne0
If X=81
"[S]ü ( ) Cha ne0
If X=82
"[T]ü ( ) Cha ne0
If X=83
"[U]ü ( ) Cha ne0
If X=84
"[V]ü ( ) Cha ne0
If X=85
"[W]ü ( ) Cha ne0
If X=91
"[X]ü ( ) Cha ne0
If X=92
"[Y]ü ( ) Cha ne0
If X=93
"[Z]ü ( ) Cha ne0
If X=94
"[Á]ü ( ) Cha ne0
If X=95
"['']ü ( ) Cha ne0
If X=102
"[ ]ü ( ) Cha ne0
If X=103
"[:]ü ( ) Cha ne0
If X=104
"[?]ü ( ) Cha ne0
If X=105
"[SOLVE]ü ( ) Cha ne0
Output(2,2,Cha ne0
While K-31
codeTouch(ü ( ) K
End
Output(1,11,"ALPHA
While K-X
codeTouch(ü ( ) K
If K-X et K
Then
Output(5,1,"erreur!
For(W,1,200:End
Output(5,1,"       
End
End
0ü ( ) K
Goto 1
sandro le 17/07/2011 à 10:28
Pour A et B, c'est bien ça (j'ai oublié de le préciser), sinon, tu peu optimiser ton code:
Code
Lbl 1
1ü ( ) â
10entAl–at(1,10
Rep+entAlat(1+(Rep>99),5+(Rep=20)-(Rep=30ü ( ) X
EffEcr
entAlat(1,3ü ( ) P
If P=1 somme(X=/={21,24,26,25,34,45:Goto AA
If P=2 somme(X=/={31,21,22,23,24,26,25,34,45,32,33,44:Goto BB
Lbl CC
If X=11
"Y=
If X=12
"window
If X=13
"zoom
If X=14
"trace
If X=15
"graphe
If X=21
"2ND
If X=22
"MODE
If X=23
"DEL
If X=24
"gauche
If X=25
"haut
If X=26
"droite
If X=31
"ALPHA
If X=32
"X,T,Á,n
If X=33
"STAT
If X=34
"bas
If X=41
"MATH
If X=42
"APPS
If X=43
"PRGM
If X=44
"VARS
If X=45
"CLEAR
If X=51
" xñ
If X=52
"sin
If X=53
"cos
If X=54
"tan
If X=55
"^
If X=61
"xÜ
If X=62
",
If X=63
"(
If X=64
")
If X=65
"/
If X=71
"LOG
If X=75
"*
If X=81
"LN
If X=85
"-
If X=91
"STO>

"["+rep+"]" -> Chaîne0

.1Xü ( ) Y
10partD–c(Yü ( ) Z
If Yù ( ) 7 et .1Y et Z>1 et Z<5
Then
EffVar â
Output(2,3,"[ ]
Output(2,4,8+Z-3partEnt(Y-6
End
If X=95
"+
If X=102
"0
If X=103
".
If X=104
"(-)
If X=105
"ENTER

"["+rep+"]" -> Chaîne0

If â:Output(2,2,Cha ne0
While K-X
codeTouch(ü ( ) K
If K-X et K
Then
Output(5,1,"erreur!
For(U,1,200:End
Output(5,1,"       
End
End
EffVar KGoto 1
Lbl AA
If X=11
"stat plot
If X=12
"tblset
If X=13
"format
If X=14
"calc
If X=15
"table
If X=22
"QUIT
If X=23
"inser
If X=31
"A-LOCK
If X=32
"LINK
If X=33
"LIST
If X=41
"TEST
If X=42
"ANGLE
If X=43
"DRAW
If X=44
"DISTR
If X=51
"MATRIX
If X=52
"Arcsin(
If X=53
"Arccos(
If X=54
"Arctan(
If X=55

If X=61
"ð(
If X=62
"ûû
If X=63
"{
If X=64
"}
If X=65

If X=71
"ý^ ( ) (
If X=75
"'['
If X=81
"ë^(
If X=85
"']'
If X=72
"u
If X=73
"v
If X=74
"w
If X=82
"L„
If X=83
"L…
If X=84
"L†
If X=92
"L
If X=93
"L‚
If X=94
"Lƒ
If X=91
"RCL
If X=95
"mem
If X=102
"catalog
If X=103

If X=104
"Rep
If X=105
"ENTRY

"["+Rep+"]" -> Chaîne0

Output(2,2,Cha ne0
While Kø21
codeTouch(ü ( ) K
End
Output(1,13,"2ND
While K-X
codeTouch(ü ( ) K
If K-X et K
Output(5,1,"erreur!
For(W,1,200:End
Output(5,1,"       
End
EffVar KGoto 1
Lbl BB
If X=11
"F1
If X=12
"F2
If X=13
"F3
If X=14
"F4
If X=15
"F5
If X=41
"A
If X=42
"B
If X=43
"C
If X=51
"D
If X=52
"E
If X=53
"F
If X=54
"G
If X=55
"H
If X=61
"I
If X=62
"J
If X=63
"K
If X=64
"L
If X=65
"M
If X=71
"N
If X=72
"O
If X=73
"P
If X=74
"Q
If X=75
"R
If X=81
"S
If X=82
"T
If X=83
"U
If X=84
"V
If X=85
"W
If X=91
"X
If X=92
"Y
If X=93
"Z
If X=94

If X=95
"''
If X=102
" "
If X=103
":
If X=104
"?
If X=105
"SOLVE

"["+Rep+"]" -> Chaîne0

Output(2,2,Cha ne0
While K-31
codeTouch(ü ( ) K
End
Output(1,11,"ALPHA
While K-X
codeTouch(ü ( ) K
If K-X et K
Then
Output(5,1,"erreur!
For(W,1,200:End
Output(5,1,"       
End
End
EffVar KGoto1

ça fait un paquet d'octés d'economisé, surtout au niveau de touches rentrées dans Chaîne0


Sandro

PS : les touches F1 à F6 ne sont présente qu'à partir de la TI83+
Programaths le 17/07/2011 à 18:31
Merci ça fais un paquet d'octet en moin ! et aussi, je pense qu'il y a quelque touches a changer pour les 82, surtout "apps", "matrice" qu'il faut changer

Il faut surtout changer le code en fonction du langage principale de la calculette (français ou anglais :p ) (ce qu'il y a de marqué sur les touches)
Programaths le 17/07/2011 à 18:56
Aie, je viens de changer le code et j'ai un problème avec la ligne:

Code

"["+Ans+"]"->Str0


><
sandro le 17/07/2011 à 19:19
Dans ce cas là, essaye peut-être avec :
Code
:Ans -> Chaine0
:"["+Chaîne0+"]" -> Chaîne0


Sandro

PS : vérifie aussi qu'il n'y a rien entre la fin des ' If X=xx:"xxxx ' et le bout de code que j'ai indiqué, il ne faut pas modiffier le contennue de Ans.
Programaths le 18/07/2011 à 02:33
Toujours pas :/
Tu l'as essayé il marche avec toi ?
sandro le 18/07/2011 à 12:57
Chez moi ça à l'air de marcher, du moins si Ans est une chaîne.

Essaye ça dans un programme à part et donne moi le résultat affiché (tu n'a pas un TI82 non stats j'espère, car sinon c'est normal.
Code
:"ABC
:"["+Ans+"]"


Sandro
Programaths le 18/07/2011 à 13:36
La dans un programme a part ça marche x)je revérifie encore ton code ....

Et l'erreur, c'est "ERR.DATA TYPE"
sandro le 18/07/2011 à 18:24
Chez moi pas de problème, vérifie qu'il n'y ait aucune ligne entre le :
Code
:If X=x1
:touche1
:If X=x2
:touche2
:If X=x3
:touche3
:If X=x4
:touche4


et

Code
"["+Ans+"]" -> Chaîne1


(il ne faut en aucun cas faire un calcul entre ces deux blocks, sinon Ans ne sera pas une chaîne).

Par précotion, rajoute avant le premier If de la série:
Code
"ERR:NONCHAINE


Quand tu as l'erreur, fait quitter, puis [rcl] [ans] ([rappel] [rep]) et indique moi le résultat.

Sandro
Programaths le 18/07/2011 à 18:48
Il n'y a rien entre la série de if et le ans->Str0

J'ai mis, a la fin de la série de if et avant le Ans->Str0 :
Code

Disp Ans
Pause


et il me met l'un des if....

Par contre, la seul fois ou ça marche c'est dans cette petite partie de code:

Code

If X=95
"+
If X=102
"0
If X=103
".
If X=104
"(-)
If X=105
"ENTER
sandro le 18/07/2011 à 19:27
Est-ce que tu as le cable pour relier à l'ordi, si oui, pourrais-tu s'il te plait m'envoyer le programme en format calculatrice (***.82p, ***.83p, ou ***.8xp)?

Sinon, reverrifie le code en entier.

Sandro
Programaths le 19/07/2011 à 18:12
mais, même les ligne:
Code

5
"["+Ans+"]"->Str0


Crée ERR:DATA TYPE sur le +

par contre "["+Str0+"]"->Str0 marche...

Et il y a un problème au niveau de :

Code

If P=1 somme(X=/={21,24,26,25,34,45:Goto AA
If P=2 somme(X=/={31,21,22,23,24,26,25,34,45,32,33,44:Goto BB


j'ai éssayé aussi If p=1 and somme.... mais il veut pas... ( pour lui, si p=1:goto AA sans regarder les valeur de X interdites)
Ce programme me prend la tête car il y a plien de problème totalement illogique (par exemple un err:syntaxe sur le effVar N )

J'ai réussi, a faire un programme qui fonctionne correctement mais il y a a chaque if des "-> Str0" et a la place de "somme(X#..." il y a des "and" ...

j'ai mis 1 seul getkey tout a la fin au lieux de 3 labels différent ( ça sera plus facile pour les scores que je mettrais bientôt)
il y a quelque Goto qui ralentissent un peu le programme mais sur ma calculette il est plutôt rapide.

voila le code

EDIT: voila les scores !

Code

100ü ( ) S
EffEcr
Output(8,1,"Scores:
Lbl 1
Output(2,2,"             "
Output(1,11,"     "
10entAl–at(1,10
Rep+entAl–at(1+(Rep>99),5+(Rep=20)-(Rep=30ü ( ) X
EffEcr
entAl–at(1,3ü ( ) P
If P=1
Then
If X=21 ou X=45 ou X=24 ou X=26 ou X=25 ou X=34:3ü ( ) P
End
If P=2
Then
If X=31 ou X=21 ou X=22 ou X=23 ou X=32 ou X=33 ou X=44 ou X=45 ou X=24 ou X=26 ou X=25 ou X=34:3ü ( ) P
End
If P=1:Goto AA
If P=2:Goto BB
Lbl CC
If X=11
"Y=ü ( ) Cha ne0
If X=12
"windowü ( ) Cha ne0
If X=13
"zoomü ( ) Cha ne0
If X=14
"traceü ( ) Cha ne0
If X=15
"graphü ( ) Cha ne0
If X=21
"2NDü ( ) Cha ne0
If X=22
"MODEü ( ) Cha ne0
If X=23
"DELü ( ) Cha ne0
If X=24
"gaucheü ( ) Cha ne0
If X=25
"hautü ( ) Cha ne0
If X=26
"droiteü ( ) Cha ne0
If X=31
"ALPHAü ( ) Cha ne0
If X=32
"X,T,Á,nü ( ) Cha ne0
If X=33
"STATü ( ) Cha ne0
If X=34
"basü ( ) Cha ne0
If X=41
"MATHü ( ) Cha ne0
If X=42
"APPSü ( ) Cha ne0
If X=43
"PRGMü ( ) Cha ne0
If X=44
"VARSü ( ) Cha ne0
If X=45
"CLEARü ( ) Cha ne0
If X=51
"xñü ( ) Cha ne0
If X=52
"sinü ( ) Cha ne0
If X=53
"cosü ( ) Cha ne0
If X=54
"tanü ( ) Cha ne0
If X=55
"^ü ( ) Cha ne0
If X=61
"xÜü ( ) Cha ne0
If X=62
",ü ( ) Cha ne0
If X=63
"(ü ( ) Cha ne0
If X=64
")ü ( ) Cha ne0
If X=65
"/ü ( ) Cha ne0
If X=71
"LOGü ( ) Cha ne0
If X=75
"*ü ( ) Cha ne0
If X=81
"LNü ( ) Cha ne0
If X=85
"-ü ( ) Cha ne0
If X=91
"STO>ü ( ) Cha ne0
If X=92
"1ü ( ) Cha ne0
If X=93
"2ü ( ) Cha ne0
If X=94
"3ü ( ) Cha ne0
If X=82
"4ü ( ) Cha ne0
If X=83
"5ü ( ) Cha ne0
If X=84
"6ü ( ) Cha ne0
If X=72
"7ü ( ) Cha ne0
If X=73
"8ü ( ) Cha ne0
If X=74
"9ü ( ) Cha ne0
If X=95
"+ü ( ) Cha ne0
If X=102
"0ü ( ) Cha ne0
If X=103
".ü ( ) Cha ne0
If X=104
"(-)ü ( ) Cha ne0
If X=105
"ENTERü ( ) Cha ne0
Goto 99
Lbl AA
If X=11
"stat plotü ( ) Cha ne0
If X=12
"tblsetü ( ) Cha ne0
If X=13
"formatü ( ) Cha ne0
If X=14
"calcü ( ) Cha ne0
If X=15
"tableü ( ) Cha ne0
If X=22
"QUITü ( ) Cha ne0
If X=23
"inserü ( ) Cha ne0
If X=31
"A-LOCKü ( ) Cha ne0
If X=32
"LINKü ( ) Cha ne0
If X=33
"LISTü ( ) Cha ne0
If X=41
"TESTü ( ) Cha ne0
If X=42
"ANGLEü ( ) Cha ne0
If X=43
"DRAWü ( ) Cha ne0
If X=44
"DISTRü ( ) Cha ne0
If X=51
"MATRIXü ( ) Cha ne0
If X=52
"Arcsin(ü ( ) Cha ne0
If X=53
"Arccos(ü ( ) Cha ne0
If X=54
"Arctan(ü ( ) Cha ne0
If X=55
"Äü ( ) Cha ne0
If X=61
"ð(ü ( ) Cha ne0
If X=62
"ûûü ( ) Cha ne0
If X=63
"{ü ( ) Cha ne0
If X=64
"}ü ( ) Cha ne0
If X=65
"ëü ( ) Cha ne0
If X=71
"ý^ ( ) (ü ( ) Cha ne0
If X=75
"'['ü ( ) Cha ne0
If X=81
"ë^(ü ( ) Cha ne0
If X=85
"']'ü ( ) Cha ne0
If X=72
"uü ( ) Cha ne0
If X=73
"vü ( ) Cha ne0
If X=74
"wü ( ) Cha ne0
If X=82
"L„ü ( ) Cha ne0
If X=83
"L…ü ( ) Cha ne0
If X=84
"L†ü ( ) Cha ne0
If X=92
"Lü ( ) Cha ne0
If X=93
"L‚ü ( ) Cha ne0
If X=94
"Lƒü ( ) Cha ne0
If X=91
"RCLü ( ) Cha ne0
If X=95
"memü ( ) Cha ne0
If X=102
"catalogü ( ) Cha ne0
If X=103
"àü ( ) Cha ne0
If X=104
"Ansü ( ) Cha ne0
If X=105
"ENTRYü ( ) Cha ne0
Goto 99
Lbl BB
If X=11
"F1ü ( ) Cha ne0
If X=12
"F2ü ( ) Cha ne0
If X=13
"F3ü ( ) Cha ne0
If X=14
"F4ü ( ) Cha ne0
If X=15
"F5ü ( ) Cha ne0
If X=41
"Aü ( ) Cha ne0
If X=42
"Bü ( ) Cha ne0
If X=43
"Cü ( ) Cha ne0
If X=51
"Dü ( ) Cha ne0
If X=52
"Eü ( ) Cha ne0
If X=53
"Fü ( ) Cha ne0
If X=54
"Gü ( ) Cha ne0
If X=55
"Hü ( ) Cha ne0
If X=61
"Iü ( ) Cha ne0
If X=62
"Jü ( ) Cha ne0
If X=63
"Kü ( ) Cha ne0
If X=64
"Lü ( ) Cha ne0
If X=65
"Mü ( ) Cha ne0
If X=71
"Nü ( ) Cha ne0
If X=72
"Oü ( ) Cha ne0
If X=73
"Pü ( ) Cha ne0
If X=74
"Qü ( ) Cha ne0
If X=75
"Rü ( ) Cha ne0
If X=81
"Sü ( ) Cha ne0
If X=82
"Tü ( ) Cha ne0
If X=83
"Uü ( ) Cha ne0
If X=84
"Vü ( ) Cha ne0
If X=85
"Wü ( ) Cha ne0
If X=91
"Xü ( ) Cha ne0
If X=92
"Yü ( ) Cha ne0
If X=93
"Zü ( ) Cha ne0
If X=94
"Áü ( ) Cha ne0
If X=95
"''ü ( ) Cha ne0
If X=102
" ü ( ) Cha ne0
If X=103
":ü ( ) Cha ne0
If X=104
"?ü ( ) Cha ne0
If X=105
"SOLVEü ( ) Cha ne0
Lbl 99
"["+Cha ne0+"]"ü ( ) Cha ne0
Output(2,2,Cha ne0
If P=2:Then
While K-31
codeTouch(ü ( ) K
If K-31 et K:Goto KK
S-1ü ( ) S
Output(8,8,"     "
Output(8,8,S
End
Output(1,11,"ALPHA
End
If P=1:Then
While K-21
codeTouch(ü ( ) K
If K-21 et K:Goto KK
S-1ü ( ) S
Output(8,8,"     "
Output(8,8,S
End
If Q:Output(1,13,"2ND
End
While K-X
codeTouch(ü ( ) K
If K-X et K
Then
Lbl KK
Output(5,1,"erreur!
S-50ü ( ) S
For(W,1,200:End
Output(5,1,"       
End
S-1ü ( ) S
Output(8,8,"     "
Output(8,8,S
End
S+25ü ( ) S
Output(8,8,"     "
Output(8,8,S
EffVar K
Goto 1
sandro le 19/07/2011 à 20:15
Citation
mais, même les ligne:

Code
5
"["+Ans+"]"->Str0

Crée ERR:DATA TYPE sur le +


C'est normal, il manque une parrenthèse devant le 5 (tu essaye d'additionner une chaîne et un nombre, normal que ça ne marche pas)







Citation
Et il y a un problème au niveau de :
Code
If P=1 somme(X=/={21,24,26,25,34,45:Goto AA
If P=2 somme(X=/={31,21,22,23,24,26,25,34,45,32,33,44:Goto BB

j'ai éssayé aussi If p=1 and somme.... mais il veut pas... ( pour lui, si p=1:goto AA sans regarder les valeur de X interdites)


Pardon, c'est:
Code
If P=1 et prod(X=/={21,24,26,25,34,45:Goto AA
If P=2 et prod(X=/={31,21,22,23,24,26,25,34,45,32,33,44:Goto BB


Pour ton "effVar N", vérifie sur ta TI que ce n'est pas écrit en toute lettres (avec les logiciels d'édition, de telles erreures sont vites arrivées).




Sinon utilise des MAJUSCULES pour écrire les mots (les TI82(stats(.fr)) n'ont pas les minuscules).

Sandro

PS : si tu aurrais un fichier programme, ça me faciliterrait pas mal la tache
Programaths le 19/07/2011 à 21:20
Tout marche !! oh lala c'est pas possible tout marche ! crazy.gif je ne sais vraiment pas pourquoi ça n'avais pas marché avant... aah jsuis content crazy.gif allé pour la peine je met le code avec les majuscule, et en français et avec tout les octet d'économisé ! ^^ sinon j'aimerais savoir comment on pose un screen shoot ? j'en ai fais un mais je n'arrive pas a le mettre, il faut un site d’hébergement je présume ?

voila le code

Code

100ü ( ) S
EffEcr
Output(8,1,"Score:
Lbl 1
Output(2,2,"             
Output(1,11,"     
10entAl–at(1,10
Rep+entAl–at(1+(Rep>99),5+(Rep=20)-(Rep=30ü ( ) X
entAl–at(1,3ü ( ) P
If P=1 et prod(Xø{21,45,24,26,25,34:Goto AA
If P=2 et prod(Xø{31,21,22,23,32,33,44,45,24,26,25,34:Goto BB    /////  pour les
Ti 82, rajoutez 11,12,13,14,15 \\\
Lbl CC
3ü ( ) P
If X=11
"F(X)
If X=12
"FENETRE
If X=13
"ZOOM
If X=14
"TRACE
If X=15
"GRAPHE
If X=21
"2NDE
If X=22
"MODE
If X=23
"SUPPR
If X=24
"GAUCHE
If X=25
"HAUT
If X=26
"DROITE
If X=31
"ALPHA
If X=32
"X,T,Á,n
If X=33
"STATS
If X=34
"BAS
If X=41
"MATH
If X=42
"APPS
If X=43
"PRGM
If X=44
"VAR
If X=45
"ANNUL
If X=51
"xñ
If X=52
"sin
If X=53
"cos
If X=54
"tan
If X=55
"^
If X=61
"xÜ
If X=62
",
If X=63
"(
If X=64
")
If X=65
"/
If X=71
"LOG
If X=75
"*
If X=81
"LN
If X=85
"-
If X=91
"STO>
If X=92
"1
If X=93
"2
If X=94
"3
If X=82
"4
If X=83
"5
If X=84
"6
If X=72
"7
If X=73
"8
If X=74
"9
If X=95
"+
If X=102
"0
If X=103
".
If X=104
"(-)
If X=105
"ENTER
"["+Rep+"]"ü ( ) Cha ne0
Goto 99
Lbl AA
If X=11
"STAT PLOT
If X=12
"TBLSET
If X=13
"FORMAT
If X=14
"CALC
If X=15
"table
If X=22
"QUITTER
If X=23
"INSERER
If X=31
"VERR A
If X=32
"ECHANGER
If X=33
"LIST
If X=41
"TESTS
If X=42
"ANGLE
If X=43
"DESSIN
If X=44
"DISTRIB
If X=51
"MATRICE
If X=52
"Arcsin(
If X=53
"Arccos(
If X=54
"Arctan(
If X=55

If X=61
"ð(
If X=62
"ûû
If X=63
"{
If X=64
"}
If X=65

If X=71
"ý^ ( ) (
If X=75
"'['
If X=81
"ë^(
If X=85
"']'
If X=72
"u
If X=73
"v
If X=74
"w
If X=82
"L„
If X=83
"L…
If X=84
"L†
If X=92
"L
If X=93
"L‚
If X=94
"Lƒ
If X=91
"RCL
If X=95
"MEM
If X=102
"CATALOG
If X=103

If X=104
"ANS
If X=105
"ENTRY
"["+Rep+"]"ü ( ) Cha ne0
Goto 99
Lbl BB
If X=11      ///  (83+ et supérieur)
"F1
If X=12    /
"F2
If X=13   /
"F3
If X=14   /
"F4
If X=15   /
"F5
If X=41
"A
If X=42
"B
If X=43
"C
If X=51
"D
If X=52
"E
If X=53
"F
If X=54
"G
If X=55
"H
If X=61
"I
If X=62
"J
If X=63
"K
If X=64
"L
If X=65
"M
If X=71
"N
If X=72
"O
If X=73
"P
If X=74
"Q
If X=75
"R
If X=81
"S
If X=82
"T
If X=83
"U
If X=84
"V
If X=85
"W
If X=91
"X
If X=92
"Y
If X=93
"Z
If X=94

If X=95
"''
If X=102
"
If X=103
":
If X=104
"?
If X=105
"SOLVE
"["+Rep+"]"ü ( ) Cha ne0
Lbl 99
Output(2,2,Cha ne0
If P=2:Then
While K-31
codeTouch(ü ( ) K
If K-31 et K:Goto KK
S-1ü ( ) S
Output(8,8,"     
Output(8,8,S
If S<1:Goto S
End
Output(1,11,"ALPHA
End
If P=1:Then
While K-21
codeTouch(ü ( ) K
If K-21 et K:Goto KK
S-1ü ( ) S
Output(8,8,"     
Output(8,8,S
If S<1:Goto S
End
If Q:Output(1,13,"2ND
End
While K-X
codeTouch(ü ( ) K
If K-X et K
Then
Lbl KK
Output(5,1,"erreur!
S-50ü ( ) S
If S<1:Goto S
For(W,1,200:End
Output(5,1,"       
End
S-1ü ( ) S
Output(8,8,"     
Output(8,8,S
If S<1:Goto S
End
S+25ü ( ) S
Output(8,8,"     
Output(8,8,S
EffVar K
Goto 1
Lbl S
Output(4,4,"PERDU !




PS: par contre, il y a plus de chance de tomber sur une touche normal qu'une touche [2ND] ou [ALPHA] crazy.gif
sandro le 19/07/2011 à 21:27
Bravo,
j'ai à peine trouvé une petite erreur:
Code
While K-X
codeTouch(ü ( ) K
If K-X et K
Then
Lbl KK
Output(5,1,"erreur!                   //C'EST EN MINISCULES
S-50ü ( ) S
If S<1:Goto S
For(W,1,200:End
Output(5,1,"       
End
S-1ü ( ) S
Output(8,8,"     
Output(8,8,S
If S<1:Goto S
End
S+25ü ( ) S
Output(8,8,"     
Output(8,8,S
EffVar K
Goto 1
Lbl S
Output(4,4,"PERDU !


Pour l'optimistion, j'ai également trouvé un tout petit truc : pour les Lbl/Goto, tu utilise 2 symboles (2 octés) alors que 1 te suffit (tu as moins de 37 Lbl et tu ne les mets pas de manière à rappeler leur signification (ex : EX=example ; PY=pythagore ; ...))


Sandro

PS : heureusement que tu as trouvé ce soir, sinon tu aurrais du attendre jusqu'à vendredi soir voire samedi la semaine prochaine pour avoir une réponse)
Programaths le 19/07/2011 à 21:41
C'est édité, label diminué a 1 octet, quelques broutilles de changé winkle.gif

Par contre j'ai enlever ces lignes:

Code

.1Xü ( ) Y
10partD–c(Yü ( ) Z
If Yù ( ) 7 et Y÷ ( ) 10 et Z>1 et Z<5
Then
0ü ( ) â
Output(2,3,"[ ]
Output(2,4,8-3partEnt(Y-6)+Z
End


c'est sans doute ça qui faisais bugé (même si je mettais la ligne avec Ans et Str0 au début et a la fin) si tu veux les remettre pour gagner quelque octet ^^ moi j'y touche plus xD