codigo:
Material de descarga: click aqui
Nota: Los links incluyen el uso de un acortador, favor de resolver el captcha y esperar los 3 segundos que indica el acortador, se recomienda desabilitar el uso de bloqueadores de publicidad
#!/usr/bin/env python # -*- coding: utf-8 -*- from tkinter import * import tkMessageBox import random import Imagenes import os class app(): dirImagenes=os.path.dirname(__file__)+"/Imagenes/" imagenes=[] mazos=["C","E","T","D"] numeros=["0","1","2","3","4","5","6","7","8","9","J","Q","K"] lables=[] c=0 #control de posicion X de los labels indice=0 cuenta=0 #lleva el control de los puntos acumulados def __init__(self): self.ventana=Tk() self.ventana.geometry("400x500") self.ventana.title("Black Jack") self.load() self.ventana.mainloop() def load(self): self.ET=Label(self.ventana,text="Black Jack",font=("Arial",12,"bold")).pack() self.ET1=Label(self.ventana,text="Hola Bienvenido al juego de Black Jack\n" "Reglas: \n" "1.Intenta Ganar al sumar 21 puntos no mas no menos\n" "2.Si obtienes un as puedes transformarlo en valores de 1 u 11\n" "3.Diviertete", font=("Arial",10)).pack() self.BT1=Button(self.ventana,text="Pedir Carta",command=self.button).pack(pady=10, fill=X) self.BT2=Button(self.ventana,text="Terminar Partida", command=self.terminar).pack(fill=X) self.Lpuntaje=Label(self.ventana,text="Puntaje: "+str(self.cuenta),font=("Arial",12,"bold")) self.Lpuntaje.place(x=10,y=200) def button(self): mazo=random.choice(self.mazos) numero=random.choice(self.numeros) carta=mazo+numero self.imagenes.append(Imagenes.get_imagen(self.dirImagenes+carta+".png", 80, 80)) label=Label(self.ventana, image=self.imagenes[self.indice]) label.place(x=self.c,y=300) self.lables.append(label) self.c=self.c+60 if numero=="0" or numero=="K" or numero=="Q" or numero=="J": self.cuenta=self.cuenta+10 elif numero=="1": self.suventana=Toplevel() self.suventana.geometry("180x70") self.ET2=Label(self.suventana,text="¿Quieres que tu As valga 1 u 11?").grid(column=0,row=0,columnspan=2) self.BT3=Button(self.suventana,text="valor: 1",command=lambda : self.valor_as(1)).grid(column=0,row=1,padx=10,pady=10) self.BT4=Button(self.suventana,text="valor: 11",command=lambda :self.valor_as(2)).grid(column=1,row=1,padx=10,pady=10) else: self.cuenta=self.cuenta+int(numero) self.Lpuntaje.config(text="Puntaje: "+str(self.cuenta)) self.indice = self.indice + 1 self.check_win(self.cuenta) def check_win(self,valor): if valor==21: tkMessageBox.showinfo("Ganador","Has ganado") self.continuar() elif valor>21: tkMessageBox.showinfo("Perdedor","Has perdido") self.continuar() def continuar(self): continuar = tkMessageBox.askyesno("Salir", "¿Deseas jugar otra partida?") if continuar: self.indice = 0 self.cuenta=0 self.c = 0 self.Lpuntaje.config(text="Puntaje: 0") for i in range(0,len(self.imagenes), 1): label=self.lables[i] label.destroy() del self.lables[:] del self.imagenes[:] else: self.ventana.destroy() def valor_as(self,valor): if valor==1: self.cuenta=self.cuenta+1 if valor==2: self.cuenta=self.cuenta+11 self.Lpuntaje.config(text="Puntaje: " + str(self.cuenta)) self.suventana.destroy() def terminar(self): tkMessageBox.showinfo("Perdedor", "Has perdido") self.continuar() app=app()Salida:
Material de descarga: click aqui
Nota: Los links incluyen el uso de un acortador, favor de resolver el captcha y esperar los 3 segundos que indica el acortador, se recomienda desabilitar el uso de bloqueadores de publicidad
Comentarios
Publicar un comentario