public class Application { // static void colorieEnNoir(PieceEchiquier pe, int nbreCouches) { // pe.couleur="Noir"; // nbreCouches=0; // } public static void main(String[] args) { Echiquier echiquier= new Echiquier(); echiquier.afficheGrille(); /*PieceEchiquier pe = new PieceEchiquier(); // test consruction PieceEchiquier tour = new PieceEchiquier("tour"); tour.afficheInformations() ; PieceEchiquier fou = new PieceEchiquier("fou","noir",'g',6); fou.afficheInformations() ; PieceEchiquier roi = new PieceEchiquier("roi","blanc",'k',6); roi.afficheInformations(); // test mouvements System.out.println("fou bouge horizontalement : " + fou.bougeHorizontalement(-2)); fou.afficheInformations(); System.out.println("tour bouge verticalement : " + tour.bougeVerticalement(7)); tour.afficheInformations(); System.out.println("roi bouge horizontalement : " + roi.bougeHorizontalement(-5)); roi.afficheInformations(); System.out.println("roi bouge verticalement : " + roi.bougeVerticalement(+6)); roi.afficheInformations(); */ } } class PieceEchiquier { private String couleur="blanc"; private String nom; public int positionHorizontale='a'; public int positionVerticale=1; public char symbole='p'; public PieceEchiquier() { } public PieceEchiquier(String nom,String couleur,int posH,int posV) { this.couleur = couleur; this.nom = nom; if (!positionHorizontaleEstValide(posH)) { System.out.println("Position horizontale non valide. Initialisée avec 'a'."); }else{ this.positionHorizontale=posH; } if (!positionVerticaleEstValide(posV)) { System.out.println("Position verticale non valide. Initialisée avec '1'."); }else{ this.positionVerticale = posV; } } public PieceEchiquier(String nom) { this.nom = nom; } public PieceEchiquier(String nom,String couleur) { this.couleur = couleur; this.nom = nom; } static boolean positionHorizontaleEstValide(int posHor){ if (posHor >= 'a' && posHor <='h') {return true; } else { return false; } } static boolean positionVerticaleEstValide(int posVert){ if (posVert>=1 && posVert<=8) { return true; } else { return false; } } boolean bougeHorizontalement (int nbreCases){ if (positionHorizontaleEstValide(this.positionHorizontale+nbreCases)) { positionHorizontale=this.positionHorizontale+nbreCases; } else { System.out.println("Pièce H laissée à sa place"); } return true; } boolean bougeVerticalement (int nbreCases){ if (positionVerticaleEstValide(this.positionVerticale+nbreCases)) { positionVerticale=this.positionVerticale+nbreCases; } else { System.out.println("Pièce laissée V à sa place"); } return true; } void afficheInformations (){ System.out.println("Nom de la pièce: "+nom); System.out.println("Couleur : "+ couleur); System.out.println("Position H de la pièce: "+(char)positionHorizontale); System.out.println("Position V de la pièce: "+positionVerticale); } } class Echiquier { PieceEchiquier grille []; Echiquier() { grille = new PieceEchiquier[32]; for(int i = 0; i< 8; i++) grille[i] = new PieceEchiquier("piece","blanc",i+97,1) ; for (int i = 8; i < 16; i++) grille[i] = new PieceEchiquier("piece","blanc",i+89,2) ; for (int i = 16; i < 24;i++) grille[i] = new PieceEchiquier("piece","noir",i+81,7) ; for (int i = 24 ; i < 32; i++) grille[i] = new PieceEchiquier("pion","blanc",i+73,8) ; } void afficheGrille() { char[][] grilleAffichee = new char[8][8]; for(int i = 0; i< 32; i++) { PieceEchiquier piece = grille[i]; grilleAffichee[piece.positionHorizontale-97][piece.positionVerticale-1] = piece.symbole ; } for (int j = 0; j < 8; j++) { for (int k = 0; k < 8; k++) { char c = grilleAffichee[k][j] ; if (c == 0) c = '.'; System.out.print(c); } System.out.println(); } System.out.println(); } } /* on obtient: pppppppp pppppppp ........ ........ ........ ........ pppppppp pppppppp */