martes, 31 de octubre de 2017
martes, 24 de octubre de 2017
Dibujar Con Turtle, Botones y Funciones. Clicks de Ratón
# -*- 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()
lunes, 16 de octubre de 2017
Turtle Ejemplos y Barquito
from turtle import * setup(640, 480, 0, 0) #crear ventana turtledone()
from turtle import * setup(450, 200, 0, 0) screensize(300, 150) goto(100, 50) done()
from turtle import * setup(450, 200, 0, 0) screensize(300, 150) goto(100, 50) goto(100, -50) goto(50, -50) done()
from turtle import * setup(450, 200, 0, 0) screensize(300, 150) goto(100, 50) sety(-50) setx(50) setx(0) sety(50) setx(100) goto(50,-50) goto(0,0) goto(50,50) goto(100,0) goto(50,-50) hideturtle() done()
from turtle import * setup(450, 200, 0, 0) screensize(300, 150) goto(100, 50) penup() goto(100, -50) pendown() goto(50, -50) done()
from turtle import * setup(450, 200, 0, 0) screensize(300, 150) goto(100, 50) pensize(4) goto(100, -50) pensize(8) goto(50, -50) done()
from turtle import * setup(450, 200, 0, 0) screensize(300, 150) colormode(255) pencolor(255, 0, 0) goto(100, 50) pencolor(0, 255, 0) goto(100, -50) pencolor(0, 0, 255) goto(50, -50) done()
from turtle import * setup(600, 600, 0, 0) screensize(1300, 1300) penup() goto(50,300) pendown() fillcolor("brown") begin_fill() goto(150,200) goto(400,200) goto(500,300) end_fill() fillcolor("pink") goto(300,300) begin_fill() goto(300,500) goto(450,350) goto(300,350) end_fill() fillcolor("pink") goto(300,500) goto(275,500) goto(275,600) goto(225,550) goto(275,550) goto(275,500) goto(250,500) begin_fill() goto(100,350) goto(250,350) end_fill() goto(250,500) goto(250,300) goto(50,300) penup() goto(300,300) fillcolor("#663300") begin_fill() goto(300,500) goto(250,500) goto(250,300) end_fill() done()
lunes, 9 de octubre de 2017
Huevo Estrellado/Flor Sencilla Con Funciones y Turtle
from turtle import *
def Circulo(n):
for i in range(n):
right(1)
forward(1)
def flor():
for i in range(4):
Circulo(180)
left(90)
forward(50)
color('red','pink')
Circulo(360)
penup()
left(90)
forward(50)
pendown()
right(45)
flor()
done()
Suscribirse a:
Entradas (Atom)