Posté le 22/01/2026 17:50
Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2026 | Il y a 160 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements
Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd
Citer : Posté le 22/01/2026 17:56 | #
Tu peux pas comparer des choux (une liste) et des patates (une valeur).
Tu veux savoir si la valeur est dans la liste (A ∈ List 1), si la liste est composée d’une unique valeur ([A] == List 1), ou si la liste est composée uniquement de valeurs (Pour chaque E dans List 1, E = A) ?
Citer : Posté le 22/01/2026 18:05 | #
en faite, je veux savoir si la valeur contenue dans la liste 1 a la première ligne est égale a une variable x qui a une valeur de 4, je m'explique :
# savoir si la valeur de la liste 1 est = a la valeur de x #
then "mon action ou truc qui suivent
IfEnd
moi même
Citer : Posté le 22/01/2026 18:07 | #
Tout le principe d'une liste c'est que ça peut contenir plusieurs valeurs (une "liste" de valeurs). Par exemple, la liste 1 pourrait valoir {2,3,4}. Le test que tu décris n'a pas complètement de sens parce que ça suppose que la liste contient exactement une valeur (alors qu'elle peut en avoir plus, ou en avoir zéro).
Citer : Posté le 22/01/2026 18:08 | #
oui sa je sais et dans ma "liste de valeur" se serait a la liste 1
moi même
Citer : Posté le 22/01/2026 18:12 | #
Bon donc la liste 1 contient entre 0 et 999 valeurs (je crois que c'est ça la limite). À côté tu as ta variable (disons X) qui est une seule valeur.
Qu'est-ce que tu veux tester, vraiment ? Que X apparaît dans la liste ? Que toutes les valeurs de la liste sont égales à X ? Que la somme des valeurs de la liste est égale à X ? Que la liste contient exactement une valeur qui elle est égale à X ?
Tu ne peux pas comparer pour X et List 1 pour l'égalité : une "valeur" et une "liste de valeurs" ne sont jamais égales. Le test que tu as en tête doit certainement pouvoir se formuler différemment.
Citer : Posté le 22/01/2026 18:16 | #
en faite je sais pas comment expliquer, en faite je veux faire un truc pour selectionner une touche pour une action par exmemple, dans les parametre de Tetris par Pierotll, tu choisi une touche pour par exempe la rotation, et la je veux faire la même.
moi même
Citer : Posté le 22/01/2026 18:18 | #
en faite, je veux savoir si la valeur contenue dans la liste 1 a la première ligne est égale a une variable x[/code]
Utilise simplement List1[1], non ? Je suis pas sûr de la syntaxe, j’ai pas touché à ça depuis des années.
Citer : Posté le 22/01/2026 18:20 | #
dans les parametre de Tetris par Pierotll, tu choisi une touche pour par exempe la rotation, et la je veux faire la même.
nan en vrai je sais pas trop mais le truc j'ai ecris en italique le decrit le mieux je crois
moi même
Citer : Posté le 22/01/2026 18:27 | #
et j'y arrive pas
moi même
Citer : Posté le 22/01/2026 18:42 | #
Donc les valeurs de la liste sont des numéros de touche, chaque position dans la liste étant associée à une action, et tu veux savoir (1) si X est dans la liste, et (2) à quelle position, pour savoir quelle action déclencher ?
Citer : Posté le 22/01/2026 19:00 | #
en faite je veu juste faire le truc pour choisir une touche pour une action, on peut oublier cette histoire de verification
moi même
Citer : Posté le 22/01/2026 19:51 | #
jai toujoirs pas trouver malgrer mes recherhce en vain
moi même
Citer : Posté le 22/01/2026 19:56 | #
I would have to get the actual program code later, but here's some quick psuedocode that hopefully explains what you need to do:
- In the code that contains the setup process, print some text prompting the player to press the key they want to associate with with the action (such as a Confirm action).
- Query GetKey until it's not equal to 0 and put it into the list at the index for the corresponding action. (For example, Confirm might be represented by the first/0th list item, so you would use something like GetKey → List 1[0])
- Repeat for each action (you might need to set up some code to wait until GetKey is 0 again before allowing it to associate key values again)
- Whenever you're performing a key press check later, instead of using "if GetKey == 63" or something, you can use "if GetKey == List 1[0]"
Note that lists might start counting at 1 instead of 0, so you may have to adapt this idea a little.
Hope this helps
Citer : Posté le 23/01/2026 00:38 | # |
Fichier joint
I had some spare time and made a quick demo program, attached in the top-right corner of my comment. It's very simple, with nothing to stop the user from putting in the same key press twice on purpose, and the code is very redundant (literally copy-pasted and edited); but I think it's useful as a model, and is a good starting point if you want to adapt it. Feel free to copy and modify my code for your own purposes, and if you don't have a transfer cable, I'd be happy to type out the program in plain text when I get a chance!
For a quick explanation, in most places I use variable "D" to temporarily hold the ID for the key press. (You could probably just replace every instance of "D" with "GetKey" and it would still work fine, but I find it's good for readability and ease of typing.) Since Casio BASIC doesn't really have a native way to wait for a key press before continuing as far as I know, I implement a loop to wait until the key press ID is equal to 0 (meaning there's no keys being held down). Then I print some text asking the user for the key they would like to use for the specific action, and wait for the key press to not equal 0. Then, I save the key press value to a new position in the list, and start the processing for the next action. You could probably use Labels and Goto statements combined with variables to help simplify the repeated code in a function you can call, or you could surround everything in a For loop and use a series of If statements to determine which action name to show to the user.
SLG4AUCOLEGE Invité
Citer : Posté le 23/01/2026 10:50 | #
salut cest slg4 sur les pc du colege jai plus fa-124 sa serait possible de le faire dans bloc-note stp?
Citer : Posté le 23/01/2026 17:12 | # |
Fichier joint
No problem, I'll include it both in the text here and as a .txt file
Be warned, you might want to use Clip and Paste a lot when typing this on your calculator. (I wish I could define functions in Casio BASIC...)
{1}→List1
0→B
1→D
ClrText
ClrGraph
While D≠0
GetKey→D
WhileEnd
Locate 1,1,"WHAT KEY FOR CONFIRM"
While D=0
GetKey→D
WhileEnd
D→List1[1]
ClrText
ClrGraph
While D≠0
GetKey→D
WhileEnd
Locate 1,1,"WHAT KEY FOR CANCEL"
While D=0
GetKey→D
WhileEnd
D→List1[2]
ClrText
ClrGraph
While D≠0
GetKey→D
WhileEnd
Locate 1,1,"WHAT KEY FOR JUMP"
While D=0
GetKey→D
WhileEnd
D→List1[3]
ClrText
ClrGraph
While 1
GetKey→D
If D=List1[1]
Then Locate 1,1," "
Locate 1,1,"CONFIRM"
IfEnd
If D=List1[2]
Then Locate 1,1," "
Locate 1,1,"CANCEL"
IfEnd
If D=List1[3]
Then Locate 1,1," "
Locate 1,1,"JUMP"
IfEnd
WhileEnd
List1
Citer : Posté le 24/01/2026 10:51 | #
merci beaucoup tu gère
moi même
Citer : Posté le 24/01/2026 11:09 | #
heu sa ne marche pas quand je dois assigner la toucher pour arreter ou annuler "cancel" , la calculatrice me renvoie a
moi même
Citer : Posté le 24/01/2026 11:11 | #
ah mon avis (mais n'ayant jamais fait de basic) c'est juste que 'List 1' ne veut rien dire c'est 'List1' (sans espace).
Citer : Posté le 24/01/2026 11:13 | #
ah mon avis (mais n'ayant jamais fait de basic) c'est juste que 'List 1' ne veut rien dire c'est 'List1' (sans espace).
Les deux existent. Y'a des opcodes List1 à List6 (d'un seul bloc), datant de vieux modèles, et y'a l'opcode List (avec une espace) qu'on peut suivre d'un nombre pour désigner les listes 1 à 26 (sur les nouveaux modèles).
Le problème c'est surtout que la liste est trop courte, on ne peut pas étendre la longueur de la liste par une affectation. Faudrait remplacer {1}→List 1 au début par 3→Dim List 1.