Activities/Turtle Art: Difference between revisions

Line 679: Line 679:


{| border=1
{| border=1
!Class!!defined in!!instance!!created in
!Class!!Defined in!!Instance!!Created in
|-
|-
|TurtleArtActivity||TurtleArtActivity.py|| ||Sugar
|TurtleArtActivity||TurtleArtActivity.py|| ||inherits from sugar.activity
|-
|-
|TurtleArtWindow||tawindow.py||tw||TurtleArtActivity.py
|TurtleArtWindow||tawindow.py||tw||TurtleArtActivity.py
Line 689: Line 689:
|TurtleGraphics||tacanvas.py||canvas||tawindow.py
|TurtleGraphics||tacanvas.py||canvas||tawindow.py
|-
|-
|Turtles, Turtle||taturtle.py||turtle||tawindow.py, tacanvas.py
|Turtles, Turtle||taturtle.py||turtles||tawindow.py, tacanvas.py
|-
|-
|Blocks, Block||tablock.py||block||tawindow.py
|Blocks, Block||tablock.py||block_list||tawindow.py
|}
 
Class TurtleArtWindow – useful properties and methods (from within tamyblock.py, lc.tw is the class instance)
{| border=1
!Methods and data attributes!!Example!!Notes
|-
|set_fullscreen(self)||lc.tw.set_fullscreen()||
|-
|set_cartesian(self, flag)||lc.tw.set_cartesian(True)||True will make the overlay visible; False will make it invisible
|-
|set_polar(self, flag)||lc.tw.set_polar(True)||True will make the overlay visible; False will make it invisible
|-
|hideshow_button(self, flag)||lc.tw.hideshow_button()||Toggles visibility of blocks and palettes
|-
|-
|TurtleMain||turtleart.py|| ||if launching from outside of Sugar
|self.active_turtle||lc.tw.active_turtle||The active turtle instance
|}
|}


Class TurtleGraphics – useful properties and methods (from within tamyblock.py, lc.tw.canvas is the class instance)
{| border=1
!Methods and data attributes!!Example!!Notes
|-
|clearscreen(self)||lc.tw.canvas.clearscreen()||
|-
|setpen(self, flag)||lc.tw.canvas.setpen(True)||True will set the pen "down", enabling drawing; False will set the pen "up"
|-
|forward(self, n)||lc.tw.canvas.forward(100)||Move the turtle forward 100 units
|-
|arc(self, a, r)||lc.tw.canvas.arc(120, 50)||Move the turtle along an arc of 120 degrees (clockwise) and radius of 50 units
|-
|setheading(self, a)||lc.tw.canvas.setheading(180)||Set the turtle heading to 180 (towards the bottom of the screen)
|-
|self.heading||lc.tw.canvas.heading||The current heading
|-
|setpensize(self, n)||lc.tw.canvas.setpensize(25)||Set the turtle pensize to 25 units
|-
|self.pensize||lc.tw.canvas.pensize||The current pensize
|-
|setcolor(self, c)||lc.tw.canvas.color(70)||Set the pen color to 70 (blue)
|-
|self.color||lc.tw.canvas.color||The current pen color
|-
|setshade(self, s)||lc.tw.canvas.shade(50)||Set the pen shade to 50
|-
|self.shade||lc.tw.canvas.shade||The current pen shade
|-
|fillscreen(self, c, s)||lc.tw.canvas.fillscreen(70, 90)||Fill the screen with color 70, shade 90 (light blue)
|-
|setxy(self, x, y)||lc.tw.canvas.setxy(100,100)||Move the turtle to position (100, 100)
|-
|self.xcor||lc.tw.canvas.xcor||The current x coordinate of the turtle (scaled to current units)
|-
|self.ycor||lc.tw.canvas.ycor||The current y coordinate of the turtle (scaled to current units)
|-
|self.set_turtle(name)||lc.tw.canvas.set_turtle(1)||Set the current turtle to turtle '1'
|}


[[Image:Turtleartwindow.jpg]]
Other useful Python functions
 
{| border=1
[[Image:Turtlegraphics.jpg]]
!Module!!Methods and data attributes!!Example!!Notes
 
|-
[[Image:Otherpython.jpg]]
|from math import pow||pow(2,3)||returns 2 to the 3rd power (8)||See http://docs.python.org/library/math.html
|-
|from math import sin, pi||sin(45*pi/180)||returns sin of 45 (0.707)||See http://docs.python.org/library/math.html
|-
|from time import localtime||localtime().tm_hour||returns the current hour||See http://docs.python.org/library/time.html
|-
| ||lc.heap.append(data)||add data to the FILO||See http://docs.python.org/tutorial/datastructures.html
|-
| ||data = lc.heap.pop(-1)||pop data off of the FILO||See http://docs.python.org/tutorial/datastructures.html
|}


===From the field===
===From the field===