Ejemplo n.º 1
0
 public void LoadHistory(Snapshot s)
 {
     echiquier      = s.partie.echiquier;
     blancs         = s.partie.blancs;
     noirs          = s.partie.noirs;
     Captures       = s.partie.Captures;
     previousStatus = s.partie.previousStatus;
     status         = s.partie.status;
 }
Ejemplo n.º 2
0
        public void CommencerPartie()
        {
            // creation des joueurs
            blancs = new Joueur(this, CouleurCamp.Blanche);
            noirs  = new Joueur(this, CouleurCamp.Noire);

            // creation de l'echiquier
            echiquier = new Echiquier();

            // Création de la liste des pieces capturés
            Captures = new List <InfoPiece>();

            ClearCheckboard();
            // Placement des pieces
            blancs.PlacerPieces(echiquier);
            noirs.PlacerPieces(echiquier);

            // Actualise les blancs
            vue.ActualiserCase(0, 0, InfoPiece.TourNoire);
            vue.ActualiserCase(1, 0, InfoPiece.CavalierNoir);
            vue.ActualiserCase(2, 0, InfoPiece.FouNoir);

            vue.ActualiserCase(3, 0, InfoPiece.DameNoire);
            vue.ActualiserCase(4, 0, InfoPiece.RoiNoir);
            vue.ActualiserCase(5, 0, InfoPiece.FouNoir);
            vue.ActualiserCase(6, 0, InfoPiece.CavalierNoir);
            vue.ActualiserCase(7, 0, InfoPiece.TourNoire);

            for (int i = 0; i < 8; i++)
            {
                vue.ActualiserCase(i, 1, InfoPiece.PionNoir);
            }

            // Actualise les noirs
            vue.ActualiserCase(0, 7, InfoPiece.TourBlanche);
            vue.ActualiserCase(1, 7, InfoPiece.CavalierBlanc);
            vue.ActualiserCase(2, 7, InfoPiece.FouBlanc);

            vue.ActualiserCase(3, 7, InfoPiece.DameBlanche);
            vue.ActualiserCase(4, 7, InfoPiece.RoiBlanc);
            vue.ActualiserCase(5, 7, InfoPiece.FouBlanc);
            vue.ActualiserCase(6, 7, InfoPiece.CavalierBlanc);
            vue.ActualiserCase(7, 7, InfoPiece.TourBlanche);

            for (int i = 0; i < 8; i++)
            {
                vue.ActualiserCase(i, 6, InfoPiece.PionBlanc);
            }

            // initialisation de l'état
            status = StatusPartie.TraitBlancs;
        }
Ejemplo n.º 3
0
        public void PlacerPieces(Echiquier echiquier)
        {
            if (couleur == CouleurCamp.Noire)
            {
                echiquier.Cases[0, 0].Link(pieces[4]);
                echiquier.Cases[1, 0].Link(pieces[3]);
                echiquier.Cases[2, 0].Link(pieces[2]);

                echiquier.Cases[3, 0].Link(pieces[0]);
                echiquier.Cases[4, 0].Link(pieces[1]);

                echiquier.Cases[5, 0].Link(pieces[5]);
                echiquier.Cases[6, 0].Link(pieces[6]);
                echiquier.Cases[7, 0].Link(pieces[7]);

                for (int i = 0; i < 8; i++)
                {
                    echiquier.Cases[i, 1].Link(pieces[8 + i]);
                }
            }
            else
            {
                echiquier.Cases[0, 7].Link(pieces[4]);
                echiquier.Cases[1, 7].Link(pieces[3]);
                echiquier.Cases[2, 7].Link(pieces[2]);

                echiquier.Cases[3, 7].Link(pieces[0]);
                echiquier.Cases[4, 7].Link(pieces[1]);

                echiquier.Cases[5, 7].Link(pieces[5]);
                echiquier.Cases[6, 7].Link(pieces[6]);
                echiquier.Cases[7, 7].Link(pieces[7]);

                for (int i = 0; i < 8; i++)
                {
                    echiquier.Cases[i, 6].Link(pieces[8 + i]);
                }
            }
        }
Ejemplo n.º 4
0
        public Partie(Partie p)
        {
            blancs = (Joueur)p.blancs.Clone();
            noirs  = (Joueur)p.noirs.Clone();

            blancs.partie = this;
            noirs.partie  = this;

            _status = p._status;

            Captures  = p.Captures;
            echiquier = (Echiquier)p.echiquier.Clone();

            foreach (Piece item in blancs.pieces)
            {
                echiquier.Cases[item.numColonne, item.numLigne].Link(item);
            }
            foreach (Piece item in noirs.pieces)
            {
                echiquier.Cases[item.numColonne, item.numLigne].Link(item);
            }
        }
Ejemplo n.º 5
0
        public object Clone()
        {
            Echiquier e = new Echiquier();

            return(e);
        }