Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Spirale Turtle (https://www.delphipraxis.net/143088-spirale-turtle.html)

saint44 9. Nov 2009 17:16


Spirale Turtle
 
Hallo
ich muss bis morgen für mein informatik kurs etwas vorbereiten.
wir sind noch ganz am anfang und lernen mit der "turtle-komponente".
das ist eine kleine schilkröte, die zeichnet und die man mit befehlen wie "turtle.FD(100);"
steuert.

FD=Forward (laufe vorsärts)
(x) : x schritte

so... jetzt sind wir grade bei wiederholungen und variablen.
ich muss mit dieser turtle eine spirale ablaufen (meinesoll viereckig sein)
ich habe es mir so vorgestellt:

http://s2.directupload.net/images/091109/cql95w6i.jpg

die schrittzahl soll X sein und am anfang 10.
immer nach drei schritten (also rchts,runter,links) (von innen fange ich an) soll die anzahl der schritten (also X) um 10 erhöht werden)
dann soll hoch mit (x=20) gelaufen werden und dann wieder alles von vorne anfangen.


zum bild: die rote markierung stellt die stelle dar, wo X immer um 10 erhöht wird...


könnte mir jemand mit dieser erhöhung helfen?


mfg saint! :-D

Teekeks 9. Nov 2009 17:20

Re: Spirale Turtle
 
Was willst du denn genau wissen?

himitsu 9. Nov 2009 17:27

Re: Spirale Turtle
 
du nimmst erstmal eine Schleife (damit es auch irgendwann ein Ende hat) und zählst dort eine Variable immer um einen Schritt weiter

jetzt kannst du daraus deine Schritte (z.B. via MOD) errechnen

alle 3 Schritte wird das X um 10 erhöht
und jeweil im Interval von 4 Schritten werden die 4 Richtungen abgelaufen.

TurboMartin 9. Nov 2009 17:31

Re: Spirale Turtle
 
Sicher, dass erst an der roten Stelle die Strecke um 10 verlängert wird und nicht bereits eine Ecke vorher? Kann es sein, dass das ein Nachgemachtes Kara ist?

himitsu 9. Nov 2009 18:56

Re: Spirale Turtle
 
Zitat:

Zitat von TurboMartin
Sicher, dass erst an der roten Stelle die Strecke um 10 verlängert wird und nicht bereits eine Ecke vorher?

Stümmt. es sollte sich alle 2 Seiten vergrößern, da es ja immer größer sein muß, als die letzte gegenüberliegende Seite.

saint44 9. Nov 2009 19:11

Re: Spirale Turtle
 
ja das kann auch sein aber wie sagt man denn, dass es immer um 2 erhöht werden soll?

himitsu 9. Nov 2009 20:21

Re: Spirale Turtle
 
- du baust dir eine äußere Schleife, über welche die Anzahl der Schritte/Striche bestimmt/begrenzt wird wird
(FOR, WHILE oder REPEAT ... jenachdem, wie deine Abbruchbedingung aussieht)
- darin zählst du eine Variable i hoch

und nun kannst du dann mit etwas Mathe daraus auch eine Schrittfolge bestimmen
Delphi-Quellcode:
if i mod 2 = 0 then {alle 2 Schritte jeweils zum 1. davon}

if i mod 2 = 1 then {alle 2 Schritte jeweils zum 2. davon}

if i mod 5 = 0 then {alle 5 Schritte jeweils zum 1. davon}

if i mod 7 = 3 then {alle 7 Schritte jeweils zum 4. davon}

saint44 9. Nov 2009 21:11

Re: Spirale Turtle
 
checkschnisch

Luckie 9. Nov 2009 21:34

Re: Spirale Turtle
 
Zitat:

Zitat von saint44
checkschnisch

Geht das bitte auch auf deutsch? Wir sind hier nicht bei deiner Straßengang.

divBy0 9. Nov 2009 21:42

Re: Spirale Turtle
 
Zitat:

Zitat von saint44
checkschnisch

Erinnert mich irgendwie an "Schappfotoändih" :mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:56 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz