private void PremierDeplacerPiece(monBouton bdest)
        {
            if (DD.IsDispo(bdest.getNumLigne(), bdest.getNumCol()))
            {
                depLig = bdest.getNumLigne();
                depCol = bdest.getNumCol();

                piece = new Cavalier(bdest, choixCav);

                bdest.ImageAj(piece.GetImg());

                DD.FermerDispo(depLig, depCol);

                //CibleAj(bdest, piece);
            }
        }
Ejemplo n.º 2
0
        public Cavalier(monBouton b, int cavalierSwitch)
        {
            posLig = b.getNumLigne();
            posCol = b.getNumCol();

            switch (cavalierSwitch)
            {
            case 1:
                img  = Image.FromFile("images/cheval.png");
                depi = new int[] { 2, 1, -1, -2, -2, -1, 1, 2 };
                depj = new int[] { 1, 2, 2, 1, -1, -2, -2, -1 };
                break;

            case 2:
                img  = Image.FromFile("images/cheval2.png");
                depi = new int[] { 2, 1, -1, -2, -2, -1, 1, 2 };
                depj = new int[] { 1, 2, 2, 1, -1, -2, -2, -1 };
                break;

            case 3:
                img  = Image.FromFile("images/cheval3.png");
                depi = new int[] { 1, 0, 1, -1, 0, -1, 1, -1 };
                depj = new int[] { 0, 1, 1, 0, -1, -1, -1, 1 };
                break;

            default:
                img  = Image.FromFile("images/cheval.png");
                depi = new int[] { 2, 1, -1, -2, -2, -1, 1, 2 };
                depj = new int[] { 1, 2, 2, 1, -1, -2, -2, -1 };
                break;
            }
        }
        // ************************* DEPLACEMENT PIECE **************************

        private void DeplacerPiece(monBouton bori, monBouton bdest)
        {
            if ((piece.IsAtteignable(bdest.getNumLigne(), bdest.getNumCol())))
            {
                bori.ImageSupp();
                bori.Assombrir();
                //CibleSup(bori, piece);

                piece.Deplacer(bdest.getNumLigne(), bdest.getNumCol());
                bdest.ImageAj(piece.GetImg());
                DD.FermerDispo(bdest.getNumLigne(), bdest.getNumCol());



                //CibleAj(bdest, piece);
            }
        }
        private void Buttons_Click(object sender, EventArgs e)
        {
            if (sender is monBouton && (cpClic == 0) && !pause)
            {
                if (NbrPas == (-1) || ChoixDuree == (-1))
                {
                    DialogResult reponse = MessageBox.Show(
                        "La sélection du nombre de pas et de la durée de la pause est incorrecte." +
                        "Veuillez recommencer la partie avec des sélections correctes.",
                        "Erreur de saisie",
                        MessageBoxButtons.OK,
                        MessageBoxIcon.Error,
                        MessageBoxDefaultButton.Button3,
                        MessageBoxOptions.RightAlign);
                }
                else
                {
                    monBouton b = sender as monBouton;

                    ++cpClic;

                    // b.Enabled = false;
                    depLig = b.getNumLigne();
                    depCol = b.getNumCol();
                    if (demo)
                    {
                        boutonPause.Visible = false;

                        boutonDepart.Visible      = false;
                        boutonRecommencer.Visible = false;

                        label1.Visible         = false;
                        ListChoixDuree.Visible = false;
                        ListNbrPas.Visible     = false;
                    }
                    else
                    {
                        boutonPause.Visible = true;

                        boutonDepart.Visible      = false;
                        boutonRecommencer.Visible = false;

                        label1.Visible         = false;
                        ListChoixDuree.Visible = false;
                        ListNbrPas.Visible     = false;
                    }


                    piece = new Cavalier(b, choixCav);
                    IAchoixRemplissage(b);
                    LancerSimulation();
                }
            }
        }
Ejemplo n.º 5
0
        private void PremierDeplacerPiece(monBouton bdest)
        {
            if (DD.IsDispo(bdest.getNumLigne(), bdest.getNumCol()))
            {
                depLig = bdest.getNumLigne();
                depCol = bdest.getNumCol();

                this.piece = new Cavalier(bdest, choixCav);

                bdest.ImageAj(piece.GetImg());

                DD.FermerDispo(depLig, depCol);

                jouLig = depLig;
                jouCol = depCol;

                dpl[cpClic] = bdest;
                ++cpClic;

                CibleAj(bdest, this.piece);
            }
        }
Ejemplo n.º 6
0
        // ******************** MOUVEMENT JOUER **********************

        private void DeplacerPiece(monBouton bori, monBouton bdest)
        {
            if ((piece.IsAtteignable(bdest.getNumLigne(), bdest.getNumCol())))
            {
                bori.ImageSupp();
                bori.Assombrir();
                CibleSup(bori, piece);

                piece.Deplacer(bdest.getNumLigne(), bdest.getNumCol());

                bdest.ImageAj(piece.GetImg());
                DD.FermerDispo(bdest.getNumLigne(), bdest.getNumCol());

                jouLig = bdest.getNumLigne();
                jouCol = bdest.getNumCol();

                dpl[cpClic] = bdest;
                ++cpClic;

                CibleAj(bdest, this.piece);
            }
        }
        //  Parcours de la piece (cavalier) sur l'échiquier à partir d une case donnee
        private void IAchoixRemplissage(monBouton b)
        {
            //initialisation
            InitialisationIAChoix();
            InitialisationDamierNum();

            //simulation
            int ii = b.getNumLigne() - 1;
            int jj = b.getNumCol() - 1;

            piece = new Cavalier(b, choixCav);
            int[]  depi  = piece.GetDepi();
            int [] depj  = piece.GetDepj();
            Euler  euler = new Euler(depi, depj);

            damierNum = euler.getEchec(ii, jj);

            int       rangBouton;
            monBouton btmp;

            for (int i = 0; i < damierNum.GetLength(0); ++i)
            {
                for (int j = 0; j < damierNum.GetLength(1); ++j)
                {
                    // on ne veut pas certaines des 12*12 cases ( 0 et -1)
                    if (damierNum[i, j] >= 1)
                    {
                        //extraction
                        rangBouton = damierNum[i, j]; //rang allant de 1 à 64
                        btmp       = DD.GetMonBouton(i, j);
                        //assignation
                        IAchoix[rangBouton - 1]        = btmp; //(rang-1) allant de 0 à 63
                        IAchoixLigne[rangBouton - 1]   = btmp.getNumLigne();
                        IAchoixColonne[rangBouton - 1] = btmp.getNumCol();
                    }
                }
            }
        }
Ejemplo n.º 8
0
 public bool IsDispoCible(monBouton bDepart, int depi, int depj)
 {
     return(IsDispo(bDepart.getNumLigne() + depi, bDepart.getNumCol() + depj));
 }
Ejemplo n.º 9
0
 internal void UnSetButtonCible(monBouton bDepart, int depi, int depj)
 {
     grille[bDepart.getNumLigne() + depi, bDepart.getNumCol() + depj].Text = "";
 }