import os #libreria para obtener rutas de direcciones
import random # Generar mumeros aleatorios
import threading #Libreria Para manejar hilos
from Tkinter import *#GUI,Label,botones,menu,entry,Tk,frame
from PIL import Image, ImageTk#Tratar imagenes, PNG
import time #Para tiempos o espera o esperar o wait segundos
import pygame # Para juedos 2D y 3D
"""Variables globales"""
imagen=0
stop=0
dir = os.path.dirname("/home/alberto/Documentos/Proyectos Python/Aleatorio/")
Ccartas=dir+"/png/" #establece la ruta hacia las imagenes de cartas
Csonido=dir+"/mp3/" #establece la ruta hacia los 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 = ["Gato", "Perro", "Casa", "Lapiz", "Gusano", "3D", "Flor", "Carro"]
while True:
nombre=str(cartas.index(random.choice(cartas))+1)
carta = Ccartas + nombre + ".png"
Limagen.config(image=setimagen(carta,400,400))
Tetiqueta.set(cartas[int(nombre)-1])
sonido=Csonido+nombre+".mp3"
reproducirsonido(sonido)
time.sleep(float(spin.get()))
if stop==1:
break
ventana=Tk()#Creamos una ventana tipo Tk()
ventana.title("Imagenes Aleatorias")
ventana.geometry("700x700")
#ventana.config(bg="gray")#con config y Bg es al fondo del color de la ventana
filename = PhotoImage(file = "/home/alberto/Documentos/LV2.png")
background_label = Label(ventana, image=filename)
background_label.place(x=-610, y=-580)#, relwidth=1, relheight=1)
#ventana=Frame(ventana,width=700,height=700)#Poner un frame arriba de la ventana o Tk()
#ventana.pack()
Etitulo=Label(ventana,text="Imagenes Random",font=("Arial",40,"bold"),fg='white',bg='red').place(x=120,y=20)
Etiempo=Label(ventana,text="Tiempo Entre Imagenes: ",font=("Arial",12,"bold"),fg='white',bg='red')
Etiempo.place(x=100,y=100)
spin=Spinbox(ventana,values=[2,3,4,5,6,7,8,9,10,11,12],font=("Arial",12,"bold"))
spin.place(x=295,y=101)
Limagen=Label(ventana)
Limagen.place(x=250,y=180)
TBoton=StringVar()
TBoton.set("Jugar")
Bplay=Button(ventana,textvariable=TBoton,command=play)
Bplay.place(x=500,y=98)
Tetiqueta=StringVar()
Enombre=Label(ventana,textvariable=Tetiqueta,font=("Arial",40,"bold"),fg='white',bg='red')
Enombre.place(x=250,y=500)
pygame.init()
ventana.mainloop()
Ingenieria en Sistemas Computacionales. Instituto Tecnológico De Matamoros.
App Grafica | Imagenes Aleatorias
-
import pygame from pygame.locals import * from OpenGL.GL import * from OpenGL.GLU import * verticies = ( (1, -1, -1), (1, 1, -1)...
-
import os import random import threading from Tkinter import * from PIL import Image, ImageTk import time import pygame ""...