diff --git a/src/main/java/TicTacToe/TicTacToeGame.java b/src/main/java/TicTacToe/TicTacToeGame.java index c551abf..acef34d 100644 --- a/src/main/java/TicTacToe/TicTacToeGame.java +++ b/src/main/java/TicTacToe/TicTacToeGame.java @@ -74,13 +74,13 @@ public class TicTacToeGame extends JPanel { public void endTurn() { if(checkPlayfield() != 0) { JOptionPane.showMessageDialog(getParent(),"Player: " + playerID + " Wins!"); - System.exit(0); + resetGame(); } turns++; if(turns >= playFieldSize) { JOptionPane.showMessageDialog(getParent(),"Draw!"); - System.exit(0); + resetGame(); } playerID++; @@ -105,6 +105,14 @@ public class TicTacToeGame extends JPanel { return 0; } + + public void resetGame() { + for (cell c : field) { + c.reset(); + } + playerID = 1; + turns = 0; + } } \ No newline at end of file diff --git a/src/main/java/TicTacToe/cell.java b/src/main/java/TicTacToe/cell.java index 249ff4b..27a3158 100644 --- a/src/main/java/TicTacToe/cell.java +++ b/src/main/java/TicTacToe/cell.java @@ -1,4 +1,5 @@ package TicTacToe; + import java.awt.Color; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; @@ -9,10 +10,11 @@ public class cell extends JButton { public int playerID = 0; private TicTacToeGame ttt; - + public cell(TicTacToeGame _ttt) { ttt = _ttt; - + setBackground(new Color(255,255,255)); + addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { @@ -22,23 +24,26 @@ public class cell extends JButton { } protected void OnMouseClick() { - if(playerID == 0) { - playerID = ttt.playerID; + if (playerID == 0) { + playerID = ttt.playerID; ttt.endTurn(); setEnabled(false); - + switch (playerID) { - case 1: setBackground(new Color(255,0,0)); - break; - case 2: setBackground(new Color(0,0,255)); - break; - default: ; - break; + case 1: + setBackground(new Color(255, 0, 0)); + break; + case 2: + setBackground(new Color(0, 0, 255)); + break; + } } - } } - - - + protected void reset() { + playerID = 0; + setEnabled(true); + setBackground(new Color(255,255,255)); + } + }