Posté le 05/11/2018 18:09
Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 137 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 05/11/2018 18:14 | #
Pour le second point, ce n'est pas possible (à ma connaissance)
Pour le premier, utilise strSearch(), avec en premier argument le caractère entré par le joueur et en second la liste des caractères autorisée
Citer : Posté le 05/11/2018 18:16 | #
Avec les strings, il faudrait itérer sur le string donné par l'utilisateur, pour chaque lettre (A-Z). Le code ressemblerait à ça :
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"->Str 2
0->A
For 1->I To 26
StrMid(Str 2, 1, 1)=Str 2 => 1->A
Next
A = 0 => "Tricheur"
Tu prends chaque caractère du Str 2 (avec le StrMid) et tu compares ce caractère au string entré, si tu as au moins un match alors c'est une lettre, sinon ça ne l'est pas.
(enfin bon, s'il entre un caractère autre qu'une lettre, il n'y aura juste pas de match et donc il perdra un point inutilement non ?)
Ecrivez vos programmes basic sur PC avec BIDE
Citer : Posté le 05/11/2018 18:17 | #
Hackwell je programme sur une Casio Graph 35+ et je ne crois pas que ma calculette possède cette commande
Citer : Posté le 05/11/2018 18:19 | #
Si ta calculatrice a les strings (donc la fonction Str) elle a forcément les fonctions annexes (StrSearch, StrMid etc).
Si elle n'a pas de Str (ton OS est en 01.XX.XXXX) c'est que tu n'utilises pas de strings, et il faudra trouver une autre méthode
Ecrivez vos programmes basic sur PC avec BIDE
Citer : Posté le 05/11/2018 18:20 | #
Écoute pas Zz, en utilisant strSearch(), tu obtiens directement 0 si le caractère du joueur est pas dans les caractères autorisée, donc tu fais juste un tesr d'égalité
if strSearch (str1, "ABCD...Z") ≠0
then locate 1,1,"tricheur"
ifend
Citer : Posté le 05/11/2018 18:21 | #
Zezombye merci pour cette idée ( de génie ) qui va me permettre d'enfin achever mon programme et pour ton histoire de points mon programme est fait en sorte que les lettres soi entre détectées mais que si le 1er joueur tape un symbole, le jeu sera impossible pourgent le 2ème joueur, tout simplement.
Citer : Posté le 05/11/2018 18:22 | #
Écoute pas Zz, en utilisant strSearch(), tu obtiens directement 0 si le caractère du joueur est pas dans les caractères autorisée, donc tu fais juste un tesr d'égalité
if strSearch (str1, "ABCD...Z") ≠0
then locate 1,1,"tricheur"
ifend
Euh... Pourquoi le ≠0 ? C'est implicite.
Ajouté le 05/11/2018 à 18:23 :
Nooon Poulpy lis Hackcell !
Ajouté le 05/11/2018 à 18:24 :
Et en plus son code n'est pas fonctionnel (celui de Zezombye)
On ne peut pas comparer deux Str avec l'opérateur =
Citer : Posté le 05/11/2018 18:28 | #
Hackcell, je viens d'essayer ton programme mais le mot "Tricheur" ne s'affiche toujours pas quand je mets un symbole comme ÷ dans le mot de départ.
Citer : Posté le 05/11/2018 18:29 | #
En fait le code d'Hackcell vérifie qu'il y a *au moins une* lettre... au lieu de vérifier qu'il n'y a *que* des lettres. Sur ce point-là Zezombye s'approche plus de la solution.
Citer : Posté le 05/11/2018 18:43 | #
En fait le code d'Hackcell vérifie qu'il y a *au moins une* lettre... au lieu de vérifier qu'il n'y a *que* des lettres. Sur ce point-là Zezombye s'approche plus de la solution.
Hackcell, je viens d'essayer ton programme mais le mot "Tricheur" ne s'affiche toujours pas quand je mets un symbole comme ÷ dans le mot de départ.
J'avais cru comprendre qu'il cherchait à savoir si l'entrée utilisateur est dans la liste !
En gros juste un caractère.
Mais bon... Je retourne lire le tuto.
Citer : Posté le 05/11/2018 18:58 | #
Ouaip : "CD" est considéré comme valide, par exemple
La solution de hackcell est meilleure certes mais il manque juste un check sur la longueur (StrLen(Str 1) = 1).
Ecrivez vos programmes basic sur PC avec BIDE
Citer : Posté le 05/11/2018 19:02 | #
Oui mais ça ne fonctionne qu'avec une lettre, moi je veux éviter que l'on puisse mettre des symboles dans le mot entier
Citer : Posté le 05/11/2018 19:08 | #
En fait je crois que tu t'es mal exprimé : je pensais que tu voulais éviter des symboles dans les essais, et les essais c'est forcément 1 lettre.
Du coup pour vérifier si un string ne contient que des lettres, suffit d'adapter un peu mon code :
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"->Str 2
0->A
For 1->H To StrLen(Str 1)
0->A
For 1->I To 26
Not StrCmp(StrMid(Str 2, 1, 1),Str 2) => 1->A
Next
Not A => Break
Next
A = 0 => "Tricheur"
On parcourt chaque caractère du Str 1 (1ère boucle for), et pour chaque caractère on vérifie s'il est dans l'alphabet.
Ecrivez vos programmes basic sur PC avec BIDE
Citer : Posté le 05/11/2018 20:48 | #
Zezombye parfait c exactement ce qu'il me fallait mais peux tu m'expliquer à quoi correspondent les Not et leur utilité stp ( si tu as les temps ). PS: Je débute en programmation
Citer : Posté le 05/11/2018 21:00 | #
d’ailleurs, c'est quoi une string? (ça pèse dans ma calto...)
Citer : Posté le 05/11/2018 21:02 | #
Zezombye parfait c exactement ce qu'il me fallait mais peux tu m'expliquer à quoi correspondent les Not et leur utilité stp ( si tu as les temps ). PS: Je débute en programmation
Tu sais il n'est pas tout seul ici
Not inverse le résultat de ta condition, par exemple Not 1=1 est faux, car 1=1 est vrai.
Not 1=0 est lui vrai
Pour des informations plus précises (mais moins explicites) : https://www.planet-casio.com/Fr/reference_basic_casio/commande_basic.php?fonc=16
@Manolo : Lis ça https://www.planet-casio.com/Fr/programmation/tutoriels.php?id=73
Ajouté le 05/11/2018 à 21:05 :
Ah, et aussi, deux liens très très utiles à consulter (selon moi) avant de poser des questions :
https://www.planet-casio.com/Fr/reference_basic_casio/ (La liste des commandes du Basic Casio.)
https://www.planet-casio.com/Fr/programmation/ (Le tutoriel. Lisez-le en entier.)
Citer : Posté le 05/11/2018 21:06 | #
Wow c tres compliqué je viens de regarder dans le guide du site ils disent que je peux remplacer Not A par A=0 . Est ce que ça marche ? Ça me servitait bien, simplement pour la compréhension de mon programme
Citer : Posté le 05/11/2018 21:07 | #
Mon meilleur conseil est d'utiliser cette méthode
https://www.planet-casio.com/Fr/forums/topic11721-1-Saisie-en-temps-reel-(sans-le-)-avec-un-code-court-.html
Citer : Posté le 05/11/2018 21:13 | #
Wow c tres compliqué je viens de regarder dans le guide du site ils disent que je peux remplacer Not A par A=0 . Est ce que ça marche ? Ça me servitait bien, simplement pour la compréhension de mon programme
Oui ça fonctionne
Citer : Posté le 06/11/2018 07:26 | #
C'est parceque j'ai mis ≠0 au lieu de =0 :facepalm :