专栏首页深圳java培训深圳Java培训:游戏中寻找学习JAVA的乐趣
原创

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

深圳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吧!

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

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

我来说两句

0 条评论
登录 后参与评论

相关文章

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

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

    深圳java培训技术
  • 最新Go语言学习路线图 带你通关Go语言-千锋

    在近一年的编程语言的排行榜中,Go语言跻身靠前的位置。Go语言具有入门快、程序库多、运行迅速等特点,开发效率和执行效率都是各大编程语言中的佼佼者。企业对于Go语...

    深圳java培训技术
  • 深圳软件测试培训学习:【性能术语】八大类性能测试

    答:性能测试八大类包括:性能测试、负载测试、压力测试、配置测试、并发测试、容量测试、可靠性测试、失败测试。

    深圳java培训技术
  • 观点 | 机器人进化史上的一大步

    【Rethink全新机器人定位系统令Baxter更灵活】Rethink Robotics发布了Intera 3.1版本软件,能够让Baxter协作机器人“管理和...

    机器人网
  • 7个强大的聊天机器人搭建平台

    FB Messenger,Kik,Slack,Telegram和WeChat是一些流行的聊天机器人发布平台。

    February
  • 泰瑞达为什么要收购优傲机器人?

    上周四我们曾报道,泰瑞达以2.85亿美元现金收购协作机器人领导厂商优傲机器人(Universal Robots),泰瑞达为什么要收购优傲机器人呢?据了解,一直专...

    机器人网
  • 爱普生研发全新系列六轴机器人 可大大节省安装空间

    精工爱普生研发出全新的N系列6轴(垂直铰接)工业机器人,创新性的折叠臂让它可以安装在非常有限的空间内。该系列的首个产品计划将在明年5月面向全球发布。但是, 1...

    机器人网
  • 独家 | 机器人能拯救福岛核电站吗?

    ---- “据报道,核电公司正使用机器人以更安全、更快速、更高性价比的方案解决世界各地的核退役问题,据预测,从现在到2030年,该产业总值3700亿美元。”—...

    机器人网
  • 耶鲁大学新研究登刊 IEEE:狗狗更能服从机器人的指令

    内容概要:耶鲁大学社交机器人实验室近期在IEEE 的《Spectrum》上刊登了一项最新研究,在实验中,机器人给宠物狗发出的指令,比人给宠物狗发出的指令,更能让...

    HyperAI超神经
  • 2个月、超15起、30亿美元投资,机器人终于崛起?

    疫情爆发以来,快速发展的行业除了生鲜电商、在线教育、远程办公等产业,还有服务机器人。

    刘旷

扫码关注云+社区

领取腾讯云代金券