|
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||
| 概要: ネスト | フィールド | コンストラクター | メソッド | 詳細: フィールド | コンストラクター | メソッド | ||||||||
java.lang.Object
|
+--robocode._Robot
|
+--robocode.Robot
|
+--robocode._AdvancedRobot
|
+--robocode._AdvancedRadiansRobot
|
+--robocode.AdvancedRobot
機能の拡張されたロボットで、非ブロッキング呼び出し、 カスタム・イベント、ファイル・システムへの書き込みが可能です。
まだの場合は、Robot を作成しておく必要があります。
Robot| フィールドの概要 |
| クラス robocode.Robot から継承されたフィールド |
out |
| コンストラクターの要約 | |
AdvancedRobot()
|
|
| メソッドの要約 | |
void |
addCustomEvent(Condition condition)
条件が満たされたときに呼び出されるカスタム・イベントを登録します。 |
void |
clearAllEvents()
保留中のすべてのイベントをただちに消去します。 |
void |
execute()
保留中の動作があればそれらをすべて実行し、 実行中の動作があれば実行を続けます。 |
Vector |
getAllEvents()
ロボットのキューに現在入っているすべてのイベントからなるベクトルを戻します。 |
Vector |
getBulletHitBulletEvents()
ロボットのキューに現在入っているすべての BulletHitBulletEvent からなるベクトルを戻します。 |
Vector |
getBulletHitEvents()
ロボットのキューに現在入っているすべての BulletHitEvent からなるベクトルを戻します。 |
Vector |
getBulletMissedEvents()
ロボットのキューに現在入っているすべての BulletMissedEvent からなるベクトルを戻します。 |
File |
getDataDirectory()
RobocodeOutputStream を使って書き込むことのできるディレクトリーを表すファイルを戻します。 |
File |
getDataFile(String filename)
RobocodeOutputStream に書き込むことのできるデータ・ディレクトリー内のファイルを戻します。 |
double |
getDistanceRemaining()
ロボットの現在の移動動作における残りの距離を取得します。 |
int |
getEventPriority(String eventClass)
イベント・クラスの現在の優先順位を戻します。 |
double |
getGunTurnRemaining()
大砲が回転する残りの角度を取得します (360 度形式)。 |
Vector |
getHitByBulletEvents()
ロボットのキューに現在入っているすべての HitByBulletEvent からなるベクトルを戻します。 |
Vector |
getHitRobotEvents()
ロボットのキューに現在入っているすべての HitRobotEvent からなるベクトルを戻します。 |
Vector |
getHitWallEvents()
ロボットのキューに現在入っているすべての HitWallEvent からなるベクトルを戻します。 |
double |
getRadarTurnRemaining()
レーダーが回転する残りの角度を取得します (360 度形式)。 |
Vector |
getRobotDeathEvents()
ロボットのキューに現在入っているすべての RobotDeathEvent からなるベクトルを戻します。 |
Vector |
getScannedRobotEvents()
ロボットのキューに現在入っているすべての ScannedRobotEvent からなるベクトルを戻します。 |
double |
getTurnRemaining()
ロボットが回転する残りの角度を取得します (360 度形式)。 |
boolean |
isAdjustGunForRobotTurn()
ロボットの回転に合わせて大砲の向きを調整するよう設定されているかどうかを検査します。 |
boolean |
isAdjustRadarForGunTurn()
大砲の回転に合わせてレーダーの向きを調整するよう設定されているかどうかを検査します。 |
boolean |
isAdjustRadarForRobotTurn()
ロボットの回転に合わせてレーダーの向きを調整するよう設定されているかどうかを検査します。 |
void |
onCustomEvent(CustomEvent event)
カスタム条件が満たされたとき、このメソッドが呼び出されます。 使用例については、サンプル・ロボットをご覧ください。 |
void |
onDeath(DeathEvent event)
このメソッドは、ロボットが死んだときに呼び出されます。 このイベントが通知されるようにするには、 ロボットのコードでこのメソッドをオーバーライドする必要があります。 |
void |
onSkippedTurn(SkippedTurnEvent event)
このメソッドは、 次の動作までの間に極端に長い時間がかかっている場合に呼び出されます。 |
void |
removeCustomEvent(Condition condition)
(条件によって指定された) カスタム・イベントを除去します。 |
void |
setAhead(double distance)
ロボットがある距離だけ前進するよう設定します。 この呼び出しはただちに戻され、execute() を呼び出すか 実行動作を行うまで、実際には実行されません。 |
void |
setBack(double distance)
ロボットがある距離だけ後退するよう設定します。 |
void |
setEventPriority(String eventClass,
int priority)
イベント・クラスの優先順位を設定します。 |
void |
setInterruptible(boolean interruptible)
イベント・ハンドラー中にこれを呼び出すと、 同じ優先順位の新しいイベントがその後に生成された場合、 新しいイベントがイベント・ハンドラーを再開できるようになります。 |
void |
setMaxTurnRate(double newMaxTurnRate)
1 刻時につき 10 度よりも遅く回転させるには、 このメソッドを呼び出して設定してください。 |
void |
setMaxVelocity(double newMaxVelocity)
ロボットのスピードを 8 未満に制限するには、 このメソッドを呼び出します。 |
void |
setResume()
stop() または setStop() によってロボットの動きが停止された場合に、 その動作を再開するよう設定します。 |
void |
setStop()
この呼び出しは stop() と似ていますが、
ただちに戻され、execute() を呼び出すか
実行動作を行うまで、実際には実行されません。 |
void |
setStop(boolean overwrite)
この呼び出しは stop(boolean) と似ていますが、
ただちに戻され、execute() を呼び出すか
実行動作を行うまで、実際には実行されません。 |
void |
setTurnGunLeft(double degrees)
大砲が左向きに回転するよう設定します (角度は 360 度形式)。 この呼び出しはただちに戻され、execute() を呼び出すか 実行動作を行うまで、実際には実行されません。 |
void |
setTurnGunRight(double degrees)
大砲が右向きに回転するよう設定します (角度は 360 度形式)。 |
void |
setTurnLeft(double degrees)
ロボットが左向きに回転するよう設定します (角度は 360 度形式)。 |
void |
setTurnRadarLeft(double degrees)
レーダーが左向きに回転するよう設定します (角度は 360 度形式)。 |
void |
setTurnRadarRight(double degrees)
レーダーが右向きに回転するよう設定します (角度は 360 度形式)。 |
void |
setTurnRight(double degrees)
ロボットが右向きに回転するよう設定します (角度は 360 度形式)。 |
void |
waitFor(Condition condition)
condition.test() が真を戻すまで、戻されません。 |
| クラス robocode._Robot から継承されたメソッド |
getBattleNum、getGunCharge、getGunImageName、getLife、getNumBattles、getRadarImageName、getRobotImageName、setGunImageName、setPeer、setRadarImageName、setRobotImageName |
| クラス java.lang.Object から継承されたメソッド |
equals、
getClass、
hashCode、
notify、
notifyAll、
toString、
wait、
wait、
wait |
| コンストラクターの詳細 |
public AdvancedRobot()
| メソッドの詳細 |
public double getDistanceRemaining()
public void setAhead(double distance)
public void setBack(double distance)
public void setTurnLeft(double degrees)
public void setTurnRight(double degrees)
public void addCustomEvent(Condition condition)
condition - 満たされるべき条件。public void clearAllEvents()
public void execute()
以下の例では、ロボットは回転しながら移動します。
setTurnRight(90);
setAhead(100);
execute();
while (getDistanceRemaining() != 0 && getTurnRemaining() != 0) {
execute();
}
public Vector getAllEvents()
例:
Vector v = getAllEvents();
Event e;
for (int i = 0; i < v.size(); i++) {
e = (Event)v.elementAt(i);
if (e instanceof HitRobotEvent)
(e に関する何らかの処理を行う)
else if (e instanceof HitByBulletEvent)
(e に関する何か別の処理を行う)
}
Robot.onBulletHit(robocode.BulletHitEvent),
Robot.onBulletHitBullet(robocode.BulletHitBulletEvent),
Robot.onBulletMissed(robocode.BulletMissedEvent),
Robot.onHitByBullet(robocode.HitByBulletEvent),
Robot.onHitRobot(robocode.HitRobotEvent),
Robot.onHitWall(robocode.HitWallEvent),
onSkippedTurn(robocode.SkippedTurnEvent),
BulletHitEvent,
BulletMissedEvent,
HitByBulletEvent,
HitRobotEvent,
HitWallEvent,
SkippedTurnEvent,
Event,
Vectorpublic Vector getBulletHitBulletEvents()
例:
Vector v = getBulletHitBulletEvents();
BulletHitBulletEvent e;
for (int i = 0; i < e.size(); i++) {
e = (BulletHitBulletEvent)v.elementAt(i);
(e に関する何らかの処理を行う)
}
Robot.onBulletHitBullet(robocode.BulletHitBulletEvent),
BulletHitBulletEvent,
Vectorpublic Vector getBulletHitEvents()
例:
Vector v = getBulletHitEvents();
BulletHitEvent e;
for (int i = 0; i < e.size(); i++) {
e = (BulletHitEvent)v.elementAt(i);
(e に関する何らかの処理を行う)
}
Robot.onBulletHit(robocode.BulletHitEvent),
BulletHitEvent,
Vectorpublic Vector getBulletMissedEvents()
例:
Vector v = getBulletHitEvents();
BulletMissedEvent e;
for (int i = 0; i < e.size(); i++) {
e = (BulletMissedEvent)v.elementAt(i);
(e に関する何らかの処理を行う)
}
Robot.onBulletMissed(robocode.BulletMissedEvent),
BulletMissedEvent,
Vectorpublic File getDataDirectory()
getDataFile(java.lang.String)public File getDataFile(String filename)
getDataDirectory()public int getEventPriority(String eventClass)
int myHitRobotPriority = getEventPriority("HitRobotEvent");
eventClass - イベント・クラスの名前 (文字列)
setEventPriority(java.lang.String, int)public double getGunTurnRemaining()
public Vector getHitByBulletEvents()
例:
Vector v = getHitByBulletEvents();
HitByBulletEvent e;
for (int i = 0; i < e.size(); i++) {
e = (HitByBulletEvent)v.elementAt(i);
(e に関する何らかの処理を行う)
}
Robot.onHitByBullet(robocode.HitByBulletEvent),
HitByBulletEvent,
Vectorpublic Vector getHitRobotEvents()
例:
Vector v = getHitRobotEvents();
HitRobotEvent e;
for (int i = 0; i < e.size(); i++) {
e = (HitRobotEvent)v.elementAt(i);
(e に関する何らかの処理を行う)
}
Robot.onHitRobot(robocode.HitRobotEvent),
HitRobotEvent,
Vectorpublic Vector getHitWallEvents()
例:
Vector v = getHitWallEvents();
HitWallEvent e;
for (int i = 0; i < e.size(); i++) {
e = (HitWallEvent)v.elementAt(i);
(e に関する何らかの処理を行う)
}
Robot.onHitWall(robocode.HitWallEvent),
HitWallEvent,
Vectorpublic double getRadarTurnRemaining()
public Vector getRobotDeathEvents()
例:
Vector v = getRobotDeathEvents();
RobotDeathEvent e;
for (int i = 0; i < e.size(); i++) {
e = (RobotDeathEvent)v.elementAt(i);
(e に関する何らかの処理を行う)
}
Robot.onRobotDeath(robocode.RobotDeathEvent)、
RobotDeathEvent、
Vectorpublic Vector getScannedRobotEvents()
例:
Vector v = getScannedRobotEvents();
ScannedRobotEvent e;
for (int i = 0; i < e.size(); i++) {
e = (ScannedRobotEvent)v.elementAt(i);
(e に関する何らかの処理を行う)
}
Robot.onScannedRobot(robocode.ScannedRobotEvent),
ScannedRobotEvent,
Vectorpublic double getTurnRemaining()
public boolean isAdjustGunForRobotTurn()
Robot.setAdjustGunForRobotTurn(boolean)public boolean isAdjustRadarForGunTurn()
Robot.setAdjustRadarForGunTurn(boolean)public void onCustomEvent(CustomEvent event)
event - ゲームによって設定されるイベント
addCustomEvent(robocode.Condition),
CustomEvent,
Eventpublic void removeCustomEvent(Condition condition)
condition - 除去する条件
addCustomEvent(robocode.Condition)
public void setEventPriority(String eventClass,
int priority)
setEventPriority("RobotDeathEvent",15);
デフォルトの優先順位は、低い方から順に、以下のとおりです。
ScannedRobotEvent: 10 HitRobotEvent: 20 HitWallEvent: 30 HitByBulletEvent: 40 BulletHitEvent: 50 BulletHitBulletEvent: 50 BulletMissedEvent: 60 RobotDeathEvent: 70 CustomEvent: 80 SkippedTurnEvent: 100 WinEvent: 100 DeathEvent: 100
eventClass - 優先順位を設定する対象のイベント・クラスの名前を含む文字列
priority - そのクラスの新しい優先順位
_Robot.setInterruptible(boolean)public void setInterruptible(boolean interruptible)
例
onScannedRobot(ScannedRobotEvent e) {
fire(1);
setInterruptible(true);
ahead(100); // 前進中に他のロボットを発見すると
// このハンドラーが最初から開始します。
// setInterruptible がなければ、スキャン・
// イベントを受け取ることができません。
// 移動中に他のロボットが発見されない場合に限り、ここに達します
out.println("Ok, I can't see anyone");
}
_Robot の setInterruptible
interruptible - 優先順位が等しい新しいイベントによって、
このイベント・ハンドラーが割り込まれるかどうか。public void setMaxTurnRate(double newMaxTurnRate)
public void setMaxVelocity(double newMaxVelocity)
public void setResume()
setStop(),
Robot.stop()public void setStop()
stop() と似ていますが、
ただちに戻され、execute() を呼び出すか
実行動作を行うまで、実際には実行されません。
以前の停止のときの動作がまだ保存されている場合、
これは無効になります。
この呼び出しは setStop(false) 呼び出しと同等です。
setStop(boolean),
setResume(),
Robot.stop(),
Robot.resume()public void setStop(boolean overwrite)
stop(boolean) と似ていますが、
ただちに戻され、execute() を呼び出すか
実行動作を行うまで、実際には実行されません。
以前の停止のときの動作がまだ保存されている場合、
setStop(true) を呼び出すことによってそれを上書きできます。
setStop(),
setResume(),
Robot.stop(),
Robot.resume()public void setTurnGunLeft(double degrees)
public void setTurnGunRight(double degrees)
public void setTurnRadarLeft(double degrees)
public void setTurnRadarRight(double degrees)
public void waitFor(Condition condition)
public boolean isAdjustRadarForRobotTurn()
Robot.setAdjustRadarForRobotTurn(boolean)public void onDeath(DeathEvent event)
Robot の onDeath
event - ゲームによって設定されるイベント
DeathEvent、
Eventpublic void onSkippedTurn(SkippedTurnEvent event)
event - ゲームによって設定されるイベント
SkippedTurnEvent,
Event
|
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||
| 概要: ネスト | フィールド | コンストラクター | メソッド | 詳細: フィールド | コンストラクター | メソッド | ||||||||