class Nuevojuego(QMainWindow): def __init__(self): """Contructor Setea uno de los dos checkbox de alertas en true y anade el fondo a la ventana.""" QMainWindow.__init__(self) self.ui= Ui_NuevoJuego() self.ui.setupUi(self) self.ui.pBJugar.clicked.connect(self.onPbjugarClicked) self.ui.pBCancelar.clicked.connect(self.onPbcancelarClicked) self.MessageBox= ctypes.windll.user32.MessageBoxA self.MB_ICONERROR = 0x00000010L #Critical Icon def onPbjugarClicked(self): """Despliega la ventana con el tablero para empezar el juego *Crea una instancia de la clase Sudoku y la muestra. *Verificara que se halla escogido un solo nivel de dificultad. *Verificara que halla escogido al menos una opcion de alerta.""" facil=self.ui.rBFacil.isChecked() medio=self.ui.rBMedio.isChecked() dificil=self.ui.rBDificil.isChecked() experto=self.ui.rBExperto.isChecked() invalida=self.ui.cbInvalidas.isChecked() incorrecta=self.ui.cbIncorrectas.isChecked() ayuda=self.ui.cbhelp.isChecked() if facil==False and medio==False and dificil==False and experto==False: self.MessageBox(None,"Seleccione Un Nivel De Dificultad..!","ERROR",self.MB_ICONERROR) elif invalida==False and incorrecta==False: self.MessageBox(None,"Seleccione al menos una opcion de alertas..!","ERROR",self.MB_ICONERROR) elif facil: self.n= Sudoku(1,invalida,incorrecta,ayuda,"") self.n.setVisible(True) self.close() elif medio: self.n= Sudoku(2,invalida,incorrecta,ayuda,"") self.n.setVisible(True) self.close() elif dificil: self.n= Sudoku(3,invalida,incorrecta,ayuda,"") self.n.setVisible(True) self.close() elif experto: self.n= Sudoku(4,invalida,incorrecta,ayuda,"") self.n.setVisible(True) self.close() def onPbcancelarClicked(self): """Despliega la ventana anterior Crea una instancia de la ventana principal y la muestra""" from principal import Principal self.p= Principal() self.p.setVisible(True) self.close()
class Principal(QMainWindow): def __init__(self): """Costructor""" QMainWindow.__init__(self) self.ui= Ui_principal() self.ui.setupUi(self) self.show() self.ui.nuevoJuego.clicked.connect(self.onNuevojuegoClicked) self.ui.AcercaDe.clicked.connect(self.onAcercadeClicked) self.ui.salir.clicked.connect(self.onSalirClicked) self.ui.CargaJuego.clicked.connect(self.onCargajuegoClicked) self.ui.Estadisticas.clicked.connect(self.onEstadisticaClicked) self.MessageBox= ctypes.windll.user32.MessageBoxA self.MB_ICONERROR = 0x00000010L #Critical Icon def onNuevojuegoClicked(self): """Inicia un nuevo juego Crea una instancia de la clase NuevoJuego y la muestra para poder escoger las opciones de juego.""" self.n= Nuevojuego() self.n.setVisible(True) self.close() def onAcercadeClicked(self): """Muestra informacion del grupo desarrollador""" self.a = Acercade() self.a.setVisible(True) self.close() def onEstadisticaClicked(self): """Muestra informacion del grupo desarrollador""" self.a = estadisticas() self.a.setVisible(True) self.close() def onSalirClicked(self): """Nos permite cerrar la aplicacion""" self.close() def onCargajuegoClicked(self): """Nos permite Cargar un juego anteriormente guardado""" (nombre,ok) = QInputDialog.getText(self, self.tr("Sudoku"), self.tr("Nombre:"),QLineEdit.Normal, self.tr("")) if ok==True: while str(nombre)=="" and ok==True: self.MessageBox(None,"Ingrese Un Nombre..!","ERROR",self.MB_ICONERROR) (nombre,ok) = QInputDialog.getText(self, self.tr("Sudoku"), self.tr("Nombre:"),QLineEdit.Normal, self.tr("")) if ok==True: archivo=open("Partidas.txt","r") linea=archivo.readline() Existe=0 while linea!="": partida=linea.split(",") nombreG=partida[0] if str(nombre)==nombreG: Existe=1 break linea=archivo.readline() if Existe==1: invalida=partida[3] incorrecta=partida[4] ayuda=partida[5] self.n= Sudoku(5,invalida,incorrecta,ayuda,partida) self.n.setVisible(True) self.close() else: self.MessageBox(None,"No Se Encontro El Archivo..!","ERROR",self.MB_ICONERROR) archivo.close()