Danke ich probier das mit dem Testprogramm mal aus 
ich stehe gerade vor dem Problem, dass Asuro sich nach einigen malen Turn aufhängt:
Code:
int g_iTurnVal = 90;
...
void MoveOn(void)
{
if(g_iFieldCounter % 7 == 0)
{
Turn(g_iTurnVal, 100);
Go(FIELDSIZE, 100);
g_iFieldCounter++;
AnalyseField();
SerWrite("Turning: ", 9);
PrintInt(g_iTurnVal);
Turn(g_iTurnVal, 100); //HIER hängt er sich auf und dreht sich ununterbrochen
SerWrite("Got It", 6);
g_iTurnVal *= (-1);
}
Go(FIELDSIZE, 100);
g_iFieldCounter++;
}
Das Problem kommt immer nur vor, wenn eine andere Variable g_iRow der wert 7 annimmt. g_iRow wird auch benutzt um ein Array als Index anzusprechen.
g_iRow hat jedoch überhaupt nichts mit Turn(g_iTurnval, 100) zu tun, oder liege ich da falsch?
können Zugriffsverletzungen an anderen Stellen im Program dazu führen, dass Asuro bei Turn() "durchdreht"?
Ich bin ratlos
Habt ihr eine Idee?
Lesezeichen