Poster un nouveau sujet Poster une réponse
Petit Programme ( qui marche pas top )
Auteur Message
Bibounette



Autorisation : Membre
Nb de messages : 15
Inscrit le : Lun 06 Avr 2009, 0:17
Posté le : Dim 19 Avr 2009, 18:05   Citer 

Bonjour !!

HéHé me revoila glasses.gif
Bon Alors voila sa fait plusieurs jours que j'essaye de comprendre et d'employer la fonction codeTouche, mais ... sans grans succès moodforlove.gif !

Je vous laisse rire :


Code
:EffDessin
:EffEcr
:0->x
:0->Y
:Lbl 0
:CodeTouche->K
:If K=26
:Then
:X+1->X
:End
:If K=25
:Then
:Y+1=Y
:End
:If K=34
:Then
:Y-1->Y
:End
:If K=24
:Then
:X-1->X
:End
:Goto A
:Lbl A
:Texte(X,Y,"0
:Goto 0



C'est totalement pitoyable je l'avoue mais bon faut bien commencer par la pour devenir une bosse bigmouth.gif !

Je voudrais que le 0 ce déplace avec les flèche et ne pas avoir de graphique si possible happy.gif !

En attente d'une réponse,

Coordialement Bibounette minied.gif

----------------------
** C'est en faisant des erreurs que l'on progresse **
 Adresse email Haut de page Bas de page 
 
Belvar



Autorisation : Membre
Nb de messages : 57
Inscrit le : Lun 09 Fév 2009, 15:46
Posté le : Dim 19 Avr 2009, 21:58   Citer 

Meuh non, c'est pas pitoyable, tu est débutante c'est tout happy.gif

Ton code à grand moyen d'être amélioré ^^
Déjà, pour ne pas afficher le graphique, tu doit entrer la commande "GraphNAFF" Et pour ne pas avoir les fonctions, si tu en a, entre la commande "FonctOff".
Ensuite, ton code n'est pas très fiable car il est susceptible d'avoir des bugs et autres effets non désirés. Par exemple, ton code ne pourra pas marcher car tu à initialisé les variables x et y à 0, et tu ne peux pas afficher du texte à (0,0)...

Et même si tu les avait initialisé autrement, le joueur peut toujours "sortir" de l'écran ce qui provoquerait un bug, il faut donc rajouter des conditions pour que ça ne se produise pas, et, que, pourquoi pas, tu le téléporte de l'autre coté de l'écran (à la snake).

Autre effet non désiré : Tu n'efface pas le 0, et donc, tu va avoir une trainé derrière lui lorsque tu le déplacera, il faudrait que tu affiche le 0 après ton label et que si le joueur appuie sur une touche de déplacement (ou une touche tout court, ne t'embête pas :p), ça efface le "0" ( en affichant en espace).

Bon, par contre, l'utilisation du CodeTouche est correcte, mais tu pourrais raccourcir tes If !!
Il ne faut mettre un Then et un End à un If uniquement si il y a plus qu'une ligne dans la condition. Or, là, tu n'a qu'une ligne, tu pourrais donc mettre par exemple "If K=26:X+1->S" et c'est tout.

Voilà ^^ à toi d'améliorer ton programme toute seule, tu progressera comme ça bigmouth.gif

P.S. : Le ":GotoA : Lbl A", il sert a rien :p

 Adresse email Haut de page Bas de page 
 
Bibounette



Autorisation : Membre
Nb de messages : 15
Inscrit le : Lun 06 Avr 2009, 0:17
Posté le : Lun 20 Avr 2009, 2:12   Citer 

Reuh !

Mercii à toi pour toutes ces indications, tu ma redonné le courage de comprendre se fameux CODETOUCHE !
Bon il ne me reste plus qu'a amélioré mon programme bigmouth.gif ... mais la il se fait tard, trop fatigué pour essayé.
Je le ferais demain, et qui sait il sera peut être fini glasses.gif ...

Coordialement Bibounette minied.gif

----------------------
** C'est en faisant des erreurs que l'on progresse **
 Adresse email Haut de page Bas de page 
 
Renard



Autorisation : Membre
Nb de messages : 18
Inscrit le : Lun 20 Avr 2009, 3:51
Posté le : Lun 20 Avr 2009, 4:32   Citer 

Moi je ferai sa comme sa :


Code

EffDessin
:EffEcr
:0->x
:0->Y
:Lbl 0
:Repeat K=105
:Texte(X,Y,"0"
:CodeTouche->K
:If K=26:X+1->X
:If K=25:Y+1=Y
:If K=34:Y-1->Y
:If K=24:X-1->X
:If X<... : ...üX             
:If X>... : ...üX
:If Y<... : ...üY
:If Y>... : ...üY
:Texte(X-1,Y," "
:Texte(X+1,Y," "
:Texte(X,Y-1," "
:Texte(X,Y+1," "
:end
:Stop



( les ... représente les dimmension de ton écrans de jeu et les ü les fléche STO )

----------------------
Renard
 Adresse email Haut de page Bas de page 
 
Bibounette



Autorisation : Membre
Nb de messages : 15
Inscrit le : Lun 06 Avr 2009, 0:17
Posté le : Lun 20 Avr 2009, 15:49   Citer 

Salut bigmouth.gif ,

Maaaaaaiiiis euuuuuuuuuuuh cry.gif j'était sencé faire le programme toute seule cry.gif !

Bon je vais pas regardé ce que t'as fais ( FERME LES YEUX ) :p

Coordialement Bibounette minied.gif

----------------------
** C'est en faisant des erreurs que l'on progresse **
 Adresse email Haut de page Bas de page 
 
Belvar



Autorisation : Membre
Nb de messages : 57
Inscrit le : Lun 09 Fév 2009, 15:46
Posté le : Lun 20 Avr 2009, 18:33   Citer 

Hum, de toutes façon, ton programme n'est pas bon, Renard
Si tu l'exécuterais tu aurais une erreur "dim" et si tu ferais "voir", ça te placerait sur la ligne ":Texte(X,Y,"0""...
(Et ce n'est pas la seule erreur...)

Bonne chance pour ton programme Bibounette winkle.gif

 Adresse email Haut de page Bas de page 
 
adrien
Invité
Posté le : Lun 20 Avr 2009, 19:31   Citer 

Bonjour à tous,
Bibounette, je croi bien que tu as oublié un "END" pour que ta boucle ainsi que ton codetouch puisse marcher, et je te conseil d'utiliser output plutot que texte ( dans ce cas, x et y seraient égal à 0 par ewemple ), cela dit, Berlvar, text(x,y,"0 alors que x et y valent 0 marche tout à fait sur le graph, essai tju vera, mais en revenche , cela ne marche pas sur le Home ( Ecr ).
En espérant t'aider,
Adrien

  Haut de page Bas de page 
 
adrien
Invité
Posté le : Lun 20 Avr 2009, 19:34   Citer 


Citer : adrien
Bonjour à tous,
( dans ce cas, x et y seraient égal à 0 par ewemple Adrien


Désoler en fait ils doivent être égal au moins à 1 sur le Home

  Haut de page Bas de page 
 
Bibounette



Autorisation : Membre
Nb de messages : 15
Inscrit le : Lun 06 Avr 2009, 0:17
Posté le : Lun 20 Avr 2009, 19:58   Citer 

Rebonjour ! happy.gif

Alors ayant lu toutes vos recommandation je suis arrivé a un résultat pas trop trop mauvais bigmouth.gif !

Le voila :


Code
:EffEcr
:EffDessin
:GraphOff
:FonctOff
:5->X
:8->Y
:Lbl 0
:Output(X,Y,"0
:codeTouche->K
:If K=26:Y+1->Y
:If K=25:X-1->X
:If K=34:X+1->X
:If K=24:Y-1->Y
:Goto C
:Lbl C
:If J=K
:Output(X,Y," (1 espace)
:Goto 0




Voili voilou, alors tout d'abord il n'y a plus de graphique happy.gif, après le 0 se déplace dans le bonne ordre d'appuie, par contre au lieu de s'éffacé le 0 clignote :X ( c'est stylé mais c'est pas ce que je voulais faire xD ), et puis je ne vois vraiment pas comment mettre une limite au cadre hors écran (alors pour le faire apparaitre de l'autre côté ...).

En attente d'explication,

Coordialement Bibounette minied.gif

----------------------
** C'est en faisant des erreurs que l'on progresse **
 Adresse email Haut de page Bas de page 
 
Google_AdSense



Publicité    



 
adrien
Invité
Posté le : Lun 20 Avr 2009, 21:10   Citer 

Salut, pour les limites c'est assez simple : 16 en abcisse et 8 en ordonnée; donc: if x(inférieur ou égal)1:8->X:if x(supérieur ou égal)8:1->X:if y(inférieur ou égal) 1:16->Y:if y(supérieur ou égal) 16:1->Y
J'espere que c'est ce que tu voulais,
Adrien

  Haut de page Bas de page 
 
Bibounette



Autorisation : Membre
Nb de messages : 15
Inscrit le : Lun 06 Avr 2009, 0:17
Posté le : Lun 20 Avr 2009, 23:54   Citer 

Re,

Mmmmh j'ai ajouter ce que tu ma dit Adrien, je tiens juste à te corrigé :


Code
:If X(inferieur ou égale à)1:9->X
:If X(Supérieur ou égal à)9:1->X
:If Y(inf. Ou = à)1:17->Y
:If Y(sup. Ou = à)17:1->Y



Tu t'est juste trompé dans le nombre des abcisse et ordonnée.

Autrement il comporte un petit problème, lorsque je monte et que je tourne à gauche il me bloque (passage du haut et gauche), et lorsque je tourne à droite et que je déscend il me le fait passer(passage du droit et bas).

Coordialement Bibounette minied.gif

----------------------
** C'est en faisant des erreurs que l'on progresse **
 Adresse email Haut de page Bas de page 
 
mad67



Autorisation : Membre
Nb de messages : 630
Inscrit le : Sam 23 Jui 2007, 14:05
Posté le : Mar 21 Avr 2009, 8:09   Citer 

voila ma méthode elle est un peu rude mais bon ...



Code
:EffEcr
:EffDessin
:GraphOff
:FonctOff
:5->X
:0->P
:0->Q
:8->Y
:Lbl 0
:Y+P->Y
:X+Q->X
:0->P
:0->Q
:If X(inferieur ou égale à)1:9->X
:If X(Supérieur ou égal à)9:1->X
:If Y(inf. Ou = à)1:17->Y
:If Y(sup. Ou = à)17:1->Y
:Output(X,Y,"0
:codeTouche->K
:If K=26
:1->P
:If K=25
:-1->Q
:If K=34
:1->Q
:If K=24
:-1->P
:Goto C
:Lbl C
:If J=K
:Output(X,Y," (1 espace)
:Goto 0[code]



 Adresse email Haut de page Bas de page 
 
Belvar



Autorisation : Membre
Nb de messages : 57
Inscrit le : Lun 09 Fév 2009, 15:46
Posté le : Mar 21 Avr 2009, 12:56   Citer 

Hmm, je propose une version plus légère :


Code
:EffEcr            (Si tu travaille sur "Home", tu n'a besoin que de Effecr)
:8->X
:4->Y              (Le "0" apparaitra au centre de l'écran)
:Lbl 0
:Output(Y,X,"0          (Pour les "Outputs" comme pour les "Texte", la valeur Y est avant la valeur X)
:codeTouche->K
:If K=26:Y+1->Y
:If K=25:X-1->X
:If K=34:X+1->X
:If K=24:Y-1->Y
:If X=17:1->X             (Si ça dépasse l'écran)
:If X=0:16->X
:If Y=0:8->Y
:If Y=9:1->Y
:If K(plus grand ou égal)24 et K(inférieur ou égal)26 ou K=34
:Output(Y,X," (1 espace)
:Goto 0



 Adresse email Haut de page Bas de page 
 
Sangohan38



Autorisation : Membre
Nb de messages : 3370
Inscrit le : Sam 31 Déc 2005, 19:48
Posté le : Mar 21 Avr 2009, 16:43   Citer 

Version encore plus légère:


Code
ClrHome
8->X
4->Y
While K[Différent de]105
Getkey->K
If K=24 or K=25 or K=33 or K=34:Output(Y,X,"
If K=24 and Y>1:Y-1->Y
If K=33 and X>1:X-1->X
If K=25 and Y<8:Y+1->Y
If K=34 and X<16:X+1->X
Output(Y,X,"0
End
ClrHome
Output(1,1,"   "


De plus, dans ta version Belvvar, ça ne marche pas du tout pour effacer les traces.

Sangohan38

 Adresse email Haut de page Bas de page 
 
Bibounette



Autorisation : Membre
Nb de messages : 15
Inscrit le : Lun 06 Avr 2009, 0:17
Posté le : Mar 21 Avr 2009, 23:47   Citer 

Resalut à tous,

J'ai eu une journée très chargée je n'ai pas encore eu le temps de bien regardé vos programmes mais je vais le faire demain promis godgrace.gif !

Bonne soirée.

PS: Sango j'ai copié ton programme mais il ne marche pas, le 0 ne bouge pas :/.

----------------------
** C'est en faisant des erreurs que l'on progresse **
 Adresse email Haut de page Bas de page 
 
Cyplejet



Autorisation : Membre
Nb de messages : 23
Inscrit le : Mar 21 Avr 2009, 20:14
Posté le : Mer 22 Avr 2009, 8:32   Citer 


Citer : Sangohan38
Version encore plus légère:


Code

If K=24 or K=25 or K=35 or K=34:Output(Y,X,"



Sangohan38



Je crois que la touche 35 n'existe pas. ce serait pas 33 comme la suite du code ou même 26?

 Adresse email Haut de page Bas de page 
 
adrien
Invité
Posté le : Jeu 23 Avr 2009, 15:50   Citer 

Non effectivement la touche 35 n'existe pas, mais cela ne nuit pas au progamme de sangohan car il y a "k=34", ce qui correspond à la touche du bas; tu n'as qu'à enlever "k=35", mais ça ne changera rien, si ce n'est de gagner quelques octects

  Haut de page Bas de page 
 
Sangohan38



Autorisation : Membre
Nb de messages : 3370
Inscrit le : Sam 31 Déc 2005, 19:48
Posté le : Sam 25 Avr 2009, 14:49   Citer 

C'est la touche 33 qu'il fallait marquer sinon, en se déplacant vers la droite, le O ne serait pas effacé.
Je viens de corriger cela dans le code.

Sangohan38

 Adresse email Haut de page Bas de page 
 
Poster un nouveau sujet Poster une réponse





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