qt写贪吃蛇

QT5写的贪吃蛇 QT5写的贪吃蛇 大概弄了下,写的不好,咳咳。。。我只是 阅读详情

其实刚才我写过一次这篇文章,然后我要发表,一直提示我选择文章类型,后来才发现,左上角有个原创或转载什么的选项,于是一大段内心澎湃又细致的文字就这么没了,第二次写,虽然是第一篇,感觉还是没第一次好,废话不多说。



用qt写贪吃蛇,源于我们开的windows程序设计课,这是一个小任务。


1.宏定义max_x,max_y,给整个界面定义,一个qlabel矩阵

2.int定义一个二维数组,对应每一个label,通过值为0,1,2,来控制,label 的颜色什么的(之前那篇文章可谓声情并茂,然而,万恶的复制粘贴失败,什么都一场空了)

Labels[i][j]->setStyleSheet("background:pink");我定义的普通界面为粉色,蛇身为蓝色,没有墙,不过过程中还是有墙的,撞到边界就会gameover哒
3.然后定义蛇<pre name="code" class="plain"> QList<QPoint>snake;
   
4.通过qtimer来使蛇动起来

5.判断蛇有没有碰到墙,有没有咬到自己,这些都要gameover
6.判断蛇有没有吃到食物,吃到蛇身要变长。



接下来说一些自己遇到的疑惑:
疑惑一:qlist是什么,自行百度,是一种装不同类型数据的容器,也是在使用和看代码过程中理解,什么叫容器的

<span style="white-space:pre">	</span>
疑惑二:为什么不直接装int在qlist里面,这样可以直接判断对应的label怎么表示啊,后来一想,因为蛇要动起来,蛇身要变长什么的,如果用int,就不能取出蛇头的横纵坐标和蛇尾的横纵坐标,就不好控制移动了
<span style="white-space:pre">	</span>例如,qpoint.x();qpoint.y(),可以获取横纵坐标;qpoint.setx(值),qpoint.sety(值)来设置该点的横纵坐标;QPoint newpoint = QPoint(1,0); oldpoint += newpoint;这些都是可以的。
疑惑三:蛇怎么动,对此,我在纸上画图,终于想明白它的本质,其实都是假象<img alt="尴尬" src="http://static.blog.youkuaiyun.com/xheditor/xheditor_emot/default/awkward.gif" />(老师说的),因为,很多人一开始不理解,就是觉得,怎么让蛇头往前面挪一个,蛇头后面的往前面挪一格,然后整体往前面挪,其实不是这样的,其实整个游戏,不都是建立在一开始你定义的label上吗?有的人问,到底是label在移动还是qpoint在移动,本质上,什么都没有动,只是通过qpoint取出它的横纵坐标,可以得到对应的二维数组的值和label,从而,使label,变成粉色或者蓝色,或者
基于Qt库的C++贪吃蛇,零基础也能跟着写! 基于Qt库的C++贪吃蛇游戏,每个蛇节点画出来的宽度与高度, 蛇节点坐标更新, 每个节点都装前一节点的坐标,从最后的一个节点开始。实现界面如下: 用C++进行简单的实现。 1. 先定义蛇的坐标类 2. 定义个棋盘,并对其进行初始化(简单的二维数组和一堆函数) 3. 然后就是具体规则细节了(大量的 if else 或者 switch 来判断具体情况) 包括游戏速度设置, 米粒生成和得... 阅读详情

相关推荐

QT项目实战:贪吃蛇小游戏

如果按下的是 Qt::Key_Space 键,则判断游戏是否已经开始,如果未开始,则将 gameStart 设置为 true,启动定时器 timer,并设置定时器的时间间隔为 time;如果按下的是 Qt::Key_Right 键,则判断当前移动方向 moveFlag 是否为 DIR_LEFT,如果不是,则将 moveFlag 设置为 DIR_RIGHT。,则表示与奖品接触,此时会设置字体为方正舒体,大小为30,加粗,斜体,并绘制游戏结束提示信息。在应用程序中,可以通过重写。然后,将画笔和画刷设置到。

qq_48597462的博客 3486

QT实现贪吃蛇

1.Linux操作系统2.QT5.5.11.贪吃蛇的身体用什么形式展现2.当方向改变时,蛇身如何实现转向前进3.如何记录蛇身的每一个坐标4.如何判断游戏结束1.首先有两种办法实现,第一:用QPushButton按键类,每个一个按键就是蛇的一部分身体,另外:用QPaintEvent绘图事件画出蛇的身体,个人认为用QPushButton实现比较简单粗暴,表面上看起来效果都一样。正在上传…重新上传取消。

hw5230的博客 1327

QT项目-贪吃蛇的实现

启动或重新启动一个超时时间间隔为毫秒的定时器。如果定时器正在运行,它将被停止和重新启动。如果singleShot为true,定时器将只激活一次。同上,重载了start()。停止定时器。如果定时器正在运行,返回true,否则返回false。返回定时器的剩余时间(毫秒为单位),直到超时。如果定时器不活跃,返回值是-1。如果定时器过期,返回值为0。设置超时间隔(毫秒为单位)。默认值是0,这时,一旦窗口系统事件队列中的所有事件都已经被处理完,一个时间间隔为0的QTimer就会触发。

weixin_56169816的博客 1815

Qt制作贪吃蛇游戏

Qt制作贪吃蛇游戏

龙木南的博客 4194

qt贪吃蛇源代码

该游戏由本人独立开发,基于Qt框架,使用链表作为贪吃蛇的数据结构,碰撞检测算法和自动寻路算法的设计以及游戏关卡的实现均为本人独立完成。

【小程序】支付宝直付通解决方案

支付宝直付通是支付宝为小程序提供的一种支付解决方案,可以实现小程序中直接使用支付宝进行支付。以上是一个简单的支付宝直付通解决方案及相关代码示例。具体的使用还需要根据自己的业务需求进行定制化开发和调整。

qq_31532979的贺公子之数据科学与艺术博客,致力于科技向善,拥抱开源,要用技术的影响力来领导团队,而不是威权和职位! 1281

透彻解析Qt入门级项目——贪吃蛇游戏

本项目主要通过编写贪吃蛇游戏来学习,熟悉Qt中封装的类,以及Qt Desginer的使用,所以本篇博客会用代码写界面完成贪吃蛇的设计,以此来熟悉Qt中封装的类,然后在另一篇博客利用Qt Desginer来设计界面再一次完成贪吃蛇的设计,以此来熟悉Qt Desginer的使用。

weixin_44049823的博客 3436

微磁模拟实战指南:从OOMMF安装到首个3D模型运行

本文详细介绍了OOMMF微磁模拟软件的安装与使用,从环境配置到首个3D模型运行的完整教程。涵盖Windows、Linux和macOS平台的安装避坑指南,以及MIF文件编写、并行计算优化等实战技巧,帮助研究人员快速掌握这一开源工具在磁畴壁运动、磁滞回线等微磁学问题中的应用。

weixin_29294597的博客 153

QT写贪吃蛇

QT写贪吃蛇 QT写贪吃蛇的话,分几个部分,一个是界面一个是算法,界面有游戏界面和贴图界面。 1.界面需要注意的部分 void MainWindow::intbackground(){ setAutoFillBackground(true); QPalette palette; palette.setBrush(QPalette::Background, QB...

weixin_42771401的博客 1098

基于ADS的低噪声放大电路设计

1. 低噪声放大器设计理论基础 1.1 低噪声放大器在通信系统中的作用 低噪声放大器的主要作用是放大天线从空中接收到的微弱信号,减小噪声干扰,以供系统解调出所需的信息数据。当今,人们对于各种无线通信工具的要求越来越高,如功率辐射要小、作用距离要远、覆盖范围要广等,这就对系统的接收灵敏度提出了更高的要求,系统接收灵敏度的计算公式为: Smin⁡=−144(dBmHz)+NF+10lg⁡BW(MHz)+SN(dB) {S_{\min }} = - 144\left( {\frac{{{\rm{dBm}}}}{

ASH_GUARDIAN的博客 4万+

在树莓派5(8G版)上运行Ollama + LLM

直接上结论,Ollama在树莓派上能安装,且本身运行起来毫无压力,但具体到大语言模型,Deepseek似乎不总是最佳选择。

ki1381的专栏 1649

Qt写基础贪吃蛇小项目

/创建食物int cnt=1;if(snakeList.front().intersects(foodRect))//判断两个矩形 食物和蛇头会不会相交cnt++;//统计相交的次数moveup();break;moveDown();break;moveLeft();break;break;//删除最后一个节点update();//更新链表});

Miserables_的博客 929

CPU 访问外设的两种核心机制:MMIO(Memory-Mapped I/O) 和 DMA(Direct Memory Access)

BAR和DMA是计算机系统中两种关键的数据传输机制:BAR(基址寄存器)用于CPU与设备间的控制通信,映射设备寄存器便于配置操作;而DMA(直接内存访问)允许设备直接读写系统内存,无需CPU参与大量数据传输。典型场景如NVMe SSD读取数据时,CPU通过BAR下发指令,设备通过DMA高效传输数据到主机内存,最后中断通知CPU。虽然BAR能映射大内存空间,但仍无法替代DMA的高效数据传输功能,两者各司其职——BAR负责控制,DMA专注数据传输,共同实现高性能的硬件交互。

MHD0815的博客 237

QT写的贪吃蛇(C++)

这个qt写的贪吃蛇是我在通过学校老师所录的视频简单学习之后,再根据网络上的视频做出的一个贪吃蛇小游戏。该游戏所实现的功能如下: ①资源文件的使用 ②父子窗口的协调出现,父窗口的背景覆盖 ③蛇头和食物初次出现的随机数 ④按键函数的使用 ⑤绘图事件的使用 ⑥按钮组的使用 ⑦同一个按钮点击连接不同槽 最终游戏界面如下:游戏进入界面

李子的博客 2万+

PyTorch强化学习实战(3)——Gymnasium API扩展功能

我们已经学习了编写智能体必需的 Gymnasium 核心功能,其余 API 功能部分虽然非必需,但能显著提升开发效率和代码整洁度。在本节中,我们简要地介绍了 Gymnasium API 的扩展功能,学习了如何以模块化的方式扩展现有环境的功能,并熟悉了使用包装器可视化智能体活动的方法。

盼小辉丶的博客 1195

倍福控制第三方伺服走CSV模式--以汇川伺服为例

在使用TwinCAT软件控制标准CiA402协议的EtherCAT伺服时使用TwinCAT软件NC自带的运动控制指令控制伺服,此时伺服驱动器一般工作在CSP/CSV/CST模式。最常见伺服驱动器工作在CSP模式,轨迹规划运行在TwinCAT软件,位置环速度环电流环运行在伺服驱动器中。该模式下速度波动较大,需要极度平稳的速度需要采用CSV模式。本文讲述的是伺服驱动器工作在CSV模式,此时轨迹规划和位置环均运行在TwinCAT软件,速度环电流环运行在伺服驱动器中。为了简化文字描述,本文采用图文结合的方式介绍伺服

weixin_41883890的博客 4847

QT写一个C++贪吃蛇游戏实战

本文详细介绍了使用Qt C++开发贪吃蛇游戏的完整过程。项目采用面向对象设计,包含Snake、Food、GameBoard等核心类,实现了蛇体移动、食物生成、碰撞检测等游戏逻辑。关键技术包括:Qt绘图事件实现游戏渲染、QTimer定时器驱动游戏循环、键盘事件处理控制方向。文章提供了完整的源码实现,涵盖网格坐标转换、防反向控制等细节处理,并给出了编译运行指南。通过该项目,开发者可以掌握Qt事件驱动编程思想,学习GUI游戏开发的基本方法,为后续扩展高分记录、音效、AI等功能奠定基础。

qq_32663053的博客 731

FAST-LIVO2 源码精读(十八):实时性优化、漂移排查与工程落地

FAST-LIVO2 的工程价值,不在于某一个孤立的技巧,而在于它把"激光的几何精度、惯性的高频预测、视觉的纹理与色彩"用一套简洁的滤波框架紧紧拧在一起,又在实时性、鲁棒性、可扩展性之间取得了难得的平衡。先用内建计时表定位瓶颈,再按降采样、并行、滑窗、编译优化、双频输出逐项加速;遇到漂移先看现象、循诊断树定位根因、回到对应章节取解法。十八篇至此收束。

PX4-SLAM-PNC 215

自己用QT写了个贪吃蛇游戏……

好久不用C++,怕忘了,于是拿起Qt来写写以前把俄罗斯方块写了,这会写个贪吃蛇也没看过别的算法…,希望这个效率还好吧关键的蛇体移动算法,是将头的前面一个置1,然后删除尾点,再将蛇体除头外全部+1,得到新蛇[code]void snake::gotoXY(int x,int y)//移动函数,每次只一步!!{ MAP[x][y]=1;head.x=x;head.y=y;//新建头点 MAP[trail.x][trail.y]=NOTHING;//清除尾点 bool flag_trail=false; for(

fuzhuo233的专栏 1927

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

命令行贪吃蛇以及qt写的桌面贪吃蛇

还记得大一上学期就想做贪吃蛇了,甚至写了三分之二,最后没有办法实现蛇的移动,就作废了,不知道是不是这个学期变聪明了,哈哈,一口气就写出来了,当然了,主要还是问了同学。 贪吃蛇主要有几个地方难实现,首先是如何形成动画,这个是通过暂停程序sleep(time)来与刷新屏幕(system("cls")来实现的,后来发现刷新屏幕会一闪一闪,可以用goto()局部刷新或者是二级缓存。第二,是如何...

weixin_38169722的博客 182

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

200+行代码写一个简易的Qt界面贪吃蛇

一个简单的Qt贪吃蛇,所有的图片都是我自己画的。大致的运行逻辑和之前那个200行写一个C++小黑窗贪吃蛇差不多,因此在写这个项目的时候,大多情况是在想怎么通过Qt给展现出来。

m0_63235356的博客 990

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

基于QT6(C++)写的《贪吃蛇》小游戏

基于QT6(C++)写的《贪吃蛇》小游戏 基于QT6(C++)写的《贪吃蛇》小游戏 关注公众号:载小帆,获取源码

weixin_48598142的博客 422

Qt贪吃蛇(代码裸写,不用creator)

先上个图哇: 图1,第一关视图 图2,第二关视图 游戏说明: (1).每关只需吃20颗红果即可通关 (2).增加新场景,在第二关出现 (3).增加刚打开程序READY状态,按空格开始 (4).增加暂停功能,在程序运行中按空格暂停,再按空格继续游戏 (5).只要不关闭应用程序,会保留关数,即在X关输了也是从X关开始 (6).每隔两关速度增快一次,场景重复出现

littlethunder的专栏 8247

qt window 添加widget_【附源码】大佬手把手带你用QT写贪吃蛇!

小白高薪捷径-Qt开发C/C++初学者的困惑很多C/C++初学者,自学了很多年,考了很多证,开发水平仍停留在控制台小项目上,就业更是遥遥无期,进退两难。C/C++的最强大的地方,当然是开发高性能框架、高性能服务器:基于C++框架Tenserflow实现的阿尔法狗:千万级并发服务器Nginx:在问鼎C/C++技术之巅之前,有没有一个技术方向,让C/C++小白就能够快速高薪就业的呢?小白高薪研发的最佳...

weixin_39757212的博客 240

第一次写博客,基于linux和qt的贪吃蛇游戏代码,免费

C++ Qt贪吃蛇新手小项目

AI小白炼金术师 1118
下一篇: Permission Denial: requires android.permission.CHANGE_CONFIGURATION
Princess_ES
博客等级 码龄11年 1粉丝 5原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值