Set fields and variables to final when possible

This commit is contained in:
Victor 2014-01-17 18:32:23 +02:00
parent 431924adb6
commit c70ec31da6
3 changed files with 350 additions and 350 deletions

View File

@ -18,9 +18,9 @@ public class GameBoard extends JPanel {
private BufferedImage strikedHor, strikedVer, strikedDiag, strikedDiagRev;
private BufferedImage background, figureX, figureO;
private Table table;
private TitlePanel title;
private int imgWidth, imgHeight;
private final Table table;
private final TitlePanel title;
private final int imgWidth, imgHeight;
public GameBoard(TitlePanel title) {
this.title = title;
@ -47,10 +47,10 @@ public class GameBoard extends JPanel {
}
private void drawTable(Graphics g) {
Figure[][] figures = table.getFiguresArray();
final Figure[][] figures = table.getFiguresArray();
for (int i = 0; i < figures.length; i++) {
for (int j = 0; j < figures[0].length; j++) {
char figure = figures[i][j].getFigure();
final char figure = figures[i][j].getFigure();
if (figure != Figure.EMPTY) {
BufferedImage image = ( (figure == Figure.X) ? figureX : figureO );
int x = j * CELL_SIZE + OFFSET + (CELL_SIZE - image.getWidth()) / 2;
@ -62,11 +62,11 @@ public class GameBoard extends JPanel {
}
private void drawStrike(Graphics g) {
int strikeMode = table.getStrikedMode();
final int strikeMode = table.getStrikedMode();
if (strikeMode != Table.MODE_NOT_STRIKED) {
final int strikedSize = strikedHor.getHeight();
int coord = OFFSET + (CELL_SIZE - strikedSize) / 2;
int strikePos = strikeMode & 0x03;
final int coord = OFFSET + (CELL_SIZE - strikedSize) / 2;
final int strikePos = strikeMode & 0x03;
if ( (strikeMode & Table.MODE_STRIKE_DIAGONAL) != 0 ) {
g.drawImage(strikedDiag, coord, coord, null);
@ -81,16 +81,16 @@ public class GameBoard extends JPanel {
}
private void gameBoardMousePressed(MouseEvent evt) {
Point id = convertToID( evt.getPoint() );
final Point id = convertToID( evt.getPoint() );
//table.computerMove();
table.setFigure(id.x, id.y);
if (table.getStrikedMode() == Table.MODE_NOT_STRIKED) title.setMessage("");
if (!table.hasMoreMoves()) {
char winner = table.checkWinner();
final char winner = table.checkWinner();
if (winner != Figure.EMPTY) {
int winX = (winner == Figure.X) ? 1 : 0;
final int winX = (winner == Figure.X) ? 1 : 0;
title.updateWin(winX, 1 - winX);
title.setMessage(winner + " is win");
} else title.setMessage("Drow");

View File

@ -23,7 +23,7 @@ public class Main extends JFrame {
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLayout(new BorderLayout(0, 0));
TitlePanel title = new TitlePanel(this);
final TitlePanel title = new TitlePanel(this);
add(title, BorderLayout.NORTH);
add(new GameBoard(title));

View File

@ -15,10 +15,10 @@ public class Table {
MODE_STRIKE_DIAGONAL = 0x10,
MODE_STRIKE_DIAGONAL_REVERSE = 0x20;
private boolean nextMoveIsX;
private Figure[][] table;
private Random random;
private final Figure[][] table;
private final Random random;
private int strikedMode;
private boolean nextMoveIsX;
public Table() {
table = new Figure[3][3];
@ -84,7 +84,7 @@ public class Table {
{ table[0][0], table[1][1], table[2][2] },
{ table[0][2], table[1][1], table[2][0] }
};
char[] maybeWinnerArray = new char[array.length];
final char[] maybeWinnerArray = new char[array.length];
// Calculate winning situations for computer (zeroes).
for (int i = 0; i < array.length; i++) {
Figure[] figures = array[i];
@ -171,7 +171,7 @@ public class Table {
private boolean isWinnerCombo(Figure f1, Figure f2, Figure f3) {
if (f1.isEmpty()) return false;
char figure = f1.getFigure();
final char figure = f1.getFigure();
return ( (figure == f2.getFigure()) &&
(figure == f3.getFigure()) );
}