http://bbs.csdn.net/topics/280046868使用套接字完成,按照tcp的方式在一个套接字里维持一个状态机。//定义枚举:enmu state{CLOSED,//没有连接SYN-SENT,//发送了syn,等代服务器ackACK_RECEIVE,//接到服务器ackSYNA...
分类:
其他好文 时间:
2014-09-06 19:56:13
阅读次数:
219
来自论文Rex: Replication at the Speed of Multi-core
对一系列请求的串行执行已经跟不上多核服务器的脚步了,但又不能直接并行化,因为并行会带来线程调度和锁竞争的不确定性,这就使得状态机复制的前提得不到满足,即要保持确定性。有一点要注意:全序的请求序列并不是保证一致性的必须,也就是说我们完全可以在并行化和一致性之间建立起双赢。本文旨在研究如何在多核机器...
分类:
其他好文 时间:
2014-09-05 22:26:52
阅读次数:
319
Qt-4.6新增了Animation Framework(动画框架),让我们能够方便的写一些生动的程序。不必像以前的版本一样,所有的控件都枯燥的呆在伟大光荣的QLayout里,也许它们可以唱个歌,跳个舞。
所谓动画就是在一个时间段内的不同时间点有不同的状态,只要定义好这样状态,实现动画就是水到渠成的事情。当然做这件事情,最好用的就是状态机,没错Qt-4.6.0提供了QStateMachi...
分类:
其他好文 时间:
2014-09-04 00:11:46
阅读次数:
203
第一部分、模仿MVC模式、状态机制第二部分、 UI设计(完成UI库设计,UI编辑器未完成)第三部分、动画(人物动画未完成,普通动画完成--工具CocosBuilder)第四部分、资源利用设计(ui资源、动画资源、精灵资源)第五部分、技能设计(本地计算)第六部分、战斗系统设计(回合制思路,移植世界OL...
分类:
移动开发 时间:
2014-09-03 23:54:37
阅读次数:
568
4、状态模式总结
状态模式将一个对象在不同状态下的不同行为封装在一个个状态类中,通过设置不同的状态对象可以让环境对象拥有不同的行为。而状态转换的细节对于客户端而言是透明的,客户端不直接操作状态类,也就不需要知道状态转换细节,降低了客户端与具体状态类的耦合性。状态类和环境类是一种组合的关系,当客户端调用环境类的方法时,环境类将委托调用状态类的方法。使用状态模式封装了一个个具体的状态类,...
分类:
编程语言 时间:
2014-08-31 11:56:51
阅读次数:
297
在阐述状态模式之前,先来看一个例子。一个银行取款问题: 如果账户余额大于0,则正常取款;如果余额在-2000和0之间,则透支取款;如果余额小于-2000,则账户处于冻结状态,无法进行取款操作。
实现代码如下:
//银行账户
class Account
{
private:
//余额
int m_nBalance;
public:
//取款操作
void WithDraw()...
分类:
编程语言 时间:
2014-08-31 09:18:41
阅读次数:
250
3、使用环境类实现状态的转换
在状态模式中实现状态转换时,具体状态类可通过调用环境类Context的setState()方法进行状态的转换操作,也可以统一由环境类Context来实现状态的转换。此时,增加新的具体状态类可能需要修改其他具体状态类或者环境类的源代码,否则系统无法转换到新增状态。但是对于客户端来说,无须关心状态类,可以为环境类设置默认的状态类,而将状态的转换工作交给具体状态类...
分类:
编程语言 时间:
2014-08-31 09:17:11
阅读次数:
250
2、智能空调的设计与实现
某软件公司将开发一套智能空调系统: 系统检测到温度处于20---30度之间,则切换到常温状态;温度处于30---45度,则切换到制冷状态; 温度小于20度,则切换到制热状态。请使用状态模式对此系统进行设计。
从需求中可以看出,空调可以处于三种状态: 制热状态、常温状态、制冷状态。每种状态下都存在三种行为:保持常温、制冷、制热...
分类:
编程语言 时间:
2014-08-30 23:10:20
阅读次数:
302
声明 ?????本文是对编译原理中NFA到DFA的转换做的总结,该代码参考了编译原理中词法分析的相关内容. 转换方式 ??????NFA即不确定有穷状态机,而DFA是确定有穷状态机。 ????????从本质上讲NFA...
分类:
其他好文 时间:
2014-08-29 16:25:28
阅读次数:
318
1.游戏说明一个"记忆"类的比赛游戏。你和电脑对战,轮到谁的回合,谁翻两张牌,如果两张牌一样,就消掉这两张牌,得2分,可以继续翻牌,如果两张牌不一样,就换一个人。直到最后,看谁的得分高。游戏设计思想可以看这篇文章《Cocos2d 游戏状态机》 2. Lua 简单面向对象我们知道Lua是脚本语言,不是真正面向对象语言。但是面向对象好像能让代码结构更加合理,Javascript, Lua都可以模拟出面...
分类:
其他好文 时间:
2014-08-29 09:30:02
阅读次数:
460