Danke ich probier das mit dem Testprogramm mal aus
ich stehe gerade vor dem Problem, dass Asuro sich nach einigen malen Turn aufhängt:
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.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++; }
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?







Zitieren


Lesezeichen