Einzelnen Beitrag anzeigen

Premaider

Registriert seit: 31. Mär 2012
160 Beiträge
 
#4

AW: Zugriffsfverletzung - Aber warum

  Alt 19. Okt 2012, 00:09
Was ist Item, ein Array? Evtl. bist du drüber.
Ja ist ein Array. Ich dürfte eigendlich nicht drüber sein. Hat immer die selben Werte wie der Gegner Array

was passiert hier?
Spieler.Upgrade(n,Item[n].Typ);
Delphi-Quellcode:
procedure TSpieler.Upgrade(n: Integer; ItemTyp: Boolean);
var
i,Zufall: Integer;
begin
Zufall:=Randomausgabe(5);
If ItemTyp=True Then
  begin
    //Gutes Item
    If Zufall=1 Then
      begin
        Item[n].Free;
        If Spieler.Speed>=1 Then Spieler.Speed:=Spieler.Speed+1;
        AuswirkungAnzeigen('Spieler speed up');;
      end;
    If Zufall=2 Then
      begin
        Item[n].free;
        //For i:= 0 to high(gegner)-1 do
          //begin
           //If Gegner[i].Speed>=2 Then Gegner[i].Speed:=Gegner[i].Speed-1;
          //end;
        AuswirkungAnzeigen('Gegner speed down');
      end;
    If Zufall=3 Then
      begin
        Item[n].Free;
        AuswirkungAnzeigen('Nichts1');
      end;
    If Zufall=4 Then
      begin
        Item[n].Free;
        AuswirkungAnzeigen('Nichts2');
      end;
    If Zufall=5 Then
      begin
        Item[n].Free;
        AuswirkungAnzeigen('Nichts3');
      end;
  end;
If ItemTyp=false Then
  begin
    //schlechtes Item
    If Zufall=1 Then
      begin
        Item[n].Free
      end;
    If Zufall=2 Then
      begin
        Item[n].Free
      end;
    If Zufall=3 Then
      begin
        Item[n].Free
      end;
    If Zufall=4 Then
      begin
        Item[n].Free
      end;
    If Zufall=5 Then
      begin
        Item[n].Free
      end;
  end;
end;

procedure AuswirkungAnzeigen(Auswirkung: String);
begin
Form1.ItemAnzeige.Caption:=Auswirkung;;
Form1.Timer2.Enabled:=true;
end;

function RandomAusgabe(max: Integer): Integer;
begin
Randomize;
Result:=Random(max+1);
end;
  Mit Zitat antworten Zitat