首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >深圳Java培训:游戏中寻找学习JAVA的乐趣

深圳Java培训:游戏中寻找学习JAVA的乐趣

原创
作者头像
深圳java培训技术
修改2019-07-09 12:19:42
6240
修改2019-07-09 12:19:42
举报

深圳Java培训:游戏中寻找学习JAVA的乐趣

游戏中寻找学习JAVA的乐趣之坦克大战系列6-API常用函数说明1

前言

本篇主要介绍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吧!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档