1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 | # -*- 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() |
lunes, 12 de noviembre de 2018
juego de los orcos con interfaz
Suscribirse a:
Comentarios de la entrada (Atom)
No hay comentarios.:
Publicar un comentario