jueves, 14 de septiembre de 2017

ejercicio de circulo, rectángulo, circulo, quesito y arco

codigo

from Tkinter import *

v0 = Tk()
v1 = Toplevel(v0)
v2 = Toplevel(v0)
v3 = Toplevel(v0)
v4 = Toplevel(v0)
v5 = Toplevel(v0)

v0.title("Figuras")
v1.title("Circulo")
v2.title("Rectangulo")
v3.title("Lineas")
v4.title("quesito")
v5.title("arco")

v1.protocol("WM_DELETE_WINDOW", "onexit")
v2.protocol("WM_DELETE_WINDOW", "onexit")
v3.protocol("WM_DELETE_WINDOW", "onexit")
v4.protocol("WM_DELETE_WINDOW", "onexit")
v5.protocol("WM_DELETE_WINDOW", "onexit")

def mostrar(ventana): ventana.deiconify()
def ocultar(ventana): ventana.withdraw()
def ejecutar(f): v0.after(200, f)

v0.config(bg="blue")
v0.geometry("461x300")

def circulo(ventana):
    v1.deiconify()
    circulo = Canvas(v1, width=210, height=210, bg="blue")
    circulo.pack()
    cuadro = circulo.create_oval(10, 10, 200, 200, width=3, fill="red")

def rectangulo(ventana):
    v2.deiconify()
    rectangulo = Canvas(v2, width=210, height=210, bg="white")
    rectangulo.pack(expand=YES, fill=BOTH)
    rectangulo.create_rectangle(10, 10, 200, 200, width=3, fill='yellow')

def lineas(ventana):
    v3.deiconify()
    linea = Canvas(v3, width=210, height=210, bg='white')
    linea.pack(expand=YES, fill=BOTH)
    linea.create_line(0, 200, 200, 0, width=10, fill='black', )
    linea.create_line(0, 0, 200, 200, width=10, fill='black', )

def quesito(ventana):
    v4.deiconify()
    queso = Canvas(v4, width=300, height=200, bg='white')
    queso.pack(expand=YES, fill=BOTH)
    queso.create_arc(10, 10, 190, 190, start=270, extent=90, fill='gray90')

def arco(ventana):
    v5.deiconify()
    arco = Canvas(v5, width =300, height=200, bg='white')
    arco.pack(expand=YES, fill=BOTH)
    xy = 10, 10, 190, 190
    arco.create_arc(xy, start=0, extent=270, fill='gray60')



boton2 = Button(v1, text="Cerrar", relief=SOLID, bg='blue', command=lambda: ejecutar(ocultar(v1)))
boton2.pack()
boton5 = Button(v2, text="Cerrar", relief=SOLID, bg='green', command=lambda: ejecutar(ocultar(v2)))
boton5.pack()
boton2 = Button(v3, text="Cerrar", relief=SOLID, bg='red', command=lambda: ejecutar(ocultar(v3)))
boton2.pack()
boton2 = Button(v4, text="Cerrar", relief=SOLID, bg='red', command=lambda: ejecutar(ocultar(v4)))
boton2.pack()
boton2 = Button(v5, text="Cerrar", relief=SOLID, bg='red', command=lambda: ejecutar(ocultar(v5)))
boton2.pack()


b1 = Button(v0, text="Mostrar circulo", relief=FLAT, bg='white', command=lambda: ejecutar(circulo(v1)))
b1.grid(row=1, column=3)

b2 = Button(v0, text="Mostrar rectangulo", relief=FLAT, bg='white',command=lambda: ejecutar(rectangulo(v0)))
b2.grid(row=1, column=2)

b3 = Button(v0, text="Mostrar lineas", relief=FLAT, bg='white', command=lambda: ejecutar(lineas(v0)))
b3.grid(row=1, column=1)

b4 = Button(v0, text="Mostrar quesito", relief=FLAT, bg='white', command=lambda: ejecutar(quesito(v4)))
b4.grid(row=1, column=4)

b5 = Button(v0, text="Mostrar arco", relief=FLAT, bg='white', command=lambda: ejecutar(arco(v5)))
b5.grid(row=1, column=5)

v5.withdraw()
v4.withdraw()
v3.withdraw()
v2.withdraw()
v1.withdraw()

v0.mainloop()










martes, 12 de septiembre de 2017

JUEGO DEL GATO

codigo
from Tkinter import *
import tkMessageBox
import tkSimpleDialog

def bloq():
    for i in range(0, 9):
        lisb[i].config(state="disable")

def inij():
    for i in range(0, 9):
        lisb[i].config(state="normal")
        lisb[i].config(bg="lightgray")
        lisb[i].config(text="")
        tab[i] = "N"
    global nomj1, nomj2  # indica a que variables queremos acceder
    nomj1 = tkSimpleDialog.askstring("Jugador", "Escribe el nombre del jugador 1: ")
    nomj2 = tkSimpleDialog.askstring("Jugador", "Escribe el nombre del jugador 2: ")
    turj.set("Turno: " + nomj1)

def cam(num):
    global turno, nomj1, nomj2
    if tab[num] == "N" and turno == 0:
        lisb[num].config(text="X")
        lisb[num].config(bg="white")
        tab[num] = "X"
        turno = 1
        turj.set("Turno: " + nomj2)
    elif tab[num] == "N" and turno == 1:
        lisb[num].config(text="O")
        lisb[num].config(bg="lightblue")
        tab[num] = "O"
        turno = 0
        turj.set("Turno: " + nomj1)
    lisb[num].config(state="disable")
    verif()

def verif():
    if (tab[0] == "X" and tab[1] == "X" and tab[2] == "X") or (tab[3] == "X" and tab[4] == "X" and tab[5] == "X") or (
                tab[6] == "X" and tab[7] == "X" and tab[8] == "X"):
        bloq()
        tkMessageBox.showinfo("Ganaste", "Ganaste jugador: " + nomj1)
    elif (tab[0] == "X" and tab[3] == "X" and tab[6] == "X") or (tab[1] == "X" and tab[4] == "X" and tab[7] == "X") or (
                tab[2] == "X" and tab[5] == "X" and tab[8] == "X"):
        bloq()
        tkMessageBox.showinfo("Ganaste", "Ganaste jugador: " + nomj1)
    elif (tab[0] == "X" and tab[4] == "X" and tab[8] == "X") or (tab[2] == "X" and tab[4] == "X" and tab[6] == "X"):
        bloq()
        tkMessageBox.showinfo("Ganaste", "Ganaste jugador: " + nomj1)
    elif (tab[0] == "O" and tab[1] == "O" and tab[2] == "O") or (tab[3] == "O" and tab[4] == "O" and tab[5] == "O") or (
                tab[6] == "O" and tab[7] == "O" and tab[8] == "O"):
        bloq()
        tkMessageBox.showinfo("Ganaste", "Ganaste jugador: " + nomj2)
    elif (tab[0] == "O" and tab[3] == "O" and tab[6] == "O") or (tab[1] == "O" and tab[4] == "O" and tab[7] == "O") or (
                tab[2] == "O" and tab[5] == "O" and tab[8] == "O"):
        bloq()
        tkMessageBox.showinfo("Ganaste", "Ganaste jugador: " + nomj2)
    elif (tab[0] == "O" and tab[4] == "O" and tab[8] == "O") or (tab[2] == "O" and tab[4] == "O" and tab[6] == "O"):
        bloq()
        tkMessageBox.showinfo("Ganaste", "Ganaste jugador: " + nomj2)

ven = Tk()
ven.geometry("370x460")
ven.config(bg="blue")
ven.title("Juego del gato")
turno = 0

nomj1 = ""
nomj2 = ""

lisb = []
tab = []
turj = StringVar()

for i in range(0, 9):
    tab.append("N")

b0 = Button(ven, width=9, height=3, relief=SOLID, cursor="pencil", command=lambda: cam(0))
lisb.append(b0)
b0.place(x=50, y=50)
b1 = Button(ven, width=9, height=3, relief=SOLID, cursor="pencil", command=lambda: cam(1))
lisb.append(b1)
b1.place(x=150, y=50)
b2 = Button(ven, width=9, height=3, relief=SOLID, cursor="pencil", command=lambda: cam(2))
lisb.append(b2)
b2.place(x=250, y=50)
b3 = Button(ven, width=9, height=3, relief=SOLID, cursor="pencil", command=lambda: cam(3))
lisb.append(b3)
b3.place(x=50, y=150)
b4 = Button(ven, width=9, height=3, relief=SOLID, cursor="pencil", command=lambda: cam(4))
lisb.append(b4)
b4.place(x=150, y=150)
b5 = Button(ven, width=9, height=3, relief=SOLID, cursor="pencil", command=lambda: cam(5))
lisb.append(b5)
b5.place(x=250, y=150)
b6 = Button(ven, width=9, height=3, relief=SOLID, cursor="pencil", command=lambda: cam(6))
lisb.append(b6)
b6.place(x=50, y=250)
b7 = Button(ven, width=9, height=3, relief=SOLID, cursor="pencil", command=lambda: cam(7))
lisb.append(b7)
b7.place(x=150, y=250)
b8 = Button(ven, width=9, height=3, relief=SOLID, cursor="pencil", command=lambda: cam(8))
lisb.append(b8)
b8.place(x=250, y=250)
tue = Label(ven, textvariable=turj).place(x=140, y=10)
bini = Button(ven, bg='red', fg='white', text='Iniciar juego', cursor="sizing", width=15, height=3,
              command=inij).place(x=130, y=360)
bloq()

linea = Canvas(ven, width=310, height=10)
linea.place(x=30, y=120)
linea.create_line(310, 0, 0, 0, width=25, fill='black')
l2 = Canvas(ven, width=310, height=10)
l2.place(x=30, y=220)
l2.create_line(310, 0, 0, 0, width=25, fill='black')
l3 = Canvas(ven, width=10, height=310)
l3.place(x=130, y=25)
l3.create_line(0, 310, 0, 0, width=25, fill='black')
l4 = Canvas(ven, width=10, height=310)
l4.place(x=230, y=25)
l4.create_line(0, 310, 0, 0, width=25, fill='black')
#En esta parte se crean las 4 lineas que le dan forma al tablero , con su ancho , largo y posicion

ven.mainloop()























domingo, 10 de septiembre de 2017

figuras con ventana hija


programa 1 figuras con ventana hija
codigo

# -*- coding: utf-8 -*-from tkinter import *
from Tkinter import*
ventanap = Tk()
ventanap.config(bg="blue")
ventanap.geometry("500x500")
ventanap.title("Hacer rectangulo")
ventanah = Toplevel(ventanap)
ventanah.protocol("WM_DELETE_WINDOW", "onexit")

def ejecutar(f):
    ventanah.after(200, f)

def mostrar(ventana):
    ventana.deiconify()

def rectangulo(ven):
    ventanah.deiconify()
    rectangulo = Canvas(ventanah,width=210, height=210, bg="yellow")
    rectangulo.pack(expand=YES, fill=BOTH)
    rectangulo.create_rectangle(10, 10, 200, 200, width=3, fill='orange')

def linea(ven):
    ventanah.deiconify()
    linea = Canvas(ventanah,width=210, height=210, bg="white")
    linea.pack(expand=YES, fill=BOTH)
    linea.create_line(5, 5, 200, 200, width=3, fill='black')

def ocultar(ventana):
    ventanah.withdraw()

def circulo(ven):
    ventanah.deiconify()
    circulo = Canvas(ventanah,width=210, height=210, bg="red")
    circulo.pack(expand=YES, fill=BOTH)
    circulo.create_oval(10, 10, 200, 200, width=3, fill='blue')

boton2= Button(ventanah, text="Cerrar", command=lambda: ejecutar(ocultar(ventanah)))
boton2.pack()
botoncir = Button(ventanap, text="ver circulo",command=lambda: ejecutar (circulo(ventanap)))
botoncir.grid(row=1, column=1)
botonrec = Button(ventanap, text="ver rectangulo",command=lambda: ejecutar (rectangulo(ventanap)))
botonrec.grid(row=1, column=2)
botonlin = Button(ventanap, text="ver linea",command=lambda: ejecutar (linea(ventanap)))
botonlin.grid(row=1, column=3)
ventanah.withdraw()
ventanap.mainloop()








programa 2 figuras con ventana hija

codigo

from Tkinter import *

v0 = Tk()
v1 = Toplevel(v0)
v2 = Toplevel(v0)
v3 = Toplevel(v0)
v0.title("Figuras")
v1.title("Circulo")
v2.title("Rectangulo")
v3.title("Lineas")
v1.protocol("WM_DELETE_WINDOW", "onexit")
v2.protocol("WM_DELETE_WINDOW", "onexit")
v3.protocol("WM_DELETE_WINDOW", "onexit")

def mostrar(ventana): ventana.deiconify()
def ocultar(ventana): ventana.withdraw()
def ejecutar(f): v0.after(200, f)

v0.config(bg="blue")
v0.geometry("288x300")

def circulo(ventana):
    v1.deiconify()
    circulo = Canvas(v1, width=210, height=210, bg="blue")
    circulo.pack()
    cuadro = circulo.create_oval(10, 10, 200, 200, width=3, fill="red")

def rectangulo(ventana):
    v2.deiconify()
    rectangulo = Canvas(v2, width=210, height=210, bg="white")
    rectangulo.pack(expand=YES, fill=BOTH)
    rectangulo.create_rectangle(10, 10, 200, 200, width=3, fill='yellow')

def lineas(ventana):
    v3.deiconify()
    linea = Canvas(v3, width=210, height=210, bg='white')
    linea.pack(expand=YES, fill=BOTH)
    linea.create_line(0, 200, 200, 0, width=10, fill='black', )
    linea.create_line(0, 0, 200, 200, width=10, fill='black', )


boton2 = Button(v1, text="Cerrar", relief=SOLID, bg='blue', command=lambda: ejecutar(ocultar(v1)))
boton2.pack()
boton5 = Button(v2, text="Cerrar", relief=SOLID, bg='green', command=lambda: ejecutar(ocultar(v2)))
boton5.pack()
boton2 = Button(v3, text="Cerrar", relief=SOLID, bg='red', command=lambda: ejecutar(ocultar(v3)))
boton2.pack()

b1 = Button(v0, text="Mostrar circulo", relief=FLAT, bg='white', command=lambda: ejecutar(circulo(v1)))
b1.grid(row=1, column=3)

b2 = Button(v0, text="Mostrar rectangulo", relief=FLAT, bg='white',command=lambda: ejecutar(rectangulo(v0)))
b2.grid(row=1, column=2)

b3 = Button(v0, text="Mostrar lineas", relief=FLAT, bg='white', command=lambda: ejecutar(lineas(v0)))
b3.grid(row=1, column=1)

v3.withdraw()
v2.withdraw()
v1.withdraw()

v0.mainloop()







miércoles, 6 de septiembre de 2017

martes, 5 de septiembre de 2017

Trabajo con puerto usb

Programación de puerto USB USB viene de frase en Ingles “Universal Serial Bus” que se utiliza para describir un tipo de puerto en la co...