cocos2d-x【小菜在学习】做个Towerdefend初期

TowerDefend.7z 简易塔防小游戏,多关卡,可升级。随机寻路,在simulator中运行exe文件即可执行。此为源码发布,利用Cocos开发环境可以直接进行打开与更改 立即下载

学习cocos2d-x没事想做做塔防游戏,却没有美工,也还没去找素材,就先这手头的素材做了个最初模样。

做了最初的闪躲障碍物功能,截图如下:




算法参照A星算法改编,但其中还有不少问题,如还是存在绕弯路,绕远路等缺陷:

代码如判断哪个方向可以走代码:

			//右
			if (!isObjs(ccp(p.x+1,p.y))&&!isNoRoute(ccp(p.x+1,p.y)))
			{
				route=new Route;
				route->x=p.x+1;
				route->y=p.y;
				i++;
				Route1->addObject(route);
				flag=false;

			}
			//上
			if (!isObjs(ccp(p.x,p.y+1))&&!isNoRoute(ccp(p.x,p.y+1)))
			{
				route=new Route;
				route->x=p.x;
				route->y=p.y+1;
				flag=false;
				i++;
				Route1->addObject(route);
			}
			//下
			if (!isObjs(ccp(p.x,p.y-1))&&!isNoRoute(ccp(p.x,p.y-1)))
			{
				route=new Route;
				route->x=p.x;
				route->y=p.y-1;
				flag=false;
				i++;
				Route1->addObject(route);
			}
			//左
			if (!isObjs(ccp(p.x-1,p.y))&&!isNoRoute(ccp(p.x-1,p.y)))
			{
				route=new Route;
				route->x=p.x-1;
				route->y=p.y;
				i++;
				Route1->addObject(route);
				flag=false;
			}

如判断是否要走哪个方向的路,a星算法的理解得来的:

			if (Route1->count()!=0&&Route1->count()!=-1)
			{
				for (int i=0;i<Route1->count();i++)
				{
					Route *route=(Route *)Route1->objectAtIndex(i);
					if (min>(fabs((float)(320-route->x))+fabs((float)(32*6-route->y))))
					{
						min=(fabs((float)(320-route->x))+fabs((float)(32*6-route->y)));
						no=i;
					}
				}

				_AllRoute->addObject(Route1->objectAtIndex(no));
				//设置走过的点不可以走
				_nogo->addObject(Route1->objectAtIndex(no));
				Route* route=(Route *)_AllRoute->lastObject();
				if (route->x-p.x>0)
				{
					direct=kRight;
				}else if (route->y-p.y>0)
				{
					direct=kUp;
				}else if (route->y-p.y<0)
				{
					direct=kDown;
				}else if (route->x-p.x<0)
				{
					direct=kLeft;
				}
			    p=ccp(route->x,route->y);
			}else{
				if (_AllRoute->count()!=0&&_AllRoute->count()!=-1)
				{
					Route*route =(Route *)_AllRoute->lastObject();
					p=ccp(route->x,route->y);
				}
			}

现在还写不完全,源码就不贴出来了,大家加油吧


【电力负荷预测】项目介绍 MATLAB实现基于BO-Transformer-LSTM贝叶斯优化算法(BO)优化Transformer-LSTM组合模型进行居民用户多步电力负荷预测(含模型描述及部分示例 内容概要:本文介绍了一个基于BO-Transformer-LSTM的组合模型,用于实现居民用户多步电力负荷预测的完整项目实例。该模型融合Transformer的全局注意力机制与LSTM的局部时序记忆能力,构建能够捕捉长时依赖与周期性特征的深度学习架构,并引入贝叶斯优化(BO)自动搜索最优超参数组合,提升预测精度与训练效率。项目涵盖从原始数据清洗、特征工程、滑动窗口样本构建、模型设计到超参数优化、反归一化及多步误差评估的全流程,强调时间顺序划分以防止信息泄露,并通过周期编码、外生变量融合等方式增强数据表达能力。文中提供了详细的MATLAB代码示例,包括数据预处理、网络搭建、贝叶斯优化配置和预测结果评估等关键步骤。 适合人群:具备一定机器学习和时间序列分析基础,熟悉MATLAB编程环境,从事电力系统预测、智能电网、负荷管理等相关领域的研究人员、工程师及研究生。 使用场景及目标:①应用于居民级或多用户聚合负荷的短期至中期多步预测(如未来24小时);②服务于配电系统运行调度、需求响应基线设定、家庭能源管理系统优化、分布式能源协调控制等实际工程场景;③为科研提供可复现的深度学习+贝叶斯优化的技术路线参考。 阅读建议:此资源以实际项目为导向,建议读者结合提供的代码逐步实现并调试模型,重点关注数据质量控制、时间特征编码、组合网络结构设计与贝叶斯优化稳定性之间的协同关系,在实践中深入理解多步预测中的误差累积机制与超参数敏感性问题。 立即下载

相关推荐

国央企创新负责人如何通过平台实现科研成果的快速识别与转化?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

cocos2d-x VS解决#include "cocos-ext.h"不能用 及extensions扩展函数导入问题

小菜出现过这个问题,想用CCScale9Sprite以及CCControlButton的使用时头文件导入不进去 以及就算头文件编译过去了,CCScale9Sprite也是一直声明不了。 解决过程是这样的1,点击项目属性在vc++目录的包含目录中添加你的extensions路径如我这边是F:\cocos2d-2.1beta3-x-2.1.1\extensions 然后再c/c++中的添加包括

five50的专栏 1万+

PotPlayer自用皮肤

自用 PotPlayer 皮肤,仅微调了字体大小与颜色,是按个人习惯调整,未做适配性调整。

如何win32上cocos2dx发布安卓apk流程

首先在exclipe上配置好java的jdk1.6或更高,配置好android环境(最好有android2.1或2.2以及更高版本的sdk)。 在下载个ndk,ndk解压后先放到一边,cygwin,解压后,sygwin解压安装会比较久大概4-5个小时,如果解压安装成功, cygwin安装过程请参考http://wenku.baidu.com/view/88b001ef4afe04a1b171d

five50的专栏 7401

2-shell及常用命令-续.pdf

2-shell及常用命令-续.pdf

Dify + mem0插件实战:如何让AI记住你的饮食习惯(附完整代码)

本文通过Dify平台与mem0插件实战,详细演示了如何为AI助手构建长期记忆系统,使其能记住并理解用户的复杂饮食习惯(如过敏源、饮食偏好)。文章提供了完整的工作流配置与Python代码示例,帮助开发者实现跨会话的个性化饮食建议,解决AI对话中的“健忘”问题。

lg888的博客 1094

cocos2dx3.0-lua获取cocosstudio场景以及获取ui等控件

local node = ccs.SceneReader:getInstance():createNodeWithSceneFile("background_wave.json") -- node:setPosition(cc.p(100,100)) local t = node:getChildByTag(10004) if t==nil then

five50的专栏 6042

别再为PT100测温发愁了!手把手教你用ADS1247+STM32搞定高精度温度采集(附完整代码)

本文详细介绍了如何使用ADS1247与STM32构建高精度PT100测温系统,涵盖硬件设计、SPI配置、温度计算及调试技巧。通过24位ADC和内置PGA,实现0.1℃级精度,适用于工业自动化和医疗设备。附完整代码和常见问题解决方案,助你快速掌握高精度温度采集技术。

weixin_42524703的博客 344

cocos2dx 项目经验之截图设置弹出暂停界面

在项目开发时,发现如果用CCDirector::sharedDirector()->pause();之后精灵是做不了动作的,所以我寻求了另一种方法, 原理就是要弹出暂停界面是就用push(暂停场景),及顾名思义推出一个暂停界面,将游戏界面暂停压入栈中,当暂停界面响应后(或做动作完后)就可以pop,及拿出意思,推出栈,及之前的游戏界面会继续开始。 先新建一个暂停类PauseLayer 下面是部

five50的专栏 5590

国产大模型高考横评:数学推理与教育落地能力实测

大模型能力评估正从开放榜单转向封闭任务的确定性验证,高考作为强逻辑、低容错、高精度的标准化考试,成为检验模型真实推理能力的理想标尺。其核心在于考察知识覆盖、步骤完整性、单位敏感性与教学对齐度,而非单纯答案正确率。数学解答题尤其凸显模型在前提校验、条件枚举与过程可控性上的差异,反映出训练数据与教育语料深度耦合带来的工程化优势。该范式已延伸至语文语感建模、英语表达习惯适配及理综跨学科缝合等场景,为智能阅卷、精准答疑和教培系统集成提供可复现、可解释、可部署的技术依据。

weixin_30436581的博客 288

QGroundControl实现多机控制

前言 作为西安电子科技大学的本科生一名,目前在研究关于无人机导航规划与轨迹控制方面。 目前在跟导师做关于雷达无人机的一个项目,在这里记录一下关于QGC地面站实现多机控制的一些方法。 某些地方写的可能不是很完善,欢迎大家补充。 目前该文章还未写完,后期本人会继续编写 多机控制原理 多机地面站支持TCP,UDP和串口等三种连接方式,首先我们需要对这两种连接方式抽象出一个基类LinkInterface,提供两个虚函数分别对应于数据接受和发送处理,针对于不同的连接方式实现TCP,UDP和串口连接相对应的子类TCPL

Phillweston的博客 8428

在生成android版本时候出现的蛋疼问题Fatal signal 11 (SIGSEGV) at 0xdeadbaad (code=1),

01-11 19:47:57.153: A/libc(27675): Fatal signal 11 (SIGSEGV) at 0xdeadbaad (code=1), thread 27675 (com.bs.game) 出现这个问题我查了好久,在xcode上编辑以及跟windows上编辑都没有报错,查了好久 这个错误是因为我在cpp中定义了一个内部全局变量,我以为能在函数外部给它付

five50的专栏 5043

医疗领域BGE-M3模型微调全流程:从数据准备到效果评估

本文详细介绍了医疗领域BGE-M3模型的微调全流程,从数据准备到效果评估。通过医疗数据微调,BGE-M3模型在临床问答、病历检索等场景中表现显著提升,能够准确理解医学术语之间的细微差别。文章还提供了实战练习代码和效果评估指标,帮助开发者快速掌握医疗文本嵌入模型的应用技巧。

weixin_29098367的博客 281

cocosdx3.0 lua项目 从cocostudio中到处得ui 获取button 以及button监听

local winsize=cc.Director:getInstance():getWinSize() local layer=cc.Layer:create() local scene=cc.Scene:create() n=2 local function touchEvent(sender,eventType) cclog(sender:g

five50的专栏 4905

第3讲:单端传输线的时域TDR仿真(基于实战的第一次仿真视角切换)

本文为CST仿真系列教程的第3讲,主要介绍传输线阻抗(TDR)的两种仿真方法:基于S参数的频域计算和基于高斯脉冲的时域计算。文章详细演示了在CST PCB Studio中修改电容参数、设置TDR仿真参数(包括截止时间和采样点数)的操作步骤,并通过对比实验展示TVS寄生电容对阻抗曲线的影响。最后将两种TDR方法的结果进行对比,验证了两种方法的一致性。本教程适合硬件工程师通过时域波形直观分析传输线阻抗特性,是信号完整性分析的重要技能。

一只豌豆象的博客 227

SAE ARP 4761A内容详解

SAE ARP 4761A主要为民用航空系统及设备的安全评估提供指南,帮助制造商和设计者满足FAA的FAR 25.1309等适航标准的要求。该文档旨在为航空器和航空系统设计中涉及的安全评估流程提供一个结构化的框架,并结合一系列工具和方法,如故障树分析(FTA)、依赖图分析(DD)、马尔可夫分析(MA)等,来系统地评估潜在的安全隐患。这一标准不仅适用于大型航空器的设计和评估,还可以应用于各种类型的飞行系统,如无人驾驶飞行器(UAV)和新型的电动垂直起降飞机(eVTOL)。

qq_41854911的博客 3149

关于AndroidRuntime: FATAL EXCEPTION: GLThread 10 java.lang.IllegalArgumentException问题

最近弄了cocos2dx win32项目弄成安卓版,到最后在虚拟机运行一直出现这个问题,主要的问题如下 虚拟机上有了一个apk文件了 但当我点击的时候 就出现以上情况了,最后我查看了哪里报的错如下图 最后在网上努力的查找发现有种说法,不过认为是比较正确的就是官方更新的GLSurfaceView不能再在虚拟机上调试了,需要在真机上调试,后来,我去试了在eclipse上

five50的专栏 4815

UNet改进(47):Deformable Convolution在UNet中的集成与应用

本文提出了一种可变形U-Net(DeformableUNet)结构,通过在U-Net的双卷积模块中集成可变形卷积(DeformConv2d)来提升模型对物体形变和复杂结构的建模能力。传统卷积受限于固定感受野,而可变形卷积通过动态调整采样位置,能更好地适应不规则形状。实现中,在DoubleConv模块的第二个卷积层替换为可变形卷积,同时保持第一层为标准卷积以确保稳定性。实验表明,该方法在保持参数量基本不变的情况下,显著提升了分割精度(mIoU从0.712提升到0.743)。

2501_91516851的博客 201

cocos2d-x 做项目时问题,Assertion failed! Expression: m_pChildren->containsObject(pSprite)

出现以下界面 点击忽略时,会弹出 表示说在这里中断 在程序反复查试之后发现时我运用到已经删除的一个CCSprite,在它删除之后还会调用到它的位置,即会出现这些错误,查了很久,所以发上去给大家分享,希望有帮助!

five50的专栏 4278

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

简单骨骼动画编写

做个小骨骼动画demo给大家试试先。 设置一个加载的label CCLabelTTF *l = CCLabelTTF::create("0.0", "Arial", 50); l->setColor(ccColor3B(ccBLUE)); addChild(l, 1, 10001); l->setPosition( CCPoint(visibleSize.width/2, visibl

five50的专栏 3614

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

cocos2dx 与android函数的相互调用及使用jni

哈喽大家好 ,之前一阵子一直在忙项目,没怎么发过博文,挺想看看cocos2dx与安卓是如何交互的,所以就学习了一下(因为我是小菜嘛 想多学点东西 嘻嘻!!!)做了这么一个小test,虽然不多代码但小菜弄了许久,发上来给大家分享下 如果有什么错误或建议欢迎大家为我指出来啊 小菜感激不尽。。。 其实一开始是在想如何在cocos2dx中加入广告及第三方sdk,出于这个原因而学习了这个,好啦,开始

five50的专栏 3435

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

安卓手机使用loading界面时一开始用CCTextureCache::sharedTextureCache()->addImageAsync感觉会卡

大家好,最近忙于项目比较少发博文,现在发自己发现的问题跟大家共享一下!在我用cocos2dx做游戏时,本想用一个loading界面使一开始下一个跳转以及之后的跳转界面都不卡(这个是我的本意)。后来就根据网上大家都建议使用的异步加载图片的方法去加载图片纹理 //对话的图片纹理 CCTextureCache::sharedTextureCache()->addImageAsync("dial

five50的专栏 3260

cocos2d-x【小菜在学习】做个小游戏俄罗斯方块(二)

小菜来继续小游戏俄罗斯方块啦! 有什么更好的做法,请大家给点意见,小菜会认真去思考学习 此集实现的是方块图像的下降以及下降后消行(左右移动在第三集)。 首先创建在之前创建的BlockManager中 头文件中定义 private: cocos2d::CCArray *_newBlock; //上集就需要定义的 cocos2d::CCArray *_saveBlock; co

five50的专栏 2859

cocos2d-x【小菜在学习】做个小游戏俄罗斯方块(三)

小菜又来了!!! 本期实现的功能为变形以及左右移动的功能 首先说下我变形的原理 以这两个数组变化来控制旋转。 (2,0)(2,1)(2,2)           (0,0)(1,0)(2,0) (1,0)(1,1)(1,2)           (0,1)(1,1)(2,1) (0,0)(0,1)(0,2)           (0,2)(1,2)(2,2)

five50的专栏 2717

c++二维数组的定义以及初始化

c++定义二维数组 定义 CCPoint **pp=new CCPoint *[num]; for (int i=0;i<num;i++) { pp[i]=new CCPoint[num]; } 初始化 for (int i=0;i<num;i++) { for (int j=0;j<num;j++) { pp[i][j]=ccp(nu

five50的专栏 2687

cocos2d-x【小菜在学习】做个小游戏俄罗斯方块(一)

小菜我这两天做了个小游戏当做锻炼了下自己,现在拿出来跟大家分享啦! 此集是实现画背景,以及画俄罗斯方块图像的主要代码,到后面会给出源码。 首先我在背景类RussiaGame在draw函数写 ,如下(及可画出我所要的背景)十二个格子 void RussiaGame::draw() { ::glLineWidth(1);//设定画线的宽度 for(int i=0;i<maxline+1

five50的专栏 2661
上一篇: cocos2d-x 弹出堆被损坏,这说明 **.win32.exe 中或它所加载的任何 DLL 中有 Bug的解决方法
下一篇: 错误16error C2011: “Bullet”:“class”类型重定义,如何解决
cocos_Wei
博客等级 码龄15年 77粉丝 67原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值