from tkinter import *
from tkinter.messagebox import *
from tkinter import filedialog as fd
from tkinter import *
from tkinter import messagebox as mb
import tkinter as tk
from tkinter.filedialog import askopenfilename
from tkinter import filedialog as fd
import tkinter.simpledialog
from tkinter import colorchooser
from PIL import ImageGrab
import keyboard
import turtle as red
import time
import ctypes
myappid = 'mycompany.myproduct.subproduct.version'
ctypes.windll.shell32.SetCurrentProcessExplicitAppUserModelID(myappid)
root = Tk()
root.resizable(0, 0)
root.iconbitmap(r"C:\\turtle.ico")
global окно_управления
окно_управления = Toplevel(root)
окно_управления.iconbitmap(r"C:\\turtle.ico")
root.title("черепаха-гра")
canvas = Canvas(root, width=500, height=500)
canvas.grid()
turtle = red.RawTurtle(canvas)
turtle.shape("turtle")
global size
size = 5
turtle.pensize(5)
turtle.color("#307826")
canvas.configure(background="#91b6ed")
turtle.speed(6)
global цвета
global цвет
цвета = ["#4a2626", "blue", "red", "#307826"]
цвет = 3
global удар1
удар1 = False
global удар2
удар2 = False
global удар3
удар3 = False
global удар4
удар4 = False
def left(evt):
print("left")
turtle.left(45)
print(turtle.heading())
def forward(evt):
global удар1
global удар2
global удар3
global удар4
if turtle.position()[0] >= 220:
if turtle.heading() == 45.0 or turtle.heading() == 0.0 or turtle.heading() == 315.0:
print("block right")
удар1 = True
удар2 = False
else:
удар1 = False
elif turtle.position()[0] <= -220:
if turtle.heading() == 135.0 or turtle.heading() == 180.0 or turtle.heading() == 225.0:
print("block left")
удар2 = True
удар1 = False
else:
удар2 = False
elif turtle.position()[1] <= -220:
if turtle.heading() == 315.0 or turtle.heading() == 270.0 or turtle.heading() == 225.0:
print("block down")
удар3 = True
удар4 = False
else:
удар3 = False
elif turtle.position()[1] >= 220:
if turtle.heading() == 45.0 or turtle.heading() == 90.0 or turtle.heading() == 135.0:
print("block up")
удар4 = True
удар3 = False
else:
удар4 = False
print("x:" + str(turtle.position()[0]))
print("y:" + str(turtle.position()[1]))
print(str(удар1))
print(str(удар2))
print(str(удар3))
print(str(удар4))
print("удар1:" + str(удар1))
print("удар2:" + str(удар2))
print("удар3:" + str(удар3))
print("удар4:" + str(удар4))
if удар1 == False:
print("up")
turtle.forward(20)
print("напрям:" + str(turtle.heading()))
def right(evt):
print("right")
turtle.right(45)
print(turtle.heading())
def color(evt):
print("новий колір!")
новий_колір()
def reset(evt):
print("ну, добре почистимо полотно...")
turtle.reset()
turtle.shape("turtle")
turtle.pensize(5)
turtle.color("#307826")
canvas.configure(background="#91b6ed")
turtle.speed(6)
def новий_колір():
global цвета
global цвет
if цвет == 3:
цвет = 0
else:
цвет += 1
turtle.color(цвета[цвет])
def розмір_плюс(evt):
global size
size += 1
print("більший розмір! тепер він дорівняє %s" %(size))
turtle.pensize(size)
time.sleep(0.1)
def розмір_мінус(evt):
global size
size -= 1
print("менший розмір! тепер він дорівняє %s" %(size))
turtle.pensize(size)
time.sleep(0.1)
root.bind('<Right>', right)
root.bind('<Left>', left)
root.bind('<Up>', forward)
root.bind('<KeyPress-1>', reset)
root.bind('<KeyPress-2>', розмір_плюс)
root.bind('<KeyPress-3>', розмір_мінус)
root.bind('<space>', color)
root.mainloop()