clean up code

This commit is contained in:
2026-02-08 19:16:09 -05:00
parent a971608567
commit ac3da5b978
4 changed files with 69 additions and 48 deletions
@@ -17,8 +17,6 @@ import java.awt.Frame;
import java.awt.image.BufferedImage;
public final class Board {
final static int PlayerUser = 1;
final static int PlayerSystem = 0;
private static final BufferedImage xImage = ResourceImageLoader.loadImageFromResource("/x.png");
private static final BufferedImage naughtImage = ResourceImageLoader.loadImageFromResource("/naught.png");
@@ -27,7 +25,7 @@ public final class Board {
final BoardButton[] buttons = new BoardButton[9];
Integer player = Board.PlayerUser;
PlayerEnum player = PlayerEnum.PlayerUser;
Frame frame = null;
Logger logger = LoggerFactory.getLogger(Board.class);
@@ -51,7 +49,7 @@ public final class Board {
frame.add(button);
}
this.setPlayer(Board.PlayerUser);
this.setPlayer(PlayerEnum.PlayerUser);
}
public BoardButton[] getButtons() {
@@ -63,10 +61,9 @@ public final class Board {
// Generate a random integer from 0 to 8.
int position = random.nextInt(9);
// Generate another guess if position played.
while (getButtons()[position].played) {
while (getButtons()[position].getPlayed()) {
position = random.nextInt(9);
}
;
return position;
}
@@ -77,81 +74,81 @@ public final class Board {
protected void setPlayerTurnOnBoard() {
// Set turn on board
if (player == Board.PlayerUser) {
player = Board.PlayerSystem;
} else if (player == Board.PlayerSystem) {
player = Board.PlayerUser;
if (player == PlayerEnum.PlayerUser) {
player = PlayerEnum.PlayerSystem;
} else if (player == PlayerEnum.PlayerSystem) {
player = PlayerEnum.PlayerUser;
}
}
public ResultEnum checkGamePlay(BoardButton[] buttons) {
if ((buttons[0].played && buttons[4].played && buttons[8].played)
if ((buttons[0].getPlayed() && buttons[4].getPlayed() && buttons[8].getPlayed())
&&
buttons[0].player == buttons[4].player
&& buttons[4].player == buttons[8].player) {
buttons[0].getPlayer() == buttons[4].getPlayer()
&& buttons[4].getPlayer() == buttons[8].getPlayer()) {
return ResultEnum.winner;
}
if ((buttons[2].played && buttons[4].played && buttons[6].played)
if ((buttons[2].getPlayed() && buttons[4].getPlayed() && buttons[6].getPlayed())
&&
buttons[2].player == buttons[4].player
&& buttons[4].player == buttons[6].player) {
buttons[2].getPlayer() == buttons[4].getPlayer()
&& buttons[4].getPlayer() == buttons[6].getPlayer()) {
return ResultEnum.winner;
}
if ((buttons[0].played && buttons[1].played && buttons[2].played)
if ((buttons[0].getPlayed() && buttons[1].getPlayed() && buttons[2].getPlayed())
&&
buttons[0].player == buttons[1].player
&& buttons[1].player == buttons[2].player) {
buttons[0].getPlayer() == buttons[1].getPlayer()
&& buttons[1].getPlayer() == buttons[2].getPlayer()) {
return ResultEnum.winner;
}
if ((buttons[3].played && buttons[4].played && buttons[5].played)
if ((buttons[3].getPlayed() && buttons[4].getPlayed() && buttons[5].getPlayed())
&&
buttons[3].player == buttons[4].player
&& buttons[4].player == buttons[5].player) {
buttons[3].getPlayer() == buttons[4].getPlayer()
&& buttons[4].getPlayer() == buttons[5].getPlayer()) {
return ResultEnum.winner;
}
if ((buttons[6].played && buttons[7].played && buttons[8].played)
if ((buttons[6].getPlayed() && buttons[7].getPlayed() && buttons[8].getPlayed())
&&
buttons[6].player == buttons[7].player
&& buttons[7].player == buttons[8].player) {
buttons[6].getPlayer() == buttons[7].getPlayer()
&& buttons[7].getPlayer() == buttons[8].getPlayer()) {
return ResultEnum.winner;
}
if ((buttons[0].played && buttons[3].played && buttons[6].played)
if ((buttons[0].getPlayed() && buttons[3].getPlayed() && buttons[6].getPlayed())
&&
buttons[0].player == buttons[3].player
&& buttons[3].player == buttons[6].player) {
buttons[0].getPlayer() == buttons[3].getPlayer()
&& buttons[3].getPlayer() == buttons[6].getPlayer()) {
return ResultEnum.winner;
}
if ((buttons[1].played && buttons[4].played && buttons[7].played)
if ((buttons[1].getPlayed() && buttons[4].getPlayed() && buttons[7].getPlayed())
&&
buttons[1].player == buttons[4].player
&& buttons[4].player == buttons[7].player) {
buttons[1].getPlayer() == buttons[4].getPlayer()
&& buttons[4].getPlayer() == buttons[7].getPlayer()) {
return ResultEnum.winner;
}
if ((buttons[2].played && buttons[5].played && buttons[8].played)
if ((buttons[2].getPlayed() && buttons[5].getPlayed() && buttons[8].getPlayed())
&&
buttons[2].player == buttons[5].player
&& buttons[5].player == buttons[8].player) {
buttons[2].getPlayer() == buttons[5].getPlayer()
&& buttons[5].getPlayer() == buttons[8].getPlayer()) {
return ResultEnum.winner;
}
int count = 0;
for (BoardButton boardButton : buttons) {
if (boardButton.played) {
if (boardButton.getPlayed()) {
count++;
}
}
@@ -172,7 +169,7 @@ public final class Board {
frame.setEnabled(false);
// show Winner Dialog
String message = this.player == Board.PlayerUser ? String.format("You") : String.format("System");
String message = this.player == PlayerEnum.PlayerUser ? String.format("You") : String.format("System");
frame.setTitle("TicTacToe - " + message + " won.");
JOptionPane.showMessageDialog(frame, message + " won.", "Winner!", JOptionPane.WARNING_MESSAGE);
@@ -199,23 +196,24 @@ public final class Board {
//play continues
setPlayerTurnOnBoard();
if (this.player == Board.PlayerSystem) {
if (this.player == PlayerEnum.PlayerSystem) {
delay = 1400L;
frame.setEnabled(false);
timer.schedule(new SystemPlayTask(this), delay);
}
}
public int getPlayer() {
// current player on board
public PlayerEnum getPlayer() {
return this.player;
}
public void setPlayer(int player) {
public void setPlayer(PlayerEnum player) {
this.player = player;
}
public Icon setPlayerMark() {
return new ImageIcon(player == Board.PlayerUser ? xImage : naughtImage);
return new ImageIcon(player == PlayerEnum.PlayerUser ? xImage : naughtImage);
}
}
@@ -12,9 +12,10 @@ public class BoardButton extends JButton implements ActionListener {
// Board
private static final BufferedImage blankImage = ResourceImageLoader.loadImageFromResource("/blank.png");
final Board board;
Boolean played = false;
Integer player = -1;
final private Board board;
private Boolean played = false;
// player that played as this position
private PlayerEnum player = null;
public BoardButton(String label, ImageIcon imageIcon, Board board) {
super(label, imageIcon);
@@ -27,13 +28,30 @@ public class BoardButton extends JButton implements ActionListener {
return blankImage;
}
Boolean getPlayed() {
return played;
}
private void setPlayer(final PlayerEnum boardPlayer) {
this.player = boardPlayer;
}
public PlayerEnum getPlayer() {
return player;
}
public Board getBoard(){
return board;
}
@Override
public void actionPerformed(ActionEvent e) {
if(this.played) return;
if (this.played)
return;
setPlayer(board.player);
this.setIcon(board.setPlayerMark());
this.played = true;
this.player = board.player;
board.PlayEventUpdate();
}
@@ -0,0 +1,5 @@
package edu.tictactoe;
public enum PlayerEnum {
PlayerSystem, PlayerUser;
}
@@ -10,9 +10,9 @@ public aspect Referee { // call the plays.
{
ResultEnum oval = proceed(buttons);
Logger logger = LoggerFactory.getLogger(Board.class);
Logger logger = LoggerFactory.getLogger(Referee.class);
logger.info(String.format("Checking Board play: %s ", oval));
logger.info(String.format("Checking Board play: %s. ", oval));
return oval;
}