Hello there !
I'm writing four in a row in csharp.
It's almost done, the only problem is the control for when there actually is four in a row.
I have vertical and horizontal working perfectly fine, diagonal from down-left to right up should work to.
Only if i put in the code i found for left-up to downright, sometimes i get a random message that a player won.
Does anyone see the mistake ?
(the array is multidimensiona l --> arrCoins[7,6])
(the part that doesn't work is left out with '//')
I'm searching for this problem over 5 hours. I really hope somebody can help me.
Thanks
I'm writing four in a row in csharp.
It's almost done, the only problem is the control for when there actually is four in a row.
I have vertical and horizontal working perfectly fine, diagonal from down-left to right up should work to.
Only if i put in the code i found for left-up to downright, sometimes i get a random message that a player won.
Does anyone see the mistake ?
(the array is multidimensiona l --> arrCoins[7,6])
Code:
public int ControleOpEindeSpel(int Spelernummer) { //controle 4 op een rij int Teller = 0; int VierOpEenRij=0; x = 0; y = 0; //Verticaal for (x = 0; x <= 6; x++) { for (y = 0; y <= 5; y++) { if (arrMunten[x, y] == Spelernummer) { Teller++; if (Teller == 4) { VierOpEenRij = 1; } } else { Teller = 0; } } } Teller = 0; x = 0; y = 0; //horizontaal for (y = 0; y <= 5; y++) { for (x = 0; x <= 6; x++) { if (arrMunten[x, y] == Spelernummer) { Teller++; if (Teller == 4) { VierOpEenRij = 1; } } else { Teller = 0; } } } //diagonaal links onder naar rechts boven int xTellerlr = 0; int yTellerlr = 0; Teller = 0; for (xTellerlr = 0; xTellerlr <= 6; xTellerlr++) { for (yTellerlr = 0; yTellerlr <= 5; yTellerlr++) { for (x = xTellerlr; x <= 6; x++) { for (y = yTellerlr; y <= 5; y++) { if (arrMunten[x, y] == Spelernummer) { Teller++; if (Teller == 4) { VierOpEenRij = 1; } } else { Teller = 0; } if (x < 6) { x++; } } } } } ////Diagonaal links boven naar rechts onder //xTellerlr = 0; //yTellerlr = 0; //Teller = 0; //for (xTellerlr = 6; xTellerlr > 2 ; xTellerlr--) //{ // for (x = xTellerlr; x > 2; x--) // { // for (yTellerlr = 0; yTellerlr < 3; yTellerlr++) // { // for (y = yTellerlr; y <= 5; y++) // { // if (arrMunten[x, y] == Spelernummer) // { // Teller++; // if (Teller == 4) // { VierOpEenRij = 1; } // } // else { Teller = 0; } // if (x > 0) // { // x--; // } // } // } // } //}
I'm searching for this problem over 5 hours. I really hope somebody can help me.
Thanks