jueves, 18 de octubre de 2018

Unidad 3: Programa de ejemplo juego p1 (Adivina N° y Lotería)

Tarea Juego 

Programando un juego propio (Adivina el numero)

Código:

#Programa de Ivan Alejandro Gutierrez Gracia
from random import *
import random
import time


print("Bienvenido al juego adivina el numero")
n=raw_input ("Ingresa tu nombre: ")

back=1
while back==1:
    linea_punteada = 70 * '-'
    print(linea_punteada)

    print(n+" estoy pensando en un numero entre 1 y 5 " + "crees poder adivinarlo?")
    print("La suerte va a decir el numero de intentos que tienes")
    time.sleep(2)
    print "*"
    time.sleep(2)
    print "**"
    time.sleep(2)
    print "***"

    aux=0
    arr=[1,2,3,4,5]
    intentos=random.choice(arr)
    num=randint(1,5)
    print ("Tienes "+str(intentos)+" intentos")


    while auxnum:
            print("Tu estimacion es muy alta")

        elif est==num:
            break
    if num==est:
        print("Good Job "+n+" has adivinado el numero")
    elif num!=est:
        print("Perdiste "+n+" el numero que estaba pensando es:",num)

    print ("Desea volver a jugar? 1.-Si/2.-No")
    back=input("Respuesta: ")



Link: http://graficaciongutierrezivan.blogspot.com/2018/10/unidad-no3-practica-9-programando-un.html

Versión con interfaz gráfica


Código:
from Tkinter import *
from random import *
import random
import tkMessageBox

intentos =0
aux=0

def inicio_jugar():

    arr = [1, 2, 3, 4, 5]
    global intentos
    intentos = random.choice(arr)
    global num
    num = randint(1, 5)

    nom=entrada1.get()

    et1=Label(contenedor,text="Hola "+nom+" estoy pensando en un numero entre 1 y 5, crees poder adivinarlo?",font=("Times New Roman",15)).place(x=0,y=147)
    et2=Label(contenedor,text="La suerte va a decir el numero de intentos que tienes",font=("Times New Roman",15)).place(x=0,y=207)

    et3=Label(contenedor,text="Tienes "+str(intentos)+" intentos",font=("Times New Roman",15)).place(x=90,y=267)
    parte_2()

def parte_2():
    et4 = Label(contenedor, text="Intenta adivinar: ", font=("Times New Roman", 15)).place(x=90, y=337)
    global entrada2
    entrada2= StringVar()
    objentrada2 = Entry(contenedor, textvariable=entrada2).place(x=242, y=342)

    b2 = StringVar()
    b2.set("Verificar respuesta")
    bgame2 = Button(contenedor, textvariable=b2, command=verificar).place(x=380, y=340)

def verificar():
    global aux
    while auxnum:
            tkMessageBox.showinfo("Alerta", "Tu estimacion es muy alta")
            aux+=1
            break

        if num==est:
            accion = tkMessageBox.askyesno("Atencion",
                                           "Haz ganado el juego\n Quieres volver a jugar?")
            if accion == False:
                ventana.destroy()
                break
            else:
                aux = 0
                inicio_jugar()
                break

    if intentos==aux:
        accion = tkMessageBox.askyesno("Atencion","Haz perdido el juego\n Quieres volver a jugar?")
        if accion == False:
            ventana.destroy()
        else:
            aux = 0
            inicio_jugar()

ventana=Tk()
ventana.config(bg="gray")
contenedor=Frame(ventana,width=650,height=650)
contenedor.pack()
t1=Label(contenedor,text="Bienvenido al juego adivina el numero",font=("Times New Roman",15)).place(x=90,y=25)
t2=Label(contenedor,text="Ingresa tu nombre: ",font=("Times New Roman",15)).place(x=90,y=87)


b1=StringVar()
b1.set("Iniciar juego")
bgame=Button(contenedor,textvariable=b1,command=inicio_jugar).place(x=407,y=87)
entrada1=StringVar()
objentrada=Entry(contenedor,textvariable=entrada1).place(x=240,y=90)


ventana.mainloop()







Link: http://graficaciongutierrezivan.blogspot.com/2018/11/unidad-no3-practica-25-juego-de-los.html

La loteria con Interfaz Grafica



#Ambrocio Isaias
import os# libreria para obtener direcciones de carpeta
import random #para generar numeros aleatorios
import threading #libreria para manejar hilos
from Tkinter import * #GUI, botones, label, menu, entry, tk.frame
import PIL
from PIL import Image, ImageTk #libraria para tratar imagenes
import time # para tiempos o dormir o espera
import pygame#para juegos 2D o 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"]

    # tiempo=time*1000
    x = 0
    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()))
        x = x + 1
        if stop == 1:
            break


ventana = Tk()#creando objeto ventana TK()
ventana.config(bg="gray")#con config y Bg es el fondo
contenedor = Frame(ventana, width=700, height=700)#poner un frame arriba del marco o ventana
contenedor.pack()#para cargar ventana y fondo
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()





No hay comentarios:

Publicar un comentario