package ka;
import robocode.*;
import java.awt.Color;
public class Kazu00 extends Robot
{
// ロボットの移動量
double mm;
public void run() {
mm = getBattleFieldWidth() / 10;
setColors(Color.red,Color.blue,Color.green);
while(true) {
ahead(mm);
turnGunRight(180);
turnGunLeft(180);
}
}
public void onScannedRobot(ScannedRobotEvent e) {
// フィールドの高さの半分以下の距離の敵のみに発砲
if(e.getDistance() < getBattleFieldHeight() / 4){
fire(2);
}
}
public void onHitByBullet(HitByBulletEvent e) {
turnRight(45);
ahead(mm);
}
public void onHitWall(HitWallEvent e){
// 壁に沿って移動
turnRight(90 + e.getBearing());
ahead(mm);
}
public void onHitRobot(HitRobotEvent e){
// 敵が正面だったらバック、後ろなら前進
if(e.getBearing() > -90 && e.getBearing() < 90){
back(mm);
}else{
ahead(mm);
}
}
}
[オブジェクト指向プログラミング(H16)]