summaryrefslogtreecommitdiffstats
path: root/tde-i18n-en_GB/docs/tdeedu/kturtle/getting-started.docbook
blob: 7d907c429398771af1c52f58d3911b535f3e20c9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
<chapter id="getting-started">
<title>Getting Started</title>
<para>When you start &kturtle; you will see something like this: <screenshot> <screeninfo>Here is a screenshot of &kturtle; when you start it for the first time</screeninfo> <mediaobject> <imageobject> <imagedata fileref="mainwindow.png" format="PNG"/> </imageobject> <textobject> <phrase>&kturtle; Main window</phrase> </textobject> </mediaobject> </screenshot> In this Getting Started guide we assume that the language of the &logo; commands is English. You can change this language in <menuchoice><guimenu>Settings</guimenu><guimenuitem>Configure &kturtle;...</guimenuitem></menuchoice> in the <guilabel>Language</guilabel> section. Be aware that the language you set here for &kturtle; is the one you use to type the &logo; commands.</para>

<sect1 id="first-steps">
<title>First steps with &logo;: meet the Turtle!</title>
<para>You must have noticed the turtle is in the middle of the canvas: you are just about to learn how to control it using commands in the code editor.</para>

<sect2 id="the-turtle-moves">
<title>The Turtle Moves</title>
<para>Let us start by getting the turtle moving. Our turtle can do 3 types of moves, (1) it can go forwards and backwards, (2) it can turn left and right and (3) it can go directly to a position on the screen. Try this for example:</para>
<para>
<screen>forward 90
turnleft 90 
</screen>
Type or copy-paste the code to the code editor and execute it (using <link linkend="file-execute"><menuchoice><guimenu>File</guimenu><guimenuitem>Execute Commands</guimenuitem></menuchoice></link>) to see the result.</para>

<para>When you typed and executed the commands like above in the code editor you might have noticed one or more of the following things:</para>
<orderedlist>
<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>
</listitem>
<listitem>
<para>That the colour 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>
</listitem>
<listitem>
<para>That the turtle draws a thin black line.</para>
</listitem>
<listitem>
<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 &logo; commands (you can do that by choosing <menuchoice><guimenu>Settings</guimenu><guimenuitem>Configure &kturtle;...</guimenuitem></menuchoice>, in the <guilabel>Language</guilabel> section).</para>
</listitem>
</orderedlist>

<para>You will likely understand that <userinput>forward 90</userinput> commanded the turtle to move forward leaving a line, and that <userinput>turnleft 90</userinput> commanded the turtle to turn 90 <glossterm linkend="degrees">degrees</glossterm> to the left.</para>

<para>Please see the following links to the reference manual for a complete explanation of the new commands: <userinput>forward</userinput>, <userinput>backward</userinput>, <userinput>turnleft</userinput>, and <userinput>turnright</userinput>.</para>
</sect2>

<sect2 id="more-examples">
<title>More examples</title>
<para>The first example was very simple, so let us go on!</para>

<para>
<!--translators: if it's not already there, you can copy/paste the translated code below and save it in arrow.logo in your examples folder: tde-i18n/language-code/data/tdeedu/kturtle/ -->
<screen>canvassize 200,200
canvascolour 0,0,0
pencolour 255,0,0
penwidth 5
clear

go 20,20
direction 135

forward 200
turnleft 135
forward 100
turnleft 135
forward 141
turnleft 135
forward 100
turnleft 45

go 40, 100
</screen>
Again you can type or copy-paste the code to the code editor or open the <filename>arrow.logo</filename> file in the <guimenu>Open examples</guimenu> folder and execute it (using <link linkend="file-execute"><menuchoice><guimenu>File</guimenu><guimenuitem>Execute Commands</guimenuitem></menuchoice></link>) to see the result. In the next examples you are expected to know the drill.</para>

<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>

<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>

<para><userinput>canvascolour 0,0,0</userinput> makes the canvas black. <userinput>0,0,0</userinput> is an <glossterm linkend="rgb">RGB-combination</glossterm> where all values are set to <userinput>0</userinput>, which results in black.</para>

<para><userinput>pencolor 255,0,0</userinput> sets the color of the pen to red. <userinput>255,0,0</userinput> is an <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>

<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>

<para><userinput>clear</userinput> clear the canvas, that is all it does.</para>

<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>

<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>

<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>

<para>At last another <userinput>go</userinput> command is used to move the turtle aside.</para>

<para>Make sure you follow the links to the reference. The reference explains each command more thoroughly.</para>

</sect2>
</sect1>



<!--        EXTRA SECTIONS CAN BE ADDED TO THE "GETTING STARTED"

<sect1 id="calculations">
<title>Simple Calculations</title>
<para>
Not yet written
</para>
</sect1>
<sect1 id="using_variables">
<title>Using Variables: creating 'number containers'</title>
<para>
Not yet written
</para>
</sect1>
<sect1 id="using_strings">
<title>Using strings: creating 'text containers'</title>
<para>
Not yet written
</para>
</sect1>
<sect1 id="logic">
<title>Logic: asking the computer simple questions</title>
<para>
Not yet written
</para>
</sect1>
<sect1 id="recursion">
<title>Recursion: the Turtle is using itself</title>
<para>
Draw a maze for example
</para>
</sect1>-->


</chapter>