1296 lines
30 KiB
Python
1296 lines
30 KiB
Python
import random
|
|
import time
|
|
from turtle import *
|
|
from math import pi, sqrt
|
|
from itertools import permutations
|
|
|
|
|
|
def kolo():
|
|
print("rogi: 360")
|
|
h = int(input("promień w centymetrach: "))
|
|
c = input("kolor wypełnienia (ang): ")
|
|
h *= 37
|
|
speed(0)
|
|
penup()
|
|
goto(0, -h)
|
|
pendown()
|
|
color('gray')
|
|
try:
|
|
fillcolor(c)
|
|
except:
|
|
print("no no no, white!")
|
|
fillcolor("white")
|
|
begin_fill()
|
|
for o in range(360):
|
|
forward((2 * pi * h) / 360)
|
|
left(1)
|
|
end_fill()
|
|
|
|
|
|
def vektor(ile):
|
|
t = [[0 for _ in range(2)] for _ in range(ile)]
|
|
for i in range(ile):
|
|
print(i + 1, end="")
|
|
t[i][0], t[i][1] = input(". wektor: ").split(" ")
|
|
t[i][0] = int(t[i][0])
|
|
t[i][1] = int(t[i][1])
|
|
|
|
w = [list(p) for p in permutations(t)]
|
|
pensize(2)
|
|
for i in range(ile):
|
|
goto(t[i][0], t[i][1])
|
|
penup()
|
|
goto(0, 0)
|
|
pendown()
|
|
pensize(1)
|
|
|
|
for i in range(len(w)):
|
|
for j in range(len(w[i])):
|
|
goto(w[i][j][0] + xcor(), w[i][j][1] + ycor())
|
|
penup()
|
|
goto(0, 0)
|
|
pendown()
|
|
|
|
|
|
def kwgene(wiel, ilo, t):
|
|
fillcolor(kolory())
|
|
if t:
|
|
begin_fill()
|
|
for i in range(random.randrange(5, 10)):
|
|
rt(90)
|
|
fd(wiel)
|
|
if i == 3:
|
|
end_fill()
|
|
if ilo > 0:
|
|
lt(90)
|
|
print(ilo)
|
|
kwgene(wiel, ilo - 1, t)
|
|
# fd(wiel)
|
|
|
|
|
|
def kolowkole(wie, kol):
|
|
fillcolor(kolory())
|
|
if kol:
|
|
begin_fill()
|
|
|
|
for i in range(36):
|
|
forward((2 * pi * wie) / 36)
|
|
if wie > 20 and i % 3 == 0:
|
|
kolowkole(wie / 5, kol)
|
|
left(10)
|
|
end_fill()
|
|
|
|
|
|
def gwiazda():
|
|
n = int(input("ile ramion: "))
|
|
h = int(input("dułgosc ramion: "))
|
|
w = float(input("wspulczynik pomniejszenia: "))
|
|
a = kolory()
|
|
print("kolor wypelnienia (ang): " + a)
|
|
h *= 37
|
|
speed(0)
|
|
color('gray')
|
|
fillcolor(a)
|
|
begin_fill()
|
|
for kli in range(n):
|
|
penup()
|
|
fd(h)
|
|
x, y = pos()
|
|
lt(180)
|
|
fd(h)
|
|
lt(180)
|
|
lt(360 / n / 2)
|
|
fd(h * w)
|
|
pendown()
|
|
goto(x, y)
|
|
penup()
|
|
goto(0, 0)
|
|
rt(360 / n)
|
|
fd(h * w)
|
|
pendown()
|
|
goto(x, y)
|
|
penup()
|
|
goto(0, 0)
|
|
rt(360 / n * 3 / 2)
|
|
end_fill()
|
|
|
|
|
|
def dzewo(wys):
|
|
if wys <= 5:
|
|
fd(wys)
|
|
bk(wys)
|
|
return
|
|
pensize(wys / 37)
|
|
c = random.randrange(25, 35)
|
|
fd(wys)
|
|
if w > 9:
|
|
lt(c)
|
|
dzewo(wys * (1 / 1.5))
|
|
rt(c * 2)
|
|
dzewo(wys * (1 / 1.5))
|
|
lt(c)
|
|
bk(wys)
|
|
|
|
|
|
def pieciokat(w, t):
|
|
if w < 2:
|
|
return
|
|
fillcolor(kolory())
|
|
if t:
|
|
begin_fill()
|
|
for c in range(5):
|
|
pieciokat(w / 2.643, t)
|
|
fd(w)
|
|
lt(360 / 5)
|
|
end_fill()
|
|
|
|
|
|
def fgwiazda(w, n):
|
|
if n == 0:
|
|
fd(w)
|
|
return
|
|
fgwiazda(w / 3, n - 1)
|
|
lt(60)
|
|
fgwiazda(w / 3, n - 1)
|
|
rt(120)
|
|
fgwiazda(w / 3, n - 1)
|
|
lt(60)
|
|
fgwiazda(w / 3, n - 1)
|
|
|
|
|
|
def TT(w, y):
|
|
speed(0)
|
|
if w < y:
|
|
return
|
|
fd(w)
|
|
if w > y * 1.5:
|
|
lt(90)
|
|
TT(w * (1 / 1.5), y)
|
|
rt(180)
|
|
TT(w * (1 / 1.5), y)
|
|
lt(90)
|
|
bk(w)
|
|
|
|
|
|
def koniczyna(w, n):
|
|
if n > 2:
|
|
|
|
for i in range(n):
|
|
fd(w / 10 - i * 2)
|
|
lt(90)
|
|
koniczyna(w / (i + 2), n - 1)
|
|
rt(180)
|
|
koniczyna(w / (i + 2), n - 1)
|
|
lt(120)
|
|
i += 1
|
|
for j in range(n):
|
|
rt(30)
|
|
bk(w / 10 - (n - j - 1) * 2)
|
|
else:
|
|
i = 0
|
|
while i * 2 <= w / 10:
|
|
fd(w / 10 - i * 2)
|
|
lt(30)
|
|
i += 1
|
|
for j in range(i):
|
|
rt(30)
|
|
bk(w / 10 - (i - j - 1) * 2)
|
|
|
|
|
|
def trujkat(w, t):
|
|
if w > 2:
|
|
fillcolor(kolory())
|
|
if t:
|
|
begin_fill()
|
|
for i in range(3):
|
|
fd(w)
|
|
lt(120)
|
|
trujkat(w / 2, t)
|
|
rt(120)
|
|
fd(w)
|
|
rt(120)
|
|
end_fill()
|
|
|
|
|
|
def dzewoniekon(ile_k, sto, wiel):
|
|
fd(wiel)
|
|
if sto == 0:
|
|
for i in range(ile_k):
|
|
|
|
rt(360 / ile_k)
|
|
if wiel / 2 > 5:
|
|
dzewoniekon(ile_k, sto, wiel / 2)
|
|
else:
|
|
fd(wiel / 2)
|
|
bk(wiel / 2)
|
|
else:
|
|
if ile_k % 2 == 1:
|
|
if wiel / 2 > 10:
|
|
dzewoniekon(ile_k, sto, wiel / 2)
|
|
else:
|
|
fd(wiel / 2)
|
|
bk(wiel / 2)
|
|
for i in range(int(ile_k / 2)):
|
|
rt(sto)
|
|
if wiel / 2 > 10:
|
|
dzewoniekon(ile_k, sto, wiel / 2)
|
|
else:
|
|
fd(wiel / 2)
|
|
bk(wiel / 2)
|
|
lt(sto * int(ile_k / 2))
|
|
for i in range(int(ile_k / 2)):
|
|
lt(sto)
|
|
if wiel / 2 > 10:
|
|
dzewoniekon(ile_k, sto, wiel / 2)
|
|
else:
|
|
fd(wiel / 2)
|
|
bk(wiel / 2)
|
|
rt(sto * int(ile_k / 2))
|
|
else:
|
|
lt(sto / 2)
|
|
for i in range(int(ile_k / 2)):
|
|
rt(sto)
|
|
if wiel / 2 > 10:
|
|
dzewoniekon(ile_k, sto, wiel / 2)
|
|
else:
|
|
fd(wiel / 2)
|
|
bk(wiel / 2)
|
|
lt(sto * (int(ile_k / 2) - 1))
|
|
for i in range(int(ile_k / 2)):
|
|
lt(sto)
|
|
if wiel / 2 > 10:
|
|
dzewoniekon(ile_k, sto, wiel / 2)
|
|
else:
|
|
fd(wiel / 2)
|
|
bk(wiel / 2)
|
|
rt(sto * (int(ile_k / 2) - 1))
|
|
rt(sto / 2)
|
|
|
|
|
|
def kolory():
|
|
lis = ["white", "white smoke", "gainsboro", "light gray", "silver", "gray", "dim gray", "black", "light slate gray",
|
|
"slate gray", "alice blue", "light steel blue", "cornflower blue", "royal blue", "blue", "medium blue",
|
|
"navy", "dark blue", "midnight blue", "light blue", "deep sky blue", "dodger blue", "powder blue",
|
|
"sky blue", "light sky blue", "steel blue", "azure", "light cyan", "cyan", "pale turquoise",
|
|
"dark turquoise", "turquoise", "medium turquoise", "light sea green", "cadet blue", "dark cyan", "teal",
|
|
"dark slate gray", "mint cream", "aquamarine", "medium aquamarine", "dark sea green", "medium sea green",
|
|
"sea green", "honeydew", "pale green", "light green", "medium spring green", "spring green", "lime green",
|
|
"green", "forest green", "dark green", "green yellow", "chartreuse", "lawn green", "lime", "yellow green",
|
|
"olive drab", "beige", "dark khaki", "olive", "dark olive green", "pale goldenrod", "khaki", "ivory",
|
|
"light yellow", "light goldenrod yellow", "cornsilk", "lemon chiffon", "yellow", "gold", "goldenrod",
|
|
"dark goldenrod", "wheat", "tan", "burlywood", "peru", "sienna", "saddle brown", "floral white", "old lace",
|
|
"navajo white", "moccasin", "sandy brown", "orange", "dark orange", "chocolate", "firebrick", "brown",
|
|
"dark red", "maroon", "antique white", "papaya whip", "blanched almond", "bisque", "peach puff",
|
|
"light salmon", "coral", "tomato", "orange red", "red", "crimson", "dark salmon", "salmon", "light coral",
|
|
"indian red", "rosy brown", "linen", "seashell", "misty rose", "pink", "light pink", "hot pink", "deep pink",
|
|
"snow", "lavender blush", "pale violet red", "violet red", "medium violet red", "purple", "dark magenta",
|
|
"violet", "magenta", "thistle", "plum", "orchid", "medium orchid", "dark orchid", "dark violet",
|
|
"blue violet", "medium purple", "rebecca purple", "indigo", "ghost white", "lavender", "light slate blue",
|
|
"medium slate blue", "slate blue", "dark slate blue"]
|
|
return lis[random.randrange(0, len(lis))]
|
|
|
|
|
|
def litera(wiel, lit):
|
|
pendown()
|
|
if lit == "a":
|
|
penup()
|
|
fd(wiel / 4)
|
|
pendown()
|
|
for i in range(36):
|
|
forward((pi * wiel / 2) / 36)
|
|
lt(10)
|
|
penup()
|
|
fd(wiel / 4)
|
|
pendown()
|
|
lt(90)
|
|
fd(wiel / 2)
|
|
bk(wiel / 2)
|
|
rt(90)
|
|
elif lit == "A":
|
|
x = xcor()
|
|
y = ycor()
|
|
goto(x + wiel / 8, y + wiel / 2)
|
|
ob = heading()
|
|
rt(ob)
|
|
fd(wiel / 4)
|
|
bk(wiel / 4)
|
|
lt(ob)
|
|
goto(x + wiel / 4, y + wiel)
|
|
goto(x + wiel / 2, y)
|
|
elif lit == "b":
|
|
penup()
|
|
fd(wiel / 4)
|
|
pendown()
|
|
for i in range(36):
|
|
forward((pi * wiel / 2) / 36)
|
|
lt(10)
|
|
penup()
|
|
bk(wiel / 4)
|
|
pendown()
|
|
lt(90)
|
|
fd(wiel)
|
|
bk(wiel)
|
|
rt(90)
|
|
penup()
|
|
fd(wiel / 2)
|
|
pendown()
|
|
elif lit == "B":
|
|
penup()
|
|
fd(wiel / 4)
|
|
pendown()
|
|
for i in range(36):
|
|
forward((pi * wiel / 2) / 36)
|
|
lt(10)
|
|
penup()
|
|
bk(wiel / 4)
|
|
pendown()
|
|
|
|
lt(90)
|
|
fd(wiel / 2)
|
|
rt(90)
|
|
|
|
penup()
|
|
fd(wiel / 4)
|
|
pendown()
|
|
for i in range(36):
|
|
forward((pi * wiel / 2) / 36)
|
|
lt(10)
|
|
penup()
|
|
bk(wiel / 4)
|
|
pendown()
|
|
|
|
lt(90)
|
|
fd(wiel / 2)
|
|
|
|
bk(wiel)
|
|
rt(90)
|
|
penup()
|
|
fd(wiel / 2)
|
|
pendown()
|
|
elif lit == "c":
|
|
penup()
|
|
fd(wiel / 4)
|
|
lt(180)
|
|
for i in range(36):
|
|
if i < 22 or i > 33:
|
|
pendown()
|
|
else:
|
|
penup()
|
|
fd((pi * wiel / 2) / 36)
|
|
rt(10)
|
|
rt(180)
|
|
penup()
|
|
fd(wiel / 4)
|
|
pendown()
|
|
elif lit == "C":
|
|
penup()
|
|
fd(wiel / 4)
|
|
lt(180)
|
|
for i in range(36):
|
|
if i < 22 or i > 33:
|
|
pendown()
|
|
else:
|
|
penup()
|
|
if i == 9 or i == 27:
|
|
fd(wiel / 2)
|
|
fd((pi * wiel / 2) / 36)
|
|
rt(10)
|
|
rt(180)
|
|
penup()
|
|
fd(wiel / 4)
|
|
pendown()
|
|
elif lit == "d":
|
|
penup()
|
|
fd(wiel / 4)
|
|
pendown()
|
|
for i in range(36):
|
|
forward((pi * wiel / 2) / 36)
|
|
lt(10)
|
|
penup()
|
|
fd(wiel / 4)
|
|
pendown()
|
|
lt(90)
|
|
fd(wiel)
|
|
bk(wiel)
|
|
rt(90)
|
|
elif lit == "D":
|
|
lt(90)
|
|
fd(wiel)
|
|
rt(90)
|
|
for i in range(36):
|
|
fd((pi * wiel) / 72)
|
|
rt(5)
|
|
lt(180)
|
|
penup()
|
|
fd(wiel / 2)
|
|
pendown()
|
|
elif lit == "e":
|
|
penup()
|
|
fd(wiel / 4)
|
|
pendown()
|
|
lt(180)
|
|
for i in range(36):
|
|
|
|
if 27 <= i <= 32:
|
|
penup()
|
|
else:
|
|
pendown()
|
|
fd((pi * wiel / 2) / 36)
|
|
rt(10)
|
|
penup()
|
|
rt(90)
|
|
fd(wiel / 4)
|
|
rt(90)
|
|
pendown()
|
|
fd(wiel / 4)
|
|
bk(wiel / 4)
|
|
penup()
|
|
lt(90)
|
|
bk(wiel / 4)
|
|
rt(90)
|
|
fd(wiel / 4)
|
|
pendown()
|
|
elif lit == "E":
|
|
lt(90)
|
|
fd(wiel)
|
|
rt(90)
|
|
fd(wiel / 2)
|
|
rt(90)
|
|
penup()
|
|
fd(wiel)
|
|
rt(90)
|
|
pendown()
|
|
fd(wiel / 2)
|
|
rt(90)
|
|
fd(wiel / 2)
|
|
rt(90)
|
|
fd(wiel / 4)
|
|
bk(wiel / 4)
|
|
lt(90)
|
|
bk(wiel / 2)
|
|
rt(90)
|
|
fd(wiel / 2)
|
|
elif lit == "f":
|
|
x = xcor()
|
|
y = ycor()
|
|
penup()
|
|
fd(wiel / 4)
|
|
pendown()
|
|
lt(90)
|
|
fd(wiel * 3 / 4)
|
|
lt(90)
|
|
fd(wiel / 4)
|
|
bk(wiel / 2)
|
|
fd(wiel / 4)
|
|
rt(90)
|
|
for i in range(9):
|
|
fd((pi * wiel / 2) / 36)
|
|
rt(10)
|
|
penup()
|
|
goto(x + wiel / 2, y)
|
|
elif lit == "F":
|
|
lt(90)
|
|
fd(wiel)
|
|
rt(90)
|
|
fd(wiel / 2)
|
|
bk(wiel / 2)
|
|
lt(90)
|
|
bk(wiel / 2)
|
|
rt(90)
|
|
fd(wiel / 4)
|
|
bk(wiel / 4)
|
|
lt(90)
|
|
bk(wiel / 2)
|
|
rt(90)
|
|
penup()
|
|
fd(wiel / 2)
|
|
pendown()
|
|
elif lit == "g":
|
|
penup()
|
|
fd(wiel / 4)
|
|
pendown()
|
|
for i in range(36):
|
|
fd(wiel / 2 * pi / 36)
|
|
lt(10)
|
|
penup()
|
|
fd(wiel / 4)
|
|
pendown()
|
|
rt(90)
|
|
for i in range(9):
|
|
fd(wiel / 2 * pi / 36)
|
|
rt(10)
|
|
for i in range(9):
|
|
lt(10)
|
|
bk(wiel / 2 * pi / 36)
|
|
bk(wiel / 4)
|
|
fd(wiel / 4)
|
|
lt(90)
|
|
elif lit == "G":
|
|
penup()
|
|
fd(wiel / 4)
|
|
lt(180)
|
|
pendown()
|
|
for i in range(36):
|
|
fd((pi * wiel / 4) / 72)
|
|
rt(2.5)
|
|
fd(wiel / 2)
|
|
for i in range(36):
|
|
fd((pi * wiel / 2) / 72)
|
|
rt(5)
|
|
penup()
|
|
fd(wiel / 4)
|
|
pendown()
|
|
rt(90)
|
|
fd(wiel / 4)
|
|
bk(wiel / 4)
|
|
lt(90)
|
|
fd(wiel / 4)
|
|
for i in range(36):
|
|
fd((pi * wiel / 4) / 72)
|
|
rt(2.5)
|
|
penup()
|
|
bk(wiel / 4)
|
|
lt(180)
|
|
pendown()
|
|
elif lit == "h":
|
|
lt(90)
|
|
fd(wiel)
|
|
bk(wiel / 4 * 3)
|
|
for i in range(36):
|
|
fd((pi * wiel / 2) / 72)
|
|
rt(5)
|
|
fd(wiel / 4)
|
|
lt(90)
|
|
elif lit == "H":
|
|
lt(90)
|
|
fd(wiel)
|
|
bk(wiel / 2)
|
|
rt(90)
|
|
fd(wiel / 2)
|
|
lt(90)
|
|
fd(wiel / 2)
|
|
bk(wiel)
|
|
rt(90)
|
|
elif lit == "i":
|
|
penup()
|
|
fd(wiel / 4)
|
|
pendown()
|
|
lt(90)
|
|
fd(wiel / 4 * 3)
|
|
penup()
|
|
fd(wiel / 8)
|
|
pendown()
|
|
lt(90)
|
|
for i in range(36):
|
|
fd((wiel / 8 * pi) / 36)
|
|
rt(10)
|
|
lt(90)
|
|
penup()
|
|
fd(wiel / 8 * 7)
|
|
lt(90)
|
|
fd(wiel / 4)
|
|
pendown()
|
|
elif lit == "I":
|
|
penup()
|
|
fd(wiel / 4)
|
|
pendown()
|
|
lt(90)
|
|
fd(wiel)
|
|
bk(wiel)
|
|
rt(90)
|
|
penup()
|
|
fd(wiel / 4)
|
|
pendown()
|
|
elif lit == "j":
|
|
penup()
|
|
lt(90)
|
|
fd(wiel / 4)
|
|
rt(90)
|
|
pendown()
|
|
fd(wiel / 4)
|
|
lt(90)
|
|
penup()
|
|
fd(wiel / 8)
|
|
lt(90)
|
|
pendown()
|
|
for i in range(36):
|
|
fd((wiel / 8 * pi) / 36)
|
|
rt(10)
|
|
penup()
|
|
lt(90)
|
|
fd(wiel / 8)
|
|
pendown()
|
|
fd(wiel / 4 * 3)
|
|
for i in range(36):
|
|
fd((wiel / 8 * pi) / 36)
|
|
rt(6)
|
|
fd(wiel / 2)
|
|
bk(wiel / 2)
|
|
penup()
|
|
for i in range(36):
|
|
bk((wiel / 8 * pi) / 36)
|
|
lt(6)
|
|
bk(wiel / 2)
|
|
lt(90)
|
|
fd(wiel / 4)
|
|
pendown()
|
|
elif lit == "J":
|
|
penup()
|
|
lt(90)
|
|
fd(wiel)
|
|
rt(90)
|
|
pendown()
|
|
fd(wiel / 2)
|
|
rt(90)
|
|
fd(wiel)
|
|
for i in range(36):
|
|
fd((wiel / 4 * pi) / 36)
|
|
rt(5)
|
|
penup()
|
|
rt(90)
|
|
fd(wiel / 2)
|
|
elif lit == "k" or lit == "K":
|
|
lt(90)
|
|
fd(wiel / 2)
|
|
rt(60)
|
|
fd(wiel / 2)
|
|
bk(wiel / 2)
|
|
rt(75)
|
|
p = 2 * ((wiel / 2) * (wiel / 2))
|
|
fd(sqrt(p))
|
|
bk(sqrt(p))
|
|
lt(135)
|
|
fd(wiel / 2)
|
|
bk(wiel)
|
|
rt(90)
|
|
penup()
|
|
fd(wiel / 2)
|
|
pendown()
|
|
elif lit == "l":
|
|
penup()
|
|
lt(90)
|
|
fd(wiel / 8)
|
|
pendown()
|
|
fd(wiel / 8 * 7)
|
|
lt(180)
|
|
fd(wiel / 8 * 7)
|
|
for i in range(36):
|
|
fd((wiel / 16 * pi) / 36)
|
|
lt(2.5)
|
|
fd(wiel / 4)
|
|
elif lit == "L":
|
|
lt(90)
|
|
fd(wiel)
|
|
bk(wiel)
|
|
rt(90)
|
|
fd(wiel / 2)
|
|
elif lit == "m":
|
|
lt(90)
|
|
fd(wiel / 2)
|
|
for i in range(18):
|
|
fd((pi * wiel / 8) / 18)
|
|
rt(10)
|
|
fd((pi * wiel / 8) / 18)
|
|
fd(wiel / 2)
|
|
rt(180)
|
|
fd(wiel / 2)
|
|
for i in range(18):
|
|
fd((pi * wiel / 8) / 18)
|
|
rt(10)
|
|
fd((pi * wiel / 8) / 18)
|
|
fd(wiel / 2)
|
|
lt(90)
|
|
elif lit == "M":
|
|
lt(90)
|
|
fd(wiel)
|
|
x = xcor()
|
|
y = ycor()
|
|
goto(x + wiel / 4, y - wiel)
|
|
goto(x + wiel / 2, y)
|
|
bk(wiel)
|
|
rt(90)
|
|
elif lit == "n":
|
|
lt(90)
|
|
fd(wiel / 2)
|
|
for i in range(18):
|
|
rt(10)
|
|
fd((2 * pi * wiel / 8) / 18)
|
|
fd(wiel / 2)
|
|
lt(90)
|
|
elif lit == "N":
|
|
lt(90)
|
|
fd(wiel)
|
|
x = xcor()
|
|
y = ycor()
|
|
goto(x + wiel / 2, y - wiel)
|
|
fd(wiel)
|
|
bk(wiel)
|
|
rt(90)
|
|
elif lit == "o":
|
|
penup()
|
|
fd(wiel / 4)
|
|
pendown()
|
|
for i in range(36):
|
|
lt(10)
|
|
fd((2 * pi * wiel / 4) / 36)
|
|
penup()
|
|
fd(wiel / 4)
|
|
pendown()
|
|
elif lit == "O":
|
|
penup()
|
|
fd(wiel / 4)
|
|
pendown()
|
|
for i in range(18):
|
|
lt(5)
|
|
fd((2 * pi * wiel / 4) / 72)
|
|
fd(wiel / 2)
|
|
for i in range(18):
|
|
lt(10)
|
|
fd((2 * pi * wiel / 4) / 36)
|
|
fd(wiel / 2)
|
|
for i in range(18):
|
|
lt(5)
|
|
fd((2 * pi * wiel / 4) / 72)
|
|
penup()
|
|
fd(wiel / 4)
|
|
pendown()
|
|
elif lit == "p":
|
|
lt(90)
|
|
fd(wiel / 2)
|
|
bk(wiel)
|
|
fd(wiel / 4 * 3)
|
|
for i in range(36):
|
|
rt(10)
|
|
fd((pi * wiel / 2) / 36)
|
|
bk(wiel / 4)
|
|
penup()
|
|
rt(90)
|
|
fd(wiel / 2)
|
|
elif lit == "P":
|
|
lt(90)
|
|
fd(wiel)
|
|
rt(90)
|
|
for i in range(18):
|
|
fd((wiel / 4 * pi) / 18)
|
|
rt(10)
|
|
fd((wiel / 4 * pi) / 18)
|
|
penup()
|
|
lt(90)
|
|
fd(wiel / 2)
|
|
lt(90)
|
|
fd(wiel / 2)
|
|
pendown()
|
|
elif lit == "q":
|
|
penup()
|
|
fd(wiel / 4)
|
|
pendown()
|
|
for i in range(36):
|
|
fd((wiel / 2 * pi) / 36)
|
|
lt(10)
|
|
penup()
|
|
fd(wiel / 4)
|
|
pendown()
|
|
lt(90)
|
|
fd(wiel / 2)
|
|
bk(wiel)
|
|
fd(wiel / 2)
|
|
rt(90)
|
|
elif lit == "Q":
|
|
penup()
|
|
fd(wiel / 4)
|
|
pendown()
|
|
for i in range(18):
|
|
lt(5)
|
|
fd((2 * pi * wiel / 4) / 72)
|
|
fd(wiel / 2)
|
|
for i in range(18):
|
|
lt(10)
|
|
fd((2 * pi * wiel / 4) / 36)
|
|
fd(wiel / 2)
|
|
for i in range(18):
|
|
lt(5)
|
|
fd((2 * pi * wiel / 4) / 72)
|
|
rt(45)
|
|
fd(wiel / 4)
|
|
bk(wiel / 4)
|
|
lt(45)
|
|
penup()
|
|
fd(wiel / 4)
|
|
pendown()
|
|
elif lit == "r":
|
|
lt(90)
|
|
fd(wiel / 2)
|
|
bk(wiel / 16)
|
|
for i in range(18):
|
|
rt(5)
|
|
fd((2 * pi * wiel / 4) / 36)
|
|
for i in range(18):
|
|
bk((2 * pi * wiel / 4) / 36)
|
|
lt(5)
|
|
bk(wiel * 15 / 16 / 2)
|
|
rt(90)
|
|
penup()
|
|
fd(wiel / 2)
|
|
elif lit == "R":
|
|
lt(90)
|
|
fd(wiel)
|
|
rt(90)
|
|
for i in range(18):
|
|
fd((wiel / 4 * pi) / 18)
|
|
rt(10)
|
|
fd((wiel / 4 * pi) / 18)
|
|
goto(xcor() + wiel / 2, ycor() - wiel / 2)
|
|
lt(180)
|
|
elif lit == "s":
|
|
penup()
|
|
fd(wiel / 4)
|
|
pendown()
|
|
for i in range(36):
|
|
lt(5)
|
|
fd((2 * pi * wiel / 16) / 36)
|
|
for i in range(72):
|
|
rt(5)
|
|
fd((2 * pi * wiel / 16) / 36)
|
|
if i == 54:
|
|
penup()
|
|
for i in range(36):
|
|
lt(5)
|
|
fd((2 * pi * wiel / 16) / 36)
|
|
if i == 18:
|
|
pendown()
|
|
penup()
|
|
fd(wiel / 4)
|
|
elif lit == "S":
|
|
penup()
|
|
fd(wiel / 4)
|
|
pendown()
|
|
for i in range(36):
|
|
lt(5)
|
|
fd((2 * pi * wiel / 8) / 36)
|
|
for i in range(72):
|
|
rt(5)
|
|
fd((2 * pi * wiel / 8) / 36)
|
|
if (i == 54):
|
|
penup()
|
|
for i in range(36):
|
|
lt(5)
|
|
fd((2 * pi * wiel / 8) / 36)
|
|
if (i == 18):
|
|
pendown()
|
|
penup()
|
|
fd(wiel / 4)
|
|
elif lit == "t":
|
|
penup()
|
|
fd(wiel / 4)
|
|
lt(90)
|
|
pendown()
|
|
fd(wiel)
|
|
bk(wiel / 4)
|
|
lt(90)
|
|
fd(wiel / 4)
|
|
bk(wiel / 2)
|
|
fd(wiel / 4)
|
|
rt(90)
|
|
bk(wiel * 3 / 4)
|
|
rt(90)
|
|
penup()
|
|
fd(wiel / 4)
|
|
elif lit == "T":
|
|
penup()
|
|
fd(wiel / 4)
|
|
pendown()
|
|
lt(90)
|
|
fd(wiel)
|
|
lt(90)
|
|
fd(wiel / 4)
|
|
bk(wiel / 2)
|
|
penup()
|
|
lt(90)
|
|
fd(wiel)
|
|
lt(90)
|
|
elif lit == "u":
|
|
penup()
|
|
lt(90)
|
|
fd(wiel / 8)
|
|
fd(wiel * 3 / 8)
|
|
rt(180)
|
|
pendown()
|
|
fd(wiel * 3 / 8)
|
|
for i in range(36):
|
|
lt(5)
|
|
fd((2 * pi * wiel / 8) / 36)
|
|
fd(wiel * 3 / 8)
|
|
penup()
|
|
bk(wiel / 2)
|
|
rt(90)
|
|
elif lit == "U":
|
|
penup()
|
|
lt(90)
|
|
fd(wiel / 8)
|
|
fd(wiel * 7 / 8)
|
|
rt(180)
|
|
pendown()
|
|
fd(wiel * 7 / 8)
|
|
for i in range(36):
|
|
lt(5)
|
|
fd((2 * pi * wiel / 8) / 36)
|
|
fd(wiel * 7 / 8)
|
|
penup()
|
|
bk(wiel)
|
|
rt(90)
|
|
elif lit == "v":
|
|
penup()
|
|
goto(xcor(), ycor() + wiel / 2)
|
|
pendown()
|
|
goto(xcor() + wiel / 4, ycor() - wiel / 2)
|
|
goto(xcor() + wiel / 4, ycor() - wiel / 2)
|
|
penup()
|
|
goto(xcor(), ycor() - wiel / 2)
|
|
elif lit == "V":
|
|
penup()
|
|
goto(xcor(), ycor() + wiel)
|
|
pendown()
|
|
goto(xcor() + wiel / 4, ycor() - wiel)
|
|
goto(xcor() + wiel / 4, ycor() - wiel)
|
|
penup()
|
|
goto(xcor(), ycor() - wiel)
|
|
elif lit == "w":
|
|
penup()
|
|
goto(xcor(), ycor() + wiel / 2)
|
|
pendown()
|
|
goto(xcor() + wiel / 8, ycor() - wiel / 2)
|
|
goto(xcor() + wiel / 8, ycor() + wiel / 2)
|
|
goto(xcor() + wiel / 8, ycor() - wiel / 2)
|
|
goto(xcor() + wiel / 8, ycor() + wiel / 2)
|
|
penup()
|
|
goto(xcor(), ycor() - wiel / 2)
|
|
elif lit == "W":
|
|
penup()
|
|
goto(xcor(), ycor() + wiel)
|
|
pendown()
|
|
goto(xcor() + wiel / 8, ycor() - wiel)
|
|
goto(xcor() + wiel / 8, ycor() + wiel)
|
|
goto(xcor() + wiel / 8, ycor() - wiel)
|
|
goto(xcor() + wiel / 8, ycor() + wiel)
|
|
penup()
|
|
goto(xcor(), ycor() - wiel)
|
|
elif lit == "x":
|
|
goto(xcor() + wiel / 2, ycor() + wiel / 2)
|
|
penup()
|
|
bk(wiel / 2)
|
|
pendown()
|
|
goto(xcor() + wiel / 2, ycor() - wiel / 2)
|
|
elif lit == "X":
|
|
goto(xcor() + wiel / 2, ycor() + wiel)
|
|
penup()
|
|
bk(wiel / 2)
|
|
pendown()
|
|
goto(xcor() + wiel / 2, ycor() - wiel)
|
|
elif lit == "y":
|
|
penup()
|
|
goto(xcor(), ycor() + wiel / 2)
|
|
pendown()
|
|
goto(xcor() + wiel / 4, ycor() - wiel / 2)
|
|
goto(xcor() + wiel / 4, ycor() + wiel / 2)
|
|
goto(xcor() - wiel / 2, ycor() - wiel)
|
|
penup()
|
|
goto(xcor() + wiel / 2, ycor() + wiel / 2)
|
|
elif lit == "Y":
|
|
penup()
|
|
fd(wiel / 4)
|
|
lt(90)
|
|
pendown()
|
|
fd(wiel / 2)
|
|
goto(xcor() - wiel / 4, ycor() + wiel / 2)
|
|
goto(xcor() + wiel / 4, ycor() - wiel / 2)
|
|
goto(xcor() + wiel / 4, ycor() + wiel / 2)
|
|
goto(xcor() - wiel / 4, ycor() - wiel / 2)
|
|
bk(wiel / 2)
|
|
penup()
|
|
rt(90)
|
|
fd(wiel / 4)
|
|
elif lit == "z":
|
|
goto(xcor() + (wiel / 2), ycor() + wiel / 2)
|
|
bk(wiel / 2)
|
|
penup()
|
|
goto(xcor(), ycor() - wiel / 2)
|
|
pendown()
|
|
fd(wiel / 2)
|
|
elif lit == "Z":
|
|
goto(xcor() + (wiel / 2), ycor() + wiel)
|
|
bk(wiel / 2)
|
|
penup()
|
|
goto(xcor(), ycor() - wiel)
|
|
pendown()
|
|
fd(wiel / 2)
|
|
elif lit == "0":
|
|
penup()
|
|
fd(wiel / 4)
|
|
pendown()
|
|
for i in range(18):
|
|
lt(5)
|
|
fd((2 * pi * wiel / 4) / 72)
|
|
fd(wiel / 2)
|
|
for i in range(18):
|
|
lt(10)
|
|
fd((2 * pi * wiel / 4) / 36)
|
|
fd(wiel / 2)
|
|
for i in range(18):
|
|
lt(5)
|
|
fd((2 * pi * wiel / 4) / 72)
|
|
penup()
|
|
lt(90)
|
|
fd(wiel / 2)
|
|
lt(90)
|
|
pendown()
|
|
for i in range(36):
|
|
rt(10)
|
|
fd((2 * pi * wiel / 36) / 36)
|
|
penup()
|
|
lt(90)
|
|
fd(wiel / 2)
|
|
lt(90)
|
|
fd(wiel / 4)
|
|
pendown()
|
|
# elif lit == "1":
|
|
# elif lit == "2":
|
|
# elif lit == "3":
|
|
# elif lit == "4":
|
|
# elif lit == "5":
|
|
# elif lit == "6":
|
|
# elif lit == "7":
|
|
# elif lit == "8":
|
|
# elif lit == "9":
|
|
elif lit == "/":
|
|
goto(xcor() + wiel / 2, ycor() + wiel)
|
|
penup()
|
|
goto(xcor(), ycor() - wiel)
|
|
elif lit == "$":
|
|
penup()
|
|
goto(xcor(), ycor() + wiel)
|
|
pendown()
|
|
goto(xcor() + wiel / 2, ycor() - wiel)
|
|
else:
|
|
lt(90)
|
|
fd(wiel)
|
|
rt(90)
|
|
fd(wiel / 2)
|
|
rt(90)
|
|
fd(wiel)
|
|
rt(90)
|
|
fd(wiel / 2)
|
|
x = xcor()
|
|
y = ycor()
|
|
goto(x + wiel / 2, y + wiel)
|
|
fd(wiel / 2)
|
|
goto(x + wiel / 2, y)
|
|
rt(180)
|
|
pendown()
|
|
|
|
|
|
k = input("haslo: ")
|
|
if k != "surf":
|
|
while True:
|
|
if random.randrange(0, 10) == 1:
|
|
print("Intruz! (# - #)")
|
|
else:
|
|
print("Intruz! (^ - ^)")
|
|
time.sleep(0.3)
|
|
while True:
|
|
k = input("kod(p-pomoc): ")
|
|
if k == "p":
|
|
print(" |ko-rysuje kolo |", "\n", "|dz-rysuje drzewo |", "\n",
|
|
"|fg-rysuje gwiazge trojkatowa |", "\n", "|gw-rysuje gwiazdę |", "\n",
|
|
"|tt-rysuje fraktal złozony z liter'T' |", "\n", "|pi-rysuje pieciokaty w pieciokatach |", "\n",
|
|
"|pa-rysuje koniczyne |", "\n", "|tr-rysuje trojkaty w trojkatach |", "\n",
|
|
"|dznk-rysuje fraktal do zmodefikowania.|", "\n", "|kk-rysuje kola w kolach |", "\n",
|
|
"|pil-rysuje parabole pilki |", "\n", "|del-wyczysc ekran |", "\n",
|
|
"|q-wyjscie |", "\n", "|gt-idz do(x,y) |", "\n",
|
|
"|vek-vektory")
|
|
k = input("kod: ")
|
|
if k == "gt":
|
|
x, y = input("x,y (-460<x<460,-380<y<380): ").split(" ")
|
|
x = int(x)
|
|
y = int(y)
|
|
penup()
|
|
goto(x, y)
|
|
pendown()
|
|
k = input("kod: ")
|
|
# |
|
|
# Dalej \|/
|
|
# *
|
|
if k == "ko":
|
|
tracer(0, 0)
|
|
kolo()
|
|
if k == "dz":
|
|
w = int(input("wysokość pnia: "))
|
|
tracer(0, 0)
|
|
lt(90)
|
|
w *= 37
|
|
penup()
|
|
bk(w * 2)
|
|
pendown()
|
|
dzewo(w)
|
|
if k == "fg":
|
|
w = int(input("duldość ramy: "))
|
|
n = int(input("ilość fraktali na fraktalach: "))
|
|
i = int(input("ile bokow: "))
|
|
tracer(0, 0)
|
|
w *= 37
|
|
for d in range(i):
|
|
fgwiazda(w, n)
|
|
rt(360 / i)
|
|
if k == "gw":
|
|
tracer(0, 0)
|
|
gwiazda()
|
|
o = "o"
|
|
if k == "tt":
|
|
n = int(input("Wielkość: "))
|
|
y = int(input("powtażaj do wielkości(zal.:0,5-2): "))
|
|
tracer(0, 0)
|
|
n *= 37
|
|
left(90)
|
|
bk(n)
|
|
TT(n, y)
|
|
if k == "pi":
|
|
w = int(input("wielkość: "))
|
|
w *= 37
|
|
t = input("kolor(t/N): ")
|
|
tracer(0, 0)
|
|
if t == "t":
|
|
t = True
|
|
else:
|
|
t = False
|
|
penup()
|
|
goto(-w / 2, -w / 2)
|
|
pendown()
|
|
pieciokat(w, t)
|
|
if k == "pa":
|
|
w = int(input("wielkość: "))
|
|
w *= 37
|
|
n = int(input("głębokość: "))
|
|
tracer(0, 0)
|
|
koniczyna(w, n)
|
|
if k == "tr":
|
|
w = int(input("wielkość: "))
|
|
t = input("kolor(t/N): ")
|
|
tracer(0, 0)
|
|
if t == "t":
|
|
t = True
|
|
else:
|
|
t = False
|
|
w *= 37
|
|
lt(60)
|
|
fd(w)
|
|
rt(120)
|
|
fd(2 * w)
|
|
rt(120)
|
|
fd(2 * w)
|
|
rt(120)
|
|
fd(w)
|
|
rt(60)
|
|
trujkat(w / 2, t)
|
|
if k == "dznk":
|
|
i = int(input("Ile kontów na każdym rozdzieleniu: "))
|
|
print("Kont pomiędzy ramionami mniejszy niż ", end="")
|
|
print(360 / i, end="")
|
|
s = int(input(" : "))
|
|
w = int(input("duldość ramy: "))
|
|
tracer(0, 0)
|
|
w *= 37
|
|
dzewoniekon(i, s, w)
|
|
if k == "kk":
|
|
w = int(input("promień: "))
|
|
t = input("kolor(t/N): ")
|
|
w *= 37
|
|
tracer(0, 0)
|
|
if t == "t":
|
|
t = True
|
|
else:
|
|
t = False
|
|
while w > 10:
|
|
pendown()
|
|
kolowkole(w, t)
|
|
penup()
|
|
forward((2 * pi * w) / 144)
|
|
lt(90)
|
|
fd(w / 2.5)
|
|
rt(90)
|
|
w -= 2 * w / 5
|
|
if k == "kwa":
|
|
wiel = int(input("wielkość(piksele): "))
|
|
t = input("kolor(t/N): ")
|
|
if t == "t":
|
|
t = True
|
|
else:
|
|
t = False
|
|
# wiel *= 37
|
|
ilo = int(input("ilość: "))
|
|
tracer(0, 0)
|
|
li = []
|
|
kwgene(wiel, ilo - 1, t)
|
|
# fd(90)
|
|
if k == "lit":
|
|
w = int(input("wielkość: "))
|
|
l = input("znak: ")
|
|
w *= 37
|
|
tracer(0, 0)
|
|
litera(w, l)
|
|
if k == "nap":
|
|
w = input("wielkość: ")
|
|
l = input("ciąg znakow: ").split()
|
|
w = float(w)
|
|
w *= 37
|
|
# print(l)
|
|
o = 0
|
|
for i in l:
|
|
for j in i:
|
|
o += 1
|
|
o += 1
|
|
print("znaki: ", end="")
|
|
print(o - 1)
|
|
pensize(int(w / 37))
|
|
tracer(0, 0)
|
|
px = xcor()
|
|
for i in l:
|
|
for k in i:
|
|
if k == '|':
|
|
penup()
|
|
fd(w / 10)
|
|
goto(px, ycor() - (w + 10))
|
|
pendown()
|
|
else:
|
|
litera(w, k)
|
|
penup()
|
|
fd(w / 10)
|
|
if xcor() + w > 460:
|
|
goto(px, ycor() - (w + 10))
|
|
pendown()
|
|
penup()
|
|
fd(w)
|
|
pendown()
|
|
print(" ", end="")
|
|
# print("\n", ll)
|
|
if k == "pil":
|
|
n = int(input("moc: "))
|
|
f = int(input("Kąt(od pionu w prawo): "))
|
|
tracer(0, 0)
|
|
# odbicie(n, f)
|
|
goto(0, 0)
|
|
if k == "del":
|
|
clear()
|
|
o = 0
|
|
if k == "q":
|
|
o = 0
|
|
break
|
|
if k == "vek":
|
|
n = int(input("Podaj ilość wektorów: "))
|
|
vektor(n)
|
|
penup()
|
|
goto(0, 0)
|
|
rt(heading() + 720)
|
|
print("")
|
|
pendown()
|
|
update()
|
|
mainloop()
|
|
# aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ |