Implémentez les annotations des lignes et colonnes [Résolu]

Signaler
Messages postés
37
Date d'inscription
mardi 4 février 2020
Statut
Membre
Dernière intervention
26 février 2020
-
Messages postés
37
Date d'inscription
mardi 4 février 2020
Statut
Membre
Dernière intervention
26 février 2020
-
Bonjour, pour parfaire mon projet, je voulais créer un panel qui affiche le nombre de 0 et 1 dans les lignes et colonnes. j`ai écris un code pour ça mais le problème il affiche que le nombre de 0 et 1 initialement.


 // #### Ajuster les annotations
            // On parcours la grille case par case, ligne par ligne et colonne par colonne et on fait la somme des '0' et des '1'
           { for (int j = 0; j < 8; j++) { string val = (grille[j, 0].Text); if (val == "0") { total_0 += 1; } if (val == "1") { total_1 += 1; }}
            label1.Text = $"{total_0} / {total_1} ";total_0 = total_1 = 0;
            for (int j = 0; j < 8; j++) { string val = (grille[j, 1].Text); if (val == "0") { total_0 += 1; } if (val == "1") { total_1 += 1; } }
            label2.Text = $"{total_0} / {total_1} "; total_0 = total_1 = 0;
            for (int j = 0; j < 8; j++) { string val = (grille[j, 2].Text); if (val == "0") { total_0 += 1; } if (val == "1") { total_1 += 1; } }
            label3.Text = $"{total_0} / {total_1} "; total_0 = total_1 = 0;
            for (int j = 0; j < 8; j++) { string val = (grille[j, 3].Text); if (val == "0") { total_0 += 1; } if (val == "1") { total_1 += 1; } }
            label4.Text = $"{total_0} / {total_1} "; total_0 = total_1 = 0;
            for (int j = 0; j < 8; j++) { string val = (grille[j, 4].Text); if (val == "0") { total_0 += 1; } if (val == "1") { total_1 += 1; } }
            label5.Text = $"{total_0} / {total_1} "; total_0 = total_1 = 0;
            for (int j = 0; j < 8; j++) { string val = (grille[j, 5].Text); if (val == "0") { total_0 += 1; } if (val == "1") { total_1 += 1; } }
            label6.Text = $"{total_0} / {total_1} "; total_0 = total_1 = 0;
            for (int j = 0; j < 8; j++) { string val = (grille[j, 6].Text); if (val == "0") { total_0 += 1; } if (val == "1") { total_1 += 1; } }
            label7.Text = $"{total_0} / {total_1} "; total_0 = total_1 = 0;
            for (int j = 0; j < 8; j++) { string val = (grille[j, 7].Text); if (val == "0") { total_0 += 1; } if (val == "1") { total_1 += 1; } }
            label8.Text = $"{total_0} / {total_1} ";

for (int j = 0; j < 8; j++) { string val = (grille[0, j].Text); if (val == "0") { total_0 += 1; } if (val == "1") { total_1 += 1; } }
            label9.Text = $"{total_0} / {total_1} "; total_0 = total_1 = 0;
            for (int j = 0; j < 8; j++) { string val = (grille[1, j].Text); if (val == "0") { total_0 += 1; } if (val == "1") { total_1 += 1; } }
            label10.Text = $"{total_0} / {total_1} "; total_0 = total_1 = 0;
            for (int j = 0; j < 8; j++) { string val = (grille[2, j].Text); if (val == "0") { total_0 += 1; } if (val == "1") { total_1 += 1; } }
            label11.Text = $"{total_0} / {total_1} "; total_0 = total_1 = 0;
            for (int j = 0; j < 8; j++) { string val = (grille[3, j].Text); if (val == "0") { total_0 += 1; } if (val == "1") { total_1 += 1; } }
            label12.Text = $"{total_0} / {total_1} "; total_0 = total_1 = 0;
            for (int j = 0; j < 8; j++) { string val = (grille[4, j].Text); if (val == "0") { total_0 += 1; } if (val == "1") { total_1 += 1; } }
            label13.Text = $"{total_0} / {total_1} "; total_0 = total_1 = 0;
            for (int j = 0; j < 8; j++) { string val = (grille[5, j].Text); if (val == "0") { total_0 += 1; } if (val == "1") { total_1 += 1; } }
            label14.Text = $"{total_0} / {total_1} "; total_0 = total_1 = 0;
            for (int j = 0; j < 8; j++) { string val = (grille[6, j].Text); if (val == "0") { total_0 += 1; } if (val == "1") { total_1 += 1; } }
            label15.Text = $"{total_0} / {total_1} "; total_0 = total_1 = 0;
            for (int j = 0; j < 8; j++) { string val = (grille[7, j].Text); if (val == "0") { total_0 += 1; } if (val == "1") { total_1 += 1; } }
            label16.Text = $"{total_0} / {total_1} ";

            etat = Etat.Initial;         
        }

5 réponses

Messages postés
14883
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
22 octobre 2020
446
N’oubliez pas d’ajuster le code du Binairo afin que vos annotations se tiennent à jour au fur et à mesure d’une partie.


Je pense que ça veut dire que c'est pas là qu'il faut faire la mise à jour.
Messages postés
2247
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
22 octobre 2020
115
Bonsoir
Quand Whismeril que je salue parlait d'instructions il parlait du code et non de ce le projet devait faire
Maintenant ton code est vraiment illisible .
Et sans aucun commentaire dedans difficile de s'y retrouver
De plus je vois 16 boucles For qui ont des ressemblances évidentes : il y a de l'optimisation à faire
Messages postés
14883
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
22 octobre 2020
446
Bonsoir VB,

je me suis permis de transformer ton commentaire en réponse afin de ne pas ajouté de confusion.
Il est clairement écrit dans ses instructions que la mise à jour au fil de l'eau doit être déclenchée ailleurs.
Il n'a pas présenté la partie du code à modifier pour que cette mise à jour ait lieu.

Pas de nouvelles de sa part, pas d'aide supplémentaire possible.
Et si le code est aussi mal présenté, je ne le lirai pas plus que celui déjà montré.
Messages postés
37
Date d'inscription
mardi 4 février 2020
Statut
Membre
Dernière intervention
26 février 2020
>
Messages postés
14883
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
22 octobre 2020

oui j'ai relu les instructions et j'ai su qu'il fallait créer des labels et ça doit aussi fonctionner pour des dimensions 10x10 et 16x16
Messages postés
37
Date d'inscription
mardi 4 février 2020
Statut
Membre
Dernière intervention
26 février 2020

ça finalement fonctionner mais seulement pour 8x8
j'ai créé une fonction compter() dans lequel j'ai mis les codes et je l'ai appelé ensuite
Messages postés
37
Date d'inscription
mardi 4 février 2020
Statut
Membre
Dernière intervention
26 février 2020

vous avez le projet au complet plus haut
Messages postés
14883
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
22 octobre 2020
446
Bonjour

on évite d'écrire "50" instructions sur une seule ligne, ça devient vite "imbitable" et là tu vois, ça ne donne pas du tout envie de lire.

En, je n'ai pas compris ta question.

Bref, merci de reposter ton code aéré, et d'expliquer avec plus de détail ton besoin.


Messages postés
37
Date d'inscription
mardi 4 février 2020
Statut
Membre
Dernière intervention
26 février 2020

Merci, pour votre suggestion.
Je veux annoter le nombre de 0 et 1 dans les lignes et ainsi dans les colonnes.
Le problème est que quand j utilise cette méthode il affiche seulement le nombre de 0 et 1 qu on a dans les lignes et colonnes au départ. Ça ne modifie pas si on entre un 0 ou 1
Messages postés
37
Date d'inscription
mardi 4 février 2020
Statut
Membre
Dernière intervention
26 février 2020

voici les instructions
/*Implémentez les annotations des lignes et colonnes un peu comme sur l’image
 du jeu fournie au tout début en exemple.
Il vous faut donc implémenter la classe Annotation que nous n’avons fait que 
déclarer jusqu’à maintenant. N’oubliez pas d’ajuster le code du Binero afin que
 vos annotations se tiennent à jour au fur et à mesure d’une partie.
La classe Annotation hérite de Panel. Cela vous laisse toute latitude pour y
 placer des composantes.
HINT : Ma version utilise des composantes de la classe Label, mais on pourrait 
aussi y arriver autrement.*/