坦克大战系列6-API常用函数说明2
前言
本篇主要介紹RobocodeAPI中的各種事件函數的說明,便于使用函數時有更清晰的思路。
子彈事件函數
onBulletHit()
當擊中對方時
public void onBulletHit(BulletHitEvent event)
當你的子彈擊中對方時就會調用這個方法。如果你想在子彈擊中對方時作處理的話,你應當重寫這個方法
例如:
public void onBulletHit(BulletHitEvent event) {
out.println("I hit " + event.getName() + "!");
}
onBulletHitBullet()
當子彈擊中子彈
public void onBulletHitBullet(BulletHitBulletEvent event)
當你的子彈擊中別人的子彈時這個方法會被調用。如果你想在此時作一些處理,你應當重寫這個方法。
例如:
public void onBulletHitBullet(BulletHitBulletEvent event) {
out.println("I hit a bullet fired by " + event.getBullet().getName() + "!");
}
?
onBulletMissed
當子彈未打中對方時調用
也就是說,此時你的子彈打到墻了。如果你想在此時做一些處理,你應當重寫這個方法。
例如:
public void onBulletHit(BulletMissedEvent event) {
out.println("Drat, I missed.");
}
?
onHitByBullet
當自身被子彈打中時
當你的機器人被子彈擊中時這個方法會被調用。如果你想在此時做一些處理,你應當重寫這個方法。
例如:
public void onHitByBullet(HitByBulletEvent event) {
out.println(event.getRobotName() + " hit me!");
}
其他事件函數
onHitRobot
當你的機器人撞到別的機器人時,這個方法就會被調用。如果你想在此時做一些處理,你應當重寫這個方法
例如:
public void onHitRobot(HitRobotEvent event) {
if (event.getBearing() > -90 && event.getBearing() <= 90) {
back(100);
} else {
ahead(100);
}
}
或者更高級一些:
public void onHitRobot(HitRobotEvent event) {
if (event.getBearing() > -90 && event.getBearing() <= 90) {
setBack(100);
} else {
setAhead(100);
}
}
?
onHitWall
當你的機器人撞到墻時這個事件會發生。如果你想在些時做一些處理,你應當重寫這個方法。
在頂上的墻是0度,在右邊的是90度,在左邊的是270度,。當是這個事件也和你的面向有關,所以:turnRight (event.getBearing())調用會讓你的機器人向墻垂直走
例如:
public void onHitWall(HitWallEvent event) {
out.println("Ouch, I hit a wall bearing " + event.getBearing() + " degrees.");
}
?
onScannedRobot
當你的機器人發現了其它機器人時這個方法會被調用,也就是此時你的雷達掃描到了其它的機器人。如果你想在些時做一些處理,你應當重寫這個方法。
注意:幾乎所有機器人都應當重寫這個方法!
當有機器人進入你的雷達的范圍時這個方法會被自動調用
例如:
public void onScannedRobot(ScannedRobotEvent event) {
?
if (event.getDistance() < 100) {
fire(3);
} else {
fire(1);
}
}
提示:
如果槍和雷達是對齊的(并且上一時刻也是對齊的),并且這個事件是同時發生的,并且在你調用fire() 之前沒有做其它任何動作,fire()會直接向那個機器人開火。
本質上說,這意味著如你掃描到了一個機器人,并且它不動,那么就會擊中它。
高級機器人不會以這個方式被幫助,它們想去檢查這個事件看fire()能否擊中。(也就是說,你在旋轉你的槍,但當你得到這個事件的消息時,你的槍與機器人偏離了5度)。
至于戰術策略如何寫就看程序員了
?
好啦,本期內容就到這里嘍,我是不會玩游戲卻非得寫游戲的陳老師,一起來學習JAVA吧!
轉載于:https://www.cnblogs.com/qfchen/p/11133031.html
總結
以上是生活随笔為你收集整理的坦克大战系列6-API常用函数说明2的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言自动生成邻接矩阵,01邻接矩阵的创
- 下一篇: 图论——邻接矩阵