なるべく多くのコマを敵のコマや障害物を避けながらゴールまで導くことが目標である。
配布コードは Java 5.0 で実装されている。 ゲームのコア部分は gamecore.jar において実装されている。 コア部分からの情報取得については、 以下のメソッド一覧と ui フォルダに置かれているサンプルを参照すること。
class game.Game
public void loadFile(java.io.File file)
public void startGame()
class game.Game
public static final double radius
(コマの半径)public double getPlayerMaxSpeed()
public double getEnemyMaxSpeed()
public List<Game.Player> getPlayers()
public List<Game.Enemy> getEnemies()
public List<Game.Obstacle> getObstacles()
public java.awt.Rectangle getGoalRect()
class game.Game.Player
public boolean isCaptured()
public boolean isWinner()
public java.awt.Point getLocation()
public void setVelocity(double x, double y)
class game.Game.Enemy
public java.awt.Point getLocation()
class game.Game.Obstacle
public java.awt.Point getLocation()
public int getRadius()
ゲーム状態 (読み込み完了、1 ステップ進行、終了) はゲームコアから
game.GameStateListener
へ通知される。
game.GameStateListener
public void gameInitialized()
public void gameProgressed()
public void gameFinished(game.Result result)
game.Result
public double elapsedTime
(経過時間)public int winner
(ゴールしたコマの数)public int total
(コマの総数)サンプル UI のソースは ui フォルダにある。 コンパイル方法は compile.bat 実行方法は run.bat をそれぞれ参考に (もしくはそのまま使用) すること。
サンプルはキーボードとマウスを利用したごく単純なユーザインターフェイスを実装している。 コマをクリックすることで選択し、コマが選択された状態でキーボードのカーソルキーを押すことで速度を指定する。 (とても、使いにくい。課題を行う者は少なくともこのインターフェイスよりはずっと使いやすいものを作ること。)
マップエディタのソースは editor フォルダにある。 コンパイル方法、実行方法はサンプル UI のそれを参考にすること。 速度上限を設定する機能はないので、保存されたマップをテキストエディタで編集すること。 意欲ある者はより使いやすいマップエディタを自作するとよい。