zl程序教程

您现在的位置是:首页 >  其他

当前栏目

《游戏编程模式》一第7章 状态模式

2023-09-11 14:17:37 时间

本节书摘来异步社区《游戏编程模式》一书中的第7章,第7.1节,作者: 【美】Robert Nystrom (尼斯卓姆) 译者: 赵卫兵 , 许新星 , 姜召阳 , 陈侃 , 屈光辉 , 郑炯彬 责编: 陈冀康,更多章节内容可以访问云栖社区“异步社区”公众号查看。

第7章 状态模式

“允许一个对象在其内部状态改变时改变自身的行为。对象看起来好像是在修改自身类。”

交代一下:我写的有些过头了,我在本章里面添加了太多东西。表面上这一章是介绍状态模式[1]的,但是我不能抛开游戏里面的有限状态机(finite state machines,FSM)而单独只谈“状态模式”。不过,当我讲到FSM的时候,我发觉我还有必要再介绍一下层次状态机(hierarchical state machine)和下推自动机(pushdown automata)。

因为有太多东西需要讲,所以我试图压缩本章的内容。本章中的代码片断没有涉及很细节的东西,所以,这些省略的部分需要靠读者来脑补。我希望它们仍然足够清楚到能让你掌握关键点(big picture)。

层次状态机和下推自动机这对术语指的是早期的人工智能。在20世纪50年代和60年代,大部分AI研究关注的是语言处理。许多现在用来解析编程语言的编译器被发明用来解析人类语言。

如果你从未听说过状态机,也不要感到沮丧。它们对于人工智能领域的开发者和编译器黑客来说非常熟悉,不过在其他编程领域可能不是那么被人熟知了。我觉得它应该被更多的人了解,因此,我将从一个不同的应用领域的视角来介绍它。


触摸Java世界的核心:类与对象 | 带你学《Java面向对象编程》之一 Java语言最大的特点在于面向对象的编程设计,并且面向对象的编程设计也在由于Java自身的发展而不断发展,同时,很多最初不支持面向对象的编程也都开始转向了面向对象,但是依然有许多的开发者认为面向过程会比较好,或者说使用函数式编程会比较好。
异步社区 异步社区(www.epubit.com)是人民邮电出版社旗下IT专业图书旗舰社区,也是国内领先的IT专业图书社区,致力于优质学习内容的出版和分享,实现了纸书电子书的同步上架,于2015年8月上线运营。公众号【异步图书】,每日赠送异步新书。