/** Displays the GUI. */ public void displayGUI() { for (int j = 0; j < Board.HEIGHT; j++) { for (int i = 0; i < Board.WIDTH; i++) { JPanel currentSquare = squares[i][j]; Entity currentEntity = matrix[i][j]; // squares[i][j].setBackground(new Color(r.nextInt(255),r.nextInt(255),r.nextInt(255))); currentSquare.removeAll(); if (currentEntity == null) currentSquare.setBackground(COLOR_EMPTY); else { switch (displayMode) { case DISPLAY_UNITS: displayUnit(i, j); break; case DISPLAY_ATTACK: resetSelectedSquare(); displayAttackPotential(i, j); break; case DISPLAY_DEFENCE: resetSelectedSquare(); displayDefencePotential(i, j); break; case DISPLAY_DEFENCE_MINUS_ATTACK: resetSelectedSquare(); displayDefenceMinusAttackPotential(i, j); break; default: resetSelectedSquare(); break; } if (currentEntity instanceof Mountain) currentSquare.setBackground(COLOR_MOUTAIN); if (currentEntity.canContain()) currentEntity = board.getUnit(i, j); if (displayMode != DISPLAY_DEFENCE_MINUS_ATTACK) colorSquareByOwner(i, j); if (currentEntity instanceof MovableEntity && displayMode != DISPLAY_ATTACK_EVAL_TEAM0 && displayMode != DISPLAY_ATTACK_EVAL_TEAM1 && displayMode != DISPLAY_DEFENCE_EVAL_TEAM0 && displayMode != DISPLAY_DEFENCE_EVAL_TEAM1 && displayMode != DISPLAY_DEFENCE_MINUS_ATTACK_EVAL_TEAM0 && displayMode != DISPLAY_DEFENCE_MINUS_ATTACK_EVAL_TEAM1) { MovableEntity currentMovable = ((MovableEntity) currentEntity); if (currentMovable.canBeKilled()) { ((JLabel) currentSquare.getComponent(0)) .setText("(" + ((JLabel) currentSquare.getComponent(0)).getText() + ")"); } if (currentMovable.mustRetreat()) { ((JLabel) currentSquare.getComponent(0)) .setText("[" + ((JLabel) currentSquare.getComponent(0)).getText() + "]"); } } } } } if (selectedSquare != null) drawPossibleMovement(selectedSquare.x, selectedSquare.y); else drawCommunications(); if (displayMode == DISPLAY_ATTACK_EVAL_TEAM0) displayAttackEvaluator(0); if (displayMode == DISPLAY_ATTACK_EVAL_TEAM1) displayAttackEvaluator(1); if (displayMode == DISPLAY_DEFENCE_EVAL_TEAM0) displayDefenceEvaluator(0); if (displayMode == DISPLAY_DEFENCE_EVAL_TEAM1) displayDefenceEvaluator(1); if (displayMode == DISPLAY_DEFENCE_MINUS_ATTACK_EVAL_TEAM0) displayDefenceMinusAttackEvaluator(0); if (displayMode == DISPLAY_DEFENCE_MINUS_ATTACK_EVAL_TEAM1) displayDefenceMinusAttackEvaluator(1); this.repaint(); this.setVisible(true); }