Une Petite Aide |
Auteur |
Message |
Kid_Garry
Autorisation : Membre
Nb de messages : 15
Inscrit le : Dim 07 Oct 2012, 21:10
|
Posté le : Dim 07 Oct 2012, 21:32
|
|
|
Bonjour a tous
Voila voila je suis un ptit nouveau pas très fort en programmation mais je tente de m'ameliorer. Apres quelque programme comme des +/-, j'ai décidé de me lancer dans le "code touche" !
Voila un programme que j'ai fais et j'aimerais que vous me donniez des conseil pour m'ameliorer et transformer ça en Snake...
Mon programme n'est pas vraiment génial, il permet juste de faire déplacer un point sur l'ecran ^^
Code | :EffEcr
:4->X
:4->Y
:Repeat A=3
:Output(Y,X,".
:codeTouche->K
:If K=24
:Then
:X-1->X
:Output(Y,X+1," "
:End
:If K=26
:Then
:X+1->X
:Output(Y,X," "
:End
:If K=25
:Then
:Y-1->Y
:Output(Y+1,X," "
:End
:If K=34
:Then
:Y+1->Y
:Output(Y-1,X," "
:End
:If K=105
:Then
:Goto C
:End
:If X>16
:Then
:16->X
:End
:If X<1
:Then
:1->X
:End
:If Y<1
:Then
:1->Y
:End
:If Y>8
:Then
:8->Y
:End
:End
:Lbl C
:Effecr
:Output(8,12,"Garry
:Pause
:Stop |
Voila, Merci D'avance
---------------------- I'm Just a Man, Standing In Front of The Reality.
You can call me Garry The Kid |
|
|
|
Batchyuiop
Autorisation : Membre
Nb de messages : 6
Inscrit le : Sam 15 Sep 2012, 15:39
|
Posté le : Dim 07 Oct 2012, 21:50
|
|
|
Je ne suis pas sur, mais tu peux remplacer
Citer | :If K=26
:Then
:X+1->X
:Output(Y,X," "
:End
:If K=25
:Then
:Y-1->Y
:Output(Y+1,X," "
:End
:If K=34
:Then
:Y+1->Y
:Output(Y-1,X," "
:End |
Par :
Code | :If K=24 ou K=25 K=26 ou K=34
:Then
:X+((K=24)-(K=26))üX
:Y+((K=25)-(K=34))üY
:EffEcran
:Output(Y,X,".")
:End |
Et puis, lorsqu'il n'y a qu'une condition, pas bsion de Then et de End :
Citer | :If X>16
:Then
:16->X
:End
:If X<1
:Then
:1->X
:End
:If Y>1
:Then
:1->Y
:End
:If Y>8
:Then
:8->Y
:End |
devient
Code | :If X>16
:16->X
:If X<1
:1->X
:If Y>1
:1->Y
:If Y>8
:8->Y |
Et apres le codeToucheüK, tu peux rajouter une condition K!= (différent) de 0, le programme sera plus rapide.
Bon, je crois que c'est tout
---------------------- *En travaux* |
|
|
|
Kid_Garry
Autorisation : Membre
Nb de messages : 15
Inscrit le : Dim 07 Oct 2012, 21:10
|
Posté le : Dim 07 Oct 2012, 22:04
|
|
|
Merci Beaucoup
Mais ce que j'aimerais savoir surtout c'est tranformer ça en snake ^^
---------------------- I'm Just a Man, Standing In Front of The Reality.
You can call me Garry The Kid |
|
|
|
Batchyuiop
Autorisation : Membre
Nb de messages : 6
Inscrit le : Sam 15 Sep 2012, 15:39
|
Posté le : Dim 07 Oct 2012, 22:18
|
|
|
Ouie je ne suis pas aussi fort en programmation. Je crois qu'il ne faut pas utiliser des simples variable (A à Z + theta), mais des liste/ matrice ... enfin bon, regarde par la : http://www.siteduzero.com/tutoriel-3-717922-tp-un-snake.html
---------------------- *En travaux* |
|
|
|
Google_AdSense
|
Publicité
|
|
|
|
|
m@thieu41
Autorisation : Membre
Nb de messages : 856
Inscrit le : Mer 18 Juil 2012, 18:44
|
Posté le : Dim 07 Oct 2012, 22:27
|
|
|
Slt!
Pour transformer ca en Snake, il te faut plusieures choses:
_Savoir utiliser les listes (pour faire varier la taille du Snake);
_plutot que de faire changer les coordonnees en fonction du code touche, sert toi d une variable ou tu stockera la direction prise par le snake,au moins si on appuie plus,il bouge toujours
_sur l ecran standart,c. un peu difficile de gerer les collisions, c est plus dimple sur l ecran graphique,meme si c est quand meme possible
Si tu as besoin d aide,n hesite pas
EDIT
Un conseil:evite les goto dans les boucles,ça ralentit le prgm, encore que là ca ne soit pas tres grave,mais autant prendre les bonnes habitudes
---------------------- Pour vous aidez dans vos débuts (et même ensuite ^^) :
*Tuto Algo->Ti Basic (par Linkakro) : Traduisez vos algo (de type algobox) en prgm pour votre TI!
*Catalogue des emplacements et traductions (anglais/français) des fonctions sur la TI.
*Faites vos propres programmes de maths (par ash)
Et au fait: la politesse n'a jamais tué personne |
|
|
|
Google_AdSense
|
Publicité
|
|
|
|
|
Batchyuiop
Autorisation : Membre
Nb de messages : 6
Inscrit le : Sam 15 Sep 2012, 15:39
|
Posté le : Lun 08 Oct 2012, 7:51
|
|
|
Ouais, pour les directions, utilise une sorte de :
Code | codeToucheüK
If K=24 ou K=25 ou K=26 ou K=34:KüM
(Et la, tu fais tous ce qui est direction du serpent |
---------------------- *En travaux* |
|
|
|
Kid_Garry
Autorisation : Membre
Nb de messages : 15
Inscrit le : Dim 07 Oct 2012, 21:10
|
Posté le : Lun 08 Oct 2012, 9:12
|
|
|
Merci beaucoup pour toutes vos reponses ça fais super plaisir, je vais aller sur le site du eero et prendre en compte vos remarque pour essayé de faire sa ^^
j'ai encore une petite question : comment utilise t-on l'ecran grafique ? ^^
---------------------- I'm Just a Man, Standing In Front of The Reality.
You can call me Garry The Kid |
|
|
|
Cytropus
Autorisation : Membre
Nb de messages : 409
Inscrit le : Lun 07 Nov 2011, 12:09
|
Posté le : Lun 08 Oct 2012, 15:10
|
|
|
Pour utiliser l'écran graphique:c'est ici
---------------------- Le nouveau site de tout82 |
|
|
|
Kid_Garry
Autorisation : Membre
Nb de messages : 15
Inscrit le : Dim 07 Oct 2012, 21:10
|
Posté le : Lun 08 Oct 2012, 22:10
|
|
|
Merci beaucoup
Donc si j'ai bien compris il faut que je fasse une matrice {8,16} et que je change en meme temps la partie grafique... ça va etre assez compliqué ^^
---------------------- I'm Just a Man, Standing In Front of The Reality.
You can call me Garry The Kid |
|
|
|
m@thieu41
Autorisation : Membre
Nb de messages : 856
Inscrit le : Mer 18 Juil 2012, 18:44
|
Posté le : Lun 08 Oct 2012, 22:19
|
|
|
En fait, tu devrais utiliser une matrice si tu es sur l ecran standart
Sur l ecran graphique,tu peux te servir de la fonction pxltest( pour gerer les collisions, donc la matrice n est pas tres utile,tu risque de perdre en fluidité
---------------------- Pour vous aidez dans vos débuts (et même ensuite ^^) :
*Tuto Algo->Ti Basic (par Linkakro) : Traduisez vos algo (de type algobox) en prgm pour votre TI!
*Catalogue des emplacements et traductions (anglais/français) des fonctions sur la TI.
*Faites vos propres programmes de maths (par ash)
Et au fait: la politesse n'a jamais tué personne |
|
|
|
Kid_Garry
Autorisation : Membre
Nb de messages : 15
Inscrit le : Dim 07 Oct 2012, 21:10
|
Posté le : Lun 08 Oct 2012, 22:27
|
|
|
Ah ok, mais je croyais que pixel test servais a verifier l'allumage d'un pixel ^^
---------------------- I'm Just a Man, Standing In Front of The Reality.
You can call me Garry The Kid |
|
|
|
ld
Autorisation : Membre
Nb de messages : 373
Inscrit le : Jeu 23 Sep 2010, 16:05
|
Posté le : Lun 08 Oct 2012, 23:11
|
|
|
Bin si c'est çà. Pixel Test sert a vérifier l'allumage d'un pixel --
---------------------- Note Éphéméride Chrono Bombrman BlueFishEncryptor Labygénérateur Nord BandeauDeTexte LunarPhase Syracuse Papy-Jump Convertisseur ! SolveurDeSudoku VérificateurDeCodesBanquaire PrgmADiviser CryptageDeVigenere MiniSolv Reed-Solomon Code128Géodésie |
|
|
|
m@thieu41
Autorisation : Membre
Nb de messages : 856
Inscrit le : Mer 18 Juil 2012, 18:44
|
Posté le : Mar 09 Oct 2012, 9:09
|
|
|
Du coup, tu peux savoir s'il y a un obstacle
---------------------- Pour vous aidez dans vos débuts (et même ensuite ^^) :
*Tuto Algo->Ti Basic (par Linkakro) : Traduisez vos algo (de type algobox) en prgm pour votre TI!
*Catalogue des emplacements et traductions (anglais/français) des fonctions sur la TI.
*Faites vos propres programmes de maths (par ash)
Et au fait: la politesse n'a jamais tué personne |
|
|
|
Kid_Garry
Autorisation : Membre
Nb de messages : 15
Inscrit le : Dim 07 Oct 2012, 21:10
|
Posté le : Mar 09 Oct 2012, 9:24
|
|
|
ah ouai ok, et je peux différencier un mur d'un objet avec cette fonction ?
---------------------- I'm Just a Man, Standing In Front of The Reality.
You can call me Garry The Kid |
|
|
|
Google_AdSense
|
Publicité
|
|
|
|
|
Cytropus
Autorisation : Membre
Nb de messages : 409
Inscrit le : Lun 07 Nov 2011, 12:09
|
Posté le : Mar 09 Oct 2012, 16:24
|
|
|
Nan, si tu veux pas qu'il te tue parce que t'as mangé un fruit, t'es obligé de lancer une vérification (exemple, celui de vibra)
---------------------- Le nouveau site de tout82 |
|
|
|
m@thieu41
Autorisation : Membre
Nb de messages : 856
Inscrit le : Mer 18 Juil 2012, 18:44
|
Posté le : Mar 09 Oct 2012, 20:42
|
|
|
Je n'ai pas regardé comment il le fait, mais on peut aussi gérer si tu manges un fruit avant, ainsi, on efface le fruit, et le pxlTest est négatif, pas d'obstacle
---------------------- Pour vous aidez dans vos débuts (et même ensuite ^^) :
*Tuto Algo->Ti Basic (par Linkakro) : Traduisez vos algo (de type algobox) en prgm pour votre TI!
*Catalogue des emplacements et traductions (anglais/français) des fonctions sur la TI.
*Faites vos propres programmes de maths (par ash)
Et au fait: la politesse n'a jamais tué personne |
|
|
|
Kid_Garry
Autorisation : Membre
Nb de messages : 15
Inscrit le : Dim 07 Oct 2012, 21:10
|
Posté le : Mer 10 Oct 2012, 17:05
|
|
|
Merci
pour l'instant le serpent a 2 case (Pt-ON(X,Y,3)) peut avancer (mais la direction n'est pas bloquer) et il y a des lignes autour de l'écran (délimitation de la map )
---------------------- I'm Just a Man, Standing In Front of The Reality.
You can call me Garry The Kid |
|
|
|
Kid_Garry
Autorisation : Membre
Nb de messages : 15
Inscrit le : Dim 07 Oct 2012, 21:10
|
Posté le : Jeu 11 Oct 2012, 21:40
|
|
|
Voila a quoi ça ressemble ^^
Code |
:EffDessin
:Horizontale 0
:Horizontale 1
:Horizontale 61
:Horizontale 62
:Verticale 0
:Verticale 1
:Verticale 93
:Verticale 94
:36->A
:32->B
:0->D
:0->I
:0->J
:0->K
:Pt-On(A,B,3
:Lbl 1
:While K!=105
:0->D
:codeTouche->K
:If K=26:1->D
:If K=25:2->D
:If K=34:3->D
:If D=1
:Then
:While 1=1
:For(I,1,5
:End
:codeTouche->K
:If K=25 ou K=34 ou K=105:Goto1
:Pt-On(A,B,3
:A+2->A
:For(J,1,35
:End
:Pt-Off(A-2,B,3
:End
:End
:End
:Stop
|
Je galere un peu mais au moins j'ai reussi a bloquer la direction ^^
---------------------- I'm Just a Man, Standing In Front of The Reality.
You can call me Garry The Kid |
|
|
|
M@thieu41
Invité
|
Posté le : Jeu 11 Oct 2012, 22:20
|
|
|
Citer : Kid_Garry | Voila a quoi ça ressemble ^^
|
A quoi sert cette ligne? (1=1)
|
|
|
|
linkakro
Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
|
Posté le : Jeu 11 Oct 2012, 23:15
|
|
|
Tu peux remplacer While 1=1 par While 1 car le test d'égalité génère 1 pour vrai et 0 pour faux
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store |
|
|
|