1. Not finding help here? Sign up for a free 30min tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Connect 4 C#

  1. Jun 20, 2016 #1

    SGJ

    User Avatar

    1. The problem statement, all variables and given/known data
    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.)

    2. Relevant 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;

    }


    3. The attempt at a solution
     
  2. jcsd
  3. Jun 20, 2016 #2

    mfb

    User Avatar
    2016 Award

    Staff: Mentor

    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.
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Have something to add?
Draft saved Draft deleted