Diagonal Winning Strategies in Connect 4: Help Needed!

  • #1

SGJ

10
0

Homework Statement


When I try and play it, it says that the Index out of range system was unhandled. I am pretty sure it is the j loop. Please help. In the game Connect 4, you can win diagonally, the grid is 6 squares down and 7 across. (5 positions down, 6 positions across including 0.)

Homework Equations


privateBoolean diagonalWinnerUp()//The name of the loop

{

Boolean winner = false;//The winner is set to false

{

for (int i = 0; i < 7; i++)//nested for loop. i starts at zero, it is incremented until it reaches 7

{

for (int j = 5; j < 8; j++)//j starts at 5. it will continue 8 times so that when 3 is subtracted from j(5) it can equal five.

{

if (board[j,i] == 1 && board[j - 1, i + 1] == 1 && board[j - 2, i + 2] == 1 && board[j - 3, i + 3] == 1 || board[j,i] == 2 && board[j - 1, i + 1] == 2 && board[j - 2, i + 2] == 2 && board[j - 3, i + 3] == 2)//Upward diagonal winner check

{

winner = true;

if (board[j, i] == 1)

{

player1_wins = 1;

}

else

{

player2_wins = 2;

}

}

}

}

}

return winner;

}


The Attempt at a Solution

 
  • #2
Your i values go up to 6, but you try to access i+3 in the second dimension.

You also miss solutions including pieces in j=0 to j=2.
 

Suggested for: Diagonal Winning Strategies in Connect 4: Help Needed!

Replies
3
Views
157
Replies
15
Views
808
Replies
3
Views
650
Replies
18
Views
3K
Replies
2
Views
583
Replies
3
Views
759
Replies
3
Views
1K
Replies
11
Views
653
Replies
1
Views
593
Back
Top