#!/usr/bin/python3 import turtle import time import math # There is a chance all of this has to be in raw mode on the pi #Demo functions for sketch-y-etch t = turtle.Turtle() t.hideturtle() t.speed(0.5) t.width(4) t.color("blue") # Set up the turtle screen screen = turtle.Screen() screen.setup(width=1.0, height=1.0) # Set the window to full-screen mode ####General Use Function##### def blank(): t.clear() t.goto(0,0) #######Function drawings##### def draw_Flower(): #inverted Arguelle's mandala RAD = 200 radii = [RAD, RAD/1.25, RAD/1.5, RAD/1.75, RAD/2, RAD/2.25, RAD/3, RAD/4] def derp(): t.pendown() for r in radii: t.circle(r, 360) t.penup() derp() t.left(-90) derp() t.goto(0,0) t.left(-180) derp() t.goto(0,0) t.left(-270) derp() def mandala(): ## http://programming1work.oyosite.com/ch_turtle-mandala.html t.pendown() for times in range(36): t.color("blue") t.speed(11) t.circle(100) t.color("red") t.forward(200) t.left(120) t.color("orange") t.forward(100) t.right(120) t.left(170) t.left(20) t.forward(15) def arguelles(): RAD = 200 radii = [RAD, RAD/1.25, RAD/1.5, RAD/1.75, RAD/2, RAD/2.25, RAD/3, RAD/4] def derp(): t.pendown() for r in radii: t.circle(r, 360) t.penup() derp() t.goto(RAD,RAD) t.left(90) derp() t.goto(0,0) t.goto(-RAD,RAD) t.left(180) derp() t.goto(0,0) t.goto(0,RAD*2) t.left(270) derp() #Demo mode function for dumping source code clone to the turtle window def dumpSRC(): def draw_text_line(t, text, y): t.penup() t.goto(-300, y) # Start position for the text t.pendown() t.write(text, font=("Arial", 12, "normal")) # Write the text with open("source.txt", "r") as file: y = 350 # Starting y-coordinate for the first line of text for line in file: draw_text_line(t, line.strip(), y) y -= 20 # Move down for the next line # Check if the next line will exceed the window height if y < -350: time.sleep(2) # Clear the screen & resume writing t.clear() # Reset the start position y = 350 draw_text_line(t, "Source Code Dump Successful", y) # Draw a yin yang symbol def taiju(): t.penup() RAD = 200 RAD2 = RAD / 2 RAD6 = RAD / 6 t.hideturtle() t.degrees() # Switch to degrees t.goto(0,-RAD) t.pendown() # Draw the circle, radius 100, half black t.fillcolor('black') t.begin_fill() t.circle(RAD, 180) t.end_fill() t.circle(RAD, 180) # Draw black head t.left(180) t.penup() t.goto(0, RAD) t.pendown() t.begin_fill() t.circle(RAD2, 180) t.end_fill() # Draw white head t.penup() t.goto(0, -RAD) t.pendown() t.fillcolor('white') t.begin_fill() t.circle(RAD2, 180) t.end_fill() # Draw eyes t.penup() t.goto(0, RAD2 + RAD6) t.begin_fill() t.circle(RAD6) t.end_fill() t.fillcolor('black') #t.goto(0, 2 * (RAD - RAD6)) t.goto(0, 2 * (-RAD6)) t.begin_fill() t.circle(RAD6) t.end_fill() """ Functions: draw_Flower() mandala() arguelles() dumpSRC() taiju() """ arguelles() time.sleep(3) blank() draw_Flower() time.sleep(3) blank() dumpSRC() #text size could be increased time.sleep(3) t.clear() t.color("black") taiju() time.sleep(3) blank() mandala() # on func end color is yellow time.sleep(3) """ #Todo *Fixed! bugs that occurred when making it run full screen add more functions, write a loop. listen for IO, kill other processes, write a class, or a library """