《游戏编程模式》一第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月上线运营。公众号【异步图书】,每日赠送异步新书。
相关文章
- Unity3d游戏中添加移动MM支付SDK问题处理
- win8 开发之旅(4) --五子棋游戏开发 面向对象的分析
- 【IOS-COCOS2D-X 游戏开发之七】整合COCOS2DX的ANDROID项目到XCODE项目中,XCODE编写&编译代码,ANDROID导入打包运行即可!
- 【UNITY3D 游戏开发之九】两个调试程序的小细节(创建暂停脚本及UNITY REMOTE 4)
- 【刷题】面筋-游戏测试-农药测试向分析
- 【刷题】面筋-测开-游戏测试用例要点与测试俄罗斯方块
- python 从一道作业题到制作一个图形界面的“诈金花”游戏
- atitit ui引擎之道 游戏引擎之道.docx 1. 概念2 1.1. (cocos,createjs,dom)2 2. 游戏引擎的构成(图形引擎(渲染系统),控件部件系统,事件系统 ,布局
- 在游戏中实现语音聊天和语音转化成文字
- [LeetCode] 45. Jump game II ☆☆☆☆☆(跳跃游戏 2)
- 【Leetcode刷题Python】174. 地下城游戏