QT项目一:俄罗斯方块游戏
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项目一:俄罗斯方块游戏相关推荐
- Qt版双人俄罗斯方块游戏
Qt版双人俄罗斯方块游戏 转载请标明出处:牟尼的专栏 http://blog.csdn.net/u012027907 之前写过<VC版双人俄罗斯方块>,将其在Qt下又重写了一遍,核 ...
- Qt做的俄罗斯方块游戏
最近一直在用Qt折腾一个简单的俄罗斯方块游戏,期间断断续续经过将近一个月的折腾,终于完成啦,挂在这里,供大家评阅,第一次做游戏,肯定会有很多的不足之处,希望大家指正. 其实做这个游戏主要是想学学多层控 ...
- 用andengine做一款俄罗斯方块游戏
andengine 入门 AndEngine初步 作者: Me 日期: 2010/12/16 发表评论 (1)查看评论 AndEngine 是一个Android平台下基于OpenGL ES的免费(LG ...
- 多人联机的俄罗斯方块游戏(C++),游戏规则模仿任天堂Tetris99,基于qt,kcp,protobuf,qslog。
目录 Tetris 游戏截图 游戏菜单 1v1对战 9人对局 游戏特性细节介绍 攻击机制 Tetris标准特性 Super Rotation System(超级旋转系统) 7 bag system ( ...
- 【QT项目】简易五子棋游戏(人机对战)— 完整源码
文章目录 前言 一.游戏实现效果 二.需求分析 三.解决方案 四.核心步骤 1.插入棋盘图 2.双方落子 3.输赢判定 4.重新开始 五.完整源码 1.main.cpp 2.chessboard.h ...
- 基于java的俄罗斯方块游戏系统设计与实现(项目报告+答辩PPT+源代码+数据库+截图+部署视频)
基于Java的俄罗斯方块游戏的设计与实现 俄罗斯方块是一款风靡全球,从一开始到现在都一直经久不衰的电脑.手机.掌上游戏机产品,是一款游戏规则简单,但又不缺乏乐趣的简单经典小游戏,上手容易,适用范围广泛 ...
- QT项目实战之翻金币小游戏
目录 一.实现效果 二.实现过程 1.创建项目.添加项目资源 2.创建主场景(mainscene.cpp/.h) 3.自定义开始按钮(mypushbutton.cpp/.h) 4.创建选择关卡场景(c ...
- linux qt 俄罗斯方块,使用Qt开发俄罗斯方块游戏
使用Qt开发俄罗斯方块游戏,可能大家都比较感兴趣吧.那么就快看下面的详细讲解吧! 其实在QtCreator中已经有了俄罗斯方块的例子,大家可以在帮助中搜索Tetrix进行查看.其内容如下: 但是对于初 ...
- 俄罗斯方块游戏开发 ——图形化编程java swing 项目
通过java swing技术开发的俄罗斯方块游戏,实现了基础的游戏绘制.移动逻辑.消除逻辑.得分统计.死亡判定.预测方块等功能. 成果展示截图: 项目源码及 可执行文件jar 下载 : https:/ ...
- 基于Python的俄罗斯方块游戏设计与实现 报告+项目源码
资源下载地址:https://download.csdn.net/download/sheziqiong/85630943 资源下载地址:https://download.csdn.net/downl ...
最新文章
- php删除指定对象的属性及属性值
- Photoshop五步制作水晶按钮
- TensorFlow中的random_normal()函数
- jenkins部署web项目
- java简单线程池实例代码
- 全局的过滤器, 进行时间的格式化——所谓的全局过滤器,就是所有的VM实例都共享的 || 如何自定义一个私有的过滤器(局部)
- java折半查找(正常的折半查找)
- Android中利用ant进行多渠道循环批量打包(一)
- 【B站免费教程】2W 收藏!火爆 B 站的计算机科学速成教程发布,全中文版
- JAVASCRIPT 基本数据类型
- android style theme
- 美国佐治亚大学计算机专业,乔治亚大学计算机科学类排名,真是细致的看
- 【IJCAI 2020】篇章要素识别和篇章结构评分(下)
- centos安装bzip2
- c语言定义数组uint,c - 将uint8_t数组转换为C中的uint16_t值 - 堆栈内存溢出
- java 类名_Java类的命名规则是什么
- mfc切换office样式_VS2015下使用MFC操作Office(Word)
- centos 6 php mysql_Centos 6安装完美搭建mysql、php、apache之旅
- 柯西分布——正态分布的兄弟
- 小私企老板的痛病通病
热门文章
- 拼多多店铺真实评价被屏蔽的原因分析
- Burp Suite 是用于攻击web 应用程序的集成平台
- 位移传递率matlab编程,发动机半主动液力悬置动特性研究与开发_孙妍
- Vb.net 编程的几个小技巧
- Excel 学习笔记一
- 使用 Emmet 生成 HTML 的语法详解-转载
- 矿大计算机科学与技术研究生院,中国矿业大学(徐州)计算机科学与技术学院研究生导师:王志晓...
- 让老人用Windows Vista更方便:讲述人和放大镜
- Artstudio Pro Mac(绘图与图片编辑软件)
- 继保系统有主备服务器吗,解剖变电站丨智能变电站的三层两网的结构!