ROBOCODE BIBLE 最強ロボットへの道
2003年5月23日紙版発売
IBM東京基礎研究所ロボコード・サポーターズ 著
B5変形判/304ページ/CD1枚
定価2,728円(本体2,480円+税10%)
ISBN 4-7741-1738-2
ただいま弊社在庫はございません。
書籍の概要
この本の概要
Robocode IDE環境は,IBMが開発したフリーのネット対戦型ロボットゲームである。ユーザーは,簡単に使えるJavaベースのAPIを利用して,この戦車型ロボットを制御し,プログラミングの工夫次第で勝利できるようになっている。ゲームで楽しみながら,本格的Javaプログラミングを学習できる。
こんな方におすすめ
- Javaのプログラミングに興味ある人
- ゲームに興味ある人
- アルゴリズムや本格的なJavaプログラミングを楽しく学びたい人
目次
Mission 01 ロボコードの導入
- 01 ロボコードとは?
- 1.1 ロボコードの世界へようこそ
- 1.2 ロボコードの生い立ち
- 02 ロボコードのダウンロード
- 2.1 ダウンロード手順
- 2.2 ロボコードのインストール
- 2.3 ロボコードを動かしてみる
Mission 02 初めてのマイロボット
- 01 ロボットを作る前に
- 1.1 ロボットを作る:ロボット・エディターの使い方
- 1.2 ロボットをバトルに参戦させる
- 1.3 ロボットをカスタマイズしてみる
- 02 ロボットの構造とJavaの知識を学ぶ
- 2.1 ロボットの構造
- 2.2 ロボットの定義=クラスの定義
- 2.3 パッケージ
- 2.4 ロボットの機能拡張=メソッドの定義
- 2.5 メソッド呼び出し
Mission 03 一歩進んだロボットの作成
- 01 ロボット,ロボコードの詳細
- 1.1 ロボットの動き(移動,回転,大砲とレーダー)
- 1.2 ロボットのエネルギー
- 1.3 ゲームの勝敗
- 02 Fridayの解析
- 2.1 Friday.javaの説明
- 2.2 Fridayの戦略
- 03 サンプルロボットの紹介
- 3.1 サンプルロボットを戦わせてみる
- 3.2 サンプルロボットの戦略
- 04 AdvancedRobotクラスの紹介
- 4.1 AdvancedRobotクラスとは?
- 4.2 AdvancedRobotクラスのメリット
- 4.3 まとめ
Mission 04 基礎的な要素技術
- 01 ロボットの行動−ブロッキングメソッド−
- 1.1 ロボットの移動の基本
- 1.2 大砲の回転の基本
- 1.3 レーダーの回転の基本
- 1.4 指定した方向へロボットを向ける:その1
- 1.5 指定した方向へロボットを向ける:その2
- 1.6 指定した方向へロボットを向ける:その3
- 1.7 指定した位置に移動する:その1
- 1.8 指定した位置に移動する:その2
- 1.9 弾丸の発射
- 1.10 ロボットと大砲を独立して動かす
- 02 ロボットの行動−非ブロッキングメソッド−
- 2.1 非ブロッキングメソッドによるロボットの移動(円運動)
- 2.2 指定した条件まで行動する(8の字運動)−waitFor()の使い方−
- 2.2 指定した条件まで行動する(高度な運動)−execute()の使い方−
- 2.4 弾丸の発射
- 03 イベントの処理
- 3.1 ロボットを見つけたら撃つ
- 3.2 被弾したら撃つ
- 3.3 ロボットに衝突したら撃って逃げる
- 3.4 壁に衝突したら壁から離れる
- 3.5 その他のイベント
- 3.6 カスタムイベント
- 04 便利なメソッド
- 4.1 ファイル入出力
Mission 05 高度な要素技術 防御編
- 01 防御方法に関する基本事項の復習
- 1.1 イベントから防御のための情報を集める
- 1.2 賢いレーダーの使い方
- 1.3 高度なレーダー制御の方法
- 02 生き残るための移動戦略
- 2.1 基本の移動戦略
- 2.2 高度な移動戦略
Mission 06 高度な要素技術 攻撃編
- 01 移動タイプによる的合わせ
- 1.1 敵ロボットの移動関数
- 02 数値解析による解法
- 2.1 近似解法
- 2.2 的合わせのプログラム
- 03 線形移動に対する的合わせ
- 3.1 移動関数
- 3.2 パラメータの特定
- 04 円形移動に対する的合わせ
- 4.1 移動関数
- 4.2 パラメータの特定
- 05 振動に対する的合わせ
- 5.1 移動関数
- 5.2 パラメータの特定
- 06 その他の攻撃方法
- 6.1 ランダムな攻撃
- 6.2 エネルギーの戦略
Mission 07 大域的戦略と学習
- 01 情報収集とデータの管理
- 1.1 データの管理
- 1.2 得点付け
- 1.3 得点情報の保存と読み込み
- 02 データの活用1:学習による防御
- 2.1 「物理力移動」再考
- 2.2 学習的物理力移動
- 03 データの活用2:パターン認識による攻撃
- 3.1 最も簡単な判別方法
- 3.2 判別器の実装
- 3.3 判別器の評価と改良
- 3.4 パターン認識による判別
Mission 08 要素技術を組み合わせたロボットの作成
- 01 勝てるロボットを作る
- 1.1 基本戦略方針
- 1.2 ロボットの行動戦略
- 1.3 レーダーの行動戦略
- 1.4 大砲の行動戦略&攻撃戦略
Mission 09 最強ロボットの紹介
- 01 達人たち
- 02 Robocode Rumble〜優勝者から得たヒント
- 03 おわりに
Mission 10 ファイナルバトル 対戦実験
- 01 サンプルロボットとの対戦
- 02 最強ロボットとの対戦
- 2.1 Ares(Robocode Rumble:Beginnerクラスの優勝者)との対戦
- 2.2 Fermat(Robocode Rumble:Intermediateクラスの優勝者)との対戦
- 2.3 Yngwie(Robocode Rumble:Advancedクラスの優勝者)との対戦
- 03 ファイナルバトルを終えて
- 参考文献
Apendix
- RobocodeAPIリファレンス
- CD-ROMの使い方