SIGSEGV-Fehler bei Array of TShape

Für allgemeine Fragen zur Programmierung, welche nicht! direkt mit Lazarus zu tun haben.
Antworten
PhilippusPF
Beiträge: 2
Registriert: Mi 14. Okt 2020, 14:20

SIGSEGV-Fehler bei Array of TShape

Beitrag von PhilippusPF »

Hallo!

Ich hätte eine Frage zu einem Schulprojekt: Wir haben den Rohling zu einem Jump-and-Run-Spiel bekommen und sollten selbst weitere Komponenten implementieren. Ich wollte sammelbare Münzen mit einem Array of TShape erstellen und habe dafür den Code für die Erstellung des Spielfeldes abgeschrieben und abgeändert, doch ich erhalte immer den "External: SIGSEGV"-Fehler und weiß nicht, weshalb.
Danke für jede Hilfe!!

Code: Alles auswählen

procedure TForm1.Timer1Timer(Sender: TObject);
var
    i: integer;
    j: integer;
begin       //dieser Teil erstellt das Spielfeld als Blöcke, die sich unter dem Spieler bewegen und erneuern
    for i:=0 to 10 do begin
        Blocks[i].Left := Blocks[i].Left-40;
        if ((Blocks[i].Left+Blocks[i].width) < 0) then begin
            Blocks[i].Left := Blocks[i].left+11000;
            Blocks[i].Top := 500+random(300);
        end;
    for j:=0 to 3 do begin
        Coins[j].Left := Coins[j].Left-40; // in dieser Zeile tritt der SIGSEGV-Fehler auf
        if ((Coins[j].left+Coins[j].width) < 0) then begin
            Coins[j].Left := Coins[j].left+11000;
            Coins[j].Top := Coins[j].Top +100;
        end;
    end;
    end;
PS: ist meine erste Forumsfrage, sorry wenn nicht alles richtig ist :)

Sieben
Beiträge: 202
Registriert: Mo 24. Aug 2020, 14:16
OS, Lazarus, FPC: Ubuntu Xenial 32, Lazarus 2.2.0, FPC 3.2.2
CPU-Target: i386

Re: SIGSEGV-Fehler bei Array of TShape

Beitrag von Sieben »

Du müsstest noch einfügen oder mitteilen, wie deine Variable Coins aussieht. Erster Tip in's Blaue - es hat zB nur 3 statt 4 Elemente... :wink:

PhilippusPF
Beiträge: 2
Registriert: Mi 14. Okt 2020, 14:20

Re: SIGSEGV-Fehler bei Array of TShape

Beitrag von PhilippusPF »

Alles klar, das probier ich gleich mal aus! Vielen Dank!

Sieben
Beiträge: 202
Registriert: Mo 24. Aug 2020, 14:16
OS, Lazarus, FPC: Ubuntu Xenial 32, Lazarus 2.2.0, FPC 3.2.2
CPU-Target: i386

Re: SIGSEGV-Fehler bei Array of TShape

Beitrag von Sieben »

Ähh...

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: SIGSEGV-Fehler bei Array of TShape

Beitrag von Mathias »

Sicher irgendwo ein Create für Coins vergessen.
Für Blocks wurde keines vergessen.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Antworten