| 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 : https://web.archive.org/web/20121214220956/http://www.siteduzero.com/tutoriel-3-717922-tp-un-snake.html
---------------------- *En travaux* |
 |
|
| |
m@thieu41
Autorisation : Membre
Nb de messages : 848
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  |
 |
|
| |
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 : 407
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 : 848
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 : 848
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 |
 |
|
| |
Cytropus
Autorisation : Membre
Nb de messages : 407
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 |
 |
|
| |
Google_AdSense
|
Publicité
|
|
|
|
| |
m@thieu41
Autorisation : Membre
Nb de messages : 848
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 : 3738
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 |
 |
|
| |
Kid_Garry
Autorisation : Membre
Nb de messages : 15
Inscrit le : Dim 07 Oct 2012, 21:10
|
Posté le : Ven 12 Oct 2012, 19:43
|
|
|
j'arrive a faire bouger le "serpent" mais pas a le faire grandir ^^
une petite aide ? 
---------------------- I'm Just a Man, Standing In Front of The Reality.
You can call me Garry The Kid |
 |
|
| |
linkakro
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
|
Posté le : Ven 12 Oct 2012, 20:35
|
|
|
il faut stocker les coordonnées de chaque segment dans une ou plusieurs listes (les variables ne suffisent pas pour un snake) et effacer de l'écran et de la liste la queue du serpent à chaque déplacement pour afficher la tête et remplacer dans la liste les anciennes coordonnées de la queue.
---------------------- 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 |
 |
|
| |