Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Autres questions


Index du Forum » Autres questions » Test compliqué
Drakalex007 Hors ligne Membre Points: 688 Défis: 0 Message

Test compliqué

Posté le 30/05/2014 22:33

Encore moi

Voilà j'ai une commande assez compliquée qui ne marche pas et je ne comprends pas pourquoi....

La commande simplifiée :
Getkey=[maroon]27[/maroon] And (C=[maroon]1[/maroon] And ((B=[maroon]1[/maroon] And W=[maroon]0[/maroon]) Or (B=[maroon]2[/maroon] And X=[maroon]0[/maroon]) Or (B=[maroon]3[/maroon] And Y=[maroon]0[/maroon]) Or (B=[maroon]4[/maroon] And Z=[maroon]0[/maroon])))=>[b][brown]Locate[/brown][/b] [maroon]1[/maroon],[maroon]1[/maroon],[gray]"TEST REUSSI"[/gray]


La "vraie" commande
Cliquer pour enrouler
Getkey=[maroon]27[/maroon] And (C=[maroon]1[/maroon] And ((B=[maroon]1[/maroon] And StrCmp(StrRight(StrLeft(Str [maroon]1[/maroon],A+1),[maroon]1[/maroon]),[gray]" ")=[maroon]0[/maroon]) Or (B=[maroon]3[/maroon] And StrCmp(StrRight(StrLeft(Str [maroon]2[/maroon],A+1),[maroon]1[/maroon])," ")=[maroon]0[/maroon]) Or (B=[maroon]5[/maroon] And StrCmp(StrRight(StrLeft(Str [maroon]3[/maroon],A+1),[maroon]1[/maroon])," ")=[maroon]0[/maroon]) Or (B=[maroon]7[/maroon] And StrCmp(StrRight(StrLeft(Str [maroon]4[/maroon],A+1),[maroon]1[/maroon])," "[/gray])=[maroon]0[/maroon])))=>A+1[b]->[/b]A


Moi ce que je voudrais c'est que la commande soit réussie si :

-On appuie sur la touche "27"
-C = 1
-B = 1 et W = 0 OU B = 2 et X = 0 OU B = 3 et Y = 0 OU B = 4 et Z = 0

Ou est mon erreur ?


Dark storm En ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 30/05/2014 22:36 | #


6 topics identiques = connection en carton
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Eltoredo Hors ligne Modérateur Points: 4301 Défis: 35 Message

Citer : Posté le 30/05/2014 22:37 | #


Il y a une parenthèse en trop fermante dans le premier code (pas le spoiler)
La procrastination est une vertu. (voir ma description pour comprendre mon raisonnement)
Drakalex007 Hors ligne Membre Points: 688 Défis: 0 Message

Citer : Posté le 30/05/2014 22:37 | #


Non ! PlaneteCasio marquait Parse error: syntax error, unexpected '{' in /homez.25/planetca/www/production/Fr/shoutbox/shoutboxFunctions.php on line 492 du coup je pensais que le topic avait pas été créé
PS : j'ai la fibre x)
Dark storm En ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 30/05/2014 22:38 | #


Pas du tout, c'est toi qui sais pas compter
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Drakalex007 Hors ligne Membre Points: 688 Défis: 0 Message

Citer : Posté le 30/05/2014 22:38 | #


Peut etre que la commande est trop longue ?
Dark storm En ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 30/05/2014 22:38 | #


Pour le bug, c'est moi qui mettait à jour Glados x)
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Eltoredo Hors ligne Modérateur Points: 4301 Défis: 35 Message

Citer : Posté le 30/05/2014 22:39 | #


Ah oui c'est possible, j'dois vraiment être mort ce soir :aie2:

Faut que j'aille rêver :boobs:
La procrastination est une vertu. (voir ma description pour comprendre mon raisonnement)
Drakalex007 Hors ligne Membre Points: 688 Défis: 0 Message

Citer : Posté le 30/05/2014 22:42 | #


Personne ne voit ? Et pourquoi la coloration syntaxique a foiré ? x)

Dark storm En ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 30/05/2014 22:46 | #


Pour en revenir à la question, je ferai
Getkey=27 And C=1 And ((B=1 And W=0) Or (B=2 And X=0) Or (B=3 And Y=0) Or (B=4 And Z=0))

Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Drakalex007 Hors ligne Membre Points: 688 Défis: 0 Message

Citer : Posté le 30/05/2014 23:10 | #


Bon je sais pas comment j'ai fait mais j'ai résolu mon problème
Voici LA ligne de commande en question xD : (oui y'a qu'une seule ligne là)

Getkey=[maroon]27[/maroon] And (C=[maroon]1[/maroon] And ((B=[maroon]3[/maroon] And StrCmp(StrRight(StrLeft(Str [maroon]2[/maroon],A+1),[maroon]1[/maroon]),[gray]" ")=[maroon]0[/maroon]) Or (B=[maroon]5[/maroon] And StrCmp(StrRight(StrLeft(Str [maroon]3[/maroon],A+1),[maroon]1[/maroon])," ")=[maroon]0[/maroon]) Or (B=[maroon]7[/maroon] And StrCmp(StrRight(StrLeft(Str [maroon]4[/maroon],A+1),[maroon]1[/maroon])," ")=[maroon]0[/maroon] Or B=[maroon]1[/maroon] Or B=[maroon]2[/maroon] Or B=[maroon]4[/maroon] Or B=[maroon]6[/maroon])) Or (C=[maroon]0[/maroon] And ((B=[maroon]2[/maroon] And StrCmp(StrRight(StrLeft(Str [maroon]1[/maroon],A+1),[maroon]1[/maroon])," ")=[maroon]0[/maroon]) Or (B=[maroon]4[/maroon] And StrCmp(StrRight(StrLeft(Str [maroon]2[/maroon],A+1),[maroon]1[/maroon])," ")=[maroon]0[/maroon]) Or (B=[maroon]6[/maroon] And StrCmp(StrRight(StrLeft(Str [maroon]3[/maroon],A+1),[maroon]1[/maroon])," "[/gray])=[maroon]0[/maroon] Or B=[maroon]1[/maroon] Or B=[maroon]3[/maroon] Or B=[maroon]5[/maroon] Or B=[maroon]7[/maroon]))))×A+1ãA

Darkysun Hors ligne Membre Points: 1747 Défis: 52 Message

Citer : Posté le 30/05/2014 23:38 | #


moi j'aurais fait :
Getkey=27 And C=1⇒B=1 Or W=0 Or B=2 And X=0 Or B=3 And Y=0 Or B=4 And Z=0⇒Locate1,1,"Test Réussi"

mais je pense que c'est la même chose
Si je ne réponds pas à un post depuis trop longtemps : envoyez-moi un message pour me le rappeler !




Totoyo Hors ligne Membre d'honneur Points: 16103 Défis: 102 Message

Citer : Posté le 30/05/2014 23:42 | #


Getkey=27 And (C=1 And ((B=1 And W=0) Or (B=2 And X=0) Or (B=3 And Y=0) Or (B=4 And Z=0)))=>Locate 1,1,"TEST REUSSI"


Tu peux supprimer des parenthèses inutiles car And sont prioritaires sur Or.

Getkey=27 And C=1 And (B=1 And W=0 Or B=2 And X=0 Or B=3 And Y=0 Or B=4 And Z=0)=>Locate 1,1,"TEST REUSSI"


Cela allège le code
Therakou Hors ligne Membre Points: 195 Défis: 23 Message

Citer : Posté le 30/05/2014 23:47 | #


Personnellement j'aurais fait comme ceci :
Getkey=27⇒C=1⇒B=1⇒Not W Or B=2 Or Not X Or B=3⇒Not Y Or B=4 Or Not Z⇒Locate 1,1,"Test Réussi"


Certes c'est moins lisible, mais les "Not" sont plus rapides à exécuter que les "=0" pour un poids équivalent, et les "⇒" pèsent un octet de moins que les "And" (cependant je ne sais pas s'il y a une différence de vitesse pour ces deux fonctions.).

A moins que je n'aurais pas compris une partie ?
Prêt à sauver le monde des Pokémons de la malédiction du cercle ?
Cliquer pour enrouler
Venez découvrir Pokémon en basic et affrontez la menace qui plane sur la région !

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 56 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