好库网 好库网首页 | 我的好库
好饱的专栏

无限强大的超级马里奥AI

发布者:好饱
发布日期:2012/11/26 22:03:13   更新日期:2012/11/26 22:04:45
阅读次数:5058
评分:4.80
介绍:有一天,我看到有一个超级马里奥的编程比赛,我认为这是一个可以锻炼我的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

 


评论 [发表评论]
账号 密码 还没帐号呢,现在注册一个?

免责声明:好库网所展示的信息由买卖双方自行提供,其真实性、准确性和合法性由信息发布人负责。好库网不提供任何保证,并不承担任何法律责任。