• 5248阅读
  • 5回复

《Qt实战小项目》1,俄罗斯方块游戏 [复制链接]

上一主题 下一主题
离线逆风微光
 

图酷模式  只看楼主 倒序阅读 楼主  发表于: 2018-05-20

这是我的CSDN博客专栏《Qt实战小项目》的系列文章第1篇。
专栏地址:https://blog.csdn.net/dpsying/category_9267660.html

目前专栏内有这些文章:
QT项目一:俄罗斯方块游戏
QT项目二:五子棋游戏
QT项目三:中国象棋
QT项目四:扫雷游戏
QT项目五--计算器
QT项目六:简易客户信息管理系统


1,简介

初学QT大约两个星期时,想做点什么东西锻炼下,大约1个下午加晚上完成的,比较简单。
其中运行流程算法都是自己想的,没有百度,是想训练下逻辑思维能力。

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级定时器加快一点,满级不再加速,不然速度太快没法玩


4,源码下载

QT 俄罗斯方块 源码及可执行exe下载: 链接:https://pan.baidu.com/s/15aJdFK99n4iKRygtcbHKlw
提取码:k1kq




源码已上传至群文件,可在学习群免费下载! 群号码:1149411109
群名称:Qt实战派学习群









离线liuchangyin

只看该作者 1楼 发表于: 2018-05-21
离线alone_work

只看该作者 2楼 发表于: 2018-05-21
离线逆风微光

只看该作者 3楼 发表于: 2018-05-25
回 liuchangyin 的帖子
liuchangyin:[表情]  (2018-05-21 09:42) 

谢谢支持!
离线逆风微光

只看该作者 4楼 发表于: 2018-05-25
回 alone_work 的帖子
alone_work:[表情]  (2018-05-21 16:49) 

谢谢支持!
离线mikeyliu

只看该作者 5楼 发表于: 2018-10-11
实不相瞒,我学Qt有一段时间了,现在也是一脸懵逼,可能我的学习效率比较低吧,敢问博主初学QT看得什么资料,或者从哪里入手的
快速回复
限100 字节
 
上一个 下一个