Jeu Binero

thierno95
Messages postés
37
Date d'inscription
mardi 4 février 2020
Statut
Membre
Dernière intervention
26 février 2020
- 4 févr. 2020 à 21:24
thierno95
Messages postés
37
Date d'inscription
mardi 4 février 2020
Statut
Membre
Dernière intervention
26 février 2020
- 6 févr. 2020 à 05:18
Bonjour, je voulais faire marcher le bouton annuler ou remove pour un jeu binairo sur windows form.
Le but c'est de pouvoir annuler le dernier chiffre saisi.
voici les instructions:
Il faut restaurer le dernier Contenu de l'historique
// Rappel: on ne peut arriver ici que si historique
// contient au moins un élément.
// Mais, on va quand même vérifier.
// Annuler la dernière action
// Le bouton annuler est-il encore disponible?
A voir également:

10 réponses

vb95
Messages postés
2630
Date d'inscription
samedi 11 janvier 2014
Statut
Modérateur
Dernière intervention
19 mai 2022
151
4 févr. 2020 à 22:02
Bonsoir
Sans connaître le jeu et sans code difficile de t'aider .
Pour poster du code prière de se conformer à ceci : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Tu as écrit binairo . Moi personnellement je connais le binero (ou takuzu ) dont j'ai posté une source : https://codes-sources.commentcamarche.net/source/102763-binero-takuzu-en-japonais
Est-ce le même principe de jeu ?
Maintenant tu nous dis les instructions à faire . Sans les placer dans le contexte du jeu celles-ci sont difficilement compréhensibles .
Peux-tu nous en dire plus ?

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

4 févr. 2020 à 22:18
oui en fait c'est binero.
je dois creer un menu annuler MenuAnnuler_Click() qui annule la dernière opération
0
Whismeril
Messages postés
17339
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
24 mai 2022
596
4 févr. 2020 à 22:21
Dans ma boule de cristal, il me semble qu'il manque un _ à la ligne 17.

Sinon, pour une réponse sérieuse, voir les 3 premières lignes du message de VB95
0
vb95
Messages postés
2630
Date d'inscription
samedi 11 janvier 2014
Statut
Modérateur
Dernière intervention
19 mai 2022
151
4 févr. 2020 à 22:26
Dans une case tu y mets 0 ou 1 .
Plutôt que d'annuler la dernière opération je ferais plutôt en sorte de pouvoir modifier directement une case du jeu en la sélectionnant .
Ainsi dans cette case je pourrais
- mettre un 0
- mettre un 1
- la laisser vide
Mais sans la moindre ligne de code avec les commentaires difficile de t'aider
0
thierno95
Messages postés
37
Date d'inscription
mardi 4 février 2020
Statut
Membre
Dernière intervention
26 février 2020

4 févr. 2020 à 22:35
oui je comprends parfaitement ce que tu as dit et ca serait bien de proceder de meme mais on nous a exiger de creer un bouton annuler pour annuler la derniere operation
0
thierno95
Messages postés
37
Date d'inscription
mardi 4 février 2020
Statut
Membre
Dernière intervention
26 février 2020

4 févr. 2020 à 22:39
oui ça pourrait bien marcher avec ça sauf qu'on nous a exigé d'utiliser le bouton annulé
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
vb95
Messages postés
2630
Date d'inscription
samedi 11 janvier 2014
Statut
Modérateur
Dernière intervention
19 mai 2022
151
Modifié le 4 févr. 2020 à 22:59
Bonsoir
Et inutile de mettre des #region #endregion à tout bout de champ .
Cela alourdit le code
Il faut les utiliser à bon escient et avec parcimonie

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

5 févr. 2020 à 03:48
les #regions #endregions c'est juste pour montrer les débuts et les fins des instructions car le prof nous a donné des instructions pour se refèrer
0
thierno95
Messages postés
37
Date d'inscription
mardi 4 février 2020
Statut
Membre
Dernière intervention
26 février 2020

5 févr. 2020 à 03:51
Comme je l'ai mentionné au début c'est seulement le Menu annuler qui reste tous les autres codes marchent parfaitement
0
vb95
Messages postés
2630
Date d'inscription
samedi 11 janvier 2014
Statut
Modérateur
Dernière intervention
19 mai 2022
151
5 févr. 2020 à 05:13
bonjour
Pour les #region #endregion je ne suis pas d'accord : si ton prof programme comme ceci je ne l'embaucherai point !
Tu dis que les autres codes fonctionnent : tu travailles avec quel IDE ( Interface de développement ) ?
De toute façon n'ayant pas la Form avec les contrôles je ne peux point tester quoi que ce soit

Essaie ceci
private void MenuAnnuler_Click(object sender, EventArgs e)
        {
            // Il faut restaurer le dernier Contenu de l'historique
            // Rappel: on ne peut arriver ici que si historique contient au moins un élément.
            // Mais, on va quand même vérifier.
            // Annuler la dernière action
            // Le bouton annuler est-il encore disponible?

            // un historique s'ajoutant avec -- >historique.Add(new Contenu(c.row, c.col, c.Text[0], false));
            if (historique.Count == 0)
                return; // si pas d'historique on sort
            Contenu dernier = historique[historique.Count - 1]; // dernier historique dans la liste 
            historique.Remove(historique[historique.Count - 1]); // on supprime le dernier historique

            // dans le dernier historique tu récupères la ligne et la colonne de la dernière colonne modifiée
            // je suppose que c.Text[0] est le chiffre 1 ou 0 ou rien ( si le case était vide )
            // je ne sais pas à quoi correspond le paramètre false
            // tu as tous les éléments en main pour restaurer la dernière case jouée à son état antérieur
        }
0
thierno95
Messages postés
37
Date d'inscription
mardi 4 février 2020
Statut
Membre
Dernière intervention
26 février 2020
> vb95
Messages postés
2630
Date d'inscription
samedi 11 janvier 2014
Statut
Modérateur
Dernière intervention
19 mai 2022

6 févr. 2020 à 04:10
            if (historique.Count == 0)
                return; // si pas d'historique on sort
            Contenu dernier = historique[historique.Count - 1];
            int row =historique[historique.Count - 1].row;
            int col = historique[historique.Count - 1].col;
            Case b = grille[row, col];
            b.Text = historique[historique.Count - 1].valeur.ToString();
            //on récupère le dernier historique dans la liste 
            historique.Remove(historique[historique.Count - 1]); // on supprime le dernier historique
0
vb95
Messages postés
2630
Date d'inscription
samedi 11 janvier 2014
Statut
Modérateur
Dernière intervention
19 mai 2022
151 > thierno95
Messages postés
37
Date d'inscription
mardi 4 février 2020
Statut
Membre
Dernière intervention
26 février 2020

Modifié le 6 févr. 2020 à 05:05
if (historique.Count == 0)
       return; // si pas d'historique on sort
       // on récupère le dernier historique dans la liste 
       Contenu dernier = historique[historique.Count - 1]; // Sers toi de dernier
       // la case avec sa ligne et sa colonne 
       Case b = grille[dernier.row, dernier.col];
       // et le texte de la case 
       b.Text = dernier.valeur.ToString();
       // on supprime le dernier historique    
       historique.Remove(historique[historique.Count - 1]);
0
thierno95
Messages postés
37
Date d'inscription
mardi 4 février 2020
Statut
Membre
Dernière intervention
26 février 2020

5 févr. 2020 à 23:18
j'ai essayé d'utiliser ton exemple mais je n'arrive pas toujours faire marcher le bouton annuler.
0
vb95
Messages postés
2630
Date d'inscription
samedi 11 janvier 2014
Statut
Modérateur
Dernière intervention
19 mai 2022
151
6 févr. 2020 à 00:27
bonsoir
As-tu compris les 4 lignes de code que j'ai mises ?
if (historique.Count == 0)
       return; // si pas d'historique on sort
Contenu dernier = historique[historique.Count - 1]; // on récupère le dernier historique dans la liste 
historique.Remove(historique[historique.Count - 1]); // on supprime le dernier historique


Tu récupères avec à le 3 ° ligne les différents paramètres du dernier coup joué (dernier historique de la liste )
A la 4° on supprime le dernier historique de la ligne
A toi grâce à la 3) ligne d'en extraire la ligne et la colonne de la dernière case jouée et d'y remettre la valeur ( 0 ou 1 ou vide) qu'il y avait avant de jouer ce dernier coup

Les historiques sont sauvegardés à la ligne 216 de ton code et c'est à partir du dernier que tu récupères la case dans l'état qu'elle était avant qu'elle ne soit jouée
0
thierno95
Messages postés
37
Date d'inscription
mardi 4 février 2020
Statut
Membre
Dernière intervention
26 février 2020
> vb95
Messages postés
2630
Date d'inscription
samedi 11 janvier 2014
Statut
Modérateur
Dernière intervention
19 mai 2022

6 févr. 2020 à 00:42
Bonsoir
oui j'ai compris tes lignes.
par contre j'arrive pas à extraire la ligne et colonne de la dernière case
0
thierno95
Messages postés
37
Date d'inscription
mardi 4 février 2020
Statut
Membre
Dernière intervention
26 février 2020
> thierno95
Messages postés
37
Date d'inscription
mardi 4 février 2020
Statut
Membre
Dernière intervention
26 février 2020

6 févr. 2020 à 03:13
finalement j'arrive à faire fonctionner le bouton annuler
0
vb95
Messages postés
2630
Date d'inscription
samedi 11 janvier 2014
Statut
Modérateur
Dernière intervention
19 mai 2022
151 > thierno95
Messages postés
37
Date d'inscription
mardi 4 février 2020
Statut
Membre
Dernière intervention
26 février 2020

6 févr. 2020 à 04:18
Ouf !
0
thierno95
Messages postés
37
Date d'inscription
mardi 4 février 2020
Statut
Membre
Dernière intervention
26 février 2020
> vb95
Messages postés
2630
Date d'inscription
samedi 11 janvier 2014
Statut
Modérateur
Dernière intervention
19 mai 2022

6 févr. 2020 à 04:19
t'es un pro !!
0
thierno95
Messages postés
37
Date d'inscription
mardi 4 février 2020
Statut
Membre
Dernière intervention
26 février 2020

5 févr. 2020 à 23:19
je travaille avec visual studio windows form
0
vb95
Messages postés
2630
Date d'inscription
samedi 11 janvier 2014
Statut
Modérateur
Dernière intervention
19 mai 2022
151
6 févr. 2020 à 00:04
Cela je m'en doute mais quelle version : 2013; 2015, 2017, 2019 ?
0
thierno95
Messages postés
37
Date d'inscription
mardi 4 février 2020
Statut
Membre
Dernière intervention
26 février 2020
> vb95
Messages postés
2630
Date d'inscription
samedi 11 janvier 2014
Statut
Modérateur
Dernière intervention
19 mai 2022

6 févr. 2020 à 00:07
2017
0
thierno95
Messages postés
37
Date d'inscription
mardi 4 février 2020
Statut
Membre
Dernière intervention
26 février 2020

Modifié le 5 févr. 2020 à 23:23
les codes ont été tu peux maintenant y avoir accès.
référence:ligne 252
0
thierno95
Messages postés
37
Date d'inscription
mardi 4 février 2020
Statut
Membre
Dernière intervention
26 février 2020

6 févr. 2020 à 04:15
Merci beaucoup à tout le monde, c'est vraiment apprécié.
0