Poster un nouveau sujet Poster une réponse Page: 1,      >>
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   Citer 

Bonjour a tous winkle.gif
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 winkle.gif

----------------------
I'm Just a Man, Standing In Front of The Reality.
You can call me Garry The Kid
 Adresse email Haut de page Bas de page 
 
Batchyuiop



Autorisation : Membre
Nb de messages : 6
Inscrit le : Sam 15 Sep 2012, 15:39
Posté le : Dim 07 Oct 2012, 21:50   Citer 

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*
 Adresse email Haut de page Bas de page 
 
Kid_Garry



Autorisation : Membre
Nb de messages : 15
Inscrit le : Dim 07 Oct 2012, 21:10
Posté le : Dim 07 Oct 2012, 22:04   Citer 

Merci Beaucoup winkle.gif
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
 Adresse email Haut de page Bas de page 
 
Batchyuiop



Autorisation : Membre
Nb de messages : 6
Inscrit le : Sam 15 Sep 2012, 15:39
Posté le : Dim 07 Oct 2012, 22:18   Citer 

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*
 Adresse email Haut de page Bas de page 
 
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   Citer 

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 winkle.gif
_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 cupsmiley.gif

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 winkle.gif

----------------------
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 winkle.gif
 Adresse email Haut de page Bas de page 
 
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   Citer 

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*
 Adresse email Haut de page Bas de page 
 
Kid_Garry



Autorisation : Membre
Nb de messages : 15
Inscrit le : Dim 07 Oct 2012, 21:10
Posté le : Lun 08 Oct 2012, 9:12   Citer 

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
 Adresse email Haut de page Bas de page 
 
Cytropus



Autorisation : Membre
Nb de messages : 409
Inscrit le : Lun 07 Nov 2011, 12:09
Posté le : Lun 08 Oct 2012, 15:10   Citer 

Pour utiliser l'écran graphique:c'est ici glasses.gif

----------------------
Le nouveau site de tout82
 Adresse email Haut de page Bas de page 
 
Kid_Garry



Autorisation : Membre
Nb de messages : 15
Inscrit le : Dim 07 Oct 2012, 21:10
Posté le : Lun 08 Oct 2012, 22:10   Citer 

Merci beaucoup winkle.gif
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
 Adresse email Haut de page Bas de page 
 
m@thieu41



Autorisation : Membre
Nb de messages : 856
Inscrit le : Mer 18 Juil 2012, 18:44
Posté le : Lun 08 Oct 2012, 22:19   Citer 

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é winkle.gif

----------------------
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 winkle.gif
 Adresse email Haut de page Bas de page 
 
Kid_Garry



Autorisation : Membre
Nb de messages : 15
Inscrit le : Dim 07 Oct 2012, 21:10
Posté le : Lun 08 Oct 2012, 22:27   Citer 

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
 Adresse email Haut de page Bas de page 
 
ld
Avatar

Autorisation : Membre
Nb de messages : 373
Inscrit le : Jeu 23 Sep 2010, 16:05
Posté le : Lun 08 Oct 2012, 23:11   Citer 

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
 Adresse email Haut de page Bas de page 
 
m@thieu41



Autorisation : Membre
Nb de messages : 856
Inscrit le : Mer 18 Juil 2012, 18:44
Posté le : Mar 09 Oct 2012, 9:09   Citer 

Du coup, tu peux savoir s'il y a un obstacle bigmouth.gif

----------------------
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 winkle.gif
 Adresse email Haut de page Bas de page 
 
Kid_Garry



Autorisation : Membre
Nb de messages : 15
Inscrit le : Dim 07 Oct 2012, 21:10
Posté le : Mar 09 Oct 2012, 9:24   Citer 

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
 Adresse email Haut de page Bas de page 
 
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   Citer 

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
 Adresse email Haut de page Bas de page 
 
m@thieu41



Autorisation : Membre
Nb de messages : 856
Inscrit le : Mer 18 Juil 2012, 18:44
Posté le : Mar 09 Oct 2012, 20:42   Citer 

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 winkle.gif

----------------------
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 winkle.gif
 Adresse email Haut de page Bas de page 
 
Kid_Garry



Autorisation : Membre
Nb de messages : 15
Inscrit le : Dim 07 Oct 2012, 21:10
Posté le : Mer 10 Oct 2012, 17:05   Citer 

Merci winkle.gif
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 happy.gif )

----------------------
I'm Just a Man, Standing In Front of The Reality.
You can call me Garry The Kid
 Adresse email Haut de page Bas de page 
 
Kid_Garry



Autorisation : Membre
Nb de messages : 15
Inscrit le : Dim 07 Oct 2012, 21:10
Posté le : Jeu 11 Oct 2012, 21:40   Citer 

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
 Adresse email Haut de page Bas de page 
 
M@thieu41
Invité
Posté le : Jeu 11 Oct 2012, 22:20   Citer 


Citer : Kid_Garry
Voila a quoi ça ressemble ^^

Code

:While 1=1



A quoi sert cette ligne? (1=1) winkle.gif

  Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Jeu 11 Oct 2012, 23:15   Citer 

Tu peux remplacer While 1=1 par While 1 car le test d'égalité génère 1 pour vrai et 0 pour faux winkle.gif

----------------------
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
 Adresse email Haut de page Bas de page 
 
Poster un nouveau sujet Poster une réponse Page: 1,      >>





  Powered by Fire-Soft-Board v1.0.10 © 2004 - 2024 Groupe FSB
Page générée en 9 requêtes
BlackOne par Grimmlink