spiel stürtzt ohne fehlerbeschreibung ab

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • spiel stürtzt ohne fehlerbeschreibung ab

    es geht immer noch um mein schachspiel.
    mit hilfe eines arrays halte ich fest, welche ferbe die figur auf jedem feld hat (1-4, und 0 für niemanden). wenn der könig geschlagen wird (was bei meiner version möglich ist), führt dieser im destroy event folgendes script aus (bsp. weiss):

    Quellcode

    1. for (i=1; i<=12; i+=1)
    2. {
    3. for (j=1; j<=12; j+=1)
    4. {
    5. if (global.farbe[i,j]==1)
    6. {
    7. position_destroy(i*32+10,(12-j)*32+10);
    8. global.farbe[i,j]=0;
    9. global.besetzt[i,j]=0;
    10. }
    11. }
    12. }
    13. spieler.weg[1]=1;
    Alles anzeigen


    erklärung: das brett besteht aus 12*12 feldern, davon werden alle überprüft, welche farbe sie haben. ein anderes object hat bei spielbeginn bereits alle freien auf 0 gesetzt. wenn ein feld mit einer figur von spieler 1 besetzt ist (die if-bedingung) wird das object, das sich dort befindet, entfernt. i*32, weil alle felder 32*32 groß sind, und das erste (von links) bei 32 anfängt, das +10, damit ich wirklich das betreffende object, und keine anderen aus versehen mit lösche. 12-j, weil die y-koordinaten rückwärts gezählt wurden.

    jedenfalls, wenn der könig geschlagen wird, kommt nur eine meldung, das die anwendung wegen eines ungültigen fehlers beendet wurde, und dass ich mich an den hersteller zu wenden habe, wenn das nochmal passiert. was genau falsch ist, wird nur in der üblichen form mit ram-adressen angegeben, aber nicht so, dass ich damit was anfangen kann.

    kann mir hier wer helfen?
  • danke für die hilfe, jetzt geht's. aber 2 fragen sind noch:
    kam der fehler nur deshalb, weil die figur gerade an dieser stelle transparent war, oder wieso? versteh mich nich falsch, ich will nich nur wissen, wie der fehler zu beheben ist, sondern auch, wieso er so zu beheben ist, damit ich es, wenn sowas nochmal passiert, selber schaffe.
    und das zweite ist: kann ich statt 416-(j*32)-16 auch gleich 400-(j*32) schreiben?
  • Das mit dem Sprite stimmt, der Zerstört nur wenn es da nicht transparent ist.
    Aber warum das bei dir in ner Fehlermeldung endete weiß ich nicht, bei mir ging das Spiel da immer einfach ohne überhaupt irgendeine Meldung aus.
    Aber warum das überhaupt passiert weiß ich selbst nicht...

    Ja, du kannst natürlich 400 nehmen, das hab ich halt gelassen weils noch von meinem Rumtüfteln so war.

    P.S.: Deine Sig gefällt mir^^
    "Die Erde ist ein Irrenhaus. Dabei könnte das bis heute erreichte Wissen der Menschheit aus ihr ein Paradies machen. Dafür müsste die weltweite Gesellschaft allerdings zur Vernunft kommen."
    - Joseph Weizenbaum