Calculatrices Casio Graphiques : Jeux, programmes, cours, pompes, astuces et programmation sur calculatrice graphique Casio et ClassPad 300 : programmes casio et jeux casio...

Programmes et jeux pour calculatrices Casio Graph et calculatrice ClassPad 300, jeux casio, cours...Calcul formel pour Casio Graph 85
 

Forum Casio

 

Programmes et jeux pour calculatrices Casio Graph et calculatrice ClassPad 300, jeux casio, cours...: Forums

Forum Casio

Un espace convivial pour poser vos questions ou simplement venir discuter... Entrer

Forum Programmation

Toutes les discussions à propos de la programmation sur calculatrices Casio... Entrer

Foire aux Questions

Les réponses aux questions les plus courantes sont ici ! Entrer

Forum principal Jeuxcasio.com
  

Défilement de fleche dans un menu

Auteur Défilement de fleche dans un menu
Aezekiel
Membre



Messages: 7
Message posté: 15-01-2005 à 23:23     Editer/Supprimer les messages postés   Renvoyer une note
Salut à toutes et à tous,

Je suis nouveau dans la prog, programmant depuis 4-5 mois seulement. J'ai déjà réalisé plusieurs programmes, et suis en train de faire un jeu basé sur les règles de Donjons et Dragons. J'ai plusieurs fois eu besoin d'utiliser un menu avec fleche, le joueur faisant descendre ou monter la fleche de façon à ce qu'elle soit en face de l'option qu'il souhaite:

--> Options
Retour
Personnage
Quitter

Lorsque la fleche est tout en haut, et qu'on lui dit de monter, elle va tout en bas, et inversement.
Mais à chaque fois, au bout d'un moment, des bugs apparaissent, du style: la fleche continue son chemin en haut ou en bas alors que le programme lui dit d'aller à l'autre extremité dans ce cas; ou bien le point (parce que j'ai également utilisé le même principe avec un point qui monte ou qui descend), lorsqu'il est tout en haut et que je lui dit de monter, reste à l'endroit où il est, et n'apparait en bas qu'apres avoir appuyé longement sur la touche...
Ce n'est qu'un probleme désagréable, qui ne gêne pas vraiement les jeux, mais ce serait mieux si ça marchait correctement...
_________________
Amicalement...



  Email Aezekiel
Alexis
Webmaster



Messages: 892
Calculatrice : Graph 35+
Message posté: 16-01-2005 à 00:20     Editer/Supprimer les messages postés   Renvoyer une note
Bonjour, en général, ce genre de problème est causé par un "bug" de la calculatrice.
On appelle Y l'ordonnée de votre pointeur.
Vous avez dû mettre dans votre programme :
Y=0=>5->Y
Y=6=>1->Y
(On considère ici que 1 et 5 sont les ordonnées minimales et maximales)
Il faudrait le remplacer par ceci :
Y<1=>5->Y
Y>5=>1->Y
car la calculatrice peut s'emballer et ne pas passer par les valeurs 0 ou 6 mais aller directement aux valeurs -1 et 7.



  Allez sur le site web de l'utilisateur Alexis  
Aezekiel
Membre



Messages: 7
Message posté: 16-01-2005 à 18:31     Editer/Supprimer les messages postés   Renvoyer une note
Je viens d'essayer cette technique, et suis navré de te dire que ça ne marche pas... La flèche fait la même chose qu'avant.
_________________
Amicalement...



  Email Aezekiel
Alexis
Webmaster



Messages: 892
Calculatrice : Graph 35+
Message posté: 16-01-2005 à 18:37     Editer/Supprimer les messages postés   Renvoyer une note
Peux tu recopier cette partie du programme ici?


  Allez sur le site web de l'utilisateur Alexis  
Aezekiel
Membre



Messages: 7
Message posté: 17-01-2005 à 12:38     Editer/Supprimer les messages postés   Renvoyer une note
Pas de problème, la voici:

Lbl E
Text A,B,"->"
While 1
If B=48
Then Getkey=62 And C>3îGoto F
Getkey=62îGoto G
Getkey=64 And C<2îGoto H
Getkey=64îGoto I
Getkey=31îGoto J
Else If B=7
Then Getkey=62 And C>2îGoto F
Getkey=62îGoto G
Getkey=64 And C<2îGoto H
Getkey=64îGoto I
Getkey=31îGoto J
Else If B=8
Then Getkey=62 And C>2îGoto F
Getkey=62îGoto G
Getkey=64 And C<2îGoto H
Getkey=64îGoto I
Getkey=31îGoto J
IfEnd
IfEnd
IfEnd
WhileEnd

Lbl F
Text A,B," "
13‡A
1‡C
Goto E

Lbl G
Text A,B," "
A+7‡A
Isz C
Goto E

Lbl H
If B=48
Then Text A,B," "
34‡A
4‡C
Goto E
Else Text A,B," "
27‡A
3‡C
Goto E
IfEnd


Lbl I
Text A,B," "
A-7‡A
Dsz C
Goto E

Je n'ai pas recopié le "Lbl J", parce qu'il prend bien trop de place.
La flèche est symbolisée par "->", et la double flèche par "î".
_________________
Amicalement...



  Email Aezekiel
Alexis
Webmaster



Messages: 892
Calculatrice : Graph 35+
Message posté: 17-01-2005 à 16:11     Editer/Supprimer les messages postés   Renvoyer une note
Je n'ai pas tout lu mais, à première vue, il y a plusieurs problèmes majeurs.
Votre programme est assez lourd, il y a plusieurs choses superficielles.
A commencer, je ne sais pas si c'est une erreur de recopiage mais "While 1" ne veut rien dire. Ensuite, vous utilisez mal la fonction IF car vous mettez plusieurs Else.
Je vous conseille donc de lire les Cours de programmation qui vous montreront comment utiliser toutes ces commandes et vous trouverez même un exemple de menu.
J'ajouterai qu'il faut mieux mettre Getkey->K puis traiter K (If K=28...) au lieu de traiter Getkey (If Getkey=28...) ceci est une question de rapidité.



  Allez sur le site web de l'utilisateur Alexis  
Aezekiel
Membre



Messages: 7
Message posté: 17-01-2005 à 23:26     Editer/Supprimer les messages postés   Renvoyer une note
Mon programme est en effet assez lourd, et je sais que cela risque de poser quelques problèmes, sachant que plus un programme est lourd, plus il y a de chances qu'il y ait de bugs. Mais je tiens tout de même à continuer ainsi, quitte à me rendre compte par moi-même des erreurs que j'ai commises.

"While 1" est une commande qui existe au même titre que "While 0", son opposé. Il a pour fonction de dire que la condition est toujours vraie. Mais il se peut que cela soit faux, ou bien que cette fonction existe effectivement mais signifie tout à fait autre chose, bien que je dois ajouter que j'ai utilisé cette fonction plus d'une fois et que cela a toujours bien marché, le programme ne me signalant jamais la présence d'une erreur quelconque.

Quant aux "Else", chacun d'eux correspond à une condition "If", et je ne vois absolument pas où est le problème à ce niveau... Masi peut-être me trompé-je encore un fois...
_________________
Amicalement...



  Email Aezekiel
Alexis
Webmaster



Messages: 892
Calculatrice : Graph 35+
Message posté: 18-01-2005 à 18:41     Editer/Supprimer les messages postés   Renvoyer une note
Bonjour, pour les IF…Then…Else…IfEnd, vous avez raison, j’ai vraiment survolé le programme ce qui a fait que je n’ai pas vu toutes les conditions, je pensais donc que vous utilisiez plusieurs "Else" dans une seule et même condition ce qui m’avait vraiment surpris.
En ce qui concerne While 1, cela fonctionne, certes, mais vous pouvez remplacer While 1 par Lbl A et WhileEnd par Goto A, cela ne changera strictement rien...



  Allez sur le site web de l'utilisateur Alexis  
Aezekiel
Membre



Messages: 7
Message posté: 19-01-2005 à 13:30     Editer/Supprimer les messages postés   Renvoyer une note
Effectivement, je dois m'incliner et avouer effectivement que cette commande... ne sert à rien, ou presque. Je vasi donc essayer de remplacer cela par un Do/LpWhile, ce qui devrait fonctionner tout aussi bien, si ce n'est mieux... à moins que vous ne m'enconrougiez à utiliser une autre méthode pour faire ce menu.
Encore merci
_________________
Amicalement...



  Email Aezekiel
Alexis
Webmaster



Messages: 892
Calculatrice : Graph 35+
Message posté: 19-01-2005 à 14:55     Editer/Supprimer les messages postés   Renvoyer une note
Ce type de menu est le meilleur qui soit :

Do
Text A,2,"->"
Do
Getkey->K
LpWhile K=0
Text A,2," "
K=28=>A-7->A
A=<1=>15->A
K=37=>A+7->A
A>=22=>8->A
LpWhile K<>31
If A=8
Then ...
A=15...
Traitement des cas...

(=< signifie inférieur ou égal et >= signifie supérieur ou égal)



  Allez sur le site web de l'utilisateur Alexis  
Meetic - Les règles du jeu ont changé | MeeticAffinity
  
Bloquer le sujet Déplacer le sujet Supprimer le sujet
 
     


Toutes les pages et les images de jeux casio appartiennent à http://www.jeuxcasio.com ©2002-2020
Toute reproduction partielle ou totale de Jeuxcasio.com ou de son contenu est strictement interdite. | Casio est une marque déposée par le groupe Noblet

Bac Français Meeticadblocktest Amazon.com Expedia.com Ebookers
Opodo
Amazon.fr eBay Fr