当前位置: 首页>>代码示例>>Python>>正文


Python Sudoku.shuffle方法代码示例

本文整理汇总了Python中sudoku.Sudoku.shuffle方法的典型用法代码示例。如果您正苦于以下问题:Python Sudoku.shuffle方法的具体用法?Python Sudoku.shuffle怎么用?Python Sudoku.shuffle使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在sudoku.Sudoku的用法示例。


在下文中一共展示了Sudoku.shuffle方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: MainWindow

# 需要导入模块: from sudoku import Sudoku [as 别名]
# 或者: from sudoku.Sudoku import shuffle [as 别名]
class MainWindow(QMainWindow):

    # Signals
    cellValueChanged = pyqtSignal(int, int)

    def __init__(self):
        QMainWindow.__init__(self)
        """Inicializador de la clase MainWindow."""
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)
        """Inicializacion del tablero.""" 
        self.initBoard()
        """Coneccion de senales.""" 
        self.ui.actionJUEGO_NUEVO.triggered.connect(self.onActionJuegoNuevoTriggered)
        self.ui.actionSALIR.triggered.connect(self.onActionSalirTriggered)
        self.ui.actionATRAS.triggered.connect(self.onActionAtrasTriggered)

        self.loadGamesWindow = LoadGames(self)

    def initTimer(self, elapsedSeconds):
        """Funcion que permite inicializar el timer
           que se utilizara al inicio del juego.""" 
        self.timer = QTimer()
        self.timer.setInterval(1000)
        self.timer.start()
        self.h = elapsedSeconds / 3600
        self.m = (elapsedSeconds - 3600*self.h) / 60
        self.s = (elapsedSeconds - 3600*self.h) % 60
        """Coneccion de senales."""  
        self.timer.timeout.connect(self.timerTimeout)

    def stopTimer(self):
        """Detiene el timer.""" 
        self.timer.stop()
        
    def timerTimeout(self):
        """Funcion que permite tener actualizado el 
           timer mientras el jugador tenga activo el juego.""" 
        self.s = self.s + 1
        if self.s > 59:
            self.s = 0
            self.m=self.m + 1
        elif self.m > 59:
            self.m = 0
            self.h= self.h + 1
        elif self.h > 23:
            self.h = 0
        # Write time in a pushButton
        self.ui.btnTiempo.setText(QString ("%1:%2:%3")
                                    .arg (self.h)
                                    .arg (self.m)
                                    .arg (self.s) )
    
    def initBoard(self):
        """Funcion que permite inicializar el tablero 
           con 81 celdas que el jugador tendra le quellar
           segun el nuevel de dificultad seleccionado al inicio del juego""" 
        self.board = []

        self.keyboard = Keyboard(self)

        for i in range(9*9):
            x = i % 9
            y = i / 9
            c = Cell()
            
            self.board.append(c)
            self.ui.board.addWidget(c, y, x)
            
            c.setKeyboard(self.keyboard) 
            c.valueChanged.connect(self.setCellValueFromView)

    def newGame(self, name, elapsedSeconds = 0, sudoku = None):
        """Se genera un nuevo juego de sudoku con el nombre del jugador y el nivel."""  
        if sudoku == None:
            self.sudoku = Sudoku()
            self.sudoku.shuffle(self.difficulty*9 + 3*9)
        else:
            self.sudoku = sudoku
        self.sudoku.cellValueChanged.connect(self.setCellValue)
        self.sudoku.triggerChanges()
        self.sudoku.cellValueChanged.disconnect(self.setCellValue)
        """Actualiza el modelo cuando la vista es cambiada."""    
        self.cellValueChanged.connect(self.sudoku.setCellValue)
        self.initTimer(elapsedSeconds)
        self.ui.btnJugador.setText(name)

    def endGame(self):   
        """Finaliza el juego."""       
        self.stopTimer()

        userName = str(self.ui.btnJugador.text())
        seconds = int(self.s) + int(self.m) * 60 + int(self.h) * 60 * 60
        difficulty = ['Easy', 'Medium', 'Hard'][self.difficulty - 1]

        ''' Check if current score is a high scores'''
        highscores = HighScore.loadFromFile()
        highscores.reverse()
        if seconds < highscores[0].seconds:
            msj = QMessageBox()
#.........这里部分代码省略.........
开发者ID:juanmisak,项目名称:PySudoku,代码行数:103,代码来源:mainwindow.py


注:本文中的sudoku.Sudoku.shuffle方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。