Activities/Turtle Art: Difference between revisions
| Line 679: | Line 679: | ||
{| border=1 | {| border=1 | ||
!Class!! | !Class!!Defined in!!Instance!!Created in | ||
|- | |- | ||
|TurtleArtActivity||TurtleArtActivity.py|| || | |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|| | |Turtles, Turtle||taturtle.py||turtles||tawindow.py, tacanvas.py | ||
|- | |- | ||
|Blocks, Block||tablock.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 | |||
|- | |- | ||
| | |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' | |||
|} | |||
Other useful Python functions | |||
{| border=1 | |||
!Module!!Methods and data attributes!!Example!!Notes | |||
|- | |||
|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=== | ||