Résolu Help comment lire une boucle dans les deux sens svp ? c#

Statut
N'est pas ouverte pour d'autres réponses.

bobakid

Membre
Inscription
11 Juillet 2019
Messages
8
Réactions
1
Points
26
Bonjour,

J'ai besoin d'aide,

J'ai une plusieurs boucle if qui, quand on coche un cache sa décoche l'autre case qui était coché. Néanmoins cela ne fonctionne que dans un sens car le c#lis de haut en bas.

Quelqu'un aurait-il la solution ? merci:
Code:
if (Test1)
{
String1 = "Test<color=green>☑</color>";
Test2 = false;
Test3 = false;
Test1 = true;
}
else
{
String1 = "TAS <color=red>☑</color>";
Test1 = false;
}


if (Test2)
{
String2 = "Test2 <color=green>☑</color>";
Test1 = false;
Test3 = false;
Test2 = true;
}
else
{
String2 = "Test2 <color=red>☑</color>";
Test2 = false;

}


if (Test3)
{
String3 = "Test3 <color=green>☑</color>";
Test1 = false;
Test2 = false;
Test3 = true;
}
else
{
String3 = "Test3 <color=red>☑</color>";
Test3 = false;
}
Par exemple, si je coche test2 , puis test1 ( il va décochr test 2 ) , mais si je fais l'inverse: cocher test 1 puis test 2 ( cela ne va pas cochr test 2 et non plus décocher test1)

Merci d'avance
 

bobakid

Membre
Inscription
11 Juillet 2019
Messages
8
Réactions
1
Points
26
Tu dois comparer test1 & test2 en même temps je pense, pas seulement vérifier si(test2)
finalement cela n'a pas fonctionner . Le boutton devient inutilisable. Y'a pas quelque chose d'autre ?
Car quand je cochee test3 puis test2 ( sa decoche test3 ) puis coche test1 ( sa decoche test 2) mais impossible dans l'autre sens. Et avec ca, cela ne fonctionne plus du tout :/
 

bobakid

Membre
Inscription
11 Juillet 2019
Messages
8
Réactions
1
Points
26
C'est ton algorithme qui est incorrect alors
J'ai ca en gros ( en enlevant les choses inutile
Code:
                if (GUI.Button(new Rect((float)(this.menuLeftRect + this.menuWidthRect + 270), 30f, 100f, 25f), String1))
                {
                    Test1 = !Test1;
                }
                GUI.contentColor = Color.white;
                if (GUI.Button(new Rect((float)(this.menuLeftRect + this.menuWidthRect + 380), 30f, 100f, 25f), String2))
                {
                    Test2 = !Test2;
                }
                if (GUI.Button(new Rect((float)(this.menuLeftRect + this.menuWidthRect + 380), 30f, 100f, 25f), String3))
                {
                    Test3 = !Test2;
                }
              
              
//le system de boucle :

if (Test1)
{
    String1 = "Test<color=green>☑</color>";
    Test2 = false;
    Test3 = false;
    Test1 = true;
}
else
{
    String1 = "TAS <color=red>☑</color>";
    Test1 = false;
}


if (Test2)
{
    String2 = "Test2 <color=green>☑</color>";
    Test1 = false;
    Test3 = false;
    Test2 = true;
}
else
{
    String2 = "Test2 <color=red>☑</color>";
    Test2 = false;

}


if (Test3)
{
    String3 = "Test3 <color=green>☑</color>";
    Test1 = false;
    Test2 = false;
    Test3 = true;
}
else
    String2 = "Test3 <color=red>☑</color>";
    Test3 = false;
 

bobakid

Membre
Inscription
11 Juillet 2019
Messages
8
Réactions
1
Points
26
C'est vrai que c'est dur de faire directement , je galère, j'ai essayé ca : mais non ca ne veut pas
Pis la je m'embrouille dans le coe car y'en a + des tests
Code:
if (Test1)
{
    String1 = "Test<color=green>☑</color>";
    Test2 = false;
    Test3 = false;
    Test1 = true;
}
else if(!Test1 && !Test2 && !Test3)
{
    String1 = "TAS <color=red>☑</color>";
    Test1 = false;
}


else if (Test2)
{
    String2 = "Test2 <color=green>☑</color>";
    Test1 = false;
    Test3 = false;
    Test2 = true;
}
else if (!Test2 && !Test1 && !Test3)
{
    String2 = "Test2 <color=red>☑</color>";
    Test2 = false;

}


else if (Test3)
{
    String3 = "Test3 <color=green>☑</color>";
    Test1 = false;
    Test2 = false;
    Test3 = true;
}
else
    String2 = "Test3 <color=red>☑</color>";
    Test3 = false;
 

Geomatika

Membre
Inscription
4 Juillet 2019
Messages
15
Réactions
3
Points
116
Je fait pas de C# mais il est logique, que si tu veux décocher les autres case, tu doit vérifier que les autres le son ou pas, et changer l'état de ses précédente au besoin, chaque détails a son importance, essaye de le faire sur papier ça peut aider, le plus important faire du pas a pas d'écrit tout ce que tu fait dans les moindre détail !
 
Cette réponse a aidé l'auteur de cette discussion !

bobakid

Membre
Inscription
11 Juillet 2019
Messages
8
Réactions
1
Points
26
Je fait pas de C# mais il est logique, que si tu veux décocher les autres case, tu doit vérifier que les autres le son ou pas, et changer l'état de ses précédente au besoin, chaque détails a son importance, essaye de le faire sur papier ça peut aider, le plus important faire du pas a pas d'écrit tout ce que tu fait dans les moindre détail !
Oui c'est vrai je vais faire ca sur un papier car la je m'embrouille xD
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut