PROGRAMA EN PYTHON:
El objetivo principal de este programa es simular el juego
de piedra papel o tijera contra la ‘la cpu’
De que manera(FUNCIONAMIENTO DEL CODIGO):
Lo primero que se hizo fue importar las librerias
necesarias:Tkinter,tkMessageBox y random.
Bien lo primero que se creo fue el objeto para poder
utilizar la librería tkinter llamada en este caso “ventana”.A la ventana le di
valores de ancho y largo y un respectivo titulo.
Depues cree las etiquetas y botones que se mostrarían en
dicha ventana(a los botones les asigne una funcion con un parámetro en
especial).
En la dicha funcion se creo un array donde se introducieron
los tres valores posibles en el juego,hacemos una elección aleatoria de los 3
valores dentro del array con random.choice esto será guardado en una variable y
se tomara como una decisión de la cpu.
Ahora en este caso,hay un parámetro en la funcion la cual
cambia dependiendo de la elección del botón que presione el usuario al ejecutar
el programa,este parámetro se llama “opcion” y se cambia el valor de en cada
uno de los botones.El valor de opción es igualado a la variable decisiónusuario
y esta a su vez es lo que se compra dentro de un if(que es el principal)
El if lo que compara
son números 1,2 y 3:
Tomo como valor de ellos simulando(1 (piedra,2(papel) y3
(tijera))
Al presionar uno de los botones el if empezara a ejecutarse
con el valor que se le dio al botón:
Compara con decisionusuario y elige:
Lo primero que se hace dentro del if es mostrar en pantalla
los labels que nos indica la decisión que hemos tomado y la que se ha generado
con el random y enseguida nos muestra una imagen de la decisión que hemos
tomado(esto con la funcion PhotoImage de Tkinter).
Enseguida entramos en otro if el cual sirve para decirnos si
hemos Ganado,perdido o Empatado.Lo que se toma como parámetro en este if es la
generada con random y la comparamos con la cadena de caracteres
correspondientes,las cuales varian dependiendo de que decisión haya tomado el
usuario.
Bien para finalizar cada una de las posibles decisiones nos
arroja en la ventana como resultado:
Una imagen de la decisión de la cpu dependiendo el caso y
también el mensaje de que si hemos ganado empatado o ganado(con la funcion
showinfo).
from Tkinter import * #libreria para utilizar las ventanas,labels,ventanasemergentes y botones
from tkMessageBox import * #para poder utilizar el abra el cuadro de dialogo
import random #para poder generar nuneros aleatorios
def funcion(opcion):
tiposdemanos = ['piedra', 'papel', 'tijera']#creo un arreglo con tres valores posibles
eleccion_aleatoria = random.choice(tiposdemanos)#a la variable le asigno un valor a traves de random utilizando uno de los tres valores que estan en el array
decisioncpu = eleccion_aleatoria#la variable decision cpu se iguala
decision_usuario =opcion#utilizo como parametro la variable opcion y la igualo a decision usuario para poder usarla en el if
if decision_usuario == 1:#el numero uno lo uso como tijera y ese valor se lo asigno al presionar el boton 'piedra'
Decisionusuario=Label(ventana,text='elegiste piedra',font=("agency fb",12)).place(x=50,y=220)
imagen1=PhotoImage(file='piedrausuario.gif')#utilizo una imagen para mostrar mi seleccion
lblusuario=Label(ventana,image=imagen1).place(x=50,y=300)#muestro esa image a traves de un label
DecisionCPU=Label(ventana,text=('la cpu eligio ' + decisioncpu),font=("agency fb",12)).place(x=300,y=220)#muestro en pantalla la decision random que genero
if decisioncpu == "piedra":#la decision random la comparo con cadenas de caracteres en los 3 casos
imagen2 = PhotoImage(file='piedracpu.gif')#eligo la imagen determinada
lblcpu = Label(ventana, image=imagen2).place(x=250, y=300)#y la muestro en pantalla
showinfo(title='resultado', message='empate')#atravez de una ventana emergente muestro si gano,perdio o empato
elif decisioncpu == 'papel':
imagen2 = PhotoImage(file='papelcpu.gif')
lblcpu = Label(ventana, image=imagen2).place(x=250, y=300)
showinfo(title='resultado ', message='perdiste')
else:
imagen2 = PhotoImage(file='tijeracpu.gif')
lblcpu = Label(ventana, image=imagen2).place(x=250, y=300)
showinfo(title='resultado', message='Ganaste')
elif decision_usuario == 2:
imagen1 = PhotoImage(file='papelusuario.gif')
lblusuario = Label(ventana, image=imagen1).place(x=50, y=300)
Label10 = Label(ventana, text='elegiste papel',font=("agency fb",12)).place(x=50, y=220)
Label11 = Label(ventana, text=('la cpu eligio ' + decisioncpu),font=("agency fb",12)).place(x=300, y=220)
if decisioncpu == 'piedra':
imagen2 = PhotoImage(file='piedracpu.gif')
lblcpu = Label(ventana, image=imagen2).place(x=250, y=300)
print 'haz ganado pax'
showinfo(title='resultado ', message='Ganaste')
elif decisioncpu == 'papel':
imagen2 = PhotoImage(file='papelcpu.gif')
lblcpu = Label(ventana, image=imagen2).place(x=250, y=300)
print 'empate'
showinfo(title='resultado', message='empate')
else:
imagen2 = PhotoImage(file='tijeracpu.gif')
lblcpu = Label(ventana, image=imagen2).place(x=250, y=300)
print 'haz perdido!!!!'
showinfo(title='resultado ', message='perdiste')
elif decision_usuario == 3:
imagen1 = PhotoImage(file='tijerausuario.gif')
lblusuario = Label(ventana, image=imagen1).place(x=50, y=300)
Label10 = Label(ventana, text='elegiste tijera',font=("agency fb",12)).place(x=50, y=220)
Label11 = Label(ventana, text=('la cpu eligio ' + decisioncpu),font=("agency fb",12)).place(x=300, y=220)
if decisioncpu == 'piedra':
imagen2 = PhotoImage(file='piedracpu.gif')
lblcpu = Label(ventana, image=imagen2).place(x=250, y=300)
showinfo(title='resultado ', message='perdiste')
elif decisioncpu == 'papel':
imagen2 = PhotoImage(file='papelcpu.gif')
lblcpu = Label(ventana, image=imagen2).place(x=250, y=300)
showinfo(title='resultado ', message='ganaste')
else:
imagen2 = PhotoImage(file='tijeracpu.gif')
lblcpu = Label(ventana, image=imagen2).place(x=250, y=300)
showinfo(title='resultado ', message='empate')
ventana=Tk()
ventana.geometry("500x500")
ventana.title('JUEGO DEL PIEDRA PAPEL O TIJERA')
label1=Label(text="ELIGA UNO DE LOS 3",font=("agency fb",18)).place(x=10,y=30)
label3 = Label(ventana,text='PIEDRA,PAPEL O TIJERA').place(x=0, y=0)
label2 = Label(ventana,text='un juego clasico y sencillo').place(x=0, y=0)
#boton para piedra
Piedra=Button(ventana,text='piedra',command=lambda: funcion(1)).place(x=50, y=100)
#boton para papel
Papel=Button(ventana,text='papel',command=lambda :funcion(2)).place(x=150,y=100)
#boton para tijera
Tijera1=Button(ventana,text='tijera',command=lambda : funcion(3)).place(x=250,y=100)
ventana.mainloop()
PD:estas imagenes deben estar en la misma carpeta que el programa
Programa en ejecucion:
Comentarios
Publicar un comentario