自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

尔灵尔亿的博客

代码原创,转载请注明出处

  • 博客(41)
  • 资源 (1)
  • 收藏
  • 关注

原创 C++ 重制植物大战僵尸(Cocos2dx开源项目)

此游戏全部由本人自己制作完成。游戏大部分的素材来源于原版游戏素材,少部分搜集于网络,以及自己制作。 此游戏为同人游戏而且仅供学习交流使用,任何人未经授权,不得对本游戏进行更改、盗用等,否则后果自负。目前有六种僵尸和六种植物,植物和僵尸的动画都是本人做的。qq:2117610943最新视频-->点击观看开源代码下载提取码:3vzm 点击下载-->11月28日新增...

2020-01-10 17:11:32 124354 166

原创 (二十一)C++自制植物大战僵尸游戏僵尸游戏关卡结束数据处理

植物大战僵尸游戏开发教程专栏地址。

2024-04-28 09:16:32 388 2

原创 (二十)C++自制植物大战僵尸游戏僵尸进攻控制实现

植物大战僵尸游戏开发教程专栏地址。

2024-04-20 13:43:07 885

原创 (十九)C++自制植物大战僵尸游戏流程控制实现

植物大战僵尸游戏开发教程专栏地址游戏流程控制是实现整个游戏的基础,玩家会根据设定好的的游戏流程进行游戏操作。

2024-04-20 12:48:54 980

原创 (十八)C++自制植物大战僵尸游戏的游戏暂停实现

植物大战僵尸游戏开发教程专栏地址。

2024-04-19 15:02:47 1094 1

原创 (十七)C++自制植物大战僵尸游戏的游戏场景设计实现

植物大战僵尸游戏开发教程专栏地址。

2024-04-19 14:14:44 857

原创 (十六)C++自制植物大战僵尸游戏的宏定义讲解

在游戏代码中为了方便,定义了许多宏定义。使用宏定义简化代码并提高可读性。下面将讲解游戏中用到的宏定义。

2024-04-18 14:29:00 1232 1

原创 (十五)C++自制植物大战僵尸游戏僵尸基类讲解

植物大战僵尸游戏开发教程专栏地址在游戏中,最重要的两个类别就是植物与僵尸。僵尸可以对植物进行攻击,不同的僵尸攻击方式可能会不同,但是不同又有许多相同的属性。在基类(父类)中定义僵尸共有属性,供派生类(子类)继承。

2024-04-18 13:36:46 1084

原创 (十四)C++自制植物大战僵尸游戏windows平台视频播放实现

植物大战僵尸游戏开发教程专栏地址。

2024-04-17 16:31:08 1253

原创 (十三)C++自制植物大战僵尸游戏多用户存档实现(二)

植物大战僵尸游戏开发教程专栏地址。

2024-04-17 15:01:58 1099

原创 (十二)C++自制植物大战僵尸游戏多用户存档实现(一)

植物大战僵尸游戏开发教程专栏地址。

2024-04-16 17:11:04 467

原创 (十一)C++自制植物大战僵尸游戏客户端更新实现

植物大战僵尸游戏开发教程专栏地址。

2024-04-16 14:43:44 1067 5

原创 (十)C++自制植物大战僵尸游戏设置功能实现

植物大战僵尸游戏开发教程专栏地址。

2024-04-15 21:18:51 1541 4

原创 (九)C++自制植物大战僵尸游戏自定义对话框的实现

植物大战僵尸游戏开发教程专栏地址对话框在游戏的交互中非常重要。在游戏中,对话框不仅可以提醒用户下达任务指令,而且还可以让用户进行操作,自定义游戏中的各种属性。对话框在游戏的交互中非常常见且大量使用。Cocos2d-x中并未实现对话框的功能。所以自定义实现一个对话框非常有必要。

2024-04-15 14:05:41 804

原创 (八)C++自制植物大战僵尸游戏植物基类讲解

首先在植物基类的头文件中使用了枚举定义了植物类型。植物类型定义如下。None = -1,SunFlower, /* 向日葵 */PeaShooter, /* 豌豆射手 */WallNut, /* 坚果墙 */CherryBomb, /* 樱桃炸弹 */PotatoMine, /* 土豆雷 */CabbagePult, /* 卷心菜投手 */Torchwood, /* 火炬树桩 */Spikeweed, /* 地刺 */Garlic, /* 大蒜 */

2024-04-15 12:32:35 1045

原创 (七)C++自制植物大战僵尸游戏关卡数据加载代码讲解

打开LevelData.h和LevelData.cpp文件。文件位置如下图所示。

2024-04-14 18:58:57 1048

原创 (六)C++自制植物大战僵尸游戏关卡数据讲解

游戏关卡数据文件定义了游戏中每一个关卡的数据,包括游戏类型、关卡通关奖励的金币数量、僵尸出现的波数、每一波出现僵尸数量、每一波僵尸出现的类型等。根据不同的游戏类型,定义了不同的通关要求,例如最多使用小车的数量、不可种植的位置、最多使用的植物数量等。

2024-04-14 11:16:20 1265

原创 (五)C++自制植物大战僵尸游戏LoadingScene的实现讲解

游戏启动后就会立即切换到游戏加载场景中。只有游戏资源文件加载完成后,才能进入游戏。Loadingscene类继承Cocos2d-x中的Scene父类,表明Loadingscene是一个场景类。切换到LoadingScene场景中,首先会创建该场景,会调用函数,在该函数中调用自己定义的方法实现指定功能。代码文件的位置如下图所示。

2024-04-13 14:46:36 1125

原创 (四)C++自制植物大战僵尸游戏启动流程

鼠标左键单机VS2022上方工具栏中进行项目启动。第一次启动项目需要编译项目中所有代码文件,编译生成需要一定的时间。不同性能的电脑需要消耗的时间差别可能较大,通常在几分钟到几十分钟之间。编译成功后会自动启动运行游戏。qi编译成功后自动启动运行游戏如下图。

2024-04-12 17:13:11 777

原创 (三)C++自制植物大战僵尸游戏项目结构说明

打开项目后,在解决方案管理器中有五个项目,分别是五个项目,除外,其他四个是所用到的一些库文件,不需要深入探究。是一个物理引擎库是游戏开发框架,是一个骨骼动画库等。是我们自己开发的游戏项目,该项目依赖于上述的某些库文件。所以启动游戏时需要将项目设置为启动项。鼠标左键点击三角图案,打开项目结构目录。如下图所示。其对应的项目文件夹目标如下图所示。

2024-04-12 13:47:33 1292

原创 (二)使用VS2022克隆下载C++自制植物大战僵尸游戏教程

本文将介绍如何使用VS2022克隆下载《植物大战僵尸C++自制版本》。Gitee项目地址:Gitee仓库地址Github项目地址:Github仓库地址游戏官网地址(下载可直接运行)游戏官网。

2024-04-11 21:09:20 1095

原创 (一)C++自制植物大战僵尸集成开发环境安装

首先在微软官网下载Visual Studio 2022 Community版本。Community版本是免费的,并且满足个人开发的各种需求。。选择Community版本进行下载。

2024-04-11 19:56:17 645

原创 c++ string的详细用法(17)capacity(),swap(),clear(),length(),size(),empty(),begin(),end()等函数

string a="12345678";string b="ABCD";1.auto s=a.capacity(); //结果为 s=15; capacity的大小按n*16-1扩大2.交换字符串a.swap(b); //结果为 b="12345678"; a="ABCD"3.清空字符串a.clear(); //清空字符串4.字符串长度auto s=a.length(); ...

2019-12-22 18:53:28 2566

原创 c++ string的详细用法(16)substr()

string a="123456789abcdefg";1.截取整个字符串auto str=a.substr(); //结果为 str="123456789abcdefg";2.从字符串某一个位置开始截取auto str=a.substr(5); //结果为 str="6789abcdefg";2.从字符串某一个位置开始截取n个字符auto str=a.substr(5,10);...

2019-12-22 18:10:57 2273

原创 c++ string的详细用法(15)reserve()与resize()与shrink_to_fit()

string a="1234";a.reserve(20);reserve(size_t);可以调整string的空间。如果size_t大于capacity的容量,则capacity按n*16-1扩大到比size_t如果size_t小于capacity,则capacity不变a.resize(40);resize(size_t);可以调整string的空间。可以改变string s...

2019-12-22 17:56:07 3965

原创 c++ string的详细用法(14)replace()

string a="1234abcd5678efgh";string b="ABCD";1.在string字符串的某一个位置开始长度为m的字符被替换另一个(string)字符串replace(size_t n,size_t m,const char* str);a.replace(4,3,"替换"); //结果为 a="1234替换d5678efgh";replace(size_t ...

2019-12-22 17:34:49 2997

原创 c++ string的详细用法(13)push_back()与pop_back()

string a="123";1.在字符串末尾添加一个字符a.push_back('3'); //结果为 a="1233";2.在字符串末尾删除一个字符a.pop_back(); //结果为 a="12";

2019-12-22 16:19:39 20743 5

原创 c++ string的详细用法(12)insert()

string a = "1234";string b = "5678";1.在string字符串某一个位置上插入另一个(string)字符串insert(int,string&);a.insert(0, b); //结果为 a="56781234";a.insert(2, b); //结果为 a="12567834";insert(int,const char*);a.i...

2019-12-22 16:06:23 2574

原创 c++ string的详细用法(11)find_first_not_of()与find_last_not_of()

find_first_not_of()与find_first_of()功能正好相反。不懂得可以先看我写的find_first_of()函数功能详解find_firat_of()函数是在字符串中查找子串出现过的任意字符,也可以所字符串与子串都有的字符。find_first_not_of()函数是在字符串中查找子串没有出现过的任意字符,也可以说是,字符串中有而子串中没有的字符//以上查找的结果都...

2019-12-22 15:22:32 3716 1

原创 c++ string的详细用法(10)find_first_of()与find_last_of()

string a="123456789abcdefgh";1.在字符串中查找某一个字符auto s=a.find_first_of('5');//结果为 s=4;auto s=a.find_first_of('5',5); //没有查找到 s=string::npos;//如果查找某一个字符,与find()函数类似2.在字符串中查找子串//此时与find()函数不同,find()函...

2019-12-22 14:59:54 2573 1

原创 c++ string的详细用法(9)find()与rfind()

string a="123456789abcdefgab";string b="789abc";如果找不到则返回的值为string::npos/*if(a.find('k')==string::npos){ cout<<"没有找到"<<endl;}*/#1.在字符串中查找某一个字符##(1).从字符串开始位置开始查找 auto s=a....

2019-12-22 14:23:36 3436 1

原创 c++ string的详细用法(8)erase()

string a="123456789";1.删除所有字符a.erase(); //结果为 a="";2.从字符串的某一个位置开始删除a.erase(n) //从字符串的第n个字符开始删除a.erase(3); //结果为 a="123";a.erase(5); //结果为 a="12345";a.erase(0); //等同于a.erase() a="";3.从字符串的某一...

2019-12-22 13:36:29 1831

原创 c++ string的详细用法(7)data()与c_str()与copy()的区别

string a="123456";1.c_str(),data()可以生成一个const char* 的指针,可以指向一个空字符终止的地址。const char* str=nullptr;str=a.c_str(); //结果为 str="123456";str=a.data(); //结果为 str="123456";但是如果改变string a的值,str的值随之改变a="...

2019-12-22 13:03:45 1942

原创 c++ string的详细用法(6)copy()

char *str = new char[64];string a="12345abcdefg6789";str[a.copy(str,7,5)]='\0';// 结果为 str="abcdefg";str[a.copy(str,7)]='\0';// 结果为 str="12345ab";delete[]str;

2019-12-22 12:22:05 3538

原创 c++ string的详细用法(5)compare()

string a="abcd";string b="efgh";string c="1fgh";string d="fgh";string e="123efg";比较两个字符串的ASCII码,>0返回1,<0返回-1,相同,返回0ASCII码比较是字符串的字符从前往后比较,如果之前的比较完成则后面的字符无需比较1.直接比较两个字符串auto number = a.c...

2019-12-21 17:21:58 1879

原创 c++ string的详细用法(4)front()与back()

string a="abcd";1.获取字符串最后一个字符auto b=a.back(); //结果为 b='d';2.修改字符串最后一个字符a.back()='!'; //结果为 a="abc!";

2019-12-21 16:48:48 12469

原创 c++ string的详细用法(3)at()

string a="abcd";1.获取string字符串某一个字符auto s=a.at(1); //结果为 s='b';for (unsigned int i=0;i<a.size();i++){ cout << a.at(i) << endl;}/* 结果为 a b c d */ //等同于a[i],但是at()会有下标检查,如果超...

2019-12-21 16:43:38 4657 1

原创 c++ string的详细用法(2)append()

string a="1234";string b="5678";1.把两个string字符串相连接a.append(b); //结果为 a="12345678";a.append("56789");//结果 a="123456789";2.从string字符串b的某一个字符开始到结束连接在string字符串a后面a.append(b,1);//结果为 a="1234678";a....

2019-12-21 16:25:26 2036

原创 c++ string的详细用法(1)assign()

//字符串变量string a="123";string b="456";1.字符串直接赋值a.assign(b); //等于a=b赋值,结果为 a="456"a.assign("789");//结果为 a="789"2.一个字符串的子串赋值给另一个字符串a.assign(b,begin,len);//从字符串b的第(begin)个字符开始向后数(len)个字符(包括begin)...

2019-12-21 14:59:58 9057

原创 功能超级强大的计算器程序 免费开源 全部源码

此计算器是模仿windows10系统的计算器所写的。开发环境是visual stdio 2017 community + Easy 2018 (春风版)。借鉴了win10计算器的一些外观设计以及所包含的一些功能。但是实现此计算器的所有算法是自己独立开发。其中的一些功能或许没有写的很完善。另外此计算器肯定还有很多BUG。一些不当的操作或者是正当的操作由于程序不完善的原因都可能造成程序的崩溃。...

2019-02-28 19:39:52 14361 15

推箱子小游戏

推箱子小游戏,选关闯关多种模式。总共写了四十关。适合新手。

2018-04-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除