zoukankan      html  css  js  c++  java
  • python_俄罗斯方块

     1 import sys  
     2 import random  
     3 from PyQt4 import QtCore, QtGui  
     4 class Tetris(QtGui.QMainWindow):  
     5     def __init__(self):  
     6         QtGui.QMainWindow.__init__(self)  
     7         self.setGeometry(300, 300, 180, 380)  
     8         self.setWindowTitle('Tetris')  
     9         self.tetrisboard = Board(self)  
    10         self.setCentralWidget(self.tetrisboard)  
    11         self.statusbar = self.statusBar()  
    12         self.connect(self.tetrisboard, QtCore.SIGNAL("messageToStatusbar(QString)"),  
    13             self.statusbar, QtCore.SLOT("showMessage(QString)"))  
    14         self.tetrisboard.start()  
    15         self.center()  
    16     def center(self):  
    17         screen = QtGui.QDesktopWidget().screenGeometry()  
    18         size =  self.geometry()  
    19         self.move((screen.width()-size.width())/2,  
    20             (screen.height()-size.height())/2)  
    21 class Board(QtGui.QFrame):  
    22     BoardWidth = 10  
    23     BoardHeight = 22  
    24     Speed = 300  
    25     def __init__(self, parent):  
    26         QtGui.QFrame.__init__(self, parent)  
    27         self.timer = QtCore.QBasicTimer()  
    28         self.isWaitingAfterLine = False  
    29         self.curPiece = Shape()  
    30         self.nextPiece = Shape()  
    31         self.curX = 0  
    32         self.curY = 0  
    33         self.numLinesRemoved = 0  
    34         self.board = []  
    35         self.setFocusPolicy(QtCore.Qt.StrongFocus)  
    36         self.isStarted = False  
    37         self.isPaused = False  
    38         self.clearBoard()  
    39         self.nextPiece.setRandomShape()
  • 相关阅读:
    六种排序
    洛谷 P1879 [USACO06NOV]玉米田Corn Fields
    [USACO06NOV]玉米田Corn Fields
    c++位运算符 | & ^ ~ && ||,补码,反码
    Blockade(Bzoj1123)
    割点(Tarjan算法)【转载】
    子串
    生命是什么
    怎样说话才打动人
    自控力
  • 原文地址:https://www.cnblogs.com/xupeizhi/p/2602003.html
Copyright © 2011-2022 走看看