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 Graph 85
 

Forum Programmation Casio

 
 

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

Bon anniversaire à dragoon_lord (16 ans)

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 programmation Casio
  

pause pdt l'execution d'un programme

Allez à la page ( 1 | 2 Pages suivantes )
Auteur pause pdt l'execution d'un programme
max
Programmeur Basic



Messages: 31
Calculatrice : Graph 35+
Message posté: 21-04-2008 à 14:13     Editer/Supprimer les messages postés   Renvoyer une note
Slt !
Je suis en trian de créer un jeu sur ma graph 35+ et je ne sais pas comment faire pause pendant l'execution du jeu . J'ai déjà vu des exemples sur certains programmes que j'ai téléchargé, mais je n'arrive pas à les reproduire. Merci d'avance à celui (ou ceux) qui me répondra(ont)



dunedune
Utilisateur Graph



Messages: 186
Calculatrice : Graph 35+
Message posté: 21-04-2008 à 15:44     Editer/Supprimer les messages postés   Renvoyer une note
'Pause' ???
Si tu entends par là un boucle infinie (là c'est impossible d'en sortir) tu peux utiliser :

Do:LpWhile1

Si tu veux juste attendre que l'on appuie sur EXE :
Do:LpWhile Getkey =/ 31 (je te conseille de mettre ca dans tes mems je l'utilise tout le temps).
Ou alors utiliser le symbole triangle noir en bas à droite qui est accessible dans SHIFT-PGRM-F6-F5 je crois.

Si tu veux faire en fonction du temps :

For 1->I To 5000 (plus c'est grand, plus c'est long)
Next

Si tu veux attendre que l'utilisateur appuie sur une touche précise :
Do:LpWhileGetkey =/ n) de la touche

Voilà



 
dafp
Utilisateur Graph



Messages: 404
Calculatrice : Graph 25+
Message posté: 21-04-2008 à 17:03     Editer/Supprimer les messages postés   Renvoyer une note
ya la fonction break aussi


  Allez sur le site web de l'utilisateur dafp  
PierrotLL
Administrateur



Messages: 762
Calculatrice : Graph 85
Message posté: 21-04-2008 à 20:07     Editer/Supprimer les messages postés   Renvoyer une note
Non, break ça sert a sortir d'une boucle


 
max
Programmeur Basic



Messages: 31
Calculatrice : Graph 35+
Message posté: 22-04-2008 à 11:00     Editer/Supprimer les messages postés   Renvoyer une note
c'est bon, j'ai trouvé , j'ai utilisé :
Getkey=29=>Goto 0
~
~
~
Lbl 0
Locate 5,5,"PAUSE"*(l'étoile c'est le petit triangle, je sais pas comment le faire sur le PC )
Locate 5,5," "
Goto ~
Merci à toi dunedune, tes réponses m'ont bien aidées, et mon programme est bientôt fini. A+ tt le monde !



dunedune
Utilisateur Graph



Messages: 186
Calculatrice : Graph 35+
Message posté: 22-04-2008 à 17:29     Editer/Supprimer les messages postés   Renvoyer une note
Tu peux mieux faire :

If Getkey=29 (F6 donc)
Then...
Else...
IfEnd

Pour connaître les Getkey voici un pgrm très simple :
Do:Locate 10,4,Getkey
LpWhile 1

Evite d'utiliser les Labels-Goto. Dans l'ancien temps je le faisais mais c'est pas fiable Ca fait parfois des GoError ou des trucs complètements stupides .
Préfère les Whiles.



 
dafp
Utilisateur Graph



Messages: 404
Calculatrice : Graph 25+
Message posté: 22-04-2008 à 19:10     Editer/Supprimer les messages postés   Renvoyer une note
Quote:

On 2008-04-21 20:07, PierrotLL message:
Non, break ça sert a sortir d'une boucle



a ok, maintenant je sais ... (pour moi break c'est ... pause nan ?) bon ça change rien ...



  Allez sur le site web de l'utilisateur dafp  
Rastabeuher
Administrateur



Messages: 886
Calculatrice : ClassPad 300
Message posté: 22-04-2008 à 23:59     Editer/Supprimer les messages postés   Renvoyer une note
Non, break ça veut dire casser. Son utilisation est logique puisqu'il permet de "casser" une boucle.


 
max
Programmeur Basic



Messages: 31
Calculatrice : Graph 35+
Message posté: 23-04-2008 à 11:56     Editer/Supprimer les messages postés   Renvoyer une note
Quote:

On 2008-04-22 17:29, dunedune message:
Tu peux mieux faire :

If Getkey=29 (F6 donc)
Then...
Else...
IfEnd

Pour connaître les Getkey voici un pgrm très simple :
Do:Locate 10,4,Getkey
LpWhile 1

Evite d'utiliser les Labels-Goto. Dans l'ancien temps je le faisais mais c'est pas fiable Ca fait parfois des GoError ou des trucs complètements stupides .
Préfère les Whiles.



Ok, jveu bien essayer d'utiliser tes Lp-While, While End, mais j'y comprends rien du tout , même après (et surtout) avoir lu le manuel de ma Graph.
Pour, connaître le Getkey d'une touche, j'ai déjà un petit programme. Merci quand même.



dafp
Utilisateur Graph



Messages: 404
Calculatrice : Graph 25+
Message posté: 23-04-2008 à 12:52     Editer/Supprimer les messages postés   Renvoyer une note
Quote:

On 2008-04-22 23:59, Rastabeuher message:
Non, break ça veut dire casser. Son utilisation est logique puisqu'il permet de "casser" une boucle.



je sais que c'est casser (break / broke / broken, je crois ...), mais quand on fait ac c'est break, pour moi c'était pause ...
mais bon, j'ai dit que c'était pas grave ...



  Allez sur le site web de l'utilisateur dafp  
PierrotLL
Administrateur



Messages: 762
Calculatrice : Graph 85
Message posté: 23-04-2008 à 13:50     Editer/Supprimer les messages postés   Renvoyer une note
Pour les boucles, c'est très simple:
While condition
instructions
WhileEnd

Do
Instructions
LpWhile condition

For (valeur initiale)->(variable) To (valeur finale) Step (pas)
Instructions
Next
Pour While et Do-LpWhile, la boucle tourne tant que la condition est vraie. La seule différence entre les deux, c'est qu'avec Do-LpWhile, la condition est testée a la fin, donc la boucle s'exécute au moins une fois.

Pour For To Next, le Step est facultatif, par défaut il est de 1.
Par exemple:
0->B
For 1->A To 5
A+B->B
Next
B
Ce programme affiche 15 (=1+2+3+4+5)



 
max
Programmeur Basic



Messages: 31
Calculatrice : Graph 35+
Message posté: 23-04-2008 à 15:00     Editer/Supprimer les messages postés   Renvoyer une note
Quote:

On 2008-04-23 13:50, PierrotLL message:
Pour les boucles, c'est très simple:
While condition
instructions
WhileEnd

Do
Instructions
LpWhile condition

For (valeur initiale)->(variable) To (valeur finale) Step (pas)
Instructions
Next
Pour While et Do-LpWhile, la boucle tourne tant que la condition est vraie. La seule différence entre les deux, c'est qu'avec Do-LpWhile, la condition est testée a la fin, donc la boucle s'exécute au moins une fois.

Pour For To Next, le Step est facultatif, par défaut il est de 1.
Par exemple:
0->B
For 1->A To 5
A+B->B
Next
B
Ce programme affiche 15 (=1+2+3+4+5)



Si j'ai bien compris, While/While-End correspond à If/Then/If End, mais je n'ai pas vraiment compris Do/LpWhile



dunedune
Utilisateur Graph



Messages: 186
Calculatrice : Graph 35+
Message posté: 23-04-2008 à 16:46     Editer/Supprimer les messages postés   Renvoyer une note
Pause en anglais se dit pause
Do ne fait rien. C'est juste un marqueur si tu veux.
S la condition LpWhile est vraie, on repart à Do.
Code équivalent :

Do
'Instructions (le guillemet sert aux commentaires)
LpWhile X=1 (ou LpWhile X, ca marche aussi mais c'est un peu spcial )


Effet : tant que (en anglais cela se traduit justement par while) X=1, on fait la boucle.

Avec des If et des labels :

Lbl 0
'Instructions
If X=1
Then Goto 0
Else continuer dans le code
If End


Voilà

Edit : J'ai une petite question : connaissant le code sur ordi (merci à toi d'ailleurs), j'ai découvert pas mal de choses sur Casio et... je me demandais s'il y avait des paramètres falcultatifs pour les For



 
Rastabeuher
Administrateur



Messages: 886
Calculatrice : ClassPad 300
Message posté: 23-04-2008 à 17:16     Editer/Supprimer les messages postés   Renvoyer une note
EDIT: grillé, mon message s'adressait à Max

While/WhileEnd n'est pas vraiment comme If...Then: c'est une boucle. Il peut s'exécuter plusieurs fois de suite, selon une condition définie. Il faut comprendre "while" comme "pendant que" ou "tant que".
Donc...
1-While A!=B
2-"A"?->A
3-"B"?->B
4-WhileEnd
5-...


...veut dire: "tant que A est différent de B, demander A, demander B".

Voici le cheminement du programme:
Ligne 1: Test de la condition. Si A=B (condition fausse), il saute à la ligne 5 et continue le programme en ignorant les instructions L2 et L3.
Si A est différent de B, il exécute L2 et L3; l'utilisateur rentre ainsi 2 valeurs.

Ligne 4: C'est la fin des instructions conditionnelles (L2 et L3 ici). Le programme revient L1, et reteste la condition... Si faux, il saute jusqu'à L5, si vrai (A!=B), il exécute L2, L3 et arrivé à L4 il saute à L1 et reteste la condition, etc... Je vais pas continuer ça peut être très long encore!

Tu vois bien qu'ici L2 et L3 peuvent ne pas être exécutées du tout si la condition est fausse dès le début. Ici, si A=B quand le prog arrive pour la première fois L1, il ne demandera pas A et B à l'utilisateur et sautera L5.

Pour Do...LpWhile, c'est un peu le même principe... mais pas tout a fait.

1-Do
2-"A"?->A
3-"B"?->B
4-LpWhile A!=B
5-...


Ici, ça veut dire aussi "demande A et B tant que A est différent de B" (LpWhile est l'abbréviation de "Loop While", soit "boucler tant que"). Mais ici L2 et L3 seront forcément exécutée au moins une fois, vu que la condition est testée à la fin de la boucle (L4).

Le cheminement varie donc un peu:

"Je demande A, je demande B, je regarde si A!=B, si non, je continue L5, si oui, je revient L1, je redemande A et B, je regarde si A!=B etc..."

Bon, sur un petit exemple comme celui-là, on voit pas trop l'intérêt, mais dans des situations que tu rencontreras, l'une te conviendra mieux que l'autre. Ici, je choisirais Do...LpWhile car l'utilisateur doit rentrer A et B au moins une fois, et AVANT que je vérifie que A=B.

Avoue que c'est plus propre (et plus simple) que de faire:

Lbl 0
"A"?->A
"B"?->B
If A=B
Then Goto 1
Else Goto 0
IfEnd
Lbl 1
...





 
max
Programmeur Basic



Messages: 31
Calculatrice : Graph 35+
Message posté: 24-04-2008 à 11:18     Editer/Supprimer les messages postés   Renvoyer une note
Rastabeuher :
C'est vrai que dans certains cas, LpWhile est plus simple et plus court à utiliser que If-Then...
Merci de ton aide, grace à toi je comprendes ENFIN LpWhile et cie.
Au fait, est-ce que la classPad 300 est bien ? C'est plus un petit ordinateur qu'une calto, j'imagine !

dunedune :
C'est à moi que tu as addressé ta question sur les For-To-Step-Next ? Si oui, je n'ai pas compris ce que tu demandais !...

PS : Comme je l'ai dit plus tôt, je suis en train de créer un jeu sur ma graph 35+ , c'est le jeu où des éléments tombent du haut de l'écran et il faut les rattraper à l'aide d'un mobile. Je ne sais pas comment le nommer . Existe-t-il déjà un nom à ce jeu assez connu ?



dunedune
Utilisateur Graph



Messages: 186
Calculatrice : Graph 35+
Message posté: 24-04-2008 à 12:05     Editer/Supprimer les messages postés   Renvoyer une note
Non je m'adressais à Rastabeuheur...
Je n'ai pas trsè bien compris ton idée de jeu.
Sache que pour moi, le principal avantage des Whiles est qu'ils ne plantent jamais bizarrement.
Pour l'anecdote, un jour, j'ai fait un jeu de 3500 bytes... Et à la fin, les Goto ont plantés. A chaque nouveau programme que je le faisait : BANG.
Donc, maintenant, 99% While



 
max
Programmeur Basic



Messages: 31
Calculatrice : Graph 35+
Message posté: 24-04-2008 à 14:26     Editer/Supprimer les messages postés   Renvoyer une note
Mon idée de jeu, c'est de reproduire le jeu sur PC dont tu trouvera une des nombreuses variantes sur game un peu gamin, c'est juste le principe qui compte .
Compte tenu de ton témoignage palpitant sur ton programme de 3500bytes, je pense que j'utiliserais le plus possible les While.



Rastabeuher
Administrateur



Messages: 886
Calculatrice : ClassPad 300
Message posté: 24-04-2008 à 14:31     Editer/Supprimer les messages postés   Renvoyer une note
EDIT: Encore grillé, je m'adressait à DuneDune

Je suis pas sûr de bien avoir compris ta question pour les boucles for.
En tout cas le seul paramètre facultatif est le pas, qui est par défaut de 1 si tu ne renseigne pas le paramètre. Tu peux faire le pas (Step) que tu veux: positif, négatif, entier, décimal...

For 10->X To 0 Step -1
Locate 1,1, X
Next


par exemple...

Sinon je confirme, abuser des Labels (en multipliant les codes comme mon dernier exemple plus haut) ralentit voir fait planter les programmes...



 
dunedune
Utilisateur Graph



Messages: 186
Calculatrice : Graph 35+
Message posté: 24-04-2008 à 17:32     Editer/Supprimer les messages postés   Renvoyer une note
Quote:
For X->10 To 0 Step -1
Locate 1,1, X
Next


QUOI QUOI QUOI ?
Depuis quand on peut attribuer une valeur à un nombre ?
Max, j'espère que tu as une 65 et du courage pour reproduire ce jeu . Ca m'a la'air plutôt hard, même si tu veux le faire en noir et blanc.



 
max
Programmeur Basic



Messages: 31
Calculatrice : Graph 35+
Message posté: 24-04-2008 à 18:15     Editer/Supprimer les messages postés   Renvoyer une note
Ne t'inquiètes pas , je ne vais pas reproduire le jeu au pixel près , c'est juste le principe du jeu que je fais. Je ne suis pas mazo à ce point !!! .


Rastabeuher
Administrateur



Messages: 886
Calculatrice : ClassPad 300
Message posté: 24-04-2008 à 18:32     Editer/Supprimer les messages postés   Renvoyer une note
Quote:
QUOI QUOI QUOI ?
Depuis quand on peut attribuer une valeur à un nombre ?



Depuis jamais.
Désolé, erreur de frappe, c'est corrigé. Mais j'imagine que tu avais compris...
En fait c'est parce que dans certains langages, le nom de la variable se place avant quand on leur assigne une valeur, alors j'ai mélangé.



 
dunedune
Utilisateur Graph



Messages: 186
Calculatrice : Graph 35+
Message posté: 24-04-2008 à 19:40     Editer/Supprimer les messages postés   Renvoyer une note
Quote:
En fait c'est parce que dans certains langages, le nom de la variable se place avant quand on leur assigne une valeur, alors j'ai mélangé


C'est les languages ordis comme le C/C++ c'est ca ?
Mais attends en C, il faut faire

X=10
et non X->10



 
PierrotLL
Administrateur



Messages: 762
Calculatrice : Graph 85
Message posté: 24-04-2008 à 20:25     Editer/Supprimer les messages postés   Renvoyer une note
En aucun cas un langage n'est attribué à une plateforme. "langage ordi" ne veut donc rien dire


 
Rastabeuher
Administrateur



Messages: 886
Calculatrice : ClassPad 300
Message posté: 25-04-2008 à 01:50     Editer/Supprimer les messages postés   Renvoyer une note
Quote:

C'est les languages ordis comme le C/C++ c'est ca ?



Oui, c'est à ceux là que je pensais en particulier, même si c'est pas des "langages ordi" (même si on comprend ce que tu veux dire).


Quote:

Mais attends en C, il faut faire

X=10
et non X->10



Oui, bien sûr, mais quand j'ai dit que j'ai mélangé, j'ai bien dit que j'avais pris la manière d'assigner une valeur à une variable, pas la syntaxe exacte.



 
max
Programmeur Basic



Messages: 31
Calculatrice : Graph 35+
Message posté: 25-04-2008 à 14:48     Editer/Supprimer les messages postés   Renvoyer une note
Donc, pour en revenir au sujet, comment peut on écrire "PAUSE" aux coor 5,5 sur l'écran, puis l'effacer au contact de la touche EXE à l'aide d'une série de 5 espaces puis reprendre l'éxécution normale du jeu. En gros, comment encadrer :

Locate 5,5,"PAUSE"¤ (le ¤ est le petit triangle)
Locate 5,5,"_____" (5 espaces entre les guillemmets)



PierrotLL
Administrateur



Messages: 762
Calculatrice : Graph 85
Message posté: 25-04-2008 à 16:29     Editer/Supprimer les messages postés   Renvoyer une note
Avec le disp, il y aura écrit "-Disp-" a l'écran, si tu ne veux pas de ce disp, tu peux le remplacer par une simple boucle.
While Getket!=31:WhileEnd
ou
Do:LpWhile Getkey!=31



 
max
Programmeur Basic



Messages: 31
Calculatrice : Graph 35+
Message posté: 25-04-2008 à 17:03     Editer/Supprimer les messages postés   Renvoyer une note
Donc je peux faire :

LpWhileGetkey=79=>Locate 5,5,"PAUSE"¤
Locate 5,5,"_____"
WhileEnd

???



dunedune
Utilisateur Graph



Messages: 186
Calculatrice : Graph 35+
Message posté: 25-04-2008 à 17:53     Editer/Supprimer les messages postés   Renvoyer une note
Nonnnnnn c'est pas vrai
T'as tout mélangé.
Pour ça ce serait plutôt :
Locate 5,5,"PAUSE"
Do:LpWhile Getkey!=79
Locate 5,5," "

Relis un peu ce qu'on a dit au début : LpWhile se met avec Do, et c'est une cboucle, pas une condition, donc la => n'a rien à faire ici



 
max
Programmeur Basic



Messages: 31
Calculatrice : Graph 35+
Message posté: 26-04-2008 à 10:49     Editer/Supprimer les messages postés   Renvoyer une note

Alors, je vais tenter de faire marcher le truc qui me sert de cerveau et vous sortir ... :

While Getkey=79
Locate 5,5,"PAUSE"¤
Locate 5,5,"_____"
While End

Comme ça, si on appuie sur F6 (getkey 79),ca affiche PAUSE jusqu'à ce qu'on appuie sur EXE parce que le -Disp- est apparu, alors PAUSE s'éfface et le jeu reprend son cours normal, si on appuie pas sur F6, le programme continue à la ligne qui se situe après le While End Reste plus qu'à savoir si cette fois j'ai compris (ce serait la 1ere fois depuis un bon bout de temps ).



dunedune
Utilisateur Graph



Messages: 186
Calculatrice : Graph 35+
Message posté: 26-04-2008 à 11:18     Editer/Supprimer les messages postés   Renvoyer une note
Rndjiiiiiiiiiiiiiiiiiiiiiii
D'abord je veux plus voir ce ¤
Tu remplaces par Do:LpWhile Getkey!=31, même effet sauf qu'il y a pas Disp.
Rentre toi dans la tête que While veut dire TANT QUE.
Donc, je traduis, tant que F6 sera enfoncé, afficher pause, attendre EXe, effacer pause, et afficher encore pause .

Si tu veux simplement une pause avec EXE tu fais :
"PAUSE"
Do:LpWhile Getkey!=31
"_____"


Si tu veux une pause avec F6 tu fais :
"PAUSE"
Do:LpWhile Getkey!=29
"_____"


While : tant que la condition est vraie la boucle est exécutée en continu.



 
Meetic - Les règles du jeu ont changé
Allez à la page ( 1 | 2 Pages suivantes )
  
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-2008
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

Il est 21:25:03