标签: wumpus-world

comonads是否适合对Wumpus世界进行建模?

我试图找到一个comonad的实际应用程序,我想我会试着看看我是否可以代表经典的Wumpus世界作为一个comonad.

我想使用这个代码让Wumpus左右移动穿过世界并清理脏瓷砖并避免凹坑.似乎唯一有用的comonad函数是extract(获取当前tile)以及移动和清理tile不能使用扩展或复制.

我不确定comonad是否合适,但我看过一个谈话(Dominic Orchard:Comonads的符号),其中comonads用于在二维矩阵中建模光标.

如果comonad是表示Wumpus世界的好方法,那么请您说明我的代码出错了吗?如果这是错的,你能否建议一个简单的comonads应用程序?

module Wumpus where

-- Incomplete model of a world inhabited by a Wumpus who likes a nice
-- tidy world but does not like falling in pits.

import Control.Comonad

-- The Wumpus world is made up of tiles that can be in one of three
-- states.
data Tile = Clean | Dirty | Pit
  deriving (Show, Eq)

-- The Wumpus world is a one dimensional array partitioned into three
-- values: the …
Run Code Online (Sandbox Code Playgroud)

haskell comonad wumpus-world

5
推荐指数
1
解决办法
313
查看次数

如何将文件中的数据读入Prolog

我正在使用SWI-Prolog创建一个Wumpus World项目.我应该从.txt文件中读取金币,凹坑和Wumpus的位置,如下所示:

   GOLD 3 2
   WUMPUS 3 3
   PIT 2 1
   PIT 3 4
Run Code Online (Sandbox Code Playgroud)

在单词标识对象的情况下,第一个数字标识对象的x位置,第二个数字标识对象的y位置.我知道如何打开文件并从中读取,我只是不知道如何告诉我的程序GOLD 3 2意味着黄金需要位于(3,2).

prolog wumpus-world

4
推荐指数
1
解决办法
579
查看次数

标签 统计

wumpus-world ×2

comonad ×1

haskell ×1

prolog ×1