加为Q友
有网页效果图片后添加为我们QQ 为好友方便详细咨询及文件传送。
Q:20985349
div+css网页前端制作,css页面,div页面,网站前端制作,网页重构,网站重构,页面重构,divccs外包,网站外包,切图外包
发图确认
通过QQ传送页面效果图片传给我们,以便我们确定制作细节估算工作量并给予报价和约定交付时间。
div+css网页前端制作,css页面,div页面,网站前端制作,网页重构,网站重构,页面重构,divccs外包,网站外包,切图外包
下单制作
双方确认价格与制作细节无误后,通过支付宝或工行付费后我们开始页面制作。(一般页面80-150元)
div+css网页前端制作,css页面,div页面,网站前端制作,网页重构,网站重构,页面重构,divccs外包,网站外包,切图外包
完成订单
网页制作并测试完毕→压缩发送给客户→客户最终满意确认→订单完成!
div+css网页前端制作,css页面,div页面,网站前端制作,网页重构,网站重构,页面重构,divccs外包,网站外包,切图外包
我们集聚了一批网页制作编程高手,每个成员都在专业网络公司从事网页制作等技术类工作至少5年,拥有丰富的经验,对网页div切图排版等技术都有独特的见解,专门为客户提供专业的psd切图排版、psd转html、网页前端制作、网页重构、网页性能优化等服务。
这就是我们,一个高技术、高效率的网页切图排版制作团队!
时间:2018-01-13 来源:Python_俄罗斯方块

标签:per   创建   show   one   conn   right   name   object   行数   

网上资料html静态页面制作,仅供学习,html静态页面制作希望以后自己也能看懂再改进下...

 

"""俄罗斯方块 author: wolfstarlast edited: 2018年1月"""import sys,网站div+css randomfrom PyQt5.QtWidgets import QMainWindow符合w3c标准, QFrame,html切图制作 QDesktopWidget,手机网页制作 QApplicationfrom PyQt5.QtCore import Qt网页切图价格, QBasicTimer,网页切图价格 pyqtSignalfrom PyQt5.QtGui import QPainterdiv+css报价, QColor #主界面类 class Tetris(QMainWindow):    def __init__(self):        super().__init__()         self.initUI()     def initUI(self):        #Board创建一个面板类的实例,div+css+js切图并设置应用程序的核心部件.        self.tboard = Board(self)        self.setCentralWidget(self.tboard)        #创建一个状态栏将显示消息.我们将显示三种可能的消息:已删除的行数html静态页面制作,停顿了一下消息,html静态页面制作或游戏结束的消息.msg2Statusbar是一个自定义的信号psd转html,在Board 中实现类.showMessage()是一个内置的方法,psd转html在状态栏显示一条消息.         self.statusbar = self.statusBar()        self.tboard.msg2Statusbar[str].connect(self.statusbar.showMessage)        #这一行代码启动游戏        self.tboard.start()         self.resize(180html切图, 380)        self.center()        self.setWindowTitle(Tetris)        self.show()    #窗体居中显示方法     def center(self):        screen = QDesktopWidget().screenGeometry()        size = self.geometry()        self.move((screen.width() - size.width()) / 2,web外包                  (screen.height() - size.height()) / 2) #创建面板类class Board(QFrame):    #创建一个自定义的信号.当我们想写一个信息或状态栏的分数的时候网页切图价格,msg2Statusbar发出一个信号    msg2Statusbar = pyqtSignal(str)    #这些都是Board的类变量.BoardWidth和BoardHeight定义的块的大小.Speed定义了游戏的速度.每个300 ms将开始一个新游戏循环.    BoardWidth = 10    BoardHeight = 22    Speed = 300     def __init__(self,网页切图价格 parent):        super().__init__(parent)         self.initBoard()    #我们在initBoard()方法初始化一些重要的变量.board变量是一个从0到7的数字列表.它代表了面板上各种形状和位置.    def initBoard(self):                self.timer = QBasicTimer()        self.isWaitingAfterLine = False         self.curX = 0        self.curY = 0        self.numLinesRemoved = 0        self.board = []         self.setFocusPolicy(Qt.StrongFocus)        self.isStarted = False        self.isPaused = False        self.clearBoard()     #shapeAt()方法确定在给定形状块的类型.    def shapeAt(selfdiv+css报价, x,div+css报价 y):        return self.board[(y * Board.BoardWidth) + x]        def setShapeAt(selfhtml静态页面制作, x,承接网站前端 ypsd转html, shape):        self.board[(y * Board.BoardWidth) + x] = shape    #Board可以动态地调整大小.因此,psd转html块的大小可能会有所改变.squareWidth()计算单一方块像素的宽度并返回它.Board.BoardWidth方块板的大小.    def squareWidth(self):        return self.contentsRect().width() // Board.BoardWidth     def squareHeight(self):        return self.contentsRect().height() // Board.BoardHeight    #游戏开始方法    def start(self):         if self.isPaused:            return         self.isStarted = True        self.isWaitingAfterLine = False        self.numLinesRemoved = 0        self.clearBoard()         self.msg2Statusbar.emit(str(self.numLinesRemoved))         self.newPiece()        self.timer.start(Board.Speedhtml切图, self)    #游戏暂停方法    def pause(self):         if not self.isStarted:            return         self.isPaused = not self.isPaused         if self.isPaused:            self.timer.stop()            self.msg2Statusbar.emit("paused")         else:            self.timer.start(Board.Speed,手机网页制作 self)            self.msg2Statusbar.emit(str(self.numLinesRemoved))         self.update()    #窗体绘图    def paintEvent(self网页切图价格, event):         painter = QPainter(self)        #根据窗体舞台大小计算顶部        rect = self.contentsRect()         boardTop = rect.bottom() - Board.BoardHeight * self.squareHeight()        #游戏的绘制分为两个步骤,网页切图制作第一步div+css报价,绘制所有方块,div+css报价这些方块都要保存在底部列表中.列表通过shapeAt() 方法来添加方块.        for i in range(Board.BoardHeight):            for j in range(Board.BoardWidth):                shape = self.shapeAt(jhtml静态页面制作, Board.BoardHeight - i - 1)                 if shape != Tetrominoe.NoShape:                    self.drawSquare(painter,html静态页面制作                                    rect.left() + j * self.squareWidth()psd转html,                                    boardTop + i * self.squareHeight(),psd切图html shape)        #第二步绘制下降中的方块        if self.curPiece.shape() != Tetrominoe.NoShape:             for i in range(4):                x = self.curX + self.curPiece.x(i)                y = self.curY - self.curPiece.y(i)                self.drawSquare(painterhtml切图, rect.left() + x * self.squareWidth(),手机网页制作                                boardTop + (Board.BoardHeight - y - 1) * self.squareHeight()网页切图价格,                                self.curPiece.shape())     def keyPressEvent(self,网页切图价格 event):         if not self.isStarted or self.curPiece.shape() == Tetrominoe.NoShape:            super(Boarddiv+css报价, self).keyPressEvent(event)            return         key = event.key()         if key == Qt.Key_P:            self.pause()            return         if self.isPaused:            return        #keyPressEvent()方法检查按下键.当按右箭头键,div+css+js切图我们试图向右移动一块.我们使用tyrMovehtml静态页面制作,因为可能无法移动.        elif key == Qt.Key_Left:            self.tryMove(self.curPiece,html静态页面制作 self.curX - 1psd转html, self.curY)         elif key == Qt.Key_Right:            self.tryMove(self.curPiece,psd转html self.curX + 1html切图, self.curY)        #向上箭头键将旋转方块.        elif key == Qt.Key_Down:            self.tryMove(self.curPiece.rotateRight(),web外包 self.curX网页切图价格, self.curY)         elif key == Qt.Key_Up:            self.tryMove(self.curPiece.rotateLeft(),网页切图价格 self.curXdiv+css报价, self.curY)        #空格键立即下降到底部        elif key == Qt.Key_Space:            self.dropDown()        #按下D键,div+css报价可以加速下降.        elif key == Qt.Key_D:            self.oneLineDown()         else:            super(Boardhtml静态页面制作, self).keyPressEvent(event)    #计时器事件,承接网站前端当我们前一个方块降到底部后psd转html,创建一个新的方块.    def timerEvent(self,psd转html event):         if event.timerId() == self.timer.timerId():             if self.isWaitingAfterLine:                self.isWaitingAfterLine = False                self.newPiece()            else:                self.oneLineDown()         else:            super(Boardhtml切图, self).timerEvent(event)    #clearBoard()方法通过设置Tetrominoe.NoShape清除面板    def clearBoard(self):         for i in range(Board.BoardHeight * Board.BoardWidth):            self.board.append(Tetrominoe.NoShape)     def dropDown(self):         newY = self.curY         while newY > 0:             if not self.tryMove(self.curPiece,手机网页制作 self.curX网页切图价格, newY - 1):                break             newY -= 1         self.pieceDropped()     def oneLineDown(self):         if not self.tryMove(self.curPiece,网页切图制作 self.curXdiv+css报价, self.curY - 1):            self.pieceDropped()     def pieceDropped(self):         for i in range(4):            x = self.curX + self.curPiece.x(i)            y = self.curY - self.curPiece.y(i)            self.setShapeAt(x,div+css报价 yhtml静态页面制作, self.curPiece.shape())         self.removeFullLines()         if not self.isWaitingAfterLine:            self.newPiece()    #如果到达底部,html静态页面制作会调用removeFullLines()方法.我们会检查所有完整的线条然后删除它们.然后移动所有行高于当前删除整行一行.请注意psd转html,我们反的顺序行被删除.否则,psd切图html就会出错.    def removeFullLines(self):         numFullLines = 0        rowsToRemove = []         for i in range(Board.BoardHeight):             n = 0            for j in range(Board.BoardWidth):                if not self.shapeAt(jhtml切图, i) == Tetrominoe.NoShape:                    n = n + 1             if n == 10:                rowsToRemove.append(i)         rowsToRemove.reverse()         for m in rowsToRemove:             for k in range(m,手机网页制作 Board.BoardHeight):                for l in range(Board.BoardWidth):                    self.setShapeAt(l网页切图价格, k,网页切图价格 self.shapeAt(ldiv+css报价, k + 1))         numFullLines = numFullLines + len(rowsToRemove)         if numFullLines > 0:            self.numLinesRemoved = self.numLinesRemoved + numFullLines            self.msg2Statusbar.emit(str(self.numLinesRemoved))             self.isWaitingAfterLine = True            self.curPiece.setShape(Tetrominoe.NoShape)            self.update()    #通过newPiece()方法创建一个新的方块,div+css+js切图如果不能进入它的初始位置html静态页面制作,游戏就结束了.    def newPiece(self):         self.curPiece = Shape()        self.curPiece.setRandomShape()        self.curX = Board.BoardWidth // 2 + 1        self.curY = Board.BoardHeight - 1 + self.curPiece.minY()         if not self.tryMove(self.curPiece,html静态页面制作 self.curXpsd转html, self.curY):            self.curPiece.setShape(Tetrominoe.NoShape)            self.timer.stop()            self.isStarted = False            self.msg2Statusbar.emit("Game over")    #使用tryMove()方法尝试移动方块.如果方块的边缘已经接触到面板边缘或者不能移动,psd转html我们返回False.否则我们当前块下降到一个新的位置.    def tryMove(selfhtml切图, newPiece,web外包 newX网页切图价格, newY):         for i in range(4):             x = newX + newPiece.x(i)            y = newY - newPiece.y(i)             if x < 0 or x >= Board.BoardWidth or y < 0 or y >= Board.BoardHeight:                return False             if self.shapeAt(x,网页切图价格 y) != Tetrominoe.NoShape:                return False         self.curPiece = newPiece        self.curX = newX        self.curY = newY        self.update()         return True     def drawSquare(selfdiv+css报价, painter,div+css报价 xhtml静态页面制作, y,承接网站前端 shape):         colorTable = [0x000000psd转html, 0xCC6666,psd转html 0x66CC66html切图, 0x6666CC,手机网页制作                      0xCCCC66网页切图价格, 0xCC66CC,网页切图制作 0x66CCCCdiv+css报价, 0xDAAA00]         color = QColor(colorTable[shape])        painter.fillRect(x + 1,div+css报价 y + 1html静态页面制作, self.squareWidth() - 2,html静态页面制作                         self.squareHeight() - 2psd转html, color)         painter.setPen(color.lighter())        painter.drawLine(x,psd切图html y + self.squareHeight() - 1html切图, x,手机网页制作 y)        painter.drawLine(x网页切图价格, y,网页切图价格 x + self.squareWidth() - 1div+css报价, y)         painter.setPen(color.darker())        painter.drawLine(x + 1,div+css+js切图 y + self.squareHeight() - 1html静态页面制作,                         x + self.squareWidth() - 1,html静态页面制作 y + self.squareHeight() - 1)        painter.drawLine(x + self.squareWidth() - 1psd转html,                         y + self.squareHeight() - 1,psd转html x + self.squareWidth() - 1html切图, y + 1) #Tetrominoe类包含所有可能的形状.NoShape空形状.class Tetrominoe(object):    NoShape = 0    ZShape = 1    SShape = 2    LineShape = 3    TShape = 4    SquareShape = 5    LShape = 6    MirroredLShape = 7 #Shape 类保存方块信息  class Shape(object):    #coordsTable 元组包含所有可能的俄罗斯方块的坐标值.这是一个模板的所有块坐标值.    coordsTable = (        ((0,web外包 0)网页切图价格, (0,网页切图价格 0)div+css报价, (0,div+css报价 0)html静态页面制作, (0,承接网站前端 0))psd转html,        ((0,psd转html -1)html切图, (0,手机网页制作 0)网页切图价格, (-1,网页切图制作 0)div+css报价, (-1,div+css报价 1))html静态页面制作,        ((0,html静态页面制作 -1)psd转html, (0,psd切图html 0)html切图, (1,手机网页制作 0)网页切图价格, (1,网页切图价格 1))div+css报价,        ((0,div+css+js切图 -1)html静态页面制作, (0,html静态页面制作 0)psd转html, (0,psd转html 1)html切图, (0,web外包 2))网页切图价格,        ((-1,网页切图价格 0)div+css报价, (0,div+css报价 0)html静态页面制作, (1,承接网站前端 0)psd转html, (0,psd转html 1))html切图,        ((0,手机网页制作 0)网页切图价格, (1,网页切图制作 0)div+css报价, (0,div+css报价 1)html静态页面制作, (1,html静态页面制作 1))psd转html,        ((-1,psd切图html -1)html切图, (0,手机网页制作 -1)网页切图价格, (0,网页切图价格 0)div+css报价, (0,div+css+js切图 1))html静态页面制作,        ((1,html静态页面制作 -1)psd转html, (0,psd转html -1)html切图, (0,web外包 0)网页切图价格, (0,网页切图价格 1))    )     def __init__(self):         self.coords = [[0div+css报价, 0] for i in range(4)]        self.pieceShape = Tetrominoe.NoShape         self.setShape(Tetrominoe.NoShape)     def shape(self):        return self.pieceShape     def setShape(self,div+css报价 shape):         table = Shape.coordsTable[shape]         for i in range(4):            for j in range(2):                self.coords[i][j] = table[i][j]         self.pieceShape = shape     def setRandomShape(self):        self.setShape(random.randint(1html静态页面制作, 7))     def x(self,承接网站前端 index):        return self.coords[index][0]     def y(selfpsd转html, index):        return self.coords[index][1]     def setX(self,psd转html indexhtml切图, x):        self.coords[index][0] = x     def setY(self,手机网页制作 index网页切图价格, y):        self.coords[index][1] = y     def minX(self):         m = self.coords[0][0]        for i in range(4):            m = min(m,网页切图制作 self.coords[i][0])         return m     def maxX(self):         m = self.coords[0][0]        for i in range(4):            m = max(mdiv+css报价, self.coords[i][0])         return m     def minY(self):         m = self.coords[0][1]        for i in range(4):            m = min(m,div+css报价 self.coords[i][1])         return m     def maxY(self):         m = self.coords[0][1]        for i in range(4):            m = max(mhtml静态页面制作, self.coords[i][1])         return m    #rotateLeft() 向左旋转方块.如果方块本身不能被旋转,html静态页面制作我们就返回当前对象的应用.否则就创建一个新的块及其坐标设置为的旋转.    def rotateLeft(self):         if self.pieceShape == Tetrominoe.SquareShape:            return self         result = Shape()        result.pieceShape = self.pieceShape         for i in range(4):            result.setX(ipsd转html, self.y(i))            result.setY(i,psd切图html -self.x(i))         return result     def rotateRight(self):         if self.pieceShape == Tetrominoe.SquareShape:            return self         result = Shape()        result.pieceShape = self.pieceShape         for i in range(4):            result.setX(ihtml切图, -self.y(i))            result.setY(i,手机网页制作 self.x(i))         return result  if __name__ == __main__:    app = QApplication([])    tetris = Tetris()    sys.exit(app.exec_())

 

网页切图价格,bubuko.com" style="color:#ffffff">Python_俄罗斯方块

标签:per   创建   show   one   conn   right   name   object   行数   

原文:https://www.cnblogs.com/hellangels333/p/8278067.html

点击次数:12376
作者:
需要提供什么样资料文件切图2013年05月15日CSS网页切图可以长期合作吗?2013年05月15日网页DIV+CSS切图重构后在搜索引擎推广的优势2013年05月15日DIV+CSS制作切图价格怎么计算?2013年05月15日vue项目在ie浏览器下页面显示为空2018年01月13日Oracle递归查询父子兄弟节点2018年01月13日48)多态2018年01月13日handler更新ui线程的基本用法2018年01月13日eXosip的register注册2018年01月13日vlan虚拟局域网2018年01月13日Linux笔记#02#InstallingMySQL&InstallingtheDefaultJREJDK2018年01月13日织梦dedecms关于禁用词语太多显示不全问题2018年01月13日day13面向对象练习2018年01月13日angularreactvue浏览器兼容情况汇总2018年01月13日MysqlMHA高可用集群架构2018年01月13日caffe-ubuntu1604-gtx850m-i7-4710hq----VGG_ILSVRC_16_layers.caffemodel2018年01月13日Flask==>wtforms2018年01月13日2Model层2018年01月13日PHP算数运算符2018年01月13日shell特殊符_cut命令sort_wc_uniq命令tee_tr_split命令shell特2018年01月13日蜜蜂寻路2018年01月13日【Other】申请免费的SSL证书及部署Https协议2018年01月13日180112打字效果2018年01月13日python回调函数2018年01月13日Mongo.exe无法定位程序输入点terminate于动态链接库*.dll的解决办法2018年01月13日原生js使用ajax实现省市县三级联动2018年01月13日类的2种实例化2018年01月13日Python:ValueError:toomanyvaluestounpack2018年01月13日Django使用haystack借助Whoosh实现全文搜索功能2018年01月13日【转】权限管理学习一、ASP.NETFORMS身份认证2018年01月13日算法导论中如何求两个字符串的最长公共子序列【互联网】2015年05月11日CABasicAnimation使用总结2016年11月18日nginx基础及使用2017年11月29日华科机考:对称矩阵2017年04月09日unity函数笔记2017年04月26日域名解析-CNAME 【移动开发】2015年08月24日工厂方法模式(Java与Kotlin版)2017年07月03日SQLMap用户手册【超详细】2016年11月18日深入JDK源码,这里总有你不知道的知识点!2017年05月05日py07-python基础-集合2017年07月21日uvalive4730王国kingdom(并查集+线段树)【编程语言】2015年06月24日学习日记2016年12月23日c#设计模式-工厂方法2016年12月14日emacsorg-modetable 【Web前端】2015年04月27日H5坦克大战之【玩家控制坦克移动2】2016年12月28日@Autowired和@Resource注解的区别?2017年07月01日【hadoop2.6】hadoop2.6集群环境搭建及文件系统使用 【移动开发】2015年01月27日通过url传参2016年11月23日微软高管称已启动IE8研发,两年内将可面世2013年06月15日mac下配置phonegap(cordova)5.1.1开发环境2017年05月18日Java函数式编程(三)2016年07月15日centos7新特性42017年12月29日荣耀与小米的中高端争夺战:谁向山峰挺近?谁在山脚徘徊?2017年11月12日在CentOS7上设置返回上一级目录的快捷键为Backspace2017年06月22日logic标签 【移动开发】2015年08月14日茶叶防伪标签制作系统开发方案策划2017年06月04日自动化控制之线程池的使用2017年07月24日SpringMVC@RequestBody接收Json对象字符串demo2016年12月24日fileuploadJs+JcropJs+php综合小应用实现图片拖拽上传与裁剪功能的demo2016年07月15日HTTPStatus500-UnabletocompileclassforJSP:Duplicatelocalvariablexxx 【移动开发】2015年02月15日
系统程序框架加载中.....
关闭 [ X ] 个人网站制作,网站制作兼职,网页制作,个人做网站,个人做网页,做网页兼职,承接网页制作,网站程序制作,网站页面制作,div+css网页制作,css页面,div页面,网页前端制作,网站前端制作,网页重构,网站重构,页面重构,divccs外包,网站外包,切图外包