- 博客(184)
- 资源 (26)
- 收藏
- 关注
原创 c/c++常用算法(12) -- 基本排序算法(归并排序)
归并排序归并(Merging) :是指将两个或两个以上的有序序列合并成一个有序序列。若采用线性表(无论是那种存储结构)易于实现,其时间复杂度为O(m+n)。 归并思想实例:两堆扑克牌,都已从小到大排好序,要将两堆合并为一堆且要求从小到大排序。 ◆ 将两堆最上面的抽出(设为C1,C2)比较大小,将小者置于一边作为新的一堆(不妨设C1
2014-01-04 14:35:46 1609
原创 c/c++常用算法(11) -- 基本排序算法(插入排序)
插入排序 采用的是以“玩桥牌者”的方法为基础的。即在考察记录Ri之前,设以前的所有记录R1, R2,…., Ri-1已排好序,然后将Ri插入到已排好序的诸记录的适当位置。 最基本的插入排序是直接插入排序(Straight Insertion Sort)。1.直接插入排序1.1 排序思想 将待排序的记
2014-01-04 14:20:55 1687
原创 c/c++常用算法(10) -- 基本排序算法(选择排序)
选择排序 选择排序(SelectionSort)的基本思想是:每次从当前待排序的记录中选取关键字最小的记录表,然后与待排序的记录序列中的第一个记录进行交换,直到整个记录序列有序为止。1.简单选择排序 简单选择排序(Simple Selection Sort,又称为直接选择排序)的基本操作是:通过n-i次关键字间的比较,从n-i+1个记录中选取关键
2013-12-23 18:18:16 1943
原创 c/c++常用算法(9) -- 基本排序算法(交换排序)
交换排序概念 交换排序的基本思想是:两两比较待排序记录的关键字,发现两个记录的次序相反时即进行交换,直到没有反序的记录为止。应用交换排序基本思想的主要排序方法有:冒泡排序和快速排序。1.冒泡1.1 排序思想 依次比较相邻的两个记录的关键字,若两个记录是反序的(即前一个记录的关键字大于后前一个记录的关键字),则进行交换
2013-12-21 14:51:52 1738
原创 c/c++常用算法(8) -- 基本排序算法
排序(sort)或分类 所谓排序,就是要整理文件中的记录,使之按关键字递增(或递减)次序排列起来。其确切定义如下: 输入:n个记录R1,R2,…,Rn,其相应的关键字分别为K1,K2,…,Kn。 输出:Ril,Ri2,…,Rin,使得Ki1≤Ki2≤…≤Kin。(或Ki1≥Ki2≥…≥Kin)。1.被排序对象--文件 被排序的对象--文件由一组
2013-12-21 11:36:56 1757
原创 c/c++常用算法(7) -- 基本算法思想(续)
4.分治算法思想4.1 思想 有时候我们处理一个复杂的问题,可能此问题求解步骤非常杂,也可能是数据非常多,导致我们当时很难求出或者无法求出,古语有云:步步为营,各个击破,这个思想在算法中称为分治思想,就是我们可以将该问题分解成若干个子问题,然后我们逐一解决子问题,最后将子问题的答案组合成整个问题的答案。 4.2 条件 当然各个思想都有它的
2013-12-20 10:27:09 1981 2
原创 c/c++常用算法(7) -- 基本算法思想
概述 在实际应用中,不同问题的解题思想也往往不同。如果找不到一个合适的思路,那么求解过程可能就变得复杂,甚至无法求解得到结果。选择合理的思想,可以帮助用户理清问题的头绪,更快地解决问题。算法就是起到了这个作用。常见的算法穷举算法思想递推算法思想递归算法思想分治算法思想概率算法思想还有贫心算法思想、回溯思想、动态规则思想(本篇就不做介绍了)。1.
2013-12-20 09:53:47 2960
原创 c/c++常用算法(6) -- 数据结构(图)
一、概念1.图、树、线性结构区别: 图(Graph)是一种比线性表和树更为复杂的数据结构。 图结构:是研究数据元素之间的多对多的关系。在这种结构中,任意两个元素之间可能存在关系。即结点之间的关系可以是任意的,图中任意元素之间都可能相关。 树结构:是研究数据元素之间的一对多的关系。在这种结构中,每个元素对下(层)可以有0个或多个元素相联系,对上(
2013-12-19 16:21:47 4556
原创 c/c++常用算法(5) -- 数据结构(树)
一、树的定义和基本术语1.树的定义 树(Tree)是n(n≧0)个结点的有限集合T,若n=0时称为空树,否则: ⑴ 有且只有一个特殊的称为树的根(Root)结点; ⑵ 若n>1时,其余的结点被分为m(m>0)个互不相交的子集T1, T2, T3…Tm,其中每个子集本身又是一棵树,称其为根的子树(Subtree)。
2013-12-19 15:43:40 4689
原创 c/c++常用算法(4) -- 数据结构(队列)
一、概念 队列(Queue):也是运算受限的线性表。是一种先进先出(FirstIn FirstOut ,简称FIFO)的线性表。只允许在表的一端进行插入,而在另一端进行删除。 队首(front):允许进行删除的一端称为队首。 队尾(rear):允许进行插入的一端称为队尾。 例如:排队购物。操作系统中的作业排队。先进入队列的成员总是先离开队
2013-12-19 15:17:43 1768
原创 c/c++常用算法(3) -- 数据结构(栈)
一、概念: 栈(Stack):是限制在表的一端进行插入和删除操作的线性表。又称为后进先出(LIFO(Last In First Out)或先进后出(FILO(First In Last Out)线性表。 栈顶(Top):允许进行插入、删除操作的一端,又称为表尾。用栈顶指针(top)来指示栈顶元素。 栈底(Bottom):是固定端,又称为表头。
2013-12-19 15:07:47 1731
原创 c/c++常用算法(2) -- 数据结构(线性表的链式存储)
一、线性表的链式存储结构 链式存储:用一组任意的存储单元存储线性表中的数据元素。用这种方法存储的线性表简称线性链表。 存储链表中结点的一组任意的存储单元可以是连续的,也可以是不连续的,甚至是零散分布在内存中的任意位置上的。 链表中结点的逻辑顺序和物理顺序不一定相同。为了正确表示结点间的逻辑关系,在存储每个结点值的同时,还必须存储指示其直接后继结点的地址(或位置),称
2013-12-19 14:44:17 2009
原创 c/c++常用算法(1) -- 数据结构(线性表的顺序存储)
一、线性表描述 线性结构是最常用、最简单的一种数据结构。而线性表是一种典型的线性结构。其基本特点是线性表中的数据元素是有序且是有限的。在这种结构中:①存在一个唯一的被称为“第一个”的数据元素;②存在一个唯一的被称为“最后一个”的数据元素;③除第一个元素外,每个元素均有唯一一个直接前驱;④除最后一个元素外,每个元素均有唯一一个直接后继。二、线性表
2013-12-19 11:54:11 3381 2
原创 cocos2d-x学习日志(14) --A星寻路算法之45度地图
一、A星搜索他就是一种启发性的算法,根据现在到达这个位置的步数及之后的“估计步数”,即f=g+h,f是整个从起点到终点的代价,g是从起点到我们目前位置的步数,h是从目前位置到终点的估计值,注意这里是估计值,所以我们得到解并不一定是最好的解,具体解“好”到什么程度呢?就是要根据h的估计的好坏,因此只是一个较优解。(以上的部分只能说是我对A星算法较为浅的理解,只能算是初探吧,有不足之处欢迎
2013-12-16 12:03:54 5480 9
原创 Cocos2d-x 屏幕适配
为了适应移动终端的各种分辨率大小,各种屏幕宽高比,在 cocos2d-x(当前稳定版:2.0.4) 中,提供了相应的解决方案,以方便我们在设计游戏时,能够更好的适应不同的环境。 而在设计游戏之初,决定着我们屏幕适配的因素有哪些,简而言之只有两点:屏幕大小 和 宽高比。这两个因素是如何影响游戏的:屏幕大小: 从小分辨率 480x320 到 1280x800 分辨率,
2013-12-09 10:40:36 4999 1
原创 cocos2d-x 如何管理游戏资源
在游戏的开发过程中,前期的规划 往往比 后期的“优化”更为重要!比如多分辨率适配,如果前期没有规划好,可能导致的情况是,画面只在当前测试开发机或者一部分机型正常显示。做了多套资源适配,可以使在合适的机型使用对应的图片资源,避免在高清屏幕使用低质量的图片,在低分辨率屏幕因为图片太大而浪费硬件资源。机制与策略分离,可以让你设计出简单有效的接口。模块化的设计可以让你组织好各种逻辑流程,条理分明 ~
2013-12-06 17:58:15 3510
转载 cocos2d-x封神榜(5) -- 【界面UI设计】
简单探讨一下如何在cocos2d-x的游戏引擎里面去制作各做交互UI界面,常见的UI如下: 人物头像,血条值,经验条,技能按钮,以及各种玩家交互的界面按钮:背包,人物属性,门派,等; 类似上面的图示交互UI,他们是悬浮于窗体上的。那么按照我现在做的层级架构就是这些UI操作,是不属于任何CCObject的,或者被继承的; 回到第一篇我对整个架构的分析,这
2013-12-05 14:50:23 2213
转载 cocos2d-x封神榜(4) -- 【怪物智能AI】
谈到怪物AI,我觉得就比较话多了,首先理解一下(Artificial Intelligence人工智能),人工智能是计算机科学的一个分支,人工智能是计算机科学技术的前沿科技领域。人工智能与计算机软件有密切的关系。各种人工智能应用系统都要用计算机软件去实现,许多聪明的计算机软件也应用了人工智能的理论方法和技术。 总而言之,言而总之,我理解的AI就是:用人类自己的思考模式去赋予游戏中角色
2013-12-05 14:46:50 2253 1
转载 cocos2d-x封神榜(3) -- 【精灵的地图活起来了】
谈到地图不少人都说要做地图编辑器了,但是我暂时绕过这一步,如果不用寻路地图就不能移动?寻路就是会绕过障碍物的算法。 我做了一个简单的地图的思想,就是地图分层3层:背景层、可行区域层、遮罩层,但是地图就不寻路了,通过设置可行区域层来实现地图障碍物的方法。下面看一个视图,我把地图详细的分层了: OK,有了这个思路,大家应该也知道我要怎么做了?代码实现上怎么处理
2013-12-05 14:42:12 2301 1
转载 cocos2d-x封神榜(2) -- 【精灵的八面玲珑】
继续上一篇文章继续聊吧,这章内容会比较多,也会附上代码,很多朋友加了群,大家在群里面探讨了很多东西,这让大家都觉得受益匪浅,这便是极好的,废话不多了,精灵是游戏的重要组成部分,那ARPG里面的精灵必然是要做得很细的,因为精灵要能动,能跑,能打,甚至要能做各种交互动作等等。 大家可以看一下下面的题,是精灵制作的流程思路: 上图的人物素材来自于网络流传的梦幻西
2013-12-05 14:29:37 2023
转载 cocos2d-x封神榜(1) -- 【研发思路及感想】
我半年前进入了目前的这家做教育行业的公司(在此之前一直从事原生态开发手游的迷茫之路),学习是一件很快乐的事情,来到这家公司我有了很多时间去学习,不管是公司业务,还是其他技术相关的。于是开始了cocos2dx的研发之路,觉得此路不在迷茫。通过对cocos2dx的了解,一步一步去实践,几乎现在每天下班回家,都会继续研究这方面的知识。我曾经研发过页游,和大型的RPG手游的一些经验,首先说游戏类型,如果我
2013-12-05 14:20:04 2118
原创 C++编码规范
命名规则: 所有命名,都尽量做到“一目了然”,并且不要太过冗长。尤其要禁止含意和所实现的功能不一致的现象。含意上一般动名词也要注意,一般函数第一个单词尽量用动词种类示例说明文件名RoleManager以大写字母开头的单词拼接而成类名RoleMater
2013-12-05 09:52:40 1510
原创 cocos2d-x封神榜demo开源源码
cocos2d-x封神榜demo开源源码客户端下载地址:http://pan.baidu.com/share/link?shareid=3744414230&uk=1714158962
2013-12-03 00:59:56 4870
原创 cocos2d-x(2.1.4)之虚拟摇杆SneakyInput
这篇文章中,我们将用另一个虚拟摇杆类,SneakyInput,这个是开源的,已经有c++版,SneakInput c++的源码下载地址为:https://github.com/Ntran013/SneakyInput注意,这个下载下来需要修改,因为那是基于老版本的cocos2dx的。已修改后的源码下载地址为:http://download.csdn.net/detail/my183100521
2013-11-27 17:36:47 2699
原创 TMX瓦片地图无法加载问题
1.cocos2d-x 加载tmx图片失败 重新编译运行时加载出错,提示“TMX: Only 1 tilset per layer is supported”。原来是同一个图层上只能使用同一图块资源的元素,必须要新建一个图层,将新添加的元素布局到新图层上面,重新加载就OK了!2.加载代码时出现程序崩溃问题修改如下: 编辑>参数>通
2013-11-27 13:58:00 3773
原创 cocos2d-x-LuaProxy学习日志(8) -- Lua实现事件派发器
Lua实现事件派发器简介: 为了降低模块间的耦合, 很多系统使用事件派发机制, 接收方无需知道派发者是谁.在Qt中,这个系统被称作Slot&Signal, 需要配合moc代码生成机制, 但是系统本身是线程安全的.这里我们讨论的是lua的事件派发机制, 我将此写成lua模块, 方便配合cocos2dx-LuaProxy进行逻辑处理.实现:代码如下:E
2013-11-21 10:43:26 4070
原创 cocos2d-x-LuaProxy学习日志(7) -- 场景切换
一、切换效果简介 cocos2d_x提供了大量的场景切换效果、你无需自己再去实现、基本已经能满足日常开发的要求了、游戏中的第一个场景、使用pDirector:runWithScene(Scene)即可以出现相应场景、如要切换场景、则使用CCDirector:sharedDirector():replaceScene(Scene)就可替换为新场景、如要实现不太单调的切换效果则需要
2013-11-21 10:11:40 2940
原创 cocos2d-x-LuaProxy学习日志(6) -- C/S通信交互之WebSocket
C/S通信交互之WebSocket 对于手游网络通信的交互,一般情况下,Socket长连接直接使用Mina框架即可,对于Http短连接使用Servlet 入口即可,那么本篇主要介绍Socket长连接,当然与此配对的跨平台通信则选择了WebSocket,当然还有其他的.对于WebSocket不是很熟悉,可以参考WebSocket。本教程,主要讲怎样在客户端搭建webso
2013-11-18 14:22:07 4827 4
原创 cocos2d-x-LuaProxy学习日志(5) -- Http网络交互
Http网络交互 Cocos2dx 为我们封装了在cocos2dx中http的网络框架,其文件在cocos2dx引擎包的/Users/Himi/Documents/cocos2d-2.1rc0-x-2.1.2-hotfix/extensions/network 文件下的 HttpClient、HttpRequest 、HttpResponse如下图:
2013-11-16 15:50:56 2918
原创 cocos2d-x-LuaProxy学习日志(4) -- TableView使用
TableView 在cocos2d-x中集成了一些扩展插件,这些引用文件都可以在cocos2d-x目录下的extentions下找到,其中常用的scrollView和tableView的引用文件在GUI目录下。若想深入理解scrollView和tableView,可参考这两篇博文:cocos2d-x学习日志(7) --CCScrollView和CCTableView
2013-11-16 15:05:39 3951 2
原创 cocos2d-x-LuaProxy学习日志(3) -- 绑定ccbi 常用控件
绑定ccbi 常用控件 任何需要画在屏幕上的对象都是节点类。最常用的节点类包括:场景类(CCScene)、布景类(CCLayer)、人物精灵(CCSprite)、菜单类(CCMenu)、文字(CCLabelTTF) ,及扩展控件,如按钮、九宫格、tableview、listview等等。那么在cocobuilder编辑器里,怎么用lua绑定对象?来做缩放、移动、旋转等常用变化?
2013-11-16 13:43:17 3591
原创 cocos2d-x-LuaProxy学习日志(2) -- 搭建cocos2dx-LuaProxy (2.1.4) + cocosbuilder
简介: cocos2dx-LuaProxy 的作用主要是让cocos2dx引擎的扩展包(extensions)binding到Lua,便于做cocos2dx-lua项目开发者们。一、环境搭建:1.软件准备:cocos2d-x 2.1.4 cocos2dx-LuaProxyCocosbuilder 3.0 a2.搭建环境
2013-11-15 11:06:06 3970
原创 cocos2d-x 2.1.4 IOS移植到android
本人使用的demo,如何制作一个横版格斗过关游戏 Cocos2d-x 2.0.4,本例子是win32的,目前,我使用的cocos2d-x版本为2.1.4,不过,我已用xcode做了移植,demo能正常跑起来。下载链接:http://download.csdn.net/detail/my183100521/6545713效果图如下: 第零步:配置好android
2013-11-13 16:25:09 4319
原创 MAC系统安装/卸载cocos2d-x 2.1.4
之前一直用cocos2d-x 2.0.4版本 ,因项目要求,更换cocos2d-x 2.1.4版本。那么具体操作如下:1.卸载cocos2d-x:(将隐藏的模板文件删除掉)1)打开你mac终端,输入命令:显示Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles YES隐藏Mac隐藏文件的命令:default
2013-11-11 10:04:00 4882 1
原创 cocos2d-x 读取文本文件(txt)
一、素材(untitled.txt)helloWorld二、实现代码在HelloWorldScene类,init()添加如下代码: std::string fullPath = CCFileUtils::sharedFileUtils()->fullPathFromRelativePath("untitled.txt"); unsigned
2013-11-09 17:40:50 6511
原创 Cocos2dx利用CCSAXParser解析XML数据
Cocos2dx利用CCSAXParser解析XML数据1.、准备素材(xml文件)testExcel.xml1000娃哈哈82.34000himitrue 2.实现代码:解析XML类:HXmlParse类HXmlParse.h#ifndef __cocos2d_x_Excel__HXmlParse__#define _
2013-11-09 17:14:34 3055
原创 cocos2d-x CSV文件读取 (Excel生成csv文件)
一、准备素材 1.EXCEL表:内容如下 2.EXCEL表转换为csv文件:方法很多,网上搜索就有。 但要注意:文件保存为UTF-8格式的(否则中文显示乱码)二、实现代码:1.操作csv方法类为CCSVParseCCSVParse.h#ifndef __cocos2d_x_Excel__CCSV
2013-11-09 14:38:22 4433
原创 cocos2d-x 数学函数、常用宏整理(2)
语句宏 常用的,首先第一个,断言。CCAssert(cond, msg); // 断言表达式cond为真,如果不为真,则显示字符串msg信息 遍历CCARRAY、CCDICTIONARY的宏CCArray* _array;CCObject* _object; // 用来遍历数组的临时变量CCARRAY_FOREACH(_a
2013-11-08 11:06:03 1661
原创 cocos2d-x 数学函数、常用宏整理(1)
数学类 cocos2d-x 里使用最多的数学类型是CCPoint,一个点,本质上也是一个向量,对于向量和向量之间有很多的数学操作要做,oh我知道要干什么,也许我知道怎么求一个值但是不知道怎么求得高效(或者不知道),怎么办我能偷懒吗?那当然可以。这其实并不是一个懒的标准,因为有一些方法写多了也可能确实稍微有那么点麻烦,所以自然cocos2d提供了一套ccp系列来帮助我们完成很多
2013-11-08 10:47:43 1844
转载 Mac下MonoDevelop中文乱码解决方法
原文地址: http://www.cocos2dev.com/?p=312今天在家里的电脑,MonoDevelop编辑器中文乱码,本想着应该是偏好设置的字体没有设置成中文字体。修改Preferences的font之后,发现还是有乱码问题。找了下原因,最终解决方法是:1、在应用程序下找到Unity/MonoDevelop.app,右键显示包内容。找到/Contents/F
2013-10-29 16:43:09 3740
Snapdragon Profiler v2022.5
2023-03-24
Objective-C程序设计(第6版带中文目录 )
2019-07-19
More Effective c# 清晰版
2018-11-03
cocos2d-x游戏实例 萝莉快跑
2013-10-28
OPenGL ES 模板
2013-09-25
Android SDK 中文开发文档
2012-12-06
Android2.0游戏开发实践宝典源代码
2012-12-05
Erlang程序设计中文版
2012-10-09
Erlang安装手册
2012-10-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人