![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
软件设计
charlie_2010
这个作者很懒,什么都没留下…
展开
-
Adapter模式
GOF《设计模式》一书对Adapter模式是这样描述的: 将一个类的接口转换成客户希望的另外一个接口。Adapter模式使原本由于接口不兼容而不能一起工作的类可以一起工作。 这段话大致是说:我们需要一种方式,为一个功能正确但接口不合的对象创建一个新接口。例如,客户给我们如下需求:1) 为都有“显示”(display)行为的点、线、正方形分别创建类。2) 客户对象不必知道自转载 2012-03-07 13:57:33 · 402 阅读 · 0 评论 -
匿名函数与闭包的区别
匿名函数:没有函数名称的函数;这就是匿名函数:function(argument1,argument2){}闭包:一个可以使用另外一个函数作用域中的变量的函数。如下面的代码函数b就是闭包,但是这个前提是:当函数a的内部函数b被函数a外的一个变量引用的时候,就创建了一个我们通常所谓的“闭包”。意思是说b要变成闭包的话,就必须被外包所引用,即c引用:转载 2014-08-08 10:01:34 · 1094 阅读 · 0 评论 -
基于行为树与状态机的游戏人工智能
0×00 – 前奏 关于游戏中人工智能的应用这个伟大的话题,笔者我实在是想了很久,才敢厚着脸皮来谈一下自己的一些见解以及分享下这方面的学习心得,顺便蹭点稿费。 说起人工智能(AI, Artificial Intelligence),我们的第一印象可能是机器人,在这里我没有跟大家谈论变形金刚的打算。但有着固定形式的行动能力的机器人确实可以算是一个人工智能的载体。只是现代的机器人暂时并转载 2013-08-20 21:58:04 · 1374 阅读 · 0 评论 -
Cocos2d-x之LUA脚本引擎深入分析
首先,我们要知道LUA是个什么东西,至于官方怎么说可以百度去查,但我想告诉你的是LUA就是一种可以在不必修改C++代码的情况下实现逻辑处理的手段。稍微讲的再明白一点,就是你用指定语法写一些逻辑处理函数然后保存成文本格式,这个文件称为脚本文件,可以被游戏执行。经过若干年的发展,现在在LUA中写逻辑,除了调用注册到LUA的静态C函数外,也已经可以方便的访问到C++工程中的类的成员函数。这是游戏开发史上原创 2013-05-23 09:41:33 · 1803 阅读 · 0 评论 -
正则表达式 收集
正则表达式 收集 只能输入数字:"^[0-9]*$"。只能输入n位的数字:"^\d{n}$"。只能输入至少n位的数字:"^\d{n,}$"。只能输入m~n位的数字:。"^\d{m,n}$"只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$"。只能输入有两位小数的正实数:"^[0-9]+(.[0-9]{2})?$"。只能输入有1~3位小数的正实数:"^[0-原创 2013-02-22 13:57:09 · 720 阅读 · 0 评论 -
字符编码笔记:ASCII,Unicode和UTF-8
下面就是我的笔记,主要用来整理自己的思路。但是,我尽量试图写得通俗易懂,希望能对其他朋友有用。毕竟,字符编码是计算机技术的基石,想要熟练使用计算机,就必须懂得一点字符编码的知识。1. ASCII码我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说转载 2013-02-20 19:32:12 · 747 阅读 · 0 评论 -
不加班做不出好游戏
作者:王世颖 拥护者:无知的老板,无力的管理者。无能的开发人员。 有关资本论我并不熟悉,但印象中上学的时候学过所谓“延长劳动时间”是比较低级的剥削方式。经过前人艰苦卓绝的斗争,8小时工作制已经延续了这么多年,可在IT行业,似乎有倒退回“每个毛孔都滴着血和肮脏东西”的时代。有些公司老板就是喜欢像小学老师或牧羊人一样,看到员工在自己位子上时间越长越安心,根本不去考虑生产力。转载 2013-01-23 19:26:26 · 841 阅读 · 0 评论 -
wo
子账户序号: 00000 子账户类别: 活期 子账户别名: ^交易日期 ^摘要 ^交易场所 ^交易国家或地区简称 ^钞/汇 ^交易金额(收入) ^交易金额(支出) ^交易币种 ^记账金额(收入)原创 2012-10-17 19:53:35 · 203 阅读 · 0 评论 -
MySQL远程连接ERROR 2003 (HY000):Can't connect to MySQL server on'XXXXX'(111) 的问题
装了个navicat ,然后去连接mysql服务器,一直连不上,一开始以为是防火墙问题,后来防火墙都关闭, iptable服务关闭,还是不行,网上查了下:主要是因为设置了bind_address=127.0.0.1 原文引用: 问题描述:从一台linux远程连接另一台linux上的MySQL, 出现ERROR 2003 (HY000): Can't connect to原创 2012-10-17 19:14:55 · 10903 阅读 · 0 评论 -
加密
加密是有时效性的,通常楼主说的这种情况不需要考虑防止别人从内存中把密钥读出来,这种密钥一般是一个session(会话,或者客户端和服务端每次建立连接)换一次,也就是所谓的session key,等到别人截获到session key的时候,就已经失效了。当然,这不是足够安全的做法。足够安全的做法就是服务器端产生session key以后,是用PKI的方式来加密sessioin key的,PK原创 2012-05-29 19:05:59 · 593 阅读 · 0 评论 -
基于格子的AOI算法
AOI(Area Of Interest )是网游服务器中必不可少要考虑的一个问题,当前主流的AOI算法依然是基于2D的格子的, 场景均分成为等大的格子,每个Entity都根据其位置放到所属格子的链表中.关键问题是当Entity移动后:一是要找到该Entity看到了哪些新的otherEntitys,二是要找到哪些otherEntitys以前可以看到而现在看不到了,三是要找到该E转载 2012-04-09 16:23:02 · 1041 阅读 · 0 评论 -
Parallel Collision Detection
在第一阶段的检测(BroadPhase)中所需要的算法就是Sweep and Prune,因为从未接触过此类的东西,所以不知道到底是个什么东西,今天终于找到具体资料了,一看,晕倒掉了.原来就是里面所提及到的 逐维递归分组法...貌似如果有人搜索相关词汇是能够搜索到我的blog的,特别留下此文以防止有哥们走我同样的弯路了...顺便放一个英文东西:来自于:http://parall转载 2012-04-09 16:57:27 · 615 阅读 · 0 评论 -
游戏服务器场景管理AOI方案
AOI(Area Of Interest)在MMOPRG游戏服务器上是不可或缺的技术,广义上,AOI系统支持任何游戏世界中的物体个体对一定半径范围内发生的事件进行处理;但MMOPRG上绝大多数需求只是对半径范围内发生的物体离开/进入事件进行处理。当你进入一个游戏场景时,如果你能看到其他玩家,那背后AOI系统就正在运作。显然,AOI实现方案的好坏直接决定了服务器能够承载的同时在线人数转载 2012-03-15 11:47:28 · 2747 阅读 · 1 评论 -
UML类图关系大全
1、关联双向关联:C1-C2:指双方都知道对方的存在,都可以调用对方的公共属性和方法。在GOF的设计模式书上是这样描述的:虽然在分析阶段这种关系是适用的,但我们觉得它对于描述设计模式内的类关系来说显得太抽象了,因为在设计阶段关联关系必须被映射为对象引用或指针。对象引用本身就是有向的,更适合表达我们所讨论的那种关系。所以这种关系在设计的时候比较少用到,关联一般都是有向的。原创 2012-03-07 16:03:29 · 537 阅读 · 0 评论 -
Erlang定时任务server (仿crontab语法)
好久不写blog了,看到yufeng老大那么活跃,我也“耐不住寂寞”啊。前不久写一个小东西,其中涉及很多定时执行的任务,如数据清理,数据导入,定时计算等等。涉及到这个东西,就想起了linux下的cron,多么贴身的服务啊。但是在我的erlang代码里,却缺少这样一个东西。没有关系,自己动手! 首先是crontab.cfg配置文件,其语法与linux下的cro转载 2014-08-08 17:47:11 · 1207 阅读 · 0 评论