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

View File

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

View File

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