seagate
发表于 2010-1-27 09:11:16
A*算法是什么东东?说说啊?
superxx
发表于 2010-1-27 09:58:53
找本人工智能的书看看就知道了,有点儿申奥
hba
发表于 2010-1-27 12:30:29
高手越来越多了,等俺猫在旁边好好的偷师。
是不是这个博客呢?
http://blog.csdn.net/suxiaojack/archive/2008/09/14/2928714.aspx
http://blog.csdn.net/suxiaojack/archive/2008/10/10/3042706.aspx
[ 本帖最后由 hba 于 2010-1-27 12:33 PM 编辑 ]
seagate
发表于 2010-1-27 23:56:42
人工智能???太偏了,不懂!
superxx
发表于 2010-1-28 20:50:55
人工智能不偏啊,你做机器人,不就是人工智能吗?
sauron
发表于 2010-2-4 20:47:13
基于A*算法的房间寻路过程,地图格式如前面。
--city城市表,sid起始房间编号,did目的房间编号
local openlist={}
local closedlist={}
--主函数
function getroompath(city,sid,did)
local bestroom,temproom
if sid==did then return "" end
table.insert(openlist,createnode(sid,0,"",nil,nil))
while table.getn(openlist)~=0 do
table.sort(openlist,function(a,b) return a.g<b.g end)
bestroom=openlist
if bestroom.key==0 then
print("房间"..bestroom.prevnode.."有出口指向0,请查证")
return ""
end
table.remove(openlist,1)
if not checkclosedlist(bestroom.key) then closedlist=bestroom end
if bestroom.key==did then return getpathfromlist(sid,did) end
for k,v in pairs(city.roomexists) do
if not checkopenlist(v) then
if not checkclosedlist(v) then table.insert(openlist,createnode(v,bestroom.g+1,k,bestroom.key,nil)) end
end
end
end
end
--创建节点
function createnode(key,g,path,prevnode,nextnode)
return {key=key,g=g,path=path,prevnode=prevnode,nextnode=nextnode}
end
--检查
function checkopenlist(key)
for k,v in pairs(openlist) do
if key==v.key then return true end
end
return false
end
--检查
function checkclosedlist(key)
if closedlist~=nil then
return true
else
return false
end
end
--获取路径
function getpathfromlist(sid,did)
local tmp
local path=""
tmp=closedlist
path=tmp.path
while tmp.prevnode~=sid do
tmp=closedlist
path=tmp.path..";"..path
end
return path
end
[ 本帖最后由 sauron 于 2010-2-4 09:18 PM 编辑 ]
yuerr
发表于 2010-3-22 10:21:54
有了框架还是很方便
玩别的mud也可以利用起来
可以参考helllua
或则我的钓鱼机器人
http://pkuxkx.com/forum/viewthread.php?tid=6399&extra=page%3D&page=1
hxyokokok
发表于 2010-4-11 11:08:31
不懂LUA。。。路过说下
LZ用java不?看过heritrix的代码?那个叫帅气呀。
你里面有个责任链模式
一个处理过程划分为:筛选、预处理、处理、后处理、过滤。。。。。等等一个完整的生命周期
所有的处理步骤都实现某个约定的借口。把这些处理器配置好后,总的处理器遍历处理器链。
至于处理器的配置,完全使用反射机制就可以实现,这样LZ提供C之后,我们直接写M然后用文本配置就行了。。
就行jsp里面web。xml配置的那样
lzkd
发表于 2010-6-14 18:55:24
感慨一下,写文章需要这篇的资料,翻出来看看,有些感慨
cyezy
发表于 2011-4-30 11:42:00
框架用来通配所有游戏和id吗