Jump to content

KTurtle/Examples

From KDE UserBase Wiki

Home » Applications » Education » KTurtle » Examples

Tip

Script formatting results from the HTML export of KTurtle.

Note for translators

If you want to translate the scripts the best way is probably to create the script in KTurtle, export it as HTML, and insert the exported HTML in the respective Input templates. Alternatively, simply leave the scripts untranslated. A simpler solution using the syntaxhighlight tag is currently being investigated


Koch curve

This is a fractal curve. You can find more information about this at Wikipedia.

Logo script:

<span style="color: #a0a0a4;"># Koch curve</span><br /><br /><span style="color: #000080;">reset</span><br /><span style="color: #000080;">canvassize</span>&nbsp;<span style="color: #800000;">850</span>,&nbsp;<span style="color: #800000;">550</span><br /><span style="color: #000080;">go</span>&nbsp;<span style="color: #800000;">125</span>,&nbsp;<span style="color: #800000;">350</span><br /><span style="color: #000080;">turnright</span>&nbsp;<span style="color: #800000;">90</span><br /><br /><span style="color: #00ff00; font-weight: bold;">learn</span>&nbsp;koch&nbsp;<span style="color: #800080; font-weight: bold;">$x</span>,&nbsp;<span style="color: #800080; font-weight: bold;">$t</span>&nbsp;<span style="color: #008000; font-weight: bold;">{</span><br />&nbsp;&nbsp;<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #800080; font-weight: bold;">$t</span><span style="color: #5a64ff; font-weight: bold;">&gt;</span><span style="color: #800000;">0</span> &nbsp;<span style="color: #008000; font-weight: bold;">{</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #800080; font-weight: bold;">$t</span><span style="color: #000000; font-weight: bold;">=</span><span style="color: #800080; font-weight: bold;">$t</span><span style="color: #808080; font-weight: bold;">-</span><span style="color: #800000;">1</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #800080; font-weight: bold;">$x</span><span style="color: #000000; font-weight: bold;">=</span><span style="color: #800080; font-weight: bold;">$x</span><span style="color: #808080; font-weight: bold;">/</span><span style="color: #800000;">3</span><br />&nbsp;&nbsp;&nbsp;&nbsp;koch&nbsp;<span style="color: #800080; font-weight: bold;">$x</span>,&nbsp;<span style="color: #800080; font-weight: bold;">$t</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000080;">turnleft</span>&nbsp;<span style="color: #800000;">60</span><br />&nbsp;&nbsp;&nbsp;&nbsp;koch&nbsp;<span style="color: #800080; font-weight: bold;">$x</span>,&nbsp;<span style="color: #800080; font-weight: bold;">$t</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000080;">turnright</span>&nbsp;<span style="color: #800000;">120</span><br />&nbsp;&nbsp;&nbsp;&nbsp;koch&nbsp;<span style="color: #800080; font-weight: bold;">$x</span>,&nbsp;<span style="color: #800080; font-weight: bold;">$t</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000080;">turnleft</span>&nbsp;<span style="color: #800000;">60</span><br />&nbsp;&nbsp;&nbsp;&nbsp;koch&nbsp;<span style="color: #800080; font-weight: bold;">$x</span>,&nbsp;<span style="color: #800080; font-weight: bold;">$t</span><br />&nbsp;&nbsp;<span style="color: #008000; font-weight: bold;">}</span>&nbsp;<span style="color: #000000; font-weight: bold;">else</span>&nbsp;<span style="color: #008000; font-weight: bold;">{</span><br />&nbsp;&nbsp;<span style="color: #000080;">forward</span>&nbsp;<span style="color: #800000;">3</span><span style="color: #808080; font-weight: bold;">*</span><span style="color: #800080; font-weight: bold;">$x</span>&nbsp;<br />&nbsp;&nbsp;<span style="color: #008000; font-weight: bold;">}</span><br /><span style="color: #008000; font-weight: bold;">}</span><br />koch&nbsp;<span style="color: #800000;">200</span>,&nbsp;<span style="color: #800000;">6</span>

Result:

Sierpinski Triangle

Another famous fractal is the Sierpinski triangle.

Logo script:

<span style="color: #a0a0a4;"># Sierpinski triangle</span><br /><br /><span style="color: #00ff00; font-weight: bold;">learn</span>&nbsp;sierp&nbsp;<span style="color: #800080; font-weight: bold;">$l</span>&nbsp;<span style="color: #008000; font-weight: bold;">{</span><br />&nbsp;&nbsp;<span style="color: #000000; font-weight: bold;">if</span>&nbsp;<span style="color: #800080; font-weight: bold;">$l</span>&nbsp;<span style="color: #5a64ff; font-weight: bold;">&gt;</span>&nbsp;<span style="color: #800000;">2</span>&nbsp;<span style="color: #008000; font-weight: bold;">{</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000000; font-weight: bold;">repeat</span>&nbsp;<span style="color: #800000;">3</span>&nbsp;<span style="color: #008000; font-weight: bold;">{</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sierp&nbsp;<span style="color: #800080; font-weight: bold;">$l</span><span style="color: #808080; font-weight: bold;">/</span><span style="color: #800000;">2</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000080;">forward</span>&nbsp;<span style="color: #800080; font-weight: bold;">$l</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000080;">turnleft</span>&nbsp;<span style="color: #800000;">120</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; font-weight: bold;">}</span><br />&nbsp;&nbsp;<span style="color: #008000; font-weight: bold;">}</span><br /><span style="color: #008000; font-weight: bold;">}</span><br /><br /><span style="color: #000080;">reset</span><br /><span style="color: #000080;">canvassize</span>&nbsp;<span style="color: #800000;">600</span>,&nbsp;<span style="color: #800000;">533</span><br /><span style="color: #000080;">go</span>&nbsp;<span style="color: #800000;">50</span>,&nbsp;<span style="color: #800000;">483</span><br /><span style="color: #000080;">turnright</span>&nbsp;<span style="color: #800000;">90</span><br />sierp&nbsp;<span style="color: #800000;">500</span>

Result:

Heighway Dragon

Another famous fractal is the Heighway Dragon.

Logo script:

<span style="color: #a0a0a4;"># Heighway dragon</span><br /><br /><span style="color: #000080;">reset</span><br /><span style="color: #000080;">canvassize</span>&nbsp;<span style="color: #800000;">500</span>,&nbsp;<span style="color: #800000;">500</span><br /><span style="color: #000080;">go</span>&nbsp;<span style="color: #800000;">320</span>,&nbsp;<span style="color: #800000;">400</span><br /><span style="color: #000080;">turnright</span>&nbsp;<span style="color: #800000;">90</span><br /><span style="color: #800080; font-weight: bold;">$size</span>&nbsp;<span style="color: #000000; font-weight: bold;">=</span>&nbsp;<span style="color: #800000;">7</span><br /><br /><span style="color: #00ff00; font-weight: bold;">learn</span>&nbsp;X&nbsp;<span style="color: #800080; font-weight: bold;">$depth</span>&nbsp;<span style="color: #008000; font-weight: bold;">{</span><br />&nbsp;&nbsp;<span style="color: #000000; font-weight: bold;">if</span>&nbsp;<span style="color: #800080; font-weight: bold;">$depth</span><span style="color: #5a64ff; font-weight: bold;">&gt;</span><span style="color: #800000;">0</span>&nbsp;<span style="color: #008000; font-weight: bold;">{</span><br />&nbsp;&nbsp;&nbsp;&nbsp;X&nbsp;<span style="color: #800080; font-weight: bold;">$depth</span><span style="color: #808080; font-weight: bold;">-</span><span style="color: #800000;">1</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000080;">turnleft</span>&nbsp;<span style="color: #800000;">90</span><br />&nbsp;&nbsp;&nbsp;&nbsp;Y&nbsp;<span style="color: #800080; font-weight: bold;">$depth</span><span style="color: #808080; font-weight: bold;">-</span><span style="color: #800000;">1</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000080;">forward</span>&nbsp;<span style="color: #800080; font-weight: bold;">$size</span><br />&nbsp;&nbsp;<span style="color: #008000; font-weight: bold;">}</span><br /><span style="color: #008000; font-weight: bold;">}</span><br /><br /><span style="color: #00ff00; font-weight: bold;">learn</span>&nbsp;Y&nbsp;<span style="color: #800080; font-weight: bold;">$depth</span>&nbsp;<span style="color: #008000; font-weight: bold;">{</span><br />&nbsp;&nbsp;<span style="color: #000000; font-weight: bold;">if</span>&nbsp;<span style="color: #800080; font-weight: bold;">$depth</span><span style="color: #5a64ff; font-weight: bold;">&gt;</span><span style="color: #800000;">0</span>&nbsp;<span style="color: #008000; font-weight: bold;">{</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000080;">forward</span>&nbsp;<span style="color: #800080; font-weight: bold;">$size</span><br />&nbsp;&nbsp;&nbsp;&nbsp;X&nbsp;<span style="color: #800080; font-weight: bold;">$depth</span><span style="color: #808080; font-weight: bold;">-</span><span style="color: #800000;">1</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000080;">turnright</span>&nbsp;<span style="color: #800000;">90</span><br />&nbsp;&nbsp;&nbsp;&nbsp;Y&nbsp;<span style="color: #800080; font-weight: bold;">$depth</span><span style="color: #808080; font-weight: bold;">-</span><span style="color: #800000;">1</span><br />&nbsp;&nbsp;<span style="color: #008000; font-weight: bold;">}</span><br /><span style="color: #008000; font-weight: bold;">}</span><br /><br /><span style="color: #000080;">pencolor</span>&nbsp;<span style="color: #800000;">0</span>,<span style="color: #800000;">255</span>,<span style="color: #800000;">0</span><br /><span style="color: #000080;">forward</span>&nbsp;<span style="color: #800080; font-weight: bold;">$size</span><br />X&nbsp;<span style="color: #800000;">10</span><br /><span style="color: #000080;">turnleft</span>&nbsp;<span style="color: #800000;">90</span><br /><span style="color: #000080;">pencolor</span>&nbsp;<span style="color: #800000;">255</span>,<span style="color: #800000;">0</span>,<span style="color: #800000;">0</span><br />Y&nbsp;<span style="color: #800000;">10</span><br /><span style="color: #000080;">forward</span>&nbsp;<span style="color: #800080; font-weight: bold;">$size</span><br /><br /><span style="color: #000080;">go</span>&nbsp;<span style="color: #800000;">50</span>,<span style="color: #800000;">450</span>

Result: