1,简介

初学QT大约两个星期时,想做点什么东西锻炼下,大约1个下午加晚上完成的,比较简单。

其中运行流程算法都是自己想的,没有百度,是想训练下逻辑思维能力。

2022.10.11更新:

重新整理了一遍代码,优化一些命名、注释、定义,同时对简化了求坐标点集的算法。

2022.10.24更新:

增加暂停功能。

2,效果

3,主要设计思路

界面布局:

左侧是游戏方块区域,采用自绘widget

右侧使用UI设计器布局,其中显示下一个方块的widget也是自绘

这2个 widget 都在UI设计器里通过普通 widget 做了提升

游戏区域:

游戏区域使用15*20矩形格子,以横纵坐标表示格子位置

每个下落的图形元素使用4个格子表示

依次绘制背景、已固定的元素、当下移动的元素

方块形状:

每个元素都是4个格子,存4个坐标点即可

元素一共有6种类型,长条、山字形、枪形1、枪形2、田字形、Z字形,每种可以变换4个方向,就又有1到4种形状

每种形状都可以在一个4*4的矩阵中以4个坐标表示,改变形状时,就是换一种坐标集

移动碰撞检测:

先假设移动一步,计算移动后元素和已存在的坐标集是否存在重合,存在则不能移动,退回

游戏分数、等级、下落速度控制:

一次消除1行=100分;2行=300分;3行=500分;4行=700分

即同时消除行数越多,奖励分数越多

每1000分1级,粗略设计共8级

下落是定时器控制,每升1级定时器加快一点,满级不再加速,不然速度太快没法玩

暂停实现原理:

用一个bool变量控制,按Enter键时取反。

当暂停时,定时器处理函数直接返回,不做事即可。

4,源码下载

QT 俄罗斯方块 源码及可执行exe下载:

链接:https://pan.baidu.com/s/1SOChRdf_FOB-CPr0njHSPw?pwd=dzo2 
提取码:dzo2

若链接失效,可在学习群文件下载!

群号见博客介绍。

QT项目一:俄罗斯方块游戏相关推荐

  1. Qt版双人俄罗斯方块游戏

    Qt版双人俄罗斯方块游戏 转载请标明出处:牟尼的专栏 http://blog.csdn.net/u012027907     之前写过<VC版双人俄罗斯方块>,将其在Qt下又重写了一遍,核 ...

  2. Qt做的俄罗斯方块游戏

    最近一直在用Qt折腾一个简单的俄罗斯方块游戏,期间断断续续经过将近一个月的折腾,终于完成啦,挂在这里,供大家评阅,第一次做游戏,肯定会有很多的不足之处,希望大家指正. 其实做这个游戏主要是想学学多层控 ...

  3. 用andengine做一款俄罗斯方块游戏

    andengine 入门 AndEngine初步 作者: Me 日期: 2010/12/16 发表评论 (1)查看评论 AndEngine 是一个Android平台下基于OpenGL ES的免费(LG ...

  4. 多人联机的俄罗斯方块游戏(C++),游戏规则模仿任天堂Tetris99,基于qt,kcp,protobuf,qslog。

    目录 Tetris 游戏截图 游戏菜单 1v1对战 9人对局 游戏特性细节介绍 攻击机制 Tetris标准特性 Super Rotation System(超级旋转系统) 7 bag system ( ...

  5. 【QT项目】简易五子棋游戏(人机对战)— 完整源码

    文章目录 前言 一.游戏实现效果 二.需求分析 三.解决方案 四.核心步骤 1.插入棋盘图 2.双方落子 3.输赢判定 4.重新开始 五.完整源码 1.main.cpp 2.chessboard.h ...

  6. 基于java的俄罗斯方块游戏系统设计与实现(项目报告+答辩PPT+源代码+数据库+截图+部署视频)

    基于Java的俄罗斯方块游戏的设计与实现 俄罗斯方块是一款风靡全球,从一开始到现在都一直经久不衰的电脑.手机.掌上游戏机产品,是一款游戏规则简单,但又不缺乏乐趣的简单经典小游戏,上手容易,适用范围广泛 ...

  7. QT项目实战之翻金币小游戏

    目录 一.实现效果 二.实现过程 1.创建项目.添加项目资源 2.创建主场景(mainscene.cpp/.h) 3.自定义开始按钮(mypushbutton.cpp/.h) 4.创建选择关卡场景(c ...

  8. linux qt 俄罗斯方块,使用Qt开发俄罗斯方块游戏

    使用Qt开发俄罗斯方块游戏,可能大家都比较感兴趣吧.那么就快看下面的详细讲解吧! 其实在QtCreator中已经有了俄罗斯方块的例子,大家可以在帮助中搜索Tetrix进行查看.其内容如下: 但是对于初 ...

  9. 俄罗斯方块游戏开发 ——图形化编程java swing 项目

    通过java swing技术开发的俄罗斯方块游戏,实现了基础的游戏绘制.移动逻辑.消除逻辑.得分统计.死亡判定.预测方块等功能. 成果展示截图: 项目源码及 可执行文件jar 下载 : https:/ ...

  10. 基于Python的俄罗斯方块游戏设计与实现 报告+项目源码

    资源下载地址:https://download.csdn.net/download/sheziqiong/85630943 资源下载地址:https://download.csdn.net/downl ...

最新文章

  1. php删除指定对象的属性及属性值
  2. Photoshop五步制作水晶按钮
  3. TensorFlow中的random_normal()函数
  4. jenkins部署web项目
  5. java简单线程池实例代码
  6. 全局的过滤器, 进行时间的格式化——所谓的全局过滤器,就是所有的VM实例都共享的 || 如何自定义一个私有的过滤器(局部)
  7. java折半查找(正常的折半查找)
  8. Android中利用ant进行多渠道循环批量打包(一)
  9. 【B站免费教程】2W 收藏!火爆 B 站的计算机科学速成教程发布,全中文版
  10. JAVASCRIPT 基本数据类型
  11. android style theme
  12. 美国佐治亚大学计算机专业,乔治亚大学计算机科学类排名,真是细致的看
  13. 【IJCAI 2020】篇章要素识别和篇章结构评分(下)
  14. centos安装bzip2
  15. c语言定义数组uint,c - 将uint8_t数组转换为C中的uint16_t值 - 堆栈内存溢出
  16. java 类名_Java类的命名规则是什么
  17. mfc切换office样式_VS2015下使用MFC操作Office(Word)
  18. centos 6 php mysql_Centos 6安装完美搭建mysql、php、apache之旅
  19. 柯西分布——正态分布的兄弟
  20. 小私企老板的痛病通病

热门文章

  1. 拼多多店铺真实评价被屏蔽的原因分析
  2. Burp Suite 是用于攻击web 应用程序的集成平台
  3. 位移传递率matlab编程,发动机半主动液力悬置动特性研究与开发_孙妍
  4. Vb.net 编程的几个小技巧
  5. Excel 学习笔记一
  6. 使用 Emmet 生成 HTML 的语法详解-转载
  7. 矿大计算机科学与技术研究生院,中国矿业大学(徐州)计算机科学与技术学院研究生导师:王志晓...
  8. 让老人用Windows Vista更方便:讲述人和放大镜
  9. Artstudio Pro Mac(绘图与图片编辑软件)
  10. 继保系统有主备服务器吗,解剖变电站丨智能变电站的三层两网的结构!