# -*- coding: utf-8 -*-
import turtle
from tkinter import *
from tkinter import simpledialog
v0 = Tk()
v0.title("Ventana madre")
v0.config(bg="black")
v0.geometry("500x400+80+150")
turtle.setup(600,500,600,90)
turtle.screensize(550,400)
global frente
frente=1
global angulo
angulo=0
global GrAcom
GrAcom=0
global linea
linea=1
global colorDelinea
colorDelinea="black"
#Dibujar a mano
b1 = "levantado"xAntigua, yAntigua = None, None
def click(event):
global b1
b1 = "abajo"
def soltarclick(event):
global b1, xAntigua, yAntigua
b1 = "arriba"
xAntigua = None
yAntigua = None
def mover(event):
if b1 == "abajo":
global xAntigua, yAntigua
if xAntigua != None and yAntigua != None:
papel.create_line(xAntigua, yAntigua, event.x-300, event.y-250, width=linea,fill=colorDelinea, smooth=TRUE)
xAntigua = event.x-300
yAntigua = event.y-250
print("x="+str(xAntigua+300)+" y="+str(yAntigua+250))
papel= turtle.getcanvas()
papel.bind("<Motion>", mover)
papel.bind("<ButtonPress>", click)
papel.bind("<ButtonRelease>", soltarclick)
b1 = Button(v0, text="Cambiar Fondo", command=lambda: fond())
b1.grid(row=1,column=1)
b2 = Button(v0,text="Pixeles", command=lambda: cantDelante())
b2.grid(row=2,column=2)
b3 = Button(v0, text="Avanzar", command=lambda: delante())
b3.grid(row=2,column=1)
b4 = Button(v0, text="Girar Derecha",command=lambda: giraDerecha())
b4.grid(row=3,column=1)
b5 = Button(v0, text="Grados", command=lambda:angDerecha())
b5.grid(row=3,column=4)
b6 = Button(v0, text="Girar Izq.",command=lambda: giraIzquierda())
b6.grid(row=3,column=2)
b7 = Button(v0, text="Color de relleno",command=lambda: rellenar())
b7.grid(row=4,column=1)
b8 = Button(v0, text="Iniciar Relleno",command=lambda: inicioRelleno())
b8.grid(row=4,column=3)
b9 = Button(v0, text="Terminar Relleno",command=lambda: finRelleno())
b9.grid(row=4,column=4)
b10 = Button(v0, text="Limpiar",command=lambda: limpiar())
b10.grid(row=5,column=1)
b11 = Button(v0, text="Reiniciar Puntero",command=lambda: Punto0())
b11.grid(row=6,column=1)
b12 = Button(v0, text="Tamaño de lineas",command=lambda: cursorTamaño())
b12.grid(row=7,column=1)
b13 = Button(v0, text="Color de lineas",command=lambda: colorLinea())
b13.grid(row=8,column=1)
label1= Label(v0,text="="+str(frente))
label1.grid(row=2,column=3)
label2= Label(v0,text="="+str(angulo))
label2.grid(row=3,column=5)
label3= Label(v0, text="Angulo actual=0",)
label3.grid(row=3,column=3)
label4= Label(v0, text="Color de relleno=...")
label4.grid(row=4,column=2)
label5= Label(v0, text="Tamaño de linea= ...")
label5.grid(row=7,column=2)
label6= Label(v0, text="Color de linea= ...")
label6.grid(row=8,column=2)
fonde = turtle.Screen()
turtle.colormode(255)
def delante():
turtle.forward(frente)
def cantDelante():
global frente
frente = simpledialog.askinteger("Distancia a Avanzar", "Escribe los pixeles a recorrer:")
label1.config(text="="+str(frente))
def fond():
fondo = simpledialog.askstring("Color de fondo", "Escribe el color del fondo:")
fonde.bgcolor(fondo)
def giraDerecha():
turtle.right(angulo)
global GrAcom
GrAcom=GrAcom-angulo
if GrAcom<0:
GrAcom=GrAcom+360
label3.config(text="Angulo actual="+str(GrAcom))
def angDerecha():
global angulo
angulo = simpledialog.askinteger("Angulo", "Escribe los grados a girar hacia la derecha:")
label2.config(text="=" + str(angulo))
def giraIzquierda():
turtle.left(angulo)
global GrAcom
GrAcom = GrAcom + angulo
if GrAcom > 360:
GrAcom = GrAcom - 360
label3.config(text="Angulo actual=" + str(GrAcom))
def angIzquierda():
global angulo
angulo = simpledialog.askinteger("Angulo", "Escribe los grados a girar hacia la derecha:")
label2.config(text="=" + str(angulo))
def rellenar():
color=simpledialog.askstring("Relleno","Escribe color de relleno")
turtle.fillcolor(color)
label4.config(text="Color de relleno="+str(color))
def inicioRelleno():
turtle.begin_fill()
def finRelleno():
turtle.end_fill()
def limpiar():
turtle.clear()
papel.delete("all")
def Punto0():
turtle.penup()
turtle.goto(0,0)
turtle.pendown()
def cursorTamaño():
global linea
linea=simpledialog.askstring("Tamaño de contorno","Escribe el grosor de contorno")
turtle.pensize(linea)
label5.config(text="Tamaño de linea= "+str(linea))
def colorLinea():
global colorDelinea
colorDelinea=simpledialog.askstring("Color de Lineas: ","Escribe el color de las lineas:")
turtle.pencolor(colorDelinea)
label6.config(text="Tamaño de linea= " + str(colorDelinea))
v0.mainloop()
No hay comentarios:
Publicar un comentario