- 博客(17)
- 资源 (16)
- 收藏
- 关注
原创 C/C++--strcmp函数实现
#include "stdafx.h"#include #include int myStrCmp(const char *pStr1,const char *pStr2) { while(NULL != pStr1 && NULL != pStr2) { while(*pStr1++ == *pStr2++) { if('\0' == *pStr
2015-04-13 16:33:35 1768
原创 C/C++--strlen函数实现
#include "stdafx.h"#include #include //递归实现size_t myStrCpy(const char *pStr){ assert(NULL != pStr); if ('\0' != *pStr) { return 1 + myStrCpy(++pStr); } else { return 0; }}//非递归实现/
2015-04-13 15:50:44 3307
原创 C/C++--strcpy函数实现
注:考虑内存重叠问题#include "stdafx.h"#include #include char* myStrCpy(char *pDst, const char *pSrc){ assert(NULL != pDst); assert(NULL != pSrc); char *pDT = pDst; size_t iCount = strlen(pSrc) +
2015-04-13 15:42:19 1550
原创 C/C++--memmove函数实现
#include "stdafx.h"#include #include void* myMemMove(void *pDst, const void *pSrc, size_t iCount){ assert(NULL != pDst); assert(NULL != pSrc); char *pDT = (char*)pDst; const char *pST = (con
2015-04-13 15:28:53 2268
原创 C/C++--memcpy函数实现
注:没有考虑内存重叠的情况#include "stdafx.h"#include #include void* myMemCpy(void *pDst, const void *pSrc, size_t iCount){ assert(NULL != pDst); assert(NULL != pSrc); char *pDT = (char*)pDst; cons
2015-04-13 15:24:52 2388
原创 C/C++--strcpy函数实现
注:没有考虑到内存重叠的情况#include "stdafx.h"#include #include char* myStrCpy(char *pDst, const char *pSrc){ assert(NULL != pDst); assert(NULL != pSrc); char *pDT = pDst; while ((*pDT++ = *pSrc++
2015-04-13 15:14:38 1421
原创 Algorithm--冒泡排序
#include "stdafx.h"#include #define DATA_SIZE 14void BubbleSort1(int data[], int iDataSize){ int iTemp = 0; int iCompareCount = 0; int iMoveCount = 0; for ( int i = 0; i < iDataSize - 1; i++
2015-04-03 20:06:10 1386
原创 状态机--状态机8,关于战斗兵种的复合状态和动作融合技术
复合状态:在一些横版跑酷类的游戏如天天风之旅,天天酷跑中,角色在跑动的过程中可以进行攻击,此时会有两种状态,下半身是跑动状态,上半身是攻击状态,相对于之前的单一状态来说,复合状态显得复杂一些角色动画制作把角色的骨骼从腰部骨骼切开来划分,腰部和腰部以上骨骼定义为上半身骨骼,腰部以下骨骼定义为下半身骨骼;上半身和下半身骨骼分别接受不同的动作信息,各自播放动作。动
2015-04-03 15:55:37 2478
原创 状态机--状态机7,关于战斗兵种的状态机进阶设计与消息系统
在状态机6已经把一个稍微高级一点的状态机实现了,能够应付大部分的需求,但是还是有些不足的地方,那就是没有对应的消息处理机制,一个角色在战斗中有时是需要接收并处理消息的,举个栗子,十万个冷笑话和天天来战这样的游戏中,怪被角色使用技能攻击后有时会飘字,如:啊,好强大啊~~~,大侠饶命之类的一些表现,那么流程是这样的:使用技能攻击--->技能生效--->发送广播消息--->对
2015-04-03 15:20:22 2266 1
原创 状态机--状态机6,关于战斗兵种的状态机初步优化和状态设计
先提供下载地址:http://pan.baidu.com/s/1kTqsD6n解压缩出来直接双击exe就可以运行了,代码在src里面,目录是这样的分成6个版本,高层模块的调用在scenes中的MainScene.lua中,代码可见版本控制在onEnter()函数中,按对应的字母键调用不同的函数进行状态切换最后一个版本的运行结果如下:
2015-04-03 12:44:35 2167 1
原创 状态机--状态机5,关于战斗兵种的多状态
在前面一篇《状态机4,关于战斗中负责兵种状态切换的状态机》中实现了一个简单的状态机在最后抛出了为什么说简单的问题,因为在一个复杂的战斗中,一个角色很少说只有一个状态,或者说根本不可能,多状态是合理的需求,在之前实现的状态机中,角色同时只能有一个状态,要么行走状态,要么冰冻状态,从代码逻辑上看,一个新的状态进来当前的状态会被顶替掉,来看需求:一个角色的攻击的过程中中了一个中毒
2015-04-03 11:30:03 3245
原创 状态机--状态机4,关于战斗中负责兵种状态切换的状态机
前面花了4篇文章废话了那么多却没有提到传说中的状态机,那么这一篇就来讲讲那个传说中的状态机到底是个长什么样的东东,前面几篇主要是做铺垫用,下面总结下:1.状态切换由事件驱动,如调用onIdle()进入待机状态,调用onWalk()进入行走状态2.状态有进入,也有退出,如调用onFrozen()进入冰冻状态,调用onFrozenEnd()退出冰冻状态3.状态之间的切换是有限制
2015-04-02 22:16:29 2968
原创 状态机--状态机3,关于战斗中兵种状态的状态的结束
战斗中的角色有多种状态,根据不同的事件切换到不同的状态,进入一个状态,当然也会退出状态,如冰冻状态,战斗中的角色中了冰冻buff后进入冰冻状态,那么当这个冰冻buff时间到了之后自然就失效了,角色要解除冰冻状态,那么解除了冰冻状态后要进入哪个状态呢,这个具体看需求,一般情况下是进入到待机状态,通俗地说,当冰冻buff生效时调用onFrozen(),当冰冻buff失效时调用onF
2015-04-02 20:43:16 1887
原创 状态机--状态机2,关于战斗中兵种状态的新增状态
从上一篇状态机1来看,似乎没有什么大问题,状态之间的切换很简单嘛,但是,出现但是了,但是策划是种天生具备加需求的生物,而做为将需求变成代码逻辑的程序猿来说,只能say ok,I look(好吧,我看看),好吧,那来看看有什么新的需求战斗模块在有各种复杂的技能,技能中包含着一种控制行为的buff,称为控制行为buff,比较常见的控件行为buff有冰冻,眩晕,击飞等等,以下是一
2015-04-02 20:34:45 1835
原创 状态机--状态机1,关于战斗中兵种状态的初步设计
战斗中的主要对象是兵种,最前期只有待机,行走,攻击三种状态,而这些都由兵种AI去调用切换简单的AI如:向前行走,如果攻击范围内出现敌人,则切换为待机状态,攻击间隔一到就开始攻击工程是用quick-cocos2dx创建的,用的是lua脚本语言,代码如:local Soldier = class("Soldier")function Soldier:ctor()end-
2015-04-02 20:12:11 1617
原创 状态机--状态机0
近半年都忙于做项目,没有太多的时间去整理和总结在项目中用过的技术个人还是觉得技术需要总结提炼和沉淀的,忙到没时间去总结提升其实不是什么好事,这次讲下状态机,在战斗类型的游戏中角色有多种不同的状态,而状态的切换错综复杂,23种设计模式中有一种模式叫做状态模式,不过这种模式是把状态切换条件放到各个具体的状态中,算是硬编码到代码逻辑中吧,接下来会有7篇关于状态机的文章出来,现在已经写
2015-04-02 20:02:21 1748
Android音乐播放器
2013-04-01
MediaPlayer音乐播放器
2013-02-22
控件与适配器
2013-01-09
Android--MediaPlayDemo
2012-11-26
Android---SurfaceView
2012-10-25
Android---Tween动画
2012-10-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人