Suche Lazarus Grafikturtle
Suche Lazarus Grafikturtle
Ich suche schon länger nach einer Lazarus Grafikturtle und habe keine gefunden.
Sie sollte einfach Befehle können.
Mfg okeoke5
P.S. Ich bin nicht sehr erfahren in Lazarus/ Delphi
Sie sollte einfach Befehle können.
Mfg okeoke5
P.S. Ich bin nicht sehr erfahren in Lazarus/ Delphi
-
- Beiträge: 298
- Registriert: Di 23. Nov 2010, 23:41
- OS, Lazarus, FPC: Ubuntu/Win, Lazarus trunk, FPC trunk
- CPU-Target: 32Bit/64Bit
- Wohnort: Geldern
- Kontaktdaten:
Re: Suche Lazarus Grafikturtle
Für Delphi: http://www.hsg-kl.de/faecher/inf/materi ... turtle.php kannst Du nach FP portieren!
MfG Gocher
akt. Projekt: Webserver(HTTPS HTTP/2) mit integrierten CMS in Free Pascal - www.gocher.me
akt. Projekt: Webserver(HTTPS HTTP/2) mit integrierten CMS in Free Pascal - www.gocher.me
-
- Beiträge: 6906
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Suche Lazarus Grafikturtle
Ich hatte mal eine kleine Turtle-Bibliothek geschrieben, vieleicht hift dir dies weiter. Die Winkel-Daten würde ich noch von Integer auf einen Real-Typ abändern.
Code: Alles auswählen
unit Turtles;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls, Buttons, ComCtrls, GradForm;
const
Pi2 = Pi * 2;
type
TTurtle = object
constructor Init(DC : HDC);
procedure PenDown;
procedure PenUp;
procedure ForWd(l : Integer);
procedure SetPos(x, y : Integer);
procedure SetHeading(w : Integer);
procedure SetHeadingLeft(w : Integer);
procedure SetHeadingRight(w : Integer);
private
Winkel : Real;
PenPos : record
x, y : Real;
end;
Down : Boolean;
PaintDC : HDC;
end;
implementation
constructor TTurtle.Init;
begin
PaintDC := DC;
Winkel := 0;
Down := True;
PenPos.X := 0;
PenPos.Y := 0;
end;
procedure TTurtle.PenDown;
begin
Down := True;
end;
procedure TTurtle.PenUp;
begin
Down := False;
end;
procedure TTurtle.ForWd;
var
x, y : Real;
begin
x := Cos(Winkel) * l + PenPos.X;
y := Sin(Winkel) * l + PenPos.Y;
if Down then begin
MoveToEx(PaintDC, Round(PenPos.X), Round(PenPos.Y), nil);
LineTo(PaintDC, Round(x), Round(y));
end;
PenPos.X := x;
PenPos.Y := y;
end;
procedure TTurtle.SetPos;
begin
PenPos.X := x;
PenPos.Y := y;
end;
procedure TTurtle.SetHeading;
begin
Winkel := w / 360 * Pi2;
end;
procedure TTurtle.SetHeadingLeft;
begin
Winkel := Winkel + w / 360 * Pi2;
end;
procedure TTurtle.SetHeadingRight;
begin
Winkel := Winkel - w / 360 * Pi2;
end;
begin
end.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
- corpsman
- Lazarusforum e. V.
- Beiträge: 1617
- Registriert: Sa 28. Feb 2009, 08:54
- OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
- CPU-Target: 64Bit
- Wohnort: Stuttgart
- Kontaktdaten:
Re: Suche Lazarus Grafikturtle
Mein Programm L System nutzt ebenfalls eine Turtle Engine, hier kannst du auch gleich rekursive Strukturen Zeichnen lassen...
--
Just try it
Just try it
-
- Beiträge: 565
- Registriert: So 26. Aug 2012, 09:03
- OS, Lazarus, FPC: Windows(10), Linux(Arch)
- CPU-Target: 64Bit
Re: Suche Lazarus Grafikturtle
Oh, dann bin ich also nicht der einzige, der eine Turtleengine geschrieben hat...
(Meine Turtle kann aber ähnlich wie die von corpsman auch Turtlecode interpretieren:
--Standart Turtlecode
F: Nach vorne und zeichen
f: Nach vorne ohne zeichnen
+: Nach Rechts drehen
-: Nach Links drehen
--Mein erweiterter Turtlecode
a90: Den Drehwinkel von +/- auf 90° (oder jeden anderen) Wert festlegen
x50: Die Bewegungslänge von F/f auf 50px (oder jeden anderen) Wert festlegen
)
Falls interesse besteht, einfach Bescheid geben.
MFG
Komoluna
(Meine Turtle kann aber ähnlich wie die von corpsman auch Turtlecode interpretieren:
--Standart Turtlecode
F: Nach vorne und zeichen
f: Nach vorne ohne zeichnen
+: Nach Rechts drehen
-: Nach Links drehen
--Mein erweiterter Turtlecode
a90: Den Drehwinkel von +/- auf 90° (oder jeden anderen) Wert festlegen
x50: Die Bewegungslänge von F/f auf 50px (oder jeden anderen) Wert festlegen
)
Falls interesse besteht, einfach Bescheid geben.
MFG
Komoluna
Programmer: A device to convert coffee into software.
Rekursion: siehe Rekursion.
Rekursion: siehe Rekursion.
-
- Beiträge: 6906
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Suche Lazarus Grafikturtle
Super Programm.corpsman hat geschrieben:Mein Programm L System nutzt ebenfalls eine Turtle Engine, hier kannst du auch gleich rekursive Strukturen Zeichnen lassen...

Ich habe ein kleiner Schönheits-Fehler endeckt, bei Fliesskommazahlen-Eingabe wird bei mir nur ein '.' akzeptiert. Meine Ländereinstellung ist auf CH.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
- corpsman
- Lazarusforum e. V.
- Beiträge: 1617
- Registriert: Sa 28. Feb 2009, 08:54
- OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
- CPU-Target: 64Bit
- Wohnort: Stuttgart
- Kontaktdaten:
Re: Suche Lazarus Grafikturtle
*g* danke, wie du an der Caption sehen kannst ist das Tool uralt und noch aus Delphi Zeiten, ich such mal den source, wenn er sich halbwegs brauchbar nach Lazarus Portieren läst, dann stelle ich ihn online.
--
Just try it
Just try it
Re: Suche Lazarus Grafikturtle
Kann mir jemand das komplette Programm schicken. Würde es mir gerne mal angucken. Bin sehr unerfahren in Lazarus.
-
- Beiträge: 6906
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Suche Lazarus Grafikturtle
Google doch mal ein bischen, da wirst du viele fertige Lösungen finden.okeoke5 hat geschrieben:Kann mir jemand das komplette Programm schicken. Würde es mir gerne mal angucken. Bin sehr unerfahren in Lazarus.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
Re: Suche Lazarus Grafikturtle
Nein habe ich nicht.
- corpsman
- Lazarusforum e. V.
- Beiträge: 1617
- Registriert: Sa 28. Feb 2009, 08:54
- OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
- CPU-Target: 64Bit
- Wohnort: Stuttgart
- Kontaktdaten:
Re: Suche Lazarus Grafikturtle
Na spätestens auf meinen Post hin, hättest du es bei meiner Homepage versuchen können, und wärst fündig geworden...
--
Just try it
Just try it