| Déplacement avec getkey |
| Auteur |
Message |
xDreams
Autorisation : Membre
Nb de messages : 96
Inscrit le : Jeu 20 Oct 2011, 0:22
|
Posté le : Dim 04 Déc 2011, 0:59
|
|
|
Bonsoir ! 
Je voudrais savoir deux déplacement :
-Le premier: faire bouger un perso " X " de gauche à droite, avec getkey et tout le tralala... (j'ai essayé mais pas réussi ^^')
-Le deuxième : un objet qui fonce automatiquement en ligne droite sur le perso " X " sans qu'une touche soit pressée etc...
Voilà,
merci !
xDreams.
---------------------- Reprise du dev Ti-Basic ! 
( mais passé à html5/css3 et c#)
Mes Programmes (Mis à jour le 13/01/12) |
 |
|
| |
The K
Autorisation : Membre
Nb de messages : 850
Inscrit le : Sam 15 Oct 2011, 11:07
|
Posté le : Dim 04 Déc 2011, 10:42
|
|
|
Pour le getkey tu as un très bon tuto dans la rubrique articles, made by persalteas 
Sinon en fait le principe : pour déplacer un point, tu mets ses coordonées horizontales dans une variable, verticales dans une autre, et tu dis genre "si codetouche = 25 (flèche haut), alors enlever un à la variable verticale".
Et voila ... après, pour effacer la trace, tu as le choix entre un effecr/effdessin, ou un output/texte avec un espace.
Après pour l'objet qui fonce ... eh bien tu fais une boucle while 1 ou un truc du genre et à chaque tour de boucle l'objet descend de un cran 
---------------------- La la la ...
Avez-vous pensé à regarder le manuel avant de demander conseil ? Un manuel est fait avant tout pour être consulté : MANUEL
Vous avez un problème avec l'ordinateur avec votre calculatrice ? SOLUTION EN VIDEO
Mes programmes sur le site : Produit scalaire KMorpion Puissance 4 Mastermind
Mes nouveaux programmes de calcul formel : FCarré FPrime
Projet base de données : ici mais abandonné. Trop de travail ... |
 |
|
| |
Polymorph
Autorisation : Membre
Nb de messages : 118
Inscrit le : Dim 13 Nov 2011, 14:26
|
Posté le : Dim 04 Déc 2011, 10:53
|
|
|
Note que l'effecr, Effdessin sont très lent dans un programme et ça fait pas fluide ^^
Prefère un texte espace, ou un pt-off!
| Citer | alors enlever un à la variable verticale".
|
Pour un non-initié au graphique, il faudrait commencer par expliquer qu'on prend en général des coordonnées en ordonnées
Ymin = -62
Ymax = 0
Dans le but de les synchroniser plus facilement avec les coordonnées texte!
(Pt-on(X,Y) sera à peu près égal à Texte(-Y,X,".") et égal à Pxl-on(-Y,X))
Cela permet en général de faire un Pxl-test, pour détecter une collision entre ton personnage et un obstacle.
J'espère t'avoir aidé! ^^
----------------------
| Citer | | Le temps est une variable dans une boucle infinie, qu'on ne cesse d'incrémenter. |
Polymorph, 23/11/2011 |
 |
|
| |
The K
Autorisation : Membre
Nb de messages : 850
Inscrit le : Sam 15 Oct 2011, 11:07
|
Posté le : Dim 04 Déc 2011, 11:58
|
|
|
Yep sir, c'est plus lent, mais parfois beaucoup plus pratique surtout dans un programme ou une demi seconde de lag (ou moins), du genre pour économiser une cinquantaine d'octets, à la place de 3-4 : Ligne(x,y,x',y',0
Par ailleurs je renvoie surtout au tuto de persa dans la rubrique article 
---------------------- La la la ...
Avez-vous pensé à regarder le manuel avant de demander conseil ? Un manuel est fait avant tout pour être consulté : MANUEL
Vous avez un problème avec l'ordinateur avec votre calculatrice ? SOLUTION EN VIDEO
Mes programmes sur le site : Produit scalaire KMorpion Puissance 4 Mastermind
Mes nouveaux programmes de calcul formel : FCarré FPrime
Projet base de données : ici mais abandonné. Trop de travail ... |
 |
|
| |
xDreams
Autorisation : Membre
Nb de messages : 96
Inscrit le : Jeu 20 Oct 2011, 0:22
|
Posté le : Dim 04 Déc 2011, 14:39
|
|
|
OK merci les gars, je retiens
Mais là je souhaite commencer sur l'écran "normal", pas en graphique quoi ( si c'est possible )...
Genre j'affiche mon perso avec output ! 
xDreams.
---------------------- Reprise du dev Ti-Basic ! 
( mais passé à html5/css3 et c#)
Mes Programmes (Mis à jour le 13/01/12) |
 |
|
| |
linkakro
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
|
Posté le : Dim 04 Déc 2011, 15:57
|
|
|
| Code | ClrHome
8->X
While 1
For(T,1,8
Output(T,8,"V
Output(8,X,"X
getKey->K
If K
Output(8,X," "
X+(K=26)-(K=24->X
Output(T,8," "
End
1->T
End |
Il existe beaucoup de codes qui reviennent régulièrement dans les jeux selon ce qu'on veut faire.
Ici je n'ai pas prévu qu'on puisse sortir de la boucle While 1 sans Goto. Et je n'ai placé aucun test de collision.
Une des ambigüités qui peut tout changer au concept d'un programme est l'ordre dans lequel on enchaîne l'affichage d'un point, son effacement et le calcul de son déplacement.
---------------------- 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 |
 |
|
| |
xDreams
Autorisation : Membre
Nb de messages : 96
Inscrit le : Jeu 20 Oct 2011, 0:22
|
Posté le : Dim 04 Déc 2011, 16:51
|
|
|
Merci link ! J'y arrivais pas ! ^^'
Et donc tu me conseilles de mettre dans quel ordre les instructions ?
EDIT : C'est trop rapide ! Il faut que je modifie les valeurs de For pour que sa ralentisse le V ?
xDreams.
---------------------- Reprise du dev Ti-Basic ! 
( mais passé à html5/css3 et c#)
Mes Programmes (Mis à jour le 13/01/12) |
 |
|
| |
linkakro
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
|
Posté le : Lun 05 Déc 2011, 14:40
|
|
|
Pour ralentir un programme (temporiser) il faut ajoûter des instructions qui prennent du temps pour être executées.
Le grand classique : 69! qui effectue le calcul de la factorielle 1*2*...*69 ce qui est relativement lent
Et tu en ajoûte plusieurs sur une ligne vierge pour cumuler le ralentissement.
Classique plus facile à régler : For(W,0,1000):End
Tu augmentes la valeur 1000 pour temporiser plus longtemps.
Et tu peux écrire Ex pour écrire tes nombres en format scientifique. (E3 pour 1000) (avec le E de [2nde]+[,])
---------------------- 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 |
 |
|
| |
xDreams
Autorisation : Membre
Nb de messages : 96
Inscrit le : Jeu 20 Oct 2011, 0:22
|
Posté le : Mar 06 Déc 2011, 20:24
|
|
|
Merci pour ta réponse ! 
xDreams.
---------------------- Reprise du dev Ti-Basic ! 
( mais passé à html5/css3 et c#)
Mes Programmes (Mis à jour le 13/01/12) |
 |
|
| |
xDreams
Autorisation : Membre
Nb de messages : 96
Inscrit le : Jeu 20 Oct 2011, 0:22
|
Posté le : Sam 10 Déc 2011, 18:23
|
|
|
Dans ton programme que tu m'as posté, je place ou la ligne de la boucle ?
Et tu peux m'expliquer le pxl-test ? 
Merci
xDreams
---------------------- Reprise du dev Ti-Basic ! 
( mais passé à html5/css3 et c#)
Mes Programmes (Mis à jour le 13/01/12) |
 |
|
| |
sandro
Autorisation : Membre
Nb de messages : 1366
Inscrit le : Ven 25 Mar 2011, 22:58
|
Posté le : Sam 10 Déc 2011, 19:30
|
|
|
le bout de code pour ralentir, par example juste après le While 1
sinon, le pixel test regarde si, sur écran graphique, le pixel de coordonnées X;Y (écrits dans l'autre sens) est alumé (1) ou éteint (0) et renvoi le chiffre que je t'ai mis entre parrenthèses.
Sandro
---------------------- mort à l'inutile, place à la mémoire libre et aux programmes |
 |
|
| |
xDreams
Autorisation : Membre
Nb de messages : 96
Inscrit le : Jeu 20 Oct 2011, 0:22
|
Posté le : Mar 13 Déc 2011, 19:18
|
|
|
J'ai un ptit problème...
Il me met erreur Domaine en pointant sur la fin de
xDreams
---------------------- Reprise du dev Ti-Basic ! 
( mais passé à html5/css3 et c#)
Mes Programmes (Mis à jour le 13/01/12) |
 |
|
| |
linkakro
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
|
Posté le : Mar 13 Déc 2011, 20:47
|
|
|
La valeur de T est fausse. Elle doit être comprise entre 1 et 8.
Vérifie l'instruction du For.
J'ai testé mon code et il n'y a pas de problème.
---------------------- 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 |
 |
|
| |
xDreams
Autorisation : Membre
Nb de messages : 96
Inscrit le : Jeu 20 Oct 2011, 0:22
|
Posté le : Mar 13 Déc 2011, 22:52
|
|
|
L'inconvénient c'est qu'on ne voit pas bien l'objet qui arrive sur le perso, avec l'ajout des ''69!'' en tout cas ...
Ps:(je m'étais trompé dans la variable de la boucle, désolé)
xDreams.
---------------------- Reprise du dev Ti-Basic ! 
( mais passé à html5/css3 et c#)
Mes Programmes (Mis à jour le 13/01/12) |
 |
|
| |
linkakro
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
|
Posté le : Mar 13 Déc 2011, 23:02
|
|
|
Ecrit le groupe de 69! en divers endroits du programme jusqu'à trouver le bon.
Je pense que juste au dessus de getKey ce serait idéal.
---------------------- 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 |
 |
|
| |
xDreams
Autorisation : Membre
Nb de messages : 96
Inscrit le : Jeu 20 Oct 2011, 0:22
|
Posté le : Mer 14 Déc 2011, 13:16
|
|
|
Merci c'est parfait !
Par contre, je me suis renseigné pour les pxltest( mais j'ai pas saisi... Vous pouvez me montrer avec le programme ?
Merci !
xDreams.
---------------------- Reprise du dev Ti-Basic ! 
( mais passé à html5/css3 et c#)
Mes Programmes (Mis à jour le 13/01/12) |
 |
|
| |
Google_AdSense
|
Publicité
|
|
|
|
| |
linkakro
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
|
Posté le : Ven 16 Déc 2011, 0:07
|
|
|
Il n'est pas forcément nécessaire d'utiliser pxl-test pour détecter une colision. Mon programme est adapté pour détecter les colisions à partir des coordonnées stockées dans T et X.
pxl-test est incompatible avec mon programme car il fonctionne en graphique tandis que mon prog se déroule en écran normal.
---------------------- 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 |
 |
|
| |
xDreams
Autorisation : Membre
Nb de messages : 96
Inscrit le : Jeu 20 Oct 2011, 0:22
|
Posté le : Ven 16 Déc 2011, 7:50
|
|
|
En gros, je dois faire le programme en graphique ?
Et si je veux rester en écran normal, j'écris quel code pour le test de collision ?
xDreams
---------------------- Reprise du dev Ti-Basic ! 
( mais passé à html5/css3 et c#)
Mes Programmes (Mis à jour le 13/01/12) |
 |
|
| |
linkakro
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
|
Posté le : Ven 16 Déc 2011, 15:51
|
|
|
Oui, il faut programmer en graphique pour utiliser le pxl-test.
If T=8 and X=8
convient pour tester une collision.
A la fin on peut aussi mettre ça :
If X=8
Stop
1->T
End
Dans un programme plus global c'est : If X=A and Y=B
pour X,Y un objet et A,B pour l'autre.
Réfléchit un peu avant de demander immédiatement la solution.
---------------------- 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 |
 |
|
| |
Google_AdSense
|
Publicité
|
|
|
|
| |
xDreams
Autorisation : Membre
Nb de messages : 96
Inscrit le : Jeu 20 Oct 2011, 0:22
|
Posté le : Ven 16 Déc 2011, 23:47
|
|
|
Désolé et merci.
xDreams.
---------------------- Reprise du dev Ti-Basic ! 
( mais passé à html5/css3 et c#)
Mes Programmes (Mis à jour le 13/01/12) |
 |
|
| |