说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

无限强大的超级马里奥AI

HTML文档下载 WORD文档下载 PDF文档下载
有一天,我看到有一个超级马里奥的编程比赛,我认为这是一个可以锻炼我的AI编程技巧的有趣项目。我开始写一些小的寻路AI,使用A*。下面有源代码。

 

有一天,我看到有一个超级马里奥的编程比赛,我认为这是一个可以锻炼我的AI编程技巧的有趣项目。我开始写一些小的寻路AI,使用A*。下面有源代码。我的马里奥在皇家学院举办的ICE-GIC和在米兰举办的IEEE计算机游戏智能座谈会中赢得比赛。

 

Android动态壁纸

XDA开发者论坛的成员Pikipirs移植了超级马里奥,我的AI机器人,并做出了非常强大的动态壁纸!你可以找到更多关于它在相应的论坛上发帖:http://forum.xda-developers.com/showthread.php?t=710647。

 

源代码

因为CIG的比赛已经结束,我发表的A*寻路机器人的源代码,源代码包含注释,结构合理,注释帮助你理解一些简单的内容,并没有详细描述出A*是如何工作的,还是通过源代码来描述具体的内容吧。

下载源代码:http://www.okbase.net/file/item/19553

 

源代码简介:

AStarAgent.java: 源代码的入口点,通过API调用。它调用AStarSimulator.java里的optimize()函数

AStarSimulator.java:包含A*寻路。SearchNode类包含一个节点,包括其action,(world state)世界状态的拷贝。optimize()函数设置了A *规划,提取最新的计划并返回一个最佳的行动。search()中包含的计划进行递归循环,搜索寻路空间。

LevelScene.java:这个类包含了大部分的(world-state)世界状态,并包含马里奥的对象和敌人的对象。

 

如何运行

1) 下载马里奥源代码(http://www.okbase.net/file/item/19553 里已经包含了全部源代码,你也可以到这里下载: http://julian.togelius.com/mariocompetition2009/ )

2) 将我的马里奥AI放到 src/competition/cig/robinbaumgarten/ 文件夹下

3) 调用\src\ch\idsia\scenarios\Play.java, 以便加载AStarAgent.java

4) 一些故障排除的内容请看 http://www.doc.ic.ac.uk/~rb1006/projects:marioai:trouble

 

备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘