Skip to content

Commit bae9464

Browse files
authored
Merge pull request #9 from dastels/master
Example additions and edits
2 parents b217473 + 7f04ed1 commit bae9464

11 files changed

+214
-33
lines changed

adafruit_turtle.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ class turtle(object):
138138

139139
def __init__(self, display=board.DISPLAY):
140140
self._logger = logging.getLogger("Turtle")
141-
self._logger.setLevel(logging.DEBUG)
141+
self._logger.setLevel(logging.INFO)
142142
self._display = display
143143
self._w = self._display.width
144144
self._h = self._display.height

examples/turtle_circle.py

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,18 @@
33

44
turtle = turtle(board.DISPLAY)
55

6-
turtle.pencolor(Color.WHITE)
7-
6+
mycolors = [Color.WHITE, Color.RED, Color.BLUE, Color.GREEN, Color.ORANGE, Color.PURPLE]
7+
turtle.penup()
8+
turtle.forward(130)
9+
turtle.right(180)
810
turtle.pendown()
9-
turtle.circle(20)
10-
turtle.forward(20)
11-
turtle.circle(20, extent=180)
12-
turtle.forward(50)
13-
turtle.circle(50, steps=6)
11+
12+
for i in range(6):
13+
turtle.pencolor(mycolors[i])
14+
turtle.circle(25)
15+
turtle.penup()
16+
turtle.forward(50)
17+
turtle.pendown()
18+
1419
while True:
1520
pass

examples/turtle_circle_hex.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import board
2+
from adafruit_turtle import turtle
3+
4+
turtle = turtle(board.DISPLAY)
5+
turtle.pendown()
6+
7+
for _ in range(32):
8+
turtle.circle(50, steps=6)
9+
turtle.right(11.1111)
10+
11+
while True:
12+
pass

examples/turtle_dots.py

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,13 @@
11
import board
2-
from adafruit_turtle import turtle, Color
3-
4-
turtle = turtle(board.DISPLAY)
5-
size = min(board.DISPLAY.width, board.DISPLAY.height) * 0.5
6-
7-
print("Turtle time! Lets draw a rainbow benzene")
2+
from adafruit_turtle import turtle
83

4+
print("Turtle time! Lets draw a square with dots")
95

6+
turtle = turtle(board.DISPLAY)
107
turtle.pendown()
118

129
for _ in range(4):
13-
turtle.dot(8, Color.RED)
10+
turtle.dot(8)
1411
turtle.left(90)
1512
turtle.forward(25)
1613

examples/turtle_hilbert.py

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
import board
2+
from adafruit_turtle import turtle
3+
4+
def hilbert2(step, rule, angle, depth, t):
5+
if depth > 0:
6+
a = lambda: hilbert2(step, "a", angle, depth - 1, t)
7+
b = lambda: hilbert2(step, "b", angle, depth - 1, t)
8+
left = lambda: t.left(angle)
9+
right = lambda: t.right(angle)
10+
forward = lambda: t.forward(step)
11+
if rule == "a":
12+
left()
13+
b()
14+
forward()
15+
right()
16+
a()
17+
forward()
18+
a()
19+
right()
20+
forward()
21+
b()
22+
left()
23+
if rule == "b":
24+
right()
25+
a()
26+
forward()
27+
left()
28+
b()
29+
forward()
30+
b()
31+
left()
32+
forward()
33+
a()
34+
right()
35+
36+
turtle = turtle(board.DISPLAY)
37+
turtle.penup()
38+
39+
turtle.goto(-80, -80)
40+
turtle.pendown()
41+
hilbert2(5, "a", 90, 5, turtle)
42+
43+
while True:
44+
pass

examples/turtle_koch.py

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
import board
2+
from adafruit_turtle import turtle
3+
4+
def f(side_length, depth, generation):
5+
if depth == 0:
6+
side = turtle.forward(side_length)
7+
else:
8+
side = lambda: f(side_length / 3, depth - 1, generation + 1)
9+
side()
10+
turtle.left(60)
11+
side()
12+
turtle.right(120)
13+
side()
14+
turtle.left(60)
15+
side()
16+
17+
turtle = turtle(board.DISPLAY)
18+
19+
unit = min(board.DISPLAY.width / 3, board.DISPLAY.height / 4)
20+
top_len = unit * 3
21+
print(top_len)
22+
turtle.penup()
23+
turtle.goto(-1.5 * unit, unit)
24+
turtle.pendown()
25+
26+
num_generations = 3
27+
top_side = lambda: f(top_len, num_generations, 0)
28+
29+
top_side()
30+
turtle.right(120)
31+
top_side()
32+
turtle.right(120)
33+
top_side()
34+
35+
while True:
36+
pass

examples/turtle_manual_hex.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import board
2+
from adafruit_turtle import turtle
3+
4+
turtle = turtle(board.DISPLAY)
5+
6+
7+
# turtle.penup()
8+
# turtle.right(45)
9+
# turtle.forward(90)
10+
# turtle.right(75)
11+
12+
turtle.pendown()
13+
for _ in range(21):
14+
for _ in range(6):
15+
turtle.forward(50)
16+
turtle.right(61)
17+
turtle.right(11.1111)
18+
19+
while True:
20+
pass

examples/turtle_overlayed_koch.py

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
import board
2+
from adafruit_turtle import turtle, Color
3+
4+
generation_colors = [Color.RED, Color.BLUE, Color.GREEN]
5+
6+
def f(side_length, depth, generation):
7+
if depth == 0:
8+
side = turtle.forward(side_length)
9+
else:
10+
side = lambda: f(side_length / 3, depth - 1, generation + 1)
11+
side()
12+
turtle.left(60)
13+
side()
14+
turtle.right(120)
15+
side()
16+
turtle.left(60)
17+
side()
18+
19+
def snowflake(num_generations, generation_color):
20+
top_side = lambda: f(top_len, num_generations, 0)
21+
turtle.pencolor(generation_color)
22+
top_side()
23+
turtle.right(120)
24+
top_side()
25+
turtle.right(120)
26+
top_side()
27+
28+
29+
turtle = turtle(board.DISPLAY)
30+
31+
unit= min(board.DISPLAY.width / 3, board.DISPLAY.height / 4)
32+
top_len = unit * 3
33+
print(top_len)
34+
turtle.penup()
35+
turtle.goto(-1.5 * unit, unit)
36+
turtle.pendown()
37+
38+
for generations in range(3):
39+
snowflake(generations, generation_colors[generations])
40+
turtle.right(120)
41+
42+
while True:
43+
pass

examples/turtle_sierpinski.py

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
import board
2+
from adafruit_turtle import turtle
3+
4+
def getMid(p1, p2):
5+
return ((p1[0] + p2[0]) / 2, (p1[1] + p2[1]) / 2) #find midpoint
6+
7+
def triangle(points, depth):
8+
9+
turtle.penup()
10+
turtle.goto(points[0][0], points[0][1])
11+
turtle.pendown()
12+
turtle.goto(points[1][0], points[1][1])
13+
turtle.goto(points[2][0], points[2][1])
14+
turtle.goto(points[0][0], points[0][1])
15+
16+
if depth > 0:
17+
triangle([points[0],
18+
getMid(points[0], points[1]),
19+
getMid(points[0], points[2])],
20+
depth-1)
21+
triangle([points[1],
22+
getMid(points[0], points[1]),
23+
getMid(points[1], points[2])],
24+
depth-1)
25+
triangle([points[2],
26+
getMid(points[2], points[1]),
27+
getMid(points[0], points[2])],
28+
depth-1)
29+
30+
turtle = turtle(board.DISPLAY)
31+
big = min(board.DISPLAY.width / 2, board.DISPLAY.height / 2)
32+
little = big / 1.4
33+
seed_points = [[-big, -little], [0, big], [big, -little]] #size of triangle
34+
triangle(seed_points, 4)
35+
36+
while True:
37+
pass

examples/turtle_square.py

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,24 +5,11 @@
55
print("Turtle time! Lets draw a simple square")
66

77
turtle.pencolor(Color.WHITE)
8-
print("Position:", turtle.pos())
9-
print("Heading:", turtle.heading())
10-
11-
turtle.penup()
12-
print("Pen down?", turtle.isdown())
138
turtle.pendown()
14-
print("Pen down?", turtle.isdown())
15-
turtle.forward(25)
16-
print("Position:", turtle.pos())
17-
turtle.left(90)
18-
turtle.forward(25)
19-
print("Position:", turtle.pos())
20-
turtle.left(90)
21-
turtle.forward(25)
22-
print("Position:", turtle.pos())
23-
turtle.left(90)
24-
turtle.forward(25)
25-
print("Position:", turtle.pos())
9+
10+
for _ in range(4):
11+
turtle.forward(25)
12+
turtle.left(90)
2613

2714
while True:
2815
pass

examples/turtle_swirl.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
colors = [Color.ORANGE, Color.PURPLE]
1010

11-
for x in range(300):
11+
for x in range(400):
1212
turtle.pencolor(colors[x % 2])
1313
turtle.forward(x)
1414
turtle.left(91)

0 commit comments

Comments
 (0)