예제 #1
0
        /* methodes */
        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(this);

            //piecesCapturees
            piecesCapturees = new List <InfoPiece>();

            // placement des pieces
            blancs.PlacerPieces(echiquier);
            foreach (Piece piece in blancs.pieces)
            {
                vue.ActualiserCase(piece.position.row, piece.position.col, piece.info);
            }

            noirs.PlacerPieces(echiquier);
            foreach (Piece piece in noirs.pieces)
            {
                vue.ActualiserCase(piece.position.row, piece.position.col, piece.info);
            }


            // initialisation de l'état
            status = StatusPartie.TraitBlancs;
        }
예제 #2
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;
 }
예제 #3
0
 void ChangerEtat(bool echec = false, bool mat = false)
 {
     if (status == StatusPartie.TraitBlancs)
     {
         status = StatusPartie.TraitNoirs;
     }
     else
     {
         status = StatusPartie.TraitBlancs;
     }
 }
예제 #4
0
        /* methodes */

        public void CommencerPartie()
        {
            // initialisation des coups
            coups = new List <Coup>();

            // creation des joueurs
            blancs = new Joueur(this, CouleurCamp.Blanche);
            noirs  = new Joueur(this, CouleurCamp.Noire);

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

            // placement des pieces
            blancs.PlacerPieces(echiquier); // TODO : décommentez lorsque vous auriez implementé les methode Unlink et Link de la classe Case
            noirs.PlacerPieces(echiquier);  // TODO : décommentez lorsque vous auriez implementé les methode Unlink et Link de la classe Case

            // initialisation de l'état
            status = StatusPartie.TraitBlancs;
        }
예제 #5
0
        /* methodes */

        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(this);

            // placement des pieces
            blancs.PlacerPieces(echiquier);
            noirs.PlacerPieces(echiquier);

            /* TEST */
            // vue.ActualiserCase(4, 0, InfoPiece.RoiNoir);
            //vue.ActualiserCase(4, 7, InfoPiece.RoiBlanc);
            /* FIN TEST */

            // initialisation de l'état
            status = StatusPartie.TraitBlancs;
        }
예제 #6
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);
            }
        }
예제 #7
0
        /* methodes */

        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(this);
            piecesCapturees = new List <InfoPiece>();
            this.vue.ActualiserCaptures(piecesCapturees);

            // placement des pieces
            blancs.PlacerPieces(echiquier); // TODO : décommentez lorsque vous auriez implementé les methode Unlink et Link de la classe Case
            noirs.PlacerPieces(echiquier);  // TODO : décommentez lorsque vous auriez implementé les methode Unlink et Link de la classe Case

            // initialisation de l'état
            status = StatusPartie.TraitBlancs;

            // initialisation du tableau des cases attaquables

            //Autres
            //this.vue.ActualiserListMove(new string[] { "test", "test", "test" });
            this.vue.ActualiserListMove(null);
        }
예제 #8
0
 public void PausePlay()
 {
     previousStatus = status;
     status         = StatusPartie.Pause;
 }