Note that there are some explanatory texts on larger screens.

plurals
  1. POUnreachable Code in Tic Tac Toe Program
    text
    copied!<p>I've been researching "dead code" and "unreachable code" for awhile now and I still can't seem to figure out what's going on with this problem in my program. This is a snippet of what I have; the method "gameEnd()" which checks for winners in Tic Tac Toe:</p> <pre><code>private boolean gameEnd() { // Setting local variables int x = xMouseSquare; int y = yMouseSquare; int[][] g = gameBoard; int c = CPU; int h = HUMAN; // Checking for a winner /* Checking columns (xMouseSquare) * Enter the y value, the vertical value, first; then x, the horizontal value, second */ // Set y equal to 0 and then add 1 for (y = 0; y &lt; 3; y++) { // Set CPU c equal to 0 c = 0; // Set x equal to 0 and then add 1 for (x = 0; x &lt; 3; x++) { // Add CPU's value to the game board c += g[x][y]; // If statement returning the absolute value of CPU if (Math.abs(c) == 3) { // If these values are correct, return true; the game ends with CPU win horizontally return true; } } } // If not, return false; game continues until all marks are filled return false; // Set y equal to 0 and then add 1 for (y = 0; y &lt; 3; y++) { // This time, however, set HUMAN h equal to 0 h = 0; // Set x equal to 0 and then add 1 for (x = 0; x &lt; 3; x++) { // Then add HUMAN's value to the game board h += g[x][y]; // If statement returning the absolute value of HUMAN if (Math.abs(h) == -3) { // If these values are correct, return true; the game ends with HUMAN win horizontally return true; } } } // If not, return false; game continues until all marks are filled return false; { /* Checking rows (yMouseSquare) * Enter the x value, the horizontal value, first; then y, the vertical value, second */ // Set x equal to 0 and then add 1 for (x = 0; x &lt; 3; x++) { // Set CPU equal to 0 c = 0; // Set y equal to 0 and then add 1 for (y = 0; y &lt; 3; y++) { // Add CPU's value to the game board, but with y and then x c += g[y][x]; // If statement returning the absolute value of CPU if (Math.abs(c) == 3) { // If these values are correct, return true; the game ends with CPU win vertically return true; } } } // If not, return false; game continues until all marks are filled return false; { // Set x equal to 0 and then add 1 for (x = 0; x &lt; 3; x++) { // This time, however, set HUMAN h equal to 0 h = 0; // Set y equal to 0 and then add 1 for (y = 0; y &lt; 3; y++) { // Then add HUMAN's value to the game board h += g[x][y]; // If statement returning the absolute value of HUMAN if (Math.abs(h) == -3) { // If these values are correct, return true; the game ends with CPU win vertically return true; } } } // If not, return false; game continues until all marks are filled return false; } } } } // error on this bracket; but when I remove it, some of the code above becomes unreachable. Can anyone point to what I'm doing wrong? </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload