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; }
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; }
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]); } } }
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); } }
public object Clone() { Echiquier e = new Echiquier(); return(e); }