import os
import random
import threading
from Tkinter import *
from PIL import Image, ImageTk
import time
import pygame
"""Variables globales"""
imagen=0
stop=0
#dir = os.path.dirname(__file__)
dir= os.path.dirname("/home/alberto/Documentos/Proyectos Python/Loteria/") #aui va la ruta de la carpeta con las otras carpetas de png y sonido
CarpetaCartas=dir+"/Cartas/" #establece la ruta hacia la carpeta imagenes de cartas
#/home/alberto/Descargas/Loteria/Sonidos/
CarpetaSonido=dir+"/Sonidos/" #establece la ruta hacia la carpeta sonidos
play=1
"""--------------------------------------------------------"""
def setimagen(nombre,x,y): #carga la imagen
global imagen #Declaro el uso de una variable global
img = Image.open(nombre) #cargo la imagen mandada como parametro
img.thumbnail((x, y), Image.ANTIALIAS) #establezco sus dimensiones y la propiedad antialiasado
imagen = ImageTk.PhotoImage(img) #la convierto a un formato soportado por los widgets de tkinter
return imagen #retorno el objeto con la imagen
def play():
global stop,play,TBoton #Declaro el uso de las variables stop y play
if play==1:
TBoton.set("Pausar")
t=threading.Thread(target=hilo)
t.start()
stop=0 #El hilo continua con normalidad
play=0 #La proxima vez que se pulse el boton debera entrar en el else
else:
TBoton.set("Jugar")
play=1 #La proxima vez que se pulse el boton debera entrar en el if
stop=1 #Se detiene el hilo
def reproducirsonido(nombre):
pygame.mixer.music.load(nombre)
pygame.mixer.music.play()
def hilo():
global tiempo, cartas, Limagen,stop,Tetiqueta,spin
cartas = ["EL GALLO", "EL DIABLITO", "LA DAMA", "EL CATRIN", "EL PARAGUAS", "LA SIRENA", "LA ESCALERA",
"LA BOTELLA", "EL BARRIL", "EL ARBOL", "EL MELON", "EL VALIENTE", "EL GORRITO", "LA MUERTE",
"LA PERA", "LA BANDERA", "EL BANDOLON", "EL VIOLINCELLO", "LA GARZA", "EL PAJARO", "LA MANO",
"LA BOTA", "LA LUNA", "EL COTORRO", "EL BORRACHO", "EL NEGRITO", "EL CORAZON", "LA SANDIA",
"EL TAMBOR", "EL CAMARON", "LAS JARAS", "EL MUSICO", "LA ARANA", "EL SOLDADO", "LA ESTRELLA",
"EL CAZO", "EL MUNDO", "EL APACHE", "EL NOPAL", "EL ALACRAN", "LA ROSA", "LA CALAVERA",
"LA CAMPANA", "EL CANTARITO", "EL VENADO", "EL SOL", "LA CORONA", "LA CHALUPA", "EL PINO",
"EL PESCADO", "LA PALMA", "LA MACETA", "EL ARPA", "LA RANA"]
reproducirsonido(CarpetaSonido + "Inicio.ogg")
time.sleep(3)
while True:
nombre=str(cartas.index(random.choice(cartas))+1)
carta = CarpetaCartas + nombre + ".png"
Limagen.config(image=setimagen(carta,400,400))
Tetiqueta.set("Salio: "+cartas[int(nombre)-1])
sonido=CarpetaSonido+"s_("+nombre+").ogg"
reproducirsonido(sonido)
time.sleep(float(spin.get()))
if stop==1:
break
ventana=Tk()
ventana.config(bg="gray")
contenedor=Frame(ventana,width=700,height=700)
contenedor.pack()
Etitulo=Label(contenedor,text="Loteria Mexicana",font=("Arial",40,"bold")).place(x=120,y=20)
Etiempo=Label(contenedor,text="Tiempo entre cartas: ",font=("Arial",12,"bold"))
Etiempo.place(x=130,y=100)
spin=Spinbox(contenedor,values=[2,3,4,5,6,7,8,9,10,11,12],font=("Arial",12,"bold"))
spin.place(x=295,y=101)
Limagen=Label(contenedor)
Limagen.place(x=300,y=180)
TBoton=StringVar()
TBoton.set("Jugar")
Bplay=Button(contenedor,textvariable=TBoton,command=play)
Bplay.place(x=500,y=98)
Tetiqueta=StringVar()
Enombre=Label(contenedor,textvariable=Tetiqueta,font=("Arial",40,"bold"))
Enombre.place(x=80,y=400)
pygame.init()
ventana.mainloop()