绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
坦克大战系列6-API常用函数说明1
2019-07-04 16:08:38

前言

本篇主要介绍RobocodeAPI中的各种常见函数的说明,便于使用函数时有更清晰的思路。

运动函数

ahead 前进

public void ahead(double distance)

马上将你的机器人向前移动以 distance 指定的多少个像素

函数特点:

这个函数会马上执行,并且直到完成了任务才返回,比如,当距离已前进完时。

当机器人撞到墙时,动作也是完成了,意味着此时机器人将不再向前进。当你的机器人撞到其它的机器人时,如果你是头部撞到其它的机器人时动作也就完成。记住正数和负数都可以作为距离的值,当距离为负值时表示机器人向后退距离的值个像素。

比如:

向前移动100像素,ahead(100)

向后移动50个像素,ahead(-50)


back 后退

效果及作用刚好和ahead相反,

参数获取函数

getBattleFieldWidth()和getBattleFieldHeight()

获取战场高度和宽度函数

返回值为以像素为单位表示的当前战场的宽度

getHeading()

获取自身方向函数

返回机器人面对的方向,用角度表示。返回值的范围是 0到 360之间(不含360)。

在机器人软件中的坐标系就像一个罗盘,0表示正北,90表示正东,180表示正南,270表示正西。

getGunHeading()和getRadarHeading()

获取坦克枪管和雷达的方向,原理等同于getHeading()

getWidth()和getHeight()

返回机器人自己的宽度和高度,单位为像素。

getName()

获取机器人名称

getX()和getY()

获取机器人横纵坐标。

(0,0)坐标在战场的左下角。(向右为X正向,向上为Y正向)

转向函数

turnLeft和turnRight()

public void turnLeft(double degrees)

public void turnRight(double degrees)

马上将机器人向左(右)转以 degrees 指写的度数,这个指令马上被调用,直到做完才会返回。比如,当角度已经转完时就会返回,正数和负数都可以作为参数,是负数意味着会向相反方向转,转动角度的大小是一样的

turnGunLeft(),turnGunRight(),turnRadarLeft(),turnRadarRight()

向左或者向右转动枪管或雷达,原理同turnLeft(),turnRight().

开火函数

fire

public void fire(double power)

power是开火时的能量,也即子弹的能量

指定的子弹力量会从你的机器人的能量里带走。因此,你设定的的子弹的能量越大,发射时会从你的机器人里带走的能量也越多.

当子弹击中其它机器人时,会使那个机器人的能量损害(4*power)。如果设定的能量值大于1,还会使对方增加 2*(power-1)的损害。当你的机器人击中其它机器人时,你会获得(3*power)的收益。你可以调用Rules.getBulletDamage(double)来知道一个指定的子弹能量能造成对方多大的损害.

请注意,当枪太热了的时候它就不能射击,意味此时getGunHeat()返回值大于0。

当子弹击中一个机器人,墙,或者另一粒子弹时,分别会产生BulletHitEvent事件,BulletMissedEvent事件,BulletHitBulletEvent事件。

下一篇将对事件函数做相应的讲解,欢迎来扰。

好啦,本期内容就到这里喽,我是不会玩游戏却非得写游戏的陈老师,一起来学习JAVA吧!

分享好友

分享这个小栈给你的朋友们,一起进步吧。

Spring Boot
创建时间:2020-06-22 17:22:00
SpringBoot是由Pivotal团队在2013年开始研发、2014年4月发布个版本的全新开源的轻量级框架。它基于Spring4.0设计,不仅继承了Spring框架原有的特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。另外SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决。
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

栈主、嘉宾

查看更多
  • duanhao
    栈主

小栈成员

查看更多
  • ?
  • zander
  • 凉茶cooltea
戳我,来吐槽~