Portál AbcLinuxu, 8. května 2025 22:37
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.