/** * <summary> Constructeur qui définie un espace par sa hauteur et sa largeur et alloue la mémoire du tableau de case en fonction. * Le tableau commence à 0 * </summary> * * */ public espace(int hauteur, int largeur) { this.largeur = largeur; this.hauteur = hauteur; pieceEnCour = new piece(); //peut etre pas utile tableau = new @case[hauteur][]; for (int i = 0; i < hauteur; i++) { tableau[i] = new @case[largeur]; for (int j = 0; j < largeur; j++) { tableau[i][j] = new @case(i, j); } } }
// mettre des coordonnées pour le centre cette fct sert de chargement de piece /** * <summary> Constructeur qui construit la piece de type données et pour centre la case de coordonnées X et Y * On construit les pièces en allant chercher dans les fichier .piece dans le dossier pieces * <param name=x>parametre qui correspont à sa position verticale du centre de la pièce</param> * <param name=y>parametre qui correspont à sa position horizontale du centre de la pièce</param> * <param name=type>parametre qui correspont au type de la pièce charger</param> * </summary> * * */ public piece(int x, int y, int type) { String temp; StreamReader infile = File.OpenText("./Pieces/" + type + ".piece"); tableau = new @case[4][]; for (int i = 0; i < 4; i++) { tableau[i] = new @case[4]; temp = infile.ReadLine(); for (int j = 0; j < 4; j++) { tableau[i][j] = new @case(i, j); tableau[i][j].Pleine = (int)char.GetNumericValue((char)temp[2 * j]); tableau[i][j].Color = type; } } this.type = type; this.centre = new @case(x, y); infile.Dispose(); }
/** * <summary> Cette fonction permet de définir un nouveau centre à la pièce * </summary> * * */ public void setCentre(@case centre) { this.centre = centre; }
/** * <summary> Méthode qui va déplacer la piece en 3 étapes ,la première en supprimant la piece du tableau,la deuxieme en changant le * centre de la piece et en 3eme on va placer la piece avec le nouveau centre. * </summary> * <param name=x>parametre qui correspont au coordonnées horizontale du centre ou on veut déplacer la pièce</param> * <param name=y>parametre qui correspont au coordonnées verticale du centre ou on veut déplacer la pièce</param> * */ public void deplacerPiece(int x, int y) { @case centre = new @case(x + pieceEnCour.getCentre().X, y + pieceEnCour.getCentre().Y); this.supprimerPiece(); pieceEnCour.setCentre(centre); this.placerPiece(); }