1<chapter id="getting-started">
2<title>Getting Started</title>
3<para>When you start &kturtle; you will see something like this:</para>
4<screenshot>
5  <screeninfo>Here is a screenshot of &kturtle; when you start it for the first time</screeninfo>
6  <mediaobject>
7    <imageobject>
8      <imagedata fileref="mainwindow.png" format="PNG"/>
9    </imageobject>
10    <textobject>
11      <phrase>&kturtle; on a fresh start</phrase>
12    </textobject>
13  </mediaobject>
14</screenshot>
15<para>In this Getting Started guide we assume that the language of the &turtlescript; commands is English. You can change this language with the <menuchoice><guimenu>Settings</guimenu><guisubmenu>Script Language</guisubmenu></menuchoice> submenu. Be aware that the language you set here for &kturtle; is the one you use to type the &turtlescript; commands, not the language used by &kde; on your computer and used to display the &kturtle; interface and menus.</para>
16
17<sect1 id="first-steps">
18<title>First steps with &turtlescript;: meet the Turtle!</title>
19<para>You must have noticed the turtle in the middle of the canvas: you are just about to learn how to control it using commands in the editor.</para>
20
21<sect2 id="the-turtle-moves">
22<title>The Turtle Moves</title>
23<para>Let us start by getting the turtle moving. Our turtle can do 3 types of moves, (1) it can move forwards and backwards, (2) it can turn left and right and (3) it can go (jump) directly to a position on the screen. Try this for example:</para>
24<para>
25<screen>
26forward 100
27turnleft 90
28</screen>
29Type or copy-paste the code to the editor and execute it (using <link linkend="run-execute"><menuchoice><guimenu>Run</guimenu><guimenuitem>Run</guimenuitem></menuchoice></link>) to see the result.</para>
30
31<para>When you typed and executed the commands like above in the editor you might have noticed one or more of the following things:</para>
32<orderedlist>
33<listitem><para>That &mdash; after executing the commands &mdash; the turtle moves up, draws a line, and then turns a quarter turn to the left. This because you have used the <link linkend="forward"><userinput>forward</userinput></link> and the <link linkend="turnleft"><userinput>turnleft</userinput></link> commands.</para>
34</listitem>
35<listitem>
36<para>That the color of the code changed while you where typing it: this feature is called <emphasis>intuitive highlighting</emphasis> &mdash; different types of commands are highlighted differently. This makes reading large blocks of code more easy.</para>
37</listitem>
38<listitem>
39<para>That the turtle draws a thin black line.</para>
40</listitem>
41<listitem>
42<para>Maybe you got an error message. This could simply mean two things: you could have made a mistake while copying the commands, or you should still set the correct language for the &turtlescript; commands (you can do that by choosing the <menuchoice><guimenu>Settings</guimenu><guisubmenu>Script Language</guisubmenu></menuchoice> submenu).</para>
43</listitem>
44</orderedlist>
45
46<para>You will likely understand that <userinput>forward 100</userinput> instructed the turtle to move forward leaving a line, and that <userinput>turnleft 90</userinput> instructed the turtle to turn 90 <glossterm linkend="degrees">degrees</glossterm> to the left.</para>
47
48<para>Please see the following links to the reference manual for a complete explanation of the new commands: <link linkend="forward"><userinput>forward</userinput></link>, <link linkend="backward"><userinput>backward</userinput></link>, <link linkend="turnleft"><userinput>turnleft</userinput></link>, and <link linkend="turnright"><userinput>turnright</userinput></link>.</para>
49</sect2>
50
51<sect2 id="more-examples">
52<title>More examples</title>
53<para>The first example was very simple, so let us go on!</para>
54
55<para>
56
57<screen>
58reset
59
60canvassize 200,200
61canvascolor 0,0,0
62pencolor 255,0,0
63penwidth 5
64
65go 20,20
66direction 135
67
68forward 200
69turnleft 135
70forward 100
71turnleft 135
72forward 141
73turnleft 135
74forward 100
75turnleft 45
76
77go 40,100
78</screen>
79Again you can type or copy-paste the code to the editor or open the <filename>arrow</filename> example in the <guimenu>Examples</guimenu> submenu and execute it (using <link linkend="run-execute"><menuchoice><guimenu>Run</guimenu><guimenuitem>Run</guimenuitem></menuchoice></link>) to see the result. In the next examples you are expected to know the drill.</para>
80
81<para>You might have noticed that this second example uses a lot more code. You have also seen a couple of new commands. Here a short explanation of all the new commands:</para>
82
83<para>After a <userinput>reset</userinput> command everything is like is was when you had just started &kturtle;.</para>
84
85<para><userinput>canvassize 200,200</userinput> sets the canvas width and height to 200 <glossterm linkend="pixels">pixels</glossterm>. The width and the height are equal, so the canvas will be a square.</para>
86
87<para><userinput>canvascolor 0,0,0</userinput> makes the canvas black. <userinput>0,0,0</userinput> is a <glossterm linkend="rgb">RGB-combination</glossterm> where all values are set to <userinput>0</userinput>, which results in black.</para>
88
89<para><userinput>pencolor 255,0,0</userinput> sets the color of the pen to red. <userinput>255,0,0</userinput> is a <glossterm linkend="rgb">RGB-combination</glossterm> where only the red value is set to <userinput>255</userinput> (fully on) while the others (green and blue) are set to <userinput>0</userinput> (fully off). This results in a bright shade of red.</para>
90
91<para>If you do not understand the color values, be sure to read the glossary on <glossterm linkend="rgb">RGB-combination</glossterm>.</para>
92
93<para><userinput>penwidth 5</userinput> sets the width (the size) of the pen to <userinput>5</userinput> <glossterm linkend="pixels">pixels</glossterm>. From now on every line the turtle draw will have a thickness of <userinput>5</userinput>, until we change the <userinput>penwidth</userinput> to something else.</para>
94
95<para><userinput>go 20,20</userinput> commands the turtle to go to a certain place on the canvas. Counted from the upper left corner, this place is 20 <glossterm linkend="pixels">pixels</glossterm> across from the left, and 20 <glossterm linkend="pixels">pixels</glossterm> down from the top of the canvas. Note that using the <userinput>go</userinput> command the turtle will not draw a line.</para>
96
97<para><userinput>direction 135</userinput> set the turtle's direction. The <userinput>turnleft</userinput> and <userinput>turnright</userinput> commands change the turtle's angle starting from its current direction. The <userinput>direction</userinput> command changes the turtle's angle from zero, and thus is not relative to the turtle previous direction.</para>
98
99<para>After the <userinput>direction</userinput> command a lot of <userinput>forward</userinput> and <userinput>turnleft</userinput> commands follow. These command do the actual drawing.</para>
100
101<para>At last another <userinput>go</userinput> command is used to move the turtle aside.</para>
102
103<para>Make sure you follow the links to the reference. The reference explains each command more thoroughly.</para>
104
105
106</sect2>
107</sect1>
108
109
110
111<!--        EXTRA SECTIONS CAN BE ADDED TO THE "GETTING STARTED"
112
113<sect1 id="calculations">
114<title>Simple Calculations</title>
115<para>
116Not yet written
117</para>
118</sect1>
119<sect1 id="using_variables">
120<title>Using Variables: creating 'number containers'</title>
121<para>
122Not yet written
123</para>
124</sect1>
125<sect1 id="using_strings">
126<title>Using strings: creating 'text containers'</title>
127<para>
128Not yet written
129</para>
130</sect1>
131<sect1 id="logic">
132<title>Logic: asking the computer simple questions</title>
133<para>
134Not yet written
135</para>
136</sect1>
137<sect1 id="recursion">
138<title>Recursion: the Turtle is using itself</title>
139<para>
140Draw a maze for example
141</para>
142</sect1>
143-->
144
145
146</chapter>
147