So, nach 10000 Haaren weniger (habe sonst schon nicht mehr viele

) konnte ich den Fehler lokalisieren. Es liegt jedenfalls zu 100% deim Speicherzuweisen. Falls ich jetzt etwas falsches erzähle, bitte korrigiert mich:
typedef struct
{
...
BOMBE Bombe[Anz_bomben];
} PLAYER;
Diese Zeile habe ich in dem Struct PLAYER, aber so wie es aussieht darf ich in einem Struct nur einen POINTER auf einen anderen Struct einfügen und nicht den Struct selber, sonst wird der Speicher dafür nicht zur Verfügung gestellt:
typedef struct
{
...
BOMBE* Bombe[Anz_bomben];
} PLAYER;
Für den Pointer auf den Struct BOMBE im Struct PLAYER muss ich nun Speicher zuweisen:
void INIT_STRUCT()
{
for (i=0;i<Anz_spieler; i++)
{
for (j=0;j<Anz_bomben; j++)
{
Player[i].Bombe[j] = malloc(sizeof(BOMBE));
}
}
}
Wobei ich nach unendlich vielen Versuchen merkte, dass es mit malloc funktioniert, mit sys_malloc aber nicht!?
Warum das, sind diese beiden Befehle unterschiedlich oder könnte das ein Bug sein (oder mache ich wieder was falsch, ist ja gut möglich

). Sobald ich "malloc" mit "sys_malloc" ersetze, habe ich wieder Pointer und vars im Spiel die verrückt spielen.