发新话题
打印

[教学]Robocode入门

[教学]Robocode入门

在Robocode越来越火爆的今天,仍然有许多人不了解Robocode是什么,是用来做什么的,怎么使用它。对于这些问题在下文中将详细介绍,本文通俗易懂,让你一看就明白。
    什么是Robocode?
     有人提议为对学习更多的XP方法学知识感兴趣的开发人员构建一个工作间。把一群人凑到一起,分成小组研究该方法学。 然后要有一个经验丰富的XP教练对工作间进行管理,帮助参加者理解其原理。而建议各小组采用的项目就是创建Robocode机器人。 其实我对机器人一直很感兴趣。在我还是个孩子是时候,我记得Aplle Ⅱ上有一个程序,我们用它来编写简单的机器人程序,然后相互作战。
     Robocode就是这样一个东西,但是更好一些。它是一个基于Java的机器人作战游戏。 其代码的编写和建模都不错,玩起来也很有趣。
    Robocode的API
     Robocode是由IBM的Alphaworks 项目成员Matthew Nelson编写的。从第一个版本开始,Matthew 已对该软件的API做了相当多的改进,我以为该软件为机器人的编写提供了一套完美的框架。用于创建机器人的基类称作Robot。你的机器人都继承自这个类。 Robot类提供了所有与游戏进行交互所需的方法函数。
     在细究API之前,让我们先来了解一些术语。机器人基本上是一些小型的坦克。这些坦克可以旋转,向前或向后移动。它们的顶部有一个用于射击的火炮。在火炮上面还有一个雷达系统,用于侦测其它机器人。机器人的底盘、火炮和雷达系统都可以独立运动,也可以相互“锁定”,一起移动。换句话说,如果将雷达向下锁定,那么它将随火炮一起移动;如果火炮向下锁定,它将随机器人的底盘一起移动。
     下面是一些你在编写机器人之初用的最多的方法函数:
     ahead(), back() ——向前和向后移动
     fire() ——开火
     setAdjustGunForRobotTurn() —— 控制火炮是否向下锁定
     setAdjustRadarForGunTurn() ——控制雷达是否向下锁定  
     turnRight(), turnLeft() —— 实现机器人的旋转
     turnGunRight(), turnGunLeft() —— 旋转火炮
     turnRadarLeft(), turnRadarRight() - 旋转雷达反射镜

原文太长了,阅读全文
http://develop.csai.cn/game/200710260950071493.htm
更多文章http://develop.csai.cn/
有什么问题,可以去http://bbs.csai.cn去提问,有问必答。

TOP

发新话题