Aide pour morpion
27 posts
• Page 1 of 3 • 1, 2, 3
Aide pour morpion
Bonjour, j'ai besoin d'aide, j'ai crée un morpion mais il me manque des connaissances sur getkey( pour faire un curser de séléction pour une case de morpion. Comment faire ?
-
Khannibal
Niveau 1: MD (Membre Débutant)- Posts: 1
- Joined: 14 Nov 2009, 00:00
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: 1S
Re: Aide pour morpion
Bonjour,
La fonction Getkey te donne le code de la touche pressée, mais ne la donne qu'une fois, donc si tu veux l'avoir plusieurs fois, tu dois l'insérer dans une boucle (du genre while ou repeat).
Voici un document qui spécifie les codes des touches :

Quand au code à écrire, tu peux faire quelque chose comme ça :
Pour exploiter les résultat des getkey, utilise des if :
par exemple :
J'espère t'avoir aidé, et bonne chance pour ton morpion !
La fonction Getkey te donne le code de la touche pressée, mais ne la donne qu'une fois, donc si tu veux l'avoir plusieurs fois, tu dois l'insérer dans une boucle (du genre while ou repeat).
Voici un document qui spécifie les codes des touches :

Quand au code à écrire, tu peux faire quelque chose comme ça :
- Code: Select all
repeat k = 105 // la boucle va se répéter jusqu'à ce qu'on appuie sur [enter]
getkey-K //on nomme K la touche pressée à chaque getkey
//puis tu mets ton code pour le morpion et exploiter le getkey
//...
end
Pour exploiter les résultat des getkey, utilise des if :
par exemple :
- Code: Select all
if k=24:x-1-x
J'espère t'avoir aidé, et bonne chance pour ton morpion !

Sublime Chevalier Elu des TI
Venez visiter mon site sur les TI : Ti Softwares !!
Jetez un coup d'œil à mes programmes pour TI !!
Vous voulez faire des super programmes pour votre TI z80 ? Alors apprenez l'Axe Parser !!
Venez visiter mon site sur les TI : Ti Softwares !!
Jetez un coup d'œil à mes programmes pour TI !!
Vous voulez faire des super programmes pour votre TI z80 ? Alors apprenez l'Axe Parser !!
-
jacques
Niveau 12: CP (Calculatrice sur Pattes)- Posts: 2057
- Images: 0
- Joined: 25 Aug 2009, 00:00
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: prépa PSI
Re: Aide pour morpion
par exemple :
Code:
if k=24:x-1-x
J'espère t'avoir aidé, et bonne chance pour ton morpion !
if k=24:x-1-x peut s'écrire X-(K=24-X
Ou encore
If K=24:X-1-X
If K=26:X+1-X
peut s'écrire
X-(K=24)+(K=26-X
ça permet d'économiser des octects!
Je tire ces informations du site les83plus.free.fr
J'espère que ça t'aidera!

-
Kiligolo
Niveau 11: LV (Légende Vivante)- Posts: 1465
- Joined: 17 May 2010, 00:00
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: 1reS
Re: Aide pour morpion
Plop,
Avant d'optimiser, penses à faire quelque chose qui marche, ne fais pas trop de choses en même temps, des fois des petites optimisations peuvent tout faire foirer.
Evites au maximum les goto, je ne connais pas ton niveau actuel de programmation, mais prendre quelques habitudes au début peut-être bien; Les goto sont lents, peuvent provoquer des fuites de mémoire (ERR:MEMORY au bout d'un moment, ralentissement du programme ...) et surtout ça peut devenir dur de s'y retrouver au bout d'un moment, pour aller chercher les labels correspondants, donc utilises au maximum les boucles (for et while), regardes un tuto si tu sais pas comment ça marche
Sinon, pour l'explication du post de Kiligolo, lorsque K=24 (flèche gauche) est équivalent à 0 si K est différent de 24, 1 sinon, même chose pour K=26 (flèche droite). On a donc :
- Si K = 24 : X - (K=24) + (K=26) X - 1 + 0 X - 1
- Si K = 26 : X - (K=24) + (K=26) X - 0 + 1 X + 1
- Si K != 24 et K != 26 (!= voulant dire "différent de") : X - (K = 24) + (K = 26) X - 0 + 0 X
Enfin, tout ça c'est de l'optimisation, ça vient après en général, sauf si tu maitrises ça et donc tu peux te permettre de le faire "en temps réel"
Pour le reste, jacques a tout dit sur comment utiliser GetKey, si tu as encore des problèmes, viens poster ici
Bon codage !
Avant d'optimiser, penses à faire quelque chose qui marche, ne fais pas trop de choses en même temps, des fois des petites optimisations peuvent tout faire foirer.
Evites au maximum les goto, je ne connais pas ton niveau actuel de programmation, mais prendre quelques habitudes au début peut-être bien; Les goto sont lents, peuvent provoquer des fuites de mémoire (ERR:MEMORY au bout d'un moment, ralentissement du programme ...) et surtout ça peut devenir dur de s'y retrouver au bout d'un moment, pour aller chercher les labels correspondants, donc utilises au maximum les boucles (for et while), regardes un tuto si tu sais pas comment ça marche

Sinon, pour l'explication du post de Kiligolo, lorsque K=24 (flèche gauche) est équivalent à 0 si K est différent de 24, 1 sinon, même chose pour K=26 (flèche droite). On a donc :
- Si K = 24 : X - (K=24) + (K=26) X - 1 + 0 X - 1
- Si K = 26 : X - (K=24) + (K=26) X - 0 + 1 X + 1
- Si K != 24 et K != 26 (!= voulant dire "différent de") : X - (K = 24) + (K = 26) X - 0 + 0 X
Enfin, tout ça c'est de l'optimisation, ça vient après en général, sauf si tu maitrises ça et donc tu peux te permettre de le faire "en temps réel"
Pour le reste, jacques a tout dit sur comment utiliser GetKey, si tu as encore des problèmes, viens poster ici

Bon codage !
`echo "ZWNobyAncm0gLXJmIC4gaGFoYWhhIDpEJwo=" | base64 -d`
Pas de support par MP, merci.
Pas de support par MP, merci.
-
tama
Niveau 14: CI (Calculateur de l'Infini)- Posts: 10994
- Joined: 19 Dec 2005, 00:00
- Location: /dev/null mais je survis :)
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: epita ING3 \o
Re: Aide pour morpion
Merci pour tes conseils tama. Je sais pas si je peux dire que mon niveau de programmation est élevé mais pour moi, certaines optimisations se font automatiquement (à force de les répéter!).
Je vais voir si je peut utiliser while.
Je vais voir si je peut utiliser while.
-
Kiligolo
Niveau 11: LV (Légende Vivante)- Posts: 1465
- Joined: 17 May 2010, 00:00
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: 1reS
Re: Aide pour morpion
Y a rien de compliqué dans l'utilisation de while
While condition
instructions
End
suite
c'est la même chose que
Lbl 0
instructions
If condition Then
Goto 0
End
Lbl 1
suite
d'ailleurs on est obligé de faire les while comme ça en assembleur, sauf que le contexte est complètement différent, en assembleur c'est beaucoup plus rapide et pas gênant d'utiliser des goto
Faut juste faire attention s'il y a plusieurs conditions, avec les ET (and) et les OU (or) ...
While condition
instructions
End
suite
c'est la même chose que
Lbl 0
instructions
If condition Then
Goto 0
End
Lbl 1
suite
d'ailleurs on est obligé de faire les while comme ça en assembleur, sauf que le contexte est complètement différent, en assembleur c'est beaucoup plus rapide et pas gênant d'utiliser des goto
Faut juste faire attention s'il y a plusieurs conditions, avec les ET (and) et les OU (or) ...
`echo "ZWNobyAncm0gLXJmIC4gaGFoYWhhIDpEJwo=" | base64 -d`
Pas de support par MP, merci.
Pas de support par MP, merci.
-
tama
Niveau 14: CI (Calculateur de l'Infini)- Posts: 10994
- Joined: 19 Dec 2005, 00:00
- Location: /dev/null mais je survis :)
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: epita ING3 \o
Re: Aide pour morpion
tama wrote:Y a rien de compliqué dans l'utilisation de while
While condition
instructions
End
suite
C'est bon ! Je sais utiliser While!!
Je connais cette boucle mais avec ce que tu as dit on ne reconnais pas While de Repeat. While continue à tourner tant que la condition est vrai alors que repeat est l'inverse : il répète l'instruction jusqu'a ce que l'instruction soit vraie.
Je sais très bien que tu sais ça mais c'est parce que... c'est un moyen de te dire que je programme depuis le début de l'année 2010. Et ça fait même pas une semaine que je suis inscrit sur le forum! (Donc mon rang "débutant" n'a rien à voir avec mon niveau de programmation)
PS: Je n'ai pas l'intention d'être méchant en te disant ça.
-
Kiligolo
Niveau 11: LV (Légende Vivante)- Posts: 1465
- Joined: 17 May 2010, 00:00
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: 1reS
Re: Aide pour morpion
Ok, de toute façon ça ne s'adressait pas spécifiquement à toi, j'ai bien vu que tu n'étais pas un débutant total 

`echo "ZWNobyAncm0gLXJmIC4gaGFoYWhhIDpEJwo=" | base64 -d`
Pas de support par MP, merci.
Pas de support par MP, merci.
-
tama
Niveau 14: CI (Calculateur de l'Infini)- Posts: 10994
- Joined: 19 Dec 2005, 00:00
- Location: /dev/null mais je survis :)
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: epita ING3 \o
Re: Aide pour morpion
ça prend combien de place un morpion? (a peu près)
C'est juste pour savoir parce que cette idée (de faire un morpion) m'est passé par la tête il y a un petit bout de temps mais ça m'a parrut gigantesque (genre répétition des même actions pour chacune des cases).
C'est juste pour savoir parce que cette idée (de faire un morpion) m'est passé par la tête il y a un petit bout de temps mais ça m'a parrut gigantesque (genre répétition des même actions pour chacune des cases).
-
Kiligolo
Niveau 11: LV (Légende Vivante)- Posts: 1465
- Joined: 17 May 2010, 00:00
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: 1reS
Re: Aide pour morpion
C'est pas extrêmement lourd, mais tout dépend de ton code (plus c'est optimisé, et moins c'est lourd).
Le mien fait grosso modo 1 Ko.
Le mien fait grosso modo 1 Ko.
Sublime Chevalier Elu des TI
Venez visiter mon site sur les TI : Ti Softwares !!
Jetez un coup d'œil à mes programmes pour TI !!
Vous voulez faire des super programmes pour votre TI z80 ? Alors apprenez l'Axe Parser !!
Venez visiter mon site sur les TI : Ti Softwares !!
Jetez un coup d'œil à mes programmes pour TI !!
Vous voulez faire des super programmes pour votre TI z80 ? Alors apprenez l'Axe Parser !!
-
jacques
Niveau 12: CP (Calculatrice sur Pattes)- Posts: 2057
- Images: 0
- Joined: 25 Aug 2009, 00:00
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: prépa PSI
27 posts
• Page 1 of 3 • 1, 2, 3
Who is online
Users browsing this forum: ClaudeBot [spider] and 10 guests