Portál AbcLinuxu, 29. října 2025 18:47
for (int pos2 = 0; pos2 < rowLength; pos2++)
{
int posXF = posX + pos2 * directHor;
int posYF = posY + pos2 * directVer;
RecalcValue(
PiecesInRow[posX, posY, (Int16)direction, (Int16)player],
PiecesInRow[posX, posY, (Int16)direction, (Int16)GetOpponent(player)],
ref FieldsValues[posXF, posYF, (Int16)player],
ref FieldsValues[posXF, posYF, (Int16)GetOpponent(player)]
);
}
Když necháte vypsat hodnoty posXF a posYF, zjistíte, že už při druhé iteraci cyklu je posXF záporná a záporné indexy pole nejsou přípustné - aspoň ne v C#. Opravit se to dá fakt jednoduše, zkuste se trochu zamyslet:)
Mám minimální tušení, co ta metoda dělá, sledoval jsem jen výstup debuggeru.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.