Skip to content

Commit 18e6ea7

Browse files
authored
Merge pull request #919 from jedgarpark/tft-gizmo-turtle-graphics
Added snowflake
2 parents d4f7b07 + d727f76 commit 18e6ea7

File tree

1 file changed

+48
-0
lines changed

1 file changed

+48
-0
lines changed
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# Turtle Gizmo Snowflakes
2+
#==| Turtle Gizmo Setup start |========================================
3+
import time
4+
from random import randint
5+
import board
6+
import busio
7+
import displayio
8+
from adafruit_st7789 import ST7789
9+
from adafruit_turtle import turtle
10+
displayio.release_displays()
11+
spi = busio.SPI(board.SCL, MOSI=board.SDA)
12+
display_bus = displayio.FourWire(spi, command=board.TX, chip_select=board.RX)
13+
display = ST7789(display_bus, width=240, height=240, rowstart=80,
14+
backlight_pin=board.A3, rotation=180)
15+
turtle = turtle(display)
16+
#==| Turtle Gizmo Setup end |=========================================
17+
18+
def draw_arm():
19+
turtle.pendown()
20+
for angle, length in arm_data:
21+
turtle.forward(length)
22+
turtle.left(angle)
23+
turtle.forward(length)
24+
turtle.backward(length)
25+
turtle.right(2*angle)
26+
turtle.forward(length)
27+
turtle.backward(length)
28+
turtle.left(angle)
29+
turtle.penup()
30+
31+
def draw_flake(arms):
32+
turtle.penup()
33+
turtle.home()
34+
turtle.clear()
35+
angle = 0
36+
delta_angle = 360 // arms
37+
for _ in range(arms):
38+
turtle.home()
39+
turtle.setheading(angle)
40+
draw_arm()
41+
angle += delta_angle
42+
turtle.penup()
43+
turtle.home()
44+
45+
while True:
46+
arm_data = [(randint(30, 80), randint(10, 40)) for _ in range(5)]
47+
draw_flake(randint(5, 8)) #adjust number of arms here
48+
time.sleep(5)

0 commit comments

Comments
 (0)