// test de methode d'affichage avec google.lanterna public void affichageGraphique(Terminal terminal) { terminal.enterPrivateMode(); // mode d'edition du terminal terminal.clearScreen(); // on efface l'ecran for (Integer i = 1; i <= 8; i++) { // affichage des coordonnees au bord de l'ecran terminal.applyBackgroundColor(Terminal.Color.DEFAULT); terminal.applyForegroundColor(Terminal.Color.DEFAULT); terminal.moveCursor(i, 10); terminal.putCharacter(i.toString().charAt(0)); terminal.moveCursor(10, i); terminal.putCharacter(i.toString().charAt(0)); // changement de la couleur de fond de maniere alternative for (int j = 1; j <= 8; j++) { terminal.moveCursor(i, j); terminal.applyBackgroundColor(Terminal.Color.BLUE); if ((i + j) % 2 == 0) terminal.applyBackgroundColor(Terminal.Color.YELLOW); terminal.putCharacter(' '); } } Iterator<Piece> it = this.get_pieces().iterator(); // affichage de chacune des pieces while (it.hasNext()) { Piece p = it.next(); if (!p .get_estMange()) { // on n'affiche que les pièces qui ne sont pas mangées (i.e encore sur // le plateau) terminal.moveCursor(p.get_coordonnees().get_x(), p.get_coordonnees().get_y()); terminal.applyBackgroundColor(Terminal.Color.BLUE); if ((p.get_coordonnees().get_x() + p.get_coordonnees().get_y()) % 2 == 0) terminal.applyBackgroundColor(Terminal.Color.YELLOW); terminal.applyForegroundColor(Terminal.Color.BLACK); if (p.get_couleur().get_couleur() == "blanc") terminal.applyForegroundColor(Terminal.Color.WHITE); terminal.putCharacter(p.get_symbole().charAt(0)); } } terminal.moveCursor(0, 0); }
// recherche une piece ayant les coordonnees donnees // renvoit la piece en question si elle existe et nul sinon public Piece rechercherCoord(Coordonnees rech) { Iterator<Piece> it = this.get_pieces().iterator(); while (it.hasNext()) { Piece p = it.next(); if (p.get_coordonnees().equals(rech)) { return p; } } return null; }