環境構築マニュアルVer1.1.1 - U

U-16 釧路プログラミングコンテスト
環境構築マニュアル
(1.1.1 版)
U-16 釧路プログラミングコンテスト実行委員会
目
次
1. はじめに ................................................................................................................................... 3
2. 開発環境の導入.......................................................................................................................... 4
2-1. ダウンロード ................................................................................................................................. 4
2-2. 開発環境の起動.............................................................................................................................. 5
2-3. プログラムの実行 .......................................................................................................................... 8
2-4. プログラムを終わらせる方法 ....................................................................................................... 14
2-5. 勝敗の決まり方............................................................................................................................ 16
2-6. プログラムの変更方法 ................................................................................................................. 17
2-7. プログラムがうまく動かない ....................................................................................................... 19
2-7-1.
2-7-2.
2-7-3.
2-7-4.
サーバプログラムを複数起動した場合 ..................................................................................... 19
同じクライアントプログラムを複数起動しようとした場合 ...................................................... 20
サーバプログラムの前にクライアントプログラムを起動しようとした場合.............................. 21
クライアントプログラムで命令の呼び出し順が間違っている場合............................................ 22
2
1. はじめに
このマニュアルでは、U-16 釧路プログラミングコンテスト(以降、プロコン)へ向けて、開発環境
の導入や実行方法を説明していきます。
プロコンに参加する皆さんのお役に立てれば幸いです。
なお、事前に行われる講習会では、この内容を含めた講義を行いますので、重複している部分は
読み飛ばしてかまいません。
ぜひ、事後学習・復習の資料としてご活用ください。
3
2. 開発環境の導入
2-1. ダウンロード
プロコンの競技用のプログラムを組み上げるときに、皆さんに使用してもらうソフトウェアを紹
介します。
今回は、
『Eclipse(えくりぷす)』という統合開発環境を紹介します。
なお、講習会の参加者には、会場で開発環境を配布しますので、「2-2. 設定」まで、読み飛ば
してかまいません。
持っていない人は、以下の URL かプロコンの公式サイトからダウンロードしてください。
公式サイトから入手するには、公式サイト(http://procon.kushi.ro/)⇒コンテスト内容⇒コンテ
スト部門の[競技部門]の〈講習資料と開発環境について〉と進み、
「開発環境」の項目のリンクか
らダウンロードしてください。
ダウンロードしたファイルは、zip 形式で圧縮されていますので、圧縮ファイルを右クリックし、
「す
べて展開」を選択して解凍してください。展開にはしばらく時間がかかります。気長にお待ちください。
図.圧縮ファイルの解凍方法
4
2-2. 開発環境の起動
開発環境は「eclipse」というフォルダにまとめて入っています。
この「eclipse」フォルダは、次のようなフォルダ構成になっています。
図.
「eclipse」フォルダの中
それぞれ、以下のようなファイルが含まれています。
フォルダ名
含まれているファイル
.metadata.default
CHaser2012Server
Eclipse の実行に必要なファイル
競技用サーバプログラムとマップファイル
eclipse
Ruby
workspace
Eclipse の本体
Ruby の実行環境
Eclipse で作成したファイル
5
それでは、Eclipse の説明に移ります。
「eclipse」フォルダの中の“eclipse.exe”を起動してください。
図.Eclipse の実行ファイル
6
次のような Eclipse のメインウィンドウが表示されれば起動成功です。
エラーが表示される場合、Eclipse を一旦終了してから、“eclipse.exe”の代わりに“eclipse.exe
-clean.cmd”で起動してみてください。
それでは、メインウィンドウの各領域について説明します。
①
②
③
図.Eclipse のメインウィンドウ
①:
“スクリプト・エクスプローラー”といい、作成したプロジェクト(プログラムを組み上げる
のに必要なファイルの集まりのようなもの)を管理する領域です。
②:
“エディタ画面”といい、プログラムの内容を編集する画面です。
③:
“コンソール画面”といい、プログラム実行の際の各種メッセージの表示などを行います。
7
2-3. プログラムの実行
最初にサーバプログラムを起動します。
「CHaser2012Server」
フォルダにある“CHaserServer.exe”を起動して map を選択してください。
図.サーバプログラムファイル
図.map の選択画面
8
図.クライアントプログラム接続待ち状態のサーバプログラム
9
続いて、クライアントプログラムを起動します。
以下のように、
“スクリプト・エクスプローラー”の「Test1.rb」で、マウスを右クリックして「実
行」→「Ruby スクリプト」を選択することで起動します。
図.クライアントプログラムの起動方法
10
クライアントプログラムが起動したら、コンソール画面をクリックして、接続先の IP アドレスを
入力します。このマニュアルでは、サーバプログラムを同じパソコン上で起動しているため、自分自
身のパソコンを意味する「localhost」を入力します。
コンソール画面の中をクリック
図.クライアントプログラムの起動直後
localhost を入力して Enter キーを押す
図.接続先 IP アドレスの入力
11
次に、接続先のポート番号を入力します。
先攻(Cool)にする場合は「40000」を、後攻(Hot)にする場合は「50000」を入力します。
40000(先攻:Cool)または 50000(後攻:Hot)
を入力して Enter キーを押す
図.接続先ポート番号の入力
接続先ポート番号を入力した後、サーバプログラムと通信が成功した場合は以下のようなメッセ
ージが表示されます。
図.サーバプログラムと通信が成功した場合
「Test1.rb」でクライアントプログラムの起動に成功したら、「Test2.rb」についても同じ手順で
クライアントプログラムを起動します。ただし、「Test1.rb」と先攻・後攻が反対になるように接続
先ポート番号を入力してください。
12
2 台のクライアントの起動に成功すると、
“CHaserServer.exe”の画面が以下の図のようになりま
す。この状態で「Space」キーを押すことで競技を開始できます。
図.2 台のクライアントプログラムの起動に成功した状態
図.対戦中の様子
13
2-4. プログラムを終わらせる方法
対戦ごとに、サーバプログラムを終了させる必要があります。
終了の方法は、次の 2 通りがあります。
 右上の×ボタンをクリック
 タスクマネージャーでのタスクの終了
一つ目は、サーバプログラムの右上にある×ボタンをクリックして終わらせる方法です。
図.右上の×ボタンをクリックで終了
14
二つ目は、タスクマネージャーを起動して、そこでプロセスとして動いているサーバプログラム
のタスクを終了する方法です。
画面下部の点線赤枠の部分でマウスを右クリックして表示されるメニューから、
「タスクマネージ
ャー」を選択して起動してください。
図.タスクマネージャーの起動方法
タスクマネージャーのプロセスから“CHaserServer.exe”を選択し、マウスの右クリックメニュ
ーにある「タスクの終了」を選択してサーバプログラムを終了させます。
図.タスクマネージャーでのタスクの終了
15
2-5. 勝敗の決まり方
プロコンの競技では、ターンごとにプレイヤが行動します。
周りの状況を判断して、移動するか、ブロックを置くかの繰り返しです。
その中で、次のような状態になると、勝敗が決まります。




相手プレイヤの上にブロックを置いた場合、置いたプレイヤの勝ち
全ターン終了時に、取得したアイテム数の多いプレイヤの勝ち
上下左右がブロックで囲まれたプレイヤの負け
ブロックのある位置に移動したプレイヤの負け
相手プレイヤにぶつかっても負けにはなりません。
アイテムばかり狙う作戦もよし、相手プレイヤを追いかけてブロックを置く作戦もよし、ブロッ
クにぶつからないように気をつけながらひたすら逃げまくる作戦もあるでしょう。
想像を働かせて、いろんな作戦を考えてみてください。
16
2-6. プログラムの変更方法
“スクリプト・エクスプローラー”から「Test1.rb」や「Test2.rb」を選択します。以下の画面
の赤枠の部分を編集します。
どのようなプログラムを組めるのかは、別資料で講義します。
図.Test1.rb の場合
17
図.Test2.rb の場合
18
2-7. プログラムがうまく動かない
プログラムがうまく動かないときの原因と解決方法です。
2-7-1. サーバプログラムを複数起動した場合
サーバプログラムを複数起動してしまうと、以下のようなエラーメッセージが表示されます。
このようなときは、「2-4. プログラムを終わらせる方法」を参考に、すべてのサーバプログラ
ムを一度終了してください。
図.サーバプログラムを複数起動した場合
19
2-7-2. 同じクライアントプログラムを複数起動しようとした場合
サーバプログラムを起動し、2 台のクライアントプログラムをそれぞれ一度起動した後に、再度
クライアントプログラムを起動すると、以下のようなエラーダイアログが表示されます。
このようなときは、このダイアログを閉じてからサーバプログラムを一度終了してください。
図.Cool クライアントを二度起動しようとした場合
図.Hot クライアントを二度起動しようとした場合
20
2-7-3. サーバプログラムの前にクライアントプログラムを起動しようとした場合
サーバプログラムを起動していない状態で、クライアントプログラムを起動しようとすると、以
下のようなエラーになります。
このようなときは、サーバプログラムを起動してから、クライアントプログラムを起動してくだ
さい。
図.コンソール画面のエラー表示
21
2-7-4. クライアントプログラムで命令の呼び出し順が間違っている場合
クライアントプログラムでは、命令(getReady と競技用コマンド)を正しい順番で呼び出す必要が
あります。正しい順番とは、getReady と競技用コマンドが交互に呼び出されることです。呼び出し
順が間違っている場合、サーバプログラムは止まります。間違った方が判定負けです。
この判定は、Eclipse のコンソール画面に表示されているログ(下図の赤枠)を目で確認することに
なります。
このログは、クライアントプログラムごとの表示になるため、コンソールを切り替えて(下図の青
枠のクリック)、片方ずつ確認してください。
図.コンソール画面のログ表示
図.コンソール切り替えボタンの拡大表示
22