1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87:
| procedure TForm1.ErstelleWegPunkt(x,y: integer); var a : Integer; begin if i > 1 then begin if (Wegpunkt[i-1].getX = x) OR (Wegpunkt[i-1].getY = y) then begin Wegpunkt[i] := TWegpunkt.Create(x,y); Wegpunkt[i].Caption := ' ' + inttostr(i); BodenTexturZeichnen((x -20) div size + 1, (y -20) div size + 1, 'Weg'); listbox1.items.add(inttostr(i)); listbox2.Items.add(inttostr(Wegpunkt[i].getX)); listbox3.items.add(inttostr(Wegpunkt[i].getY));
if Wegpunkt[i].getX = Wegpunkt[i-1].getX then begin if Wegpunkt[i].getY > Wegpunkt[i-1].getY then begin a := Wegpunkt[i-1].getY + 1; while a < Wegpunkt[i].getY do begin BodenTexturZeichnen((Wegpunkt[i].getX - 20) div size + 1, (a- 20) div size + 1, 'Weg'); inc(a); end; end else begin if Wegpunkt[i].getY < Wegpunkt[i-1].getY then begin a := Wegpunkt[i-1].getY - 1; while a > Wegpunkt[i].getY do begin BodenTexturZeichnen((Wegpunkt[i].getX - 20) div size + 1, (a - 20) div size + 1, 'Weg'); dec(a); end; end; end; end;
if Wegpunkt[i].getY = Wegpunkt[i-1].getY then begin if Wegpunkt[i].getX > Wegpunkt[i-1].getX then begin a := Wegpunkt[i-1].getX + 1; while a < Wegpunkt[i].getX do begin BodenTexturZeichnen((a - 20) div size + 1, (Wegpunkt[i].getY - 20) div size + 1, 'Weg'); inc(a); end; end else begin if Wegpunkt[i].getX < Wegpunkt[i-1].getX then begin a := Wegpunkt[i-1].getX - 1; while a > Wegpunkt[i].getX do begin BodenTexturZeichnen((a - 20) div size + 1, (Wegpunkt[i].getY - 20) div size + 1, 'Weg'); dec(a); end; end; end; end;
inc(i); end else showmessage('Das ausgewählte Feld ist nicht waagerecht oder senkrecht vom vorherigen erreichbar! Bitte wählen Sie ein anderes.'); end else begin Wegpunkt[i] := TWegpunkt.Create(x,y); Wegpunkt[i].Caption := ' ' + inttostr(i); BodenTexturZeichnen((x -20) div size + 1, (y -20) div size + 1, 'Weg'); Monster.Left := Wegpunkt[i].getX; Monster.Top := Wegpunkt[i].getY; Monster.Visible := true;
listbox1.items.add(inttostr(i)); listbox2.Items.add(inttostr(Wegpunkt[i].getX)); listbox3.items.add(inttostr(Wegpunkt[i].getY));
listbox1.itemindex := 0; listbox2.itemindex := 0; listbox3.itemindex := 0;
inc(i); end; end; |