用有限状态自动Pac-Man的表现
题
考虑类似于我们希望与一个FSA图来表示它PAC-MAC游戏。我们有一个迷宫(表),并有浆果到它的随机位置。我们的目标是吃在迷宫中所有的浆果。该命令我们要考虑的控制如下:点击 的GoAhead,左,右,CHECKBERRY(即检查是否存在PAC男人面前浆果),吃,OFF-MAZE。结果 我们需要最大10级......而记住我们不能连续超过一个空白。 谢谢
修改强> 替代文字http://img338.imageshack.us/img338/2479/graphp.jpg
确定然后。我创建的图形,但我不能找到一种方法,立交桥差距。例如:在浆果突然的某一行后的迷宫前面有一个差距,接下来的浆果是降权的差距。所以,我不知道我的图形会什么样子的,即使我左转或右转的checkberry命令将不会返回TRUE值。因此,必须有一种方式为吃豆人移动到差距方不吃饭,但它会如何决定是否移动到一个在前面或他人?
解决方案
如果你正在设计一个状态图,尽量先搞清楚什么样的美国您状态机都会有,而不是编号美国。
下面是一个简单的例子,你的“吃豆人”的必须的行走,检查和进食。因此,有三种状态IS_WALKING
,IS_CHECKING
和IS_EATING
。直向前遍历和饮食图表可以像下图。我不知道你用什么样的图表符号的,虽然我希望它会清除一些东西送给你。
GO_AHEAD
+------------------------------------+
| |
v |
+----------------+ false +------------+
| IS_CHECKING |---------------------->| IS_WALKING |
+----------------+ +------------+
| E: CHECK_BERRY | ^
+----------------+ |
| |
| true |
v |
+-----------+ EAT |
| IS_EATING |------------------------------+
+-----------+
在过渡更自然,更容易找出一旦你对美国合适的名称。一个好名字状态一个例子是一个阐明了很清楚什么样的状态机是在一个特定的时刻做。
其他提示
如果您正在寻找从帮助#1对这种问题的;你显然需要看你在做什么。你的问题需要更加具体。你是否对特定的编码问题的问题,或者你不知道从哪里开始?这是否意味着需要一个简单的excersise或完全成熟的项目?
试着做你想做的事,看看你可以从那里与你目前拥有的技能是什么思维导图。回来一次你遇到的实际问题。