def __init__(self, parent=None): super(TetrixBoard, self).__init__(parent) self.timer = QtCore.QBasicTimer() self.nextPieceLabel = None self.isWaitingAfterLine = False self.curPiece = TetrixPiece() self.nextPiece = TetrixPiece() self.curX = 0 self.curY = 0 self.numLinesRemoved = 0 self.numPiecesDropped = 0 self.score = 0 self.level = 0 self.board = None self.setFrameStyle(QtWidgets.QFrame.Panel | QtWidgets.QFrame.Sunken) self.setFocusPolicy(QtCore.Qt.StrongFocus) self.isStarted = False self.isPaused = False self.clearBoard() self.nextPiece.setRandomShape()
def __init__(self, parent=None): QtOpenGLWidgets.QOpenGLWidget.__init__(self, parent) QtGui.QOpenGLFunctions.__init__(self) self.m_shaderProgram = None self.m_xRot = 90.0 self.m_yRot = 0.0 self.m_xLastRot = 0.0 self.m_yLastRot = 0.0 self.m_xPan = 0.0 self.m_yPan = 0.0 self.m_xLastPan = 0.0 self.m_yLastPan = 0.0 self.m_xLookAt = 0.0 self.m_yLookAt = 0.0 self.m_zLookAt = 0.0 self.m_lastPos = QtCore.QPoint(0, 0) self.m_zoom = 1 self.m_distance = 100.0 self.m_xMin = 0.0 self.m_xMax = 0.0 self.m_yMin = 0.0 self.m_yMax = 0.0 self.m_zMin = 0.0 self.m_zMax = 0.0 self.m_xSize = 0.0 self.m_ySize = 0.0 self.m_zSize = 0.0 self.m_lineWidth = 0.0 self.m_pointSize = 0.0 self.m_antialiasing = True self.m_msaa = True self.m_zBuffer = True self.m_frames = 0 self.m_fps = 0 self.m_animationFrame = 0 self.m_timerPaint = QtCore.QBasicTimer() self.m_xRotTarget = 90.0 self.m_yRotTarget = 0.0 self.m_xRotStored = 0.0 self.m_yRotStored = 0.0 self.m_animateView = False self.m_parserStatus = "" self.m_speedState = "" self.m_pinState = "" self.m_bufferState = "" self.m_updatesEnabled = False self.m_projectionMatrix = QtGui.QMatrix4x4() self.m_viewMatrix = QtGui.QMatrix4x4() self.m_colorBackground = QtGui.QColor(255,255,255) self.m_colorText = QtGui.QColor() self.m_shaderDrawables : List[ShaderDrawable] = [] self.updateProjection() self.updateView() self.m_spendTime = QtCore.QTime() self.m_spendTime.setHMS(0, 0, 0) self.m_estimatedTime = QtCore.QTime() self.m_estimatedTime.setHMS(0, 0, 0) self.m_vsync = False self.m_targetFps = 60 self.cmdFit = QtWidgets.QToolButton(self) self.cmdIsometric = QtWidgets.QToolButton(self) self.cmdTop = QtWidgets.QToolButton(self) self.cmdFront = QtWidgets.QToolButton(self) self.cmdLeft = QtWidgets.QToolButton(self) self.cmdFit.setMinimumSize(QtCore.QSize(24,24)) self.cmdIsometric.setMinimumSize(QtCore.QSize(24,24)) self.cmdTop.setMinimumSize(QtCore.QSize(24,24)) self.cmdFront.setMinimumSize(QtCore.QSize(24,24)) self.cmdLeft.setMinimumSize(QtCore.QSize(24,24)) self.cmdFit.setMaximumSize(QtCore.QSize(24,24)) self.cmdIsometric.setMaximumSize(QtCore.QSize(24,24)) self.cmdTop.setMaximumSize(QtCore.QSize(24,24)) self.cmdFront.setMaximumSize(QtCore.QSize(24,24)) self.cmdLeft.setMaximumSize(QtCore.QSize(24,24)) self.cmdFit.setToolTip("Fit") self.cmdIsometric.setToolTip("Isometric view") self.cmdTop.setToolTip("Top view") self.cmdFront.setToolTip("Front view") self.cmdLeft.setToolTip("Left view") self.cmdFit.setIcon(QtGui.QIcon(":/images/candle/fit_1.png")) self.cmdIsometric.setIcon(QtGui.QIcon(":/images/candle/cube.png")) self.cmdTop.setIcon(QtGui.QIcon(":/images/candle/cubeTop.png")) self.cmdFront.setIcon(QtGui.QIcon(":/images/candle/cubeFront.png")) self.cmdLeft.setIcon(QtGui.QIcon(":/images/candle/cubeLeft.png")) self.cmdFit.clicked.connect(self.on_cmdFit_clicked) self.cmdIsometric.clicked.connect(self.on_cmdIsometric_clicked) self.cmdTop.clicked.connect(self.on_cmdTop_clicked) self.cmdFront.clicked.connect(self.on_cmdFront_clicked) self.cmdLeft.clicked.connect(self.on_cmdLeft_clicked) self.rotationChanged.connect(self.onVisualizatorRotationChanged) self.resized.connect(self.placeVisualizerButtons) QtCore.QTimer.singleShot(1000, self.onFramesTimer)