自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

专注

  • 博客(10)
  • 资源 (21)
  • 收藏
  • 关注

原创 三消游戏FSM状态机设计图

三消游戏FSM状态机设计图cheungmine2015-1-31all rights reserved.

2015-01-31 16:55:29 2296

原创 cocos2d-x 游戏开发之有限状态机(FSM) (四)

虽然我们了解了FSM,并且可以写自己的FSM,但是有更好的工具帮我们完成这个繁琐的工作。SMC(http://smc.sourceforge.net/)就是这样的工具。

2015-01-22 18:32:09 3106

原创 cocos2d-x 游戏开发之有限状态机(FSM) (三)

有限状态机简称FSM,现在我们创建一个专门的FSM类,负责管理对象(Monkey)的状态。然后Monkey类就实现了行为与状态分离。Monkey类只负责自己的行为,MonkeyFSM作为Monkey的成员,负责状态调度。MonkeyFSM调用状态模式类的方法,状态模式类调用真实对象Monkey的方法。注意本文例子代码只是为了说明问题,并不能真正用于实际当中。其中Monkey与MonkeyFSM互相保存对方的指针,存在循环引用问题。

2015-01-22 15:36:01 3298 1

原创 cocos2d-x 游戏开发之有限状态机(FSM) (一)

基本上所有的软件都是有限状态机(finite-state machine,FSM)。它是一个有向图,由一组节点和一组相应的转移函数组成。通俗点讲,它是一个事件驱动系统的模型,这个模型由有限数目的状态,若干输入和状态与状态之间转换的规则组成。在某一时刻,有一个或一组状态是FSM的当前状态,FSM接收输入事件并根据转换规则,将当前状态转为新的状态。正是由于这三个元素的组合,使得FSM具备了自己的行为特点。在游戏开发中,FSM被用来实现人工智能的决策过程,控制游戏对象的行为。

2015-01-22 14:47:05 4112 1

原创 cocos2d-x 游戏开发之有限状态机(FSM) (二)

当我们需要添加了一种新的状态时,不需要去修改长长的条件判断语句了,只需要构造一个新的状态类,修改它的前序和后序状态类就可以了。对于任何一个状态的特有行为,都是独立的,不会混杂在其它状态的代码里。原为决定状态转移逻辑的那个长长的条件语句不见了,而是被分布在State的子类之间。另一方面,从设计的角度看,原先对当前状态的标识,是FSM内部的一个自有变量,状态与状态之间的转换也仅仅是表现为对自有变量的赋值,如果这个自有变量衍生为变量数组时,那极易出现FSM内部状态不一致的情况,而State的引入可以使得这样的情况

2015-01-22 14:44:56 2728

原创 C语言生成32位和64位随机数算法

C语言生成32位和64位随机数算法/*** randstd.h** Standard definitions and types, Bob Jenkins** 2015-01-19: revised by cheungmine*/#ifndef _RANDSTD_H__#define _RANDSTD_H__#ifndef STDIO# include # defi

2015-01-19 14:56:07 10012

原创 四色三消游戏算法

用python写的四色三消游戏算法,很容易改成更多颜色和行列的。基本思路就是3个一样的diamonds连在一起就可以消除。

2015-01-16 16:26:24 3786

原创 cocos2d-x 读写 xml 文件

使用cocos2d-x开发2d游戏确实方便,但是对于一般的小游戏,经常需要的工作是UI布局设计和调整,代码改来改去,真不方便。现成的Cocos Studio或者SpriteBuilder当然更适合设计游戏。作为程序员,如果想在纯命令行模式下开发游戏,早晚要有自己的UI模块。不妨称之为cocos2d-layout。cocos2d-layout相当于舞台的布景。布景师根据导演的要求(xml)来生成舞台。布景师在现实生活中当然是人来做,在程序里就是一段程序或代码库。这个没用通用的万能的库可以做这个事情,因为游戏的

2015-01-15 17:47:42 2863

原创 VC工程的.gitignore模板

VC工程的.gitignore模板文件内容如下:#======================================# .gitignore# # 2015-01-09 created by cheungmine#======================================.git#--------------------------# ignored f

2015-01-09 15:05:09 2969

原创 linux上 java 使用 javasqlite

linux上 java 使用 javasqlitehttp://www.ch-werner.de/javasqlite/1) 下载:http://www.ch-werner.de/javasqlite/javasqlite-20140624.tar.gz2) 解压后进入目录编译$ cd javasqlite-20140624$ ./configure$ make3) 拷贝libsqlite_jni

2015-01-04 14:14:27 2747

ringbuf-c.zip

我自己实现的C语言版的无锁环形缓冲区ringbuffer。实现了指针环形存储和数据块环形存储。高可用,高性能。只有头文件。

2021-07-16

nasm-2.15.05-win.zip

VS2015使用NASM编译汇编文件的完整软件和安装说明。支持32位和64位。修复了配置文件的一个BUG,保证可以编译asm文件,同时混编C。

2021-07-15

shapefile-1.4.tar.gz

ESRI Shp 格式文件 C API. 修复原始BUG,载入速度加快。增加了wkt, wkb 格式转换. 可以直接在 VS2015, cygwin, mingw, linux 上编译(Makefile)。

2021-06-15

libshapefile-src.zip

基于开源的重写的读 ESRI Shp 文件的源代码,减少内存复制,提供更好的效率和功能。例如 wkb, wkt 格式转换等。

2021-06-10

avro-channel-csdn

netty 的mvn项目模板,包含全部依赖包.使用mvn编译.参考pom.xml

2015-03-13

C 语言实现的内存池 mpool.c : 适用于Windows和Linux

当C/C++程序频繁分配内存,或者管理很多大块内存的时候,我们就需要一个简洁高效的内存池(memory pool)。很多语言提供了这个基础设施,这里我提供一个C语言的版本mpool.c:原始的mpool仅仅提供Unix/Linux的版本,我增加了Windows的版本,这样这个mpool就成为适用于Windows和Linux的完整的版本了。

2012-12-07

mbrfix_win7_vista_xp_32_64

mbrfix for win7 vista xp 32bits and 64bits Windows7下如何删除Ubuntu 本文假设你的Windows7安装在C:盘,安装在其他位置没有测试过。 第1步,启动进入Windows7,修复MBR。 在win7下,点击进入: 开始(Start) -> 全部程序(All Programs) -> 附件(Accessories) 在 命令行工具(Command Prompt) 上点右键,以管理员身份运行(Run as administrator)。 (参考:MbrFix.win7.txt) 假设U盘为F:,根目录下有MbrFix.exe: cd F: F:/> MbrFix.exe /drive 0 fixmbr /win7 回车,看到提示后,然后按y即可。

2011-12-19

使用Ruby on Rails开发LBS网站初探示例代码

这几天一直在学习使用RoR(Ruby on Rails),想建立一个功能全面一点的LBS(Location Based Service)网站。但是对于我这个RoR的初学者(仅有几天时间)来说,毕竟太复杂了。因此本文试图简化原来的设计思路,抛弃一切权限管理,仅仅对数据表中的坐标位置进行插入和更新。也就是,使用表单提交用户坐标位置信息,地图页面定时刷新获取这些信息并显示在地图上。通过这个例子,来熟悉RoR的编程,熟悉ArcGIS Online Map。掌握Ajax在RoR中的一般用法(RJS)。

2011-07-21

拓扑算法的C语言实现完全代码

在GIS领域,拓扑(topology)算法是一个很重要的算法。它把平面上的线段、折线,自动连接成网络,进而构成封闭的区域。 从而形成面和面之间、面和线之间、线和结点之间等各种空间关系。 通过这个算法,可以把给定区域内的线的集合构成网络或面,因此拓扑是数据处理、空间分析领域的一个极为重要的运算工具。几乎所有的重要的GIS系统都提供这样的算法。然而即使是最出名的系统,提供的算法仅是让用户使用而已。本文根据作者多年的经验,总结出这样一套C语言的算法,不敢说是目前出现的最好的算法,起码在互联网上,搜索不到比这个更精炼和优美的算法实现。

2010-06-25

struct2variant_cheungmine.rar

将用户自定义的C结构数据存储成VARIANT类型,需要时再将VARIANT类型转为用户自定义的结构数据,有十分现实的意义,既然我们不想为这样的结构数据写一个COM包装类。虽然有很多方法和手段生成这样的VARIANT,但是,多数时候可能需要一个更加简单的,灵活的方法。我在做远程过程调用的C 接口时,忽然联想到,既然RPC可以把任何数据以字节的形式发送,那么,就可以利用这个机制,把结构打包成字节数组。而字节数据是可以很方便地存储在 VARIANT中。

2010-06-10

WinCE HTML Browser Control

Wince下如何使用Web控件开发界面程序

2010-01-11

样条函数绘制曲线测试程序源代码

分段3次样条算法绘制等高线等光滑曲线,并且由于采用了折线的重采样,以最小的数据量保证了绘图的精确度。vs2005 mfc测试程序。

2009-04-05

docktabframe_vs2005_wtl80.rar

refer to: http://www.codeproject.com/KB/tabs/docktabframe.aspx MUST read "Readme.txt" before use it! 一个wtl80实现的类似vs风格的框架程序. 参考上面的文章,我修改了部分代码,以支持wtl80+vs2005. 必须阅读Readme.txt

2009-03-06

lib3ds20_with_win32_and_sgi_opengl_all_in_one

1)包含BUG修复后的最新的lib3ds2.0的全部代码和VS2005的测试项目工程。 2)Windows下的完整的OpenGL库(非源码)。 3)SGI的OpenGL2的库。 全部内容即可编写Windows或SGI的OpenGL程序。

2009-02-15

cheungmine的最新的oradbi库

基于OCI的操作oracle9i或10g以上的数据库C API, 在不损失性能的前提下,大大简化了oracle的操作。 这是cheungmine维护的开源软件!

2008-08-27

oradbi_project_cheungmine

ORADBI是我在Oracle OCI(Oracle 调用接口)基础上开发的。根据Oracle公司的介绍:OCI是如此可靠,以至于Oracle数据库中的每一条SQL语句都通过OCI来执行。当应用程序开发人员需要面向Oracle数据库服务器的最强大的接口时,他们将调用 Oracle调用接口(OCI)。OCI提供了对所有Oracle数据库功能的最全面的访问。OCI API中包含了最新的性能、可伸缩性和安全性特性。

2008-04-01

cryptopp32---new

最新的crypto++包装

2008-03-29

MapLib

文章<组件对象模型与ATL实现>的示例代码

2007-10-10

uuidgen

以软件算法实现UUID非常有现实意义。参考RFC4122文档和其他一些开源代码,我写了一个WIN32下的UUID实现C语言程序——UUID32.c,不调用任何WIN32 API。程序符合RFC4122标准。程序不但实现创建UUID和UUID String,还可以对UUID进行字符和时间上的比较。还可以从UUID中提取时间戳(精度到秒)。

2007-09-17

uuid32.dll

创建uuid的c程序,win32版本

2007-09-14

CryptoPP32.DLL

封装cryptopp的加密解密库

2007-09-12

空空如也

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

TA关注的人

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