PROGRAMA+FUENTE+GRUPO+No.2+SECCION+20

//**__PROGRAMA FUENTE Y CÓDIGO DEL PROGRAMA__**//



//**__Programa Fuente: __**//

code format="python"
 * 1) Universida del Valle de Guatemala
 * 2) Fundamentos de Programacion
 * 3) Proyecto 2
 * 4) Cesar Tobar 08015
 * 5) José Fernando Díez 08224
 * 6) Federico Staackmann 08934

from wxPython.wx import * from wx.lib.wordwrap import wordwrap import wx

reinicia = 101 rendirse = 102 hint = 103 salir = 104 instrucciones = 105 acerca = 106 tablero = [[0 for x in range(13)] for y in range(12)]

def FUTBOL: global tablero for i in range(0,12): for j in range(0,13): tablero[i][j] = '*' tablero[0][2] = '1' tablero[0][5] = '2' tablero[1][2] = 'B'   tablero[1][5] = 'R'    tablero[1][7] = '3' tablero[2][2] = 'R'   tablero[2][4] = '2' tablero[2][5] = 'E'   tablero[2][6] = 'S'    tablero[2][7] = 'P'    tablero[2][8] = 'A'    tablero[2][9] = 'N'    tablero[2][10] = 'A'    tablero[3][0] = '1' tablero[3][1] = 'F'   tablero[3][2] = 'A'    tablero[3][3] = 'L'    tablero[3][4] = 'T'    tablero[3][5] = 'A'    tablero[3][7] = 'O'    tablero[3][10] = '4' tablero[4][2] = 'S'   tablero[4][5] = 'L'    tablero[4][7] = 'R'    tablero[4][10] = 'R'    tablero[5][2] = 'I'    tablero[5][5] = 'M'    tablero[5][6] = '3' tablero[5][7] = 'T'   tablero[5][8] = 'A'    tablero[5][9] = 'C'    tablero[5][10] = 'O'    tablero[5][11] = 'S'    tablero[6][2] = 'L'    tablero[6][5] = 'A'    tablero[6][7] = 'E'    tablero[6][10] = 'N'    tablero[7][5] = 'D'    tablero[7][6] = '4' tablero[7][7] = 'R'   tablero[7][8] = 'O'    tablero[7][9] = 'J'    tablero[7][10] = 'A'    tablero[8][5] = 'R'    tablero[8][7] = 'O'    tablero[8][10] = 'L'    tablero[9][5] = 'I'    tablero[9][10] = 'D'    tablero[10][5] = 'D'    tablero[10][10] = 'O'
 * 1) --> Termina la funcion que crea el tablero de FUTBOL<--

FUTBOL

class MyFrame(wxFrame): #FRAME ES LA VENTANA def __init__(self, parent, ID, title): #CONSTRUCTOR DEL OBJETO FRAME wxFrame.__init__(self, parent, ID, title,                        wxDefaultPosition, wxSize(600, 600))

self.CreateStatusBar #

#CREACION DEL MENU DE LA PESTALLA juego = wxMenu juego.Append(reinicia, "Reiniciar","Reinicia el juego") juego.AppendSeparator #SEPARA LAS OPCIONES CON UNA LINEA juego.Append(rendirse, "Rendirse", "Muestra las respuestas y termina el juego") juego.AppendSeparator juego.Append(hint, "Hint", "Coloca letras como ayuda dentro del crucigrama") juego.AppendSeparator juego.Append(salir, "Salir", "Cierra el la pantalla de juego")

menuBar = wxMenuBar menuBar.Append(juego, "Juego"); # SE CREA LA PESTAÑA JUEGO self.SetMenuBar(menuBar) # SE COLOCA LA BARRA DE LAS PESTAÑAS

# CREACION DE LA PESTAÑA AYUDA ayuda = wxMenu ayuda.Append(instrucciones,"Ver instrucciones", "Muestra una pantalla con las intrucciones") ayuda.AppendSeparator ayuda.Append(acerca,"Acerca del juego")

menuBar.Append(ayuda,"Ayuda")

EVT_MENU(self, salir, self.Cerrar) EVT_MENU(self, reinicia, self.reiniciar) EVT_MENU(self, rendirse, self.Rendirse) EVT_MENU(self, hint, self.HINT) EVT_MENU(self, instrucciones, self.INFO) EVT_MENU(self, acerca, self.ACERCA) self.MUESTRA #Funcion que crea la cuadricula

#funcion que se ejecuta al presionar salida en la pestana juego def Cerrar(self, event): mensaje = wxMessageDialog(self, "Gracias por jugar","ADIOS", wxOK ) mensaje.ShowModal mensaje.Destroy self.Close(true) #termina funcion

#Funcion que reinicia el juego, quitando todo el texto de las casillas def reiniciar(self,event): for i in range (12): for j in range (13): if tablero[i][j] != '*' and not tablero[i][j].isdigit: self.cosa[i][j].SetValue(" ") #termina funcion

def Rendirse(self,event): for i in range (12): for j in range (13): if tablero[i][j] != '*' and not tablero[i][j].isdigit: self.cosa[i][j].SetValue(tablero[i][j]) #termina funcion

def HINT(self, event): for i in range(12): for j in range(13): if tablero[i][j] != '*' and not tablero[i][j].isdigit: if self.cosa[i][j].GetValue=="": self.cosa[i][j].SetValue(tablero[i][j]) break #termina funcion

def INFO (self, event): mensaje = wxMessageDialog(self, "INSTRUCCIONES:\n"                                 "COMPLETA EL SIGUIENTE CRUCIGRAMA CON AYUDA\n"                                  "DE LAS PISTAS A LA DERECHA DE LA PANTALLA. \n"                                  "CUANDO ESTES SEGURO DE TUS RESPUESTAS HAZ \n"                                  "CLICK EN EL BOTON DE REVISAR RESPUESTAS.\n"                                  "SI NECESITAS COLOCAR LA LETRA Ñ COLOCA LA N\n"                                  "DE LO CONTRARIO TE LA CONTARA COMO INCORRECTA","***** INSTRUCCIONES *****", wxOK ) mensaje.ShowModal mensaje.Destroy #termina funcion

def ACERCA(self, event): mensaje = wxMessageDialog(self, "CRUCIGRAMA 1.0 \n\n"                                 "JOSE FERNANDO DIEZ \t08224\n"                                  "FEDERICO STAACKMANN \t08934\n"                                  "CESAR TOBAR \t\t08015 \n","***** ACERCA DEL PROGRAMA *****", wxOK ) mensaje.ShowModal mensaje.Destroy #termina funcion

#funcion que muestra la pantalla del juego, con los espacios para escribir y todo def MUESTRA(self): self.cosa = [[0 for x in range(13)] for y in range(12)]#Matriz de 11 filas y 12 Columnas       cuadricula = wx.GridBagSizer        for i in range (12):            for j in range (13):                if tablero[i][j] == '*':                    self.cosa[i][j] = wx.StaticText(self,size = wx.Size(30,30))# Mensaje que no se puede modificar                    self.cosa[i][j].SetBackgroundColour(wx.BLACK)                elif tablero[i][j].isdigit:                    self.cosa[i][j] = wx.StaticText(self,-1,size = wx.Size(30,30), label = tablero[i][j])                    self.cosa[i][j].SetBackgroundColour(wx.BLACK)                    self.cosa[i][j].SetForegroundColour(wx.WHITE)                else:                    self.cosa[i][j] = wx.TextCtrl(self,size = wx.Size(30,30))

self.cosa[i][j].SetFont(wx.Font(12,wx.NORMAL,wx.NORMAL,wx.NORMAL)) cuadricula.Add(self.cosa[i][j],(i,j))

self.pistas = wx.StaticText(self,-1,                                   label = "\nPISTAS: \nHORIZONTALES:\n"                                    "1. Termino que se utiliza cuando se comete una infracción contra otro jugador. \n"                                    "2. Seleccion ganadora de la ultima edicion de la Eurocopa\n"                                    "3. Nombre común que se les da a los zapatos de futbol.\n"                                    "4. Color de tarjeta que amerita la expulsion de un jugador.\n"                                    "\nVERTICALES:\n"                                    "1. Selección de futbol que más mundiales ha ganado.\n"                                    "2. Equipo que mas ligas de europa  ha ganado.\n"                                    "3. Nombre del jugador que cubre la portería.\n"                                    "4. Maximo goleador en la historia de mundiales.") self.pistas.SetBackgroundColour(wx.BLACK) self.pistas.SetForegroundColour(wx.WHITE) self.pistas.SetFont(wx.Font(12, wx.NORMAL,wx.NORMAL,wx.NORMAL)) cuadricula.Add(self.pistas, (0,15), (9,15))

#crea el boton para revisar las respuestas self.boton = wx.Button(self, -1, "REVISAR RESPUESTAS", (50,50)) self.boton.SetFont(wx.Font(12, wx.NORMAL,wx.NORMAL,wx.NORMAL)) cuadricula.Add(self.boton, (10,15)) self.SetSizerAndFit(cuadricula) self.Show(True)

self.boton.Bind(wx.EVT_BUTTON,self.REVISA) #termina la funcion

def REVISA(self, event): correcto = True for i in range (12): for j in range (13): if tablero[i][j] != '*' and not tablero[i][j].isdigit: ingreso = self.cosa[i][j].GetLineText(0) ingreso = ingreso.upper cosa = tablero[i][j] if ingreso != cosa: correcto = False if correcto: mensaje = wxMessageDialog(self, "FELICITACIONES!! HAS GANADO!","***** GANADOR *****", wxOK ) mensaje.ShowModal mensaje.Destroy else: mensaje = wxMessageDialog(self, "LO SIENTO, TODAVIA NO HAS GANADO\n SIGUE INTENTANDOLO","***** INTENTA OTRA VEZ *****", wxOK ) mensaje.ShowModal mensaje.Destroy #termina la funcion

class MyApp(wx.App): def OnInit(self): frame = MyFrame(None,-1,title = "***** CRUCIGRAMA *****")# se le pone el titulo de la ventan frame.Show self.SetTopWindow(frame) #hace que se muestre como la primera ventana return True

if __name__ == "__main__": app = MyApp app.MainLoop

code

REGRESAR A MENÚ

Imagen "Pantalla": @http://tux.crystalxp.net/es.id.18255-pusio-tuxmonitor.html Imagen "Codigo": @http://tux.crystalxp.net/es.id.14535-adrielhernandez-tuxlock-combination.html