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 » Petit problème de logique
Boby12 Hors ligne Membre Points: 39 Défis: 0 Message

Petit problème de logique

Posté le 15/07/2014 15:54

Bonjour à tous
J'ai honte, je suis au tout début du programme pour le Morpion et je galère depuis ce matin à tracer le quadrillage en mode texte.
Je voulais éviter de faire un truc comme ça :
Locate 10,3,"|"
Locate 10,5,"|"
Locate 10,7,"|"
Locate 12,3,"|"
Locate 12,5,"|"
Locate 12,7,"|"
Locate 9,4,"-"
Locate 9,6,"-"
Locate 10,4,"-"
Locate 10,6,"-"
Locate 11,6,"-"
Locate 11,4,"-"
Locate 12,4,"-"
Locate 12,6,"-"
Locate 13,4,"-"
Locate 13,6,"-"


Je me suis dis que ça devait être possible de faire ça avec des boucles. Donc j'ai fait une boucle sensée tracer les deux barres verticales. Mais je suis bloqué, le programme n'affiche pas plus que la première barre
Je dois avoir un truc qui tourne pas rond dans ma tête, un truc que j'ai pas compris...
Voilà la boucle :
10->A
3->B
Do
Locate A,B,"|"
B+2->B
If B=9 And A=10
Then A+2->A
B-6->B
ifEnd
LpWhile B/=9 And A/=12

Enfin la dernière que j'ai écrite parce que j'ai du la réécrire plusieurs fois de manière différente pour comprendre... Et encore je suis pas sûr qu'au final ça fera moins d'octets



Cartix Hors ligne Membre Points: 2748 Défis: 98 Message

Citer : Posté le 15/07/2014 15:59 | #


Il te manque un IfEnd :
10→A
3→B
Do
Locate A,B,"|"
B+2→B
If B=9 And A=10
Then A+2→A
B-6→B
[b]IfEnd[/b]
LpWhile B/=9 And A/=12


Edit : Je tiens quand même à préciser que je ne suis pas fou, cette erreur a été corrigée dans le post principal après mon message
Boby12 Hors ligne Membre Points: 39 Défis: 0 Message

Citer : Posté le 15/07/2014 16:11 | #


Non c'est une erreur que j'ai corrigé, ça marche toujours pas.
Cartix Hors ligne Membre Points: 2748 Défis: 98 Message

Citer : Posté le 15/07/2014 16:29 | #


J'ai trouvé : Mets un Or à la place du And dans ta dernière ligne
Boby12 Hors ligne Membre Points: 39 Défis: 0 Message

Citer : Posté le 15/07/2014 16:48 | #


Effectivement merci
Par contre je comprend pas pourquoi ça marche avec Or et pas avec And, je voulais demande d'arrêter seulement si B est égale 9 ET A égale 12 pas l'un ou l'autre

Lephenixnoir En ligne Administrateur Points: 24233 Défis: 170 Message

Citer : Posté le 15/07/2014 16:51 | #


Après le LpWhile n'est pas la condition qui marque l'arrêt mais la continuation de la boucle.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Positon Hors ligne Rédacteur Points: 2396 Défis: 57 Message

Citer : Posté le 15/07/2014 16:51 | #


Justement, c'est l'inverse : le LpWhile fait que la boucle tourne tant que B=9 ou A=12
Donc il faut que les deux conditions ne soient pas respectées avant qu'elle ne s'arrête
Il y a toujours cette gymnastique d'esprit lorsqu'on cherche l'inverse d'une condition

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 117 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