AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Paint Parser - Kleines Zeichenprogramm mit Scriptsprache
Thema durchsuchen
Ansicht
Themen-Optionen

Paint Parser - Kleines Zeichenprogramm mit Scriptsprache

Ein Thema von Tormentor32 · begonnen am 21. Dez 2006 · letzter Beitrag vom 4. Jan 2007
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Tormentor32
Tormentor32
Registriert seit: 27. Okt 2005
Hallo Leute

Ich habe ein Programm geschrieben, welches sich mit dem Prinzip der Turtle-Grafik befasst, dazu habe ich eine kleine Scriptsprache mit 7 Befehlen entwickelt

Anleitung:

Jede Zeile entspricht einem Befehl, Zeilen, die mit keiner der Folgenden Anweisungen beginnen werden ignoriert,
Leerzeilen werden ignoriert. Groß- und Kleinschreibung wird ignoriert.
Es werden immer nur die ersten beiden Worte einer Zeile interpretiert, das heißt

Code:
<Befehl> <Wert>
bedeutet das Gleiche wie
Code:
<Befehl> <Wert> Irgendwas
Die Anzahl der Leerzeichen ist ebenfalls unbedeutend:
Code:
<Befehl> <Wert>
bedeutet das Gleiche wie
Code:
     <Befehl>         <Wert>    Irgendwas
Die Befehle:

Code:
maydraw true
maydraw false
Sagt, ob der Stift auf der Zeichenfäche ist oder nicht, es sind nur die Werte 'true' und 'false' erlaubt
Code:
reset true
reset
Setzt den Stift zurück auf die Mitte des Bildes und richtet ihn wieder nach oben aus, wird der Parameter 'true' übergeben, dann wird außerdem die Zeichenfläche gelöscht, alle anderen Parameter, sowie keiner, bewirken nur das zurücksetzen des Stifts.
Code:
go 50
goback 50
Bewegt den Stift um 50 Pixel nach vorne, bzw um 50 Pixel nach hinten, es sind alle Gleitkommawerte erlaubt, aber es muss ein Wert angegeben werden. ("go -50" = "goback 50")
Code:
rotateL 45
rotateR 45
Dreht die Zeichenrichtung um 45° nach links, bzw nach rechts, es sind alle ganzzahligen Werte erlaubt, aber es muss ein Wert angegeben werden. ("rotatel 45" = "rotateR -45")
Code:
draw
Zeichnet das alles was gezeichnet wurde auf das Bild, es werden keine Parameter benötigt

Was noch fehlt:

Eine art Schleifenanweisung, mit der man das untere Beispiel besser machen kann.

Beispiel:

Code:
reset true
go 20
rotateR 45
go 20
rotateR 45
go 20
rotateR 45
go 20
rotateR 45
go 20
rotateR 45
go 20
rotateR 45
go 20
rotateR 45
go 20
rotateR 45
draw
Erzeugt ein gleichseitiges Achteck mit der Seitenlänge 20.

Ich würde mich über Kritik, Verbesserungsvorschläge, Bug-Reports freuen...

Bis dahin

Richard


Neue Version!

3 Neue Befehle hinzugefügt

Code:
color
oder
Code:
color r
ändert die Farbe in einen Zufallswert ('color r' verwenden, wenn noch ein Kommentar in der Zeile steht, da sonst das erste Wort des Kommentars als Wert interpretiert wird)
Code:
color 255,0,0
ändert die Farbe in den den RGB-Wert "255 0 0", also rot. Es dürfen keine Leerzeichen zwischen den Werten sein.

Code:
neck
zeichnet ein N-Eck mit den Parametern in den Spin-Edits

Code:
ybaum
zeichnet den Y-Baum mit den Parametern in den Spin-Edits

Das Speichern und Laden von Scripten, sowie das Speichern des Bildes ist jetzt möglich!
Miniaturansicht angehängter Grafiken
screenie_258.jpg  
Angehängte Dateien
Dateityp: zip paint_parser_186.zip (963,4 KB, 37x aufgerufen)
 
shmia

 
Delphi 5 Professional
 
#11
  Alt 4. Jan 2007, 15:19
Wie wäre es mit einer Ausgabe in HP-GL ?
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von Tormentor32
Tormentor32

 
Delphi XE5 Professional
 
#12
  Alt 4. Jan 2007, 15:30
Zitat von shmia:
Wie wäre es mit einer Ausgabe in HP-GL ?
Muss ich mir mal anschauen

@toms: laden und Speichern ist drin! Siehe erstes Posting
Richard Mahr
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz