Skip to content

zyxdSTU/Tetrixs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

基于pyqt5的俄罗斯方块游戏

  1. 编写这个小游戏的目的

    花了一个月自学了python后,算法方面在leetcode刷了一百道题

    面向对象方面没有锻炼,因为我以前学过qt5,所以打算写个俄罗斯方块

    来锻炼自己的面向对象编程

  2. 对源文件进行说明

    主要是board.py, box.py, config.py和main.py这几个文件

    其他的都是无关紧要的

    • box.py

      box.py封装了方块的逻辑,一共七种方块

      box共有的操作,封装在父类中,包括顺时针旋转,逆时针旋转,左右移动,和向下移动

      各个子Box,有自己的形状self.shape,颜色color和初始位置self.position

    • config.py主要是一些配置参数,文件里面都有说明

    • board.py 是Canvas类, 继承QWidget,一个作为游戏区的画布

      介绍几个主要的函数

      • paintEvent函数,重写的绘画函数mdispose函数, 方块下落到底端后,之后的处理,包括是否得分,是否下一个方块出不来,游戏结束

      • downDirect函数:瞬间下落到底端,忽略时间等待

    • main.py

      main.py描述了游戏的主界面,包括一个Canvas类, 和两个QLCDNumber类,一个Score, 一个Level

      和两个按钮,一个Start, 一个Pause

  3. 操作说明

    方向键左右,可以控制方块左右移动, 上下键分别对应逆时针旋转,和顺时针旋转
    
    空格键可以直接加快方块下落
    
    PAUSE按钮暂停游戏,CONTINUE按钮继续游戏
    
    START按钮开始游戏
    
    当游戏结束的时候,YES重新开始, NO退出游戏
    
  4. 以后的更新

    俄罗斯方块的等级制度,只是消了50行,加一级, 速度变成原来的0.9
    可以考虑越到后面,增加等级越来越难,速度越来越快
       
    还有就是可以增加消行时的动画,不单单是声音提示,
    可以在右边栏显示下一个方块
    

About

基于pyqt5的俄罗斯方块游戏

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages