ROBOCODE BIBLE 最強ロボットへの道

[表紙]ROBOCODE BIBLE 最強ロボットへの道

紙版発売

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の使い方