10- Juego de la lotería con interfaz gráfica (Programa de ambrocio)
Codigo:
import os #libreria para obtener rutas de direcciones en carpetas import random #para generar numeros aleatorios import threading #libreria para manejar hilos from Tkinter import * #GUI, botones,label,menu,entry, import PIL from PIL import Image, ImageTk #tratar imagenes, gif,png import time #para tiempos,dormir,espera import pygame #para juegos 2D y figuras 3D """Variables globales""" imagen = 0 stop = 0 dir = os.path.dirname(__file__) Ccartas = dir + "/Cartas/" # establece la ruta hacia las imagenes de cartas Csonido = dir + "/Sonidos/" # 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 """play: sirve para controlar la pulsasion del boton, si se pulsa una vez el boton jugar en pantalla deberia iniciar el juego pero si se vuelve a pulsar deberia detenerse y dado que se usa el mismo boton para ambas acciones la uso para controlar las acciones stop: se usa para controlar el hilo de ejecucion declarado, si stop vale 1 debera terminar el hilo, si vale 0 debera continuar hasta que se le indique""" 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(Csonido + "inicio.ogg") time.sleep(3) while True: nombre = str(cartas.index(random.choice(cartas)) + 1) carta = Ccartas + nombre + ".png" Limagen.config(image=setimagen(carta, 400, 400)) Tetiqueta.set("Salio: " + cartas[int(nombre) - 1]) sonido = Csonido + "s_(" + nombre + ").ogg" reproducirsonido(sonido) time.sleep(float(spin.get())) if stop == 1: break ventana = Tk() #Creamos un objeto ventana Tk() ventana.config(bg="gray") #con config y Bg es al fondo color contenedor = Frame(ventana, width=700, height=700) #frame arriba del marco o ventana contenedor.pack() #para cargar ventana y frame 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()
11- Juego de BlackJack(Programa de Antonio Huerta)
Codigo:
#Librerias import random import time #Variables Globales global cartas cartas = ["A",2,3,4,5,6,7,8,9,10,"J","Q","K"] global nombrejugadores nombrejugadores = [] #Funciones def TurnoCartas(nombre): total = 0 eleccion = 1 i = 1 deck = [] print "-Turno de ",nombre,": " while (eleccion!=0 & total<21 0="" 11="" 1="" break="" deck.append="" elif="" else:="" i="" if="" ncarta="" numero="" numerosnaturales="[2,3,4,5,6,7,8,9,10]" por="" print="" que="" quieres="" return="" tenga="" time.sleep="" total="" tramposo="" tu="" u="" ue="" valor="">1): print "-Total: ", total,"\n" if(total<21 0="" 1="" 2="" 3="" 72="" artas:="" blackjack="" carta="" cartas="" deck.append="" deck="" def="" del="" el="" eleccion="0" elif="" else:="" es:="" for="" ganador2j="" ganador="" has="" hecho="" i="" if="" in="" inalizar="" jugador="" l="" mala="" mirar="" n="" nombre="" nombrejugadores.append="" nombrejugadores="" ntroduce="" numero="" numjugadores="" otra="" pedir="" perdido="" print="" range="" respuesta="=2):" return="" suerte="" time.sleep="" total="" turno="" tus="" un="" while="">J2): print nombre[0]," Con un Total de ",J1 elif(J2>J1): print nombre[1]," Con un Total de ",J2 elif(J1==J2): print "\nHay un EMPATE!! con un Total de ",J1," en Ambos Jugadores!!" else: print "\nLos 2 Jugadores PERDIERON!" def Ganador3J(J1,J2,J3, nombre): print "El Ganador es: ", time.sleep(3) if (J1 > J2 and J1>J3): print nombre[0], " Con un Total de ", J1 elif (J2 > J1 and J2>J3): print nombre[1], " Con un Total de ", J2 elif (J3 > J1 and J3>J2): print nombre[2], " Con un Total de ", J3 elif(J1==J2 and J1!=J3 and J2!=J3): print "\nHay un EMPATE!! entre ",nombre[0]," y ",nombre[1]," con un Total de ", J1, " en los Jugadores!!" elif (J2 == J3 and J2 != J1 and J3!=J1): print "\nHay un EMPATE!! entre ", nombre[1], " y ", nombre[2], " con un Total de ", J2, " en los Jugadores!!" elif (J1 == J3 and J1 != J2 and J3!=J2): print "\nHay un EMPATE!! entre ", nombre[0], " y ", nombre[2], " con un Total de ", J1, " en los Jugadores!!" elif (J1 == J2 and J2 == J3): print "\nHay un EMPATE!! con un Total de ", J1, " en TODOS los Jugadores!!" else: print "\nLos 3 Jugadores PERDIERON!" #MAIN continuar = 1 while continuar != 0: print "JUEGO DE BLACK JACK" print "-"*72 numjugadores = input("Numero de Jugadores: 1) 1 Jugador 2) 2 Jugadores 3) 3 Jugadores\n") NombreJugadores(numjugadores) if(numjugadores==1): print "Buenas, Jugadores, Vamos a empezar la Partida de BlackJack" time.sleep(4) print "Inicia el Jugador numero 1" time.sleep(2) Jugador1 = TurnoCartas(nombrejugadores[0]) print "Total del Jugador = ",Jugador1,"\n" time.sleep(3) continuar = input("\nQuieres Jugar Otra Vez??? 1)Si 0)No\n") del nombrejugadores[:] print "-" * 72 elif(numjugadores==2): print "Buenas, Jugadores, Vamos a empezar la Partida de BlackJack" time.sleep(4) Jugador1 = 0 Jugador2 = 0 for i in range(numjugadores): print "Inicia el Jugador numero ",i+1 time.sleep(2) if(i==0): Jugador1 = TurnoCartas(nombrejugadores[i]) print "Turno Finalizado. Espera a tu Oponente...\n" time.sleep(3) print "-" * 72 else: Jugador2 = TurnoCartas(nombrejugadores[i]) print "Turno Finalizado.\n" time.sleep(2) print "Eligiendo Ganador", time.sleep(2) print ".", time.sleep(2) print ".", time.sleep(2) print ".\n" time.sleep(2) Ganador2J(Jugador1,Jugador2,nombrejugadores) #jugadores = {nombrejugadores[0]: Jugador1 , nombrejugadores[1]: Jugador2} # print "\nEl Ganador es", #time.sleep(3) #print max(jugadores, key=jugadores.get), " con un Total de ",max(jugadores.values()) #time.sleep(3) continuar = input("\nQuieres Jugar Otra Vez??? 1)Si 0)No\n") del nombrejugadores[:] print "-" * 72 elif(numjugadores == 3): print "Buenas, Jugadores, Vamos a empezar la Partida de BlackJack" time.sleep(4) Jugador1 = 0 Jugador2 = 0 Jugador3 = 0 for i in range(numjugadores): print "Inicia el Jugador numero ", i + 1 time.sleep(2) if (i == 0): Jugador1 = int(TurnoCartas(nombrejugadores[i])) print "Turno Finalizado. Espera a tu Oponente...\n" time.sleep(3) print "-" * 72 elif(i == 1): Jugador2 = int(TurnoCartas(nombrejugadores[i])) print "Turno Finalizado. Espera a tu Oponente...\n" time.sleep(3) print "-" * 72 else: Jugador3 = int(TurnoCartas(nombrejugadores[i])) print "Turno Finalizado.\n" time.sleep(2) print "Eligiendo Ganador", time.sleep(2) print ".", time.sleep(2) print ".", time.sleep(2) print ".\n" time.sleep(2) Ganador3J(Jugador1, Jugador2, Jugador3, nombrejugadores) #jugadores = {nombrejugadores[0]: Jugador1, nombrejugadores[1]: Jugador2, nombrejugadores[2]: Jugador3} #print "\nEl Ganador es", #time.sleep(3) #print max(jugadores, key=jugadores.get), " con un Total de ", max(jugadores.values()) #time.sleep(3) continuar = input("\nQuieres Jugar Otra Vez??? 1)Si 0)No\n") del nombrejugadores[:] print "-" * 72 21>21>
12 -Abriendo una imagen
Codigo:
import Tkinter as tk from PIL import Image, ImageTk root=tk.Tk() #se uso para hacer una ventana img = Image.open("Android.gif") #se usa el objeto image de la libreria pil para abrir un archivo gif img.thumbnail((500, 300), Image.ANTIALIAS) #establezco sus dimensiones y la propiedad antialiasado imagen = ImageTk.PhotoImage(img) #la convierto a un formato soportado por los widgets de tkinter #tkimage = ImageTk.PhotoImage(img) tk.Label(root,image=imagen).pack() root.mainloop()
13- Mostrando imagenes al azar
Enlace archivos:
https://drive.google.com/drive/folders/1zIK0l8N_O2kAJQL19hRuQU0tFMjLt_ys
Enlace archivos:
https://drive.google.com/drive/folders/1zIK0l8N_O2kAJQL19hRuQU0tFMjLt_ys
Codigo:
from Tkinter import * #para crear la GUI from PIL import Image, ImageTk #despliegue de imagenes import os #para dar una ruta path de una carpeta o directorio import random #para seleccionar y dar numeros aleatorios dir = os.path.dirname(__file__) #lo utilizo para dar una ruta de donde estan mis imagenes fotos = dir + "/Imagenes/" root = Tk() #lo uso para la ventana de app de tkinter arreglo = [1,2,3,4,5,6,7,8] #crear un areglo con el numero de las imagenes eleccion_aleatoria = str(arreglo.index(random.choice(arreglo))+1) #se toma un elemento del array al azar y se hace string print eleccion_aleatoria figura = fotos + eleccion_aleatoria + ".png" #asignas la extension png a al imagen print figura "Como despliego el archivo en la ventana tk" img = Image.open(figura) #va a la ruta de la imagen y la abre tkimage = ImageTk.PhotoImage(img) #despliega la imagen etiqueta = Label(root,image=tkimage) #la imagen se pone en una etiqueta etiqueta.pack() #la etiqueta se despliega
14- Mostrando imagenes al azar con sonidos
Codigo:
from Tkinter import * #para crear la GUI from PIL import Image, ImageTk #despliegue de imagenes import os #para dar una ruta path de una carpeta o directorio import random #para seleccionar y dar numeros aleatorios import pygame dir = os.path.dirname(__file__) #lo utilizo para dar una ruta de donde estan mis imagenes fotos = dir + "/Imagenes/" Csonido=dir + "/Sonidos8/" #establece la ruta hacia los sonidos root = Tk() #lo uso para la ventana de app de tkinter arreglo = [1,2,3,4,5,6,7,8] #crear un areglo con el numero de las imagenes eleccion_aleatoria = str(arreglo.index(random.choice(arreglo))+1) #se toma un elemento del array al azar y se hace string figura = fotos + eleccion_aleatoria + ".png" #asignas la extension png a al imagen sonido = Csonido + eleccion_aleatoria + ".mp3" def reproducirsonido(sonido): pygame.init() pygame.mixer.music.load(sonido) pygame.mixer.music.play() #Como despliego el archivo en la ventana tk img = Image.open(figura) #va a la ruta de la imagen y la abre tkimage = ImageTk.PhotoImage(img) #despliega la imagen etiqueta = Label(root,image=tkimage,command=reproducirsonido(sonido)) #la imagen se pone en una etiqueta etiqueta.pack() #la etiqueta se despliega root.geometry("500x500") root.mainloop()
15- Juego de los orcos con interfaz grafica
Enlace archivos:
https://drive.google.com/drive/folders/1GMU2d0KxkEc3OEvY_dUC60Twj_KN_CaE
Enlace archivos:
https://drive.google.com/drive/folders/1GMU2d0KxkEc3OEvY_dUC60Twj_KN_CaE
Codigo:
# -*- coding: utf-8 -*- import sys import random if sys.version_info < (3, 0): from Tkinter import Tk, Label, Radiobutton, PhotoImage, IntVar import tkMessageBox as messagebox else: from tkinter import Tk, Label, Radiobutton, PhotoImage, IntVar from tkinter import messagebox class JuegoChozas: def __init__(self, parent): self.imagen_fondo = PhotoImage(file="Jungle_small_2.gif") self.imagen_choza = PhotoImage(file="Hut_small_2.gif") self.ancho_choza = 60 self.alto_choza = 140 self.container = parent self.Chozas = [] self.result = "" self.ocupar_chozas() self.setup() def ocupar_chozas(self): ocupantes = ['enemigo', 'amigo', 'vacia'] while len(self.Chozas) < 5: computer_choice = random.choice(ocupantes) self.Chozas.append(computer_choice) print("Los ocupantes de las chozas son:", self.Chozas) def entrar_choza(self, numero_choza): print("Entrando en la choza #:", numero_choza) ocupante_choza = self.Chozas[numero_choza-1] print("El ocupante de la choza es: ", ocupante_choza) if ocupante_choza == 'enemigo': self.result = "Enemigo visto en la choza # %d \n\n" % numero_choza self.result += "Has perdido :( Mucha suerte la próxima vez!" elif ocupante_choza == 'vacia': self.result = "La Choza # %d está vacia\n\n" % numero_choza self.result += "Enhorabuena! Has ganado!!!" else: self.result = "Amigo visto en la choza # %d \n\n" % numero_choza self.result += "Enhorabuena! Has ganado!!!" self.anunciar_ganador(self.result) def crear_widgets(self): self.var = IntVar() self.background_label = Label(self.container, image=self.imagen_fondo) txt = "Selecciona una choza en la que entrar. Ganarás si:\n" txt += "La choza está vacia o si su ocupante es tu aliado, de lo contrario morirás" self.info_label = Label(self.container, text=txt, bg='white') # Creamos un dicionario con las opciones para las imagenes de las chozas r_btn_config = {'variable': self.var, 'bg': '#8AA54C', 'activebackground': 'green', 'image': self.imagen_choza, 'height': self.alto_choza, 'width': self.ancho_choza, 'command': self.radio_btn_pressed} self.r1 = Radiobutton(self.container, r_btn_config, value=1) self.r2 = Radiobutton(self.container, r_btn_config, value=2) self.r3 = Radiobutton(self.container, r_btn_config, value=3) self.r4 = Radiobutton(self.container, r_btn_config, value=4) self.r5 = Radiobutton(self.container, r_btn_config, value=5) def setup(self): self.crear_widgets() self.setup_layout() def setup_layout(self): self.container.grid_rowconfigure(1, weight=1) self.container.grid_columnconfigure(0, weight=1) self.container.grid_columnconfigure(4, weight=1) self.background_label.place(x=0, y=0, relwidth=1, relheight=1) self.info_label.grid(row=0, column=0, columnspan=5, sticky='nsew') self.r1.grid(row=1, column=0) self.r2.grid(row=1, column=2) self.r3.grid(row=1, column=4) self.r4.grid(row=4, column=2) self.r5.grid(row=4, column=0) def anunciar_ganador(self, data): messagebox.showinfo("¡Atención!", message=data) # Handle Events def radio_btn_pressed(self): self.entrar_choza(self.var.get()) if __name__ == "__main__": mainwin = Tk() WIDTH = 1280 HEIGHT = 700 mainwin.geometry("%sx%s" % (WIDTH, HEIGHT)) mainwin.resizable(0, 0) mainwin.title("Ataca a los orcos V 2.0.0 - El Videojuego") game_app = JuegoChozas(mainwin) mainwin.mainloop()
16- Utilizando hilos(video 51)
Codigo:
import time import thread def imprimir_mensaje(mensaje): while True: print(mensaje) time.sleep(1) def main(): mensaje="Thread1" mensaje2="Thread2" #empiezo el thread thread.start_new_thread(imprimir_mensaje,(mensaje,)) thread.start_new(imprimir_mensaje,(mensaje2,)) x = raw_input("Estoy esperando que presiones enter...\n") print("Termino la funcion main") main()
17- Utilizando hilos con start
Codigo:
import threading #libreria para hacer hilos import time #liberia para usar un timer def hola_mundo(nombre): print ("Hola Mundo" + nombre) time.sleep(15) if __name__ == "__main__": #va a entrar con el nombre del programa main hilos = threading.Thread(target=hola_mundo,args=(" Ivan",)) #se creo un objeto de tipo hilo y con la clase target #mandamos llamarle al metodo que va a ser un hilo y que va a llevar un argumento que va a ser un nombre #para que lo reciba el metodo 1 hilos.start() print "Se esta haciendo el hilo" print "Datos 1" print ("Dame el valor n1") n1 = input() print ("Dame el valor n2") n2 = input() suma = n1 + n2 print suma
18- Utilizando hilos con start y join
Codigo:
import threading #libreria para hacer hilos
import time #liberia para usar un timer
def hola_mundo(nombre):
print ("Hola Mundo" + nombre)
time.sleep(15)
if __name__ == "__main__": #va a entrar con el nombre del programa main
hilos = threading.Thread(target=hola_mundo,args=(" Ivan",)) #se creo un objeto de tipo hilo y con la clase target
#mandamos llamarle al metodo que va a ser un hilo y que va a llevar un argumento que va a ser un nombre
#para que lo reciba el metodo 1
hilos.start()
hilos.join() #detiene el hilo hasta que termine
print "Se esta haciendo el hilo"
print "Datos 1"
print ("Dame el valor n1")
n1 = input()
print ("Dame el valor n2")
n2 = input()
suma = n1 + n2
print suma
19- Mostrando imagenes al azar con sonido y etiquetas
Codigo:
from Tkinter import * #para crear la GUI from PIL import Image, ImageTk #despliegue de imagenes import os #para dar una ruta path de una carpeta o directorio import random #para seleccionar y dar numeros aleatorios import pygame import threading dir = os.path.dirname(__file__) #lo utilizo para dar una ruta de donde estan mis imagenes fotos = dir + "/Imagenes/" Csonido=dir + "/Sonidos8/" #establece la ruta hacia los sonidos root = Tk() #lo uso para la ventana de app de tkinter arreglo = [1,2,3,4,5,6,7,8] #crear un areglo con el numero de las imagenes eleccion_aleatoria = str(arreglo.index(random.choice(arreglo))+1) #se toma un elemento del array al azar y se hace string figura = fotos + eleccion_aleatoria + ".png" #asignas la extension png a al imagen sonido = Csonido + eleccion_aleatoria + ".mp3" def reproducirsonido(sonido): pygame.init() pygame.mixer.music.load(sonido) pygame.mixer.music.play() #Como despliego el archivo en la ventana tk img = Image.open(figura) #va a la ruta de la imagen y la abre tkimage = ImageTk.PhotoImage(img) #despliega la imagen etiqueta = Label(root,image=tkimage,command=reproducirsonido(sonido)) #la imagen se pone en una etiqueta etiqueta.pack() #la etiqueta se despliega imagenes=["Cat","Dog","House","Pencil","Holy Hand Granade","3D","Flower","Car"] nombre_img = Label(text = imagenes [int (eleccion_aleatoria)-1],font=("Times New Roman",20,"bold")).place(x=100,y=300) root.geometry("500x500") root.mainloop()
20- Utilizando hilos con start (Hola mundo Ivan).-Version Carlos Olvera
Codigo:
"Generar Thread" import threading import time stop = 0 def hola_mundo(nombre): play=1 while play < 11: print ("Hola Mundo" + nombre) play=(play+1) time.sleep(1) #tiempo que duerme el programa if __name__ == "__main__": hilos = threading.Thread(target =hola_mundo, args = (" Ivan ",) ) hilos.start() print 'ultima instruccion del main'
Comentarios
Publicar un comentario