Einzelnen Beitrag anzeigen

schuetzejanett

Registriert seit: 5. Apr 2006
Ort: Fraureuth
62 Beiträge
 
#1

Seltsamer fehler bei prozedurabarbeitung

  Alt 22. Jan 2007, 22:13
Hallo,

habe eine prozedur geschrieben die beim Aufruf allerdings für mich unverständliche Dinge tut. ich setze gleich am anfang i = 0 doch immer wenn ich mit dem debugger durch gehe ist i danach 3 wporan liegt es was übersehe ich?

Delphi-Quellcode:
procedure throw(var playerList : TPlayerCollection; currentplayerID : integer; goals : Tashot);
var points, anz : Array [0..2] of integer;
    player : TPlayer;
    Fields : TaFields;
    i,j,k, anz_alt : integer;
begin
  calcpoints(goals, points, anz);
  player := playerList.Player[currentplayerID];
  Fields := player.Fields;
  i := 0;
  for i := 0 to high(points) do
    begin
      if points[i]>14 then
        begin
          for j:= 0 to high(Fields) do
            begin
              if Fields[j].field = points[l] then
                 begin
                  anz_alt := Fields[j].anz;
                  if ((anz_alt + Fields[j].anz) >= 3) then
                    begin
                        Fields[j].anz := 3;
                        if ((anz_alt + Fields[j].anz - 3) > 0) then
                          for k := 0 to playerlist.Count - 1 do
                                if (playerlist.IndexOf(player) <> k) then
                                  playerlist.Player[k].Score :=
                                    playerlist.Player[k].Score +(Fields[j].anz * Fields[j].field);
                    end//if >=3
                  else
                    Fields[j].anz := anz_alt + Fields[j].anz;
                 end;//if point = field
            end; //for field
        end; //point>14
      playerlist.Player[currentplayerID].Fields := Fields;
      if checkWin(Fields) then
       begin
         player.haswon := true;
       end;
    end; //throw
end;
  Mit Zitat antworten Zitat