public Case(Echiquier echiquier, int x, int y, CouleurCamp couleur) { this.echiquier = echiquier; this.x = x; this.y = y; this.couleur = couleur; }
// TODO : décommentez lorsque vous auriez implementé les methode Unlink et Link de la classe Case public void PlacerPieces(Echiquier echiquier) { if (couleur == CouleurCamp.Blanche) { for (int i = LAST_PIECE - NB_PIECE_ROW; i < LAST_PIECE; i++) { int index = i - (LAST_PIECE - NB_PIECE_ROW); pieces[index].position = echiquier.Cases[i]; echiquier.Cases[i].Link(pieces[index]); } for (int i = LAST_PIECE - NB_MAX_PIECE; i < LAST_PIECE - NB_PIECE_ROW; i++) { int index = i - (LAST_PIECE - NB_MAX_PIECE); pieces[index + 8].position = echiquier.Cases[i]; echiquier.Cases[i].Link(pieces[index + 8]); } } else { for (int i = 0; i < NB_MAX_PIECE; i++) { pieces[i].position = echiquier.Cases[i]; echiquier.Cases[i].Link(pieces[i]); } } }
/* 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; }
// methodes public Case(CouleurCamp couleur, int r, int c, Echiquier echiquier) { this.couleurCase = couleur; this.row = r; this.col = c; this.piece = null; this.echiquier = echiquier; }
// TODO : décommentez lorsque vous auriez implementé les methode Unlink et Link de la classe Case public void PlacerPieces(Echiquier echiquier) { if (couleur == CouleurCamp.Noire) { //Roi echiquier.cases[4, 0].Link(pieces[0]); //Dame echiquier.cases[3, 0].Link(pieces[1]); // Tours echiquier.cases[0, 0].Link(pieces[2]); echiquier.cases[7, 0].Link(pieces[3]); // Fous echiquier.cases[2, 0].Link(pieces[4]); echiquier.cases[5, 0].Link(pieces[5]); // Chevalier echiquier.cases[1, 0].Link(pieces[6]); echiquier.cases[6, 0].Link(pieces[7]); // Pions for (int i = 0; i < 8; i++) { echiquier.cases[i, 1].Link(pieces[i + 8]); } } else { //Roi echiquier.cases[4, 7].Link(pieces[0]); //Dame echiquier.cases[3, 7].Link(pieces[1]); // Tours echiquier.cases[0, 7].Link(pieces[2]); echiquier.cases[7, 7].Link(pieces[3]); // Fous echiquier.cases[2, 7].Link(pieces[4]); echiquier.cases[5, 7].Link(pieces[5]); // Chevalier echiquier.cases[1, 7].Link(pieces[6]); echiquier.cases[6, 7].Link(pieces[7]); // Pions for (int i = 0; i < 8; i++) { echiquier.cases[i, 6].Link(pieces[i + 8]); } } }
} // TODO : décommentez lorsque vous auriez implementé la classe Echiquier /* 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); // initialisation de l'état status = StatusPartie.TraitBlancs; }
/* 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; }
// TODO : décommentez lorsque vous auriez implementé les methode Unlink et Link de la classe Case public void PlacerPieces(Echiquier echiquier) { int rangee = (couleur == CouleurCamp.Noire) ? -1 : 8; for (int i = 0; i < pieces.Count; i++) { int colonne = i % 8; if (couleur == CouleurCamp.Noire) { rangee = (colonne == 0) ? ++rangee : rangee; } else { rangee = (colonne == 0) ? --rangee : rangee; } echiquier.cases[colonne, rangee].Link(pieces[i]); } }
public void PlacerPieces(Echiquier echiquier) { if (couleur == CouleurCamp.Noire) { echiquier.cases[3, 0].Link(pieces[0]); echiquier.cases[4, 0].Link(pieces[1]); echiquier.cases[0, 0].Link(pieces[2]); echiquier.cases[7, 0].Link(pieces[3]); echiquier.cases[0, 1].Link(pieces[4]); echiquier.cases[1, 1].Link(pieces[5]); echiquier.cases[2, 1].Link(pieces[6]); echiquier.cases[3, 1].Link(pieces[7]); echiquier.cases[4, 1].Link(pieces[8]); echiquier.cases[5, 1].Link(pieces[9]); echiquier.cases[6, 1].Link(pieces[10]); echiquier.cases[7, 1].Link(pieces[11]); echiquier.cases[2, 0].Link(pieces[12]); echiquier.cases[5, 0].Link(pieces[13]); echiquier.cases[1, 0].Link(pieces[14]); echiquier.cases[6, 0].Link(pieces[15]); } else { echiquier.cases[3, 7].Link(pieces[0]); echiquier.cases[4, 7].Link(pieces[1]); echiquier.cases[0, 7].Link(pieces[2]); echiquier.cases[7, 7].Link(pieces[3]); echiquier.cases[0, 6].Link(pieces[4]); echiquier.cases[1, 6].Link(pieces[5]); echiquier.cases[2, 6].Link(pieces[6]); echiquier.cases[3, 6].Link(pieces[7]); echiquier.cases[4, 6].Link(pieces[8]); echiquier.cases[5, 6].Link(pieces[9]); echiquier.cases[6, 6].Link(pieces[10]); echiquier.cases[7, 6].Link(pieces[11]); echiquier.cases[2, 7].Link(pieces[12]); echiquier.cases[5, 7].Link(pieces[13]); echiquier.cases[1, 7].Link(pieces[14]); echiquier.cases[6, 7].Link(pieces[15]); } }
/* 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; }
/* 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); }
// TODO : décommentez lorsque vous auriez implementé les methode Unlink et Link de la classe Case public void PlacerPieces(Echiquier echiquier) { int nbTour = 0, nbCavalier = 0, nbFou = 0, nbPion = 0; foreach (Piece piece in pieces) { switch (piece.info.type) { case TypePiece.Roi: if (couleur == CouleurCamp.Blanche) { echiquier.cases[7, 4].Link(piece); } else { echiquier.cases[0, 4].Link(piece); } roi = (Roi)piece; break; case TypePiece.Dame: if (couleur == CouleurCamp.Blanche) { echiquier.cases[7, 3].Link(piece); } else { echiquier.cases[0, 3].Link(piece); } break; case TypePiece.Tour: if (couleur == CouleurCamp.Blanche) { echiquier.cases[7, (nbTour * 7)].Link(piece); nbTour++; } else { echiquier.cases[0, (nbTour * 7)].Link(piece); nbTour++; } break; case TypePiece.Cavalier: if (couleur == CouleurCamp.Blanche) { echiquier.cases[7, ((nbCavalier * 5) + 1)].Link(piece); nbCavalier++; } else { echiquier.cases[0, ((nbCavalier * 5) + 1)].Link(piece); nbCavalier++; } break; case TypePiece.Fou: if (couleur == CouleurCamp.Blanche) { echiquier.cases[7, ((nbFou * 3) + 2)].Link(piece); nbFou++; } else { echiquier.cases[0, ((nbFou * 3) + 2)].Link(piece); nbFou++; } break; case TypePiece.Pion: if (couleur == CouleurCamp.Blanche) { echiquier.cases[6, nbPion].Link(piece); nbPion++; } else { echiquier.cases[1, nbPion].Link(piece); nbPion++; } break; default: break; } } }