WindowsパソコンでCHaserを動かすまではじめに
これは、U16札幌プロコン事前講習会に向けて、Windows 10搭載のパソコンでCHaserを動かすまでのドキュメントです。

用意するもの●●●Windows 10搭載のPCある程度速いインターネット
USBメモリ（4GBもあれば十分、ただし新品またはフォーマット済みのものを推奨）

大まかな流れ
1.
2.
3.
4.
5.

Pythonプログラムを実行するためのソフトウェア、「WinPython」の準備プログラムを書くのエディタ、「VSCode」の準備
CHaserのサーバプログラムの準備
CHaserライブラリの準備
サンプルプログラムを動作させてみる

WinPythonの準備
まずは、Pythonプログラムを実行するためのソフトウェア、「WinPython」の準備から始めていきます。

USBメモリの挿入用意したUSBメモリをPCに挿入してください。

WinPythonのダウンロード
WinPythonのGitHubリポジトリにアクセスします。
WinPythonのGitHubリポジトリ: ​https://github.com/winpython/winpython
上記のページを開いたら、”45 releases”（数字部分は変わる）と書いてあるところをクリックしてダウンロードページへ移動します。

WinPythonのダウンロードページに移動すると、WinPython64-3.7.0b4.exe”というファイルがあるのでクリックしてダウンロードしてください。
なお、数字部分はこの作業を行う時期によって多少変わりますが、WinPython64-3.X.Xb4.exeという名前です。（Xが変わる数字部分）

ファイルは、デスクトップなど任意の場所に保存しておいてください。

WinPythonのインストール
ダウンロードしたファイルをダブルクリックして実行してください。
利用規約への同意画面です。“I Agree” をクリックしてください。

WinPythonをどこにインストールするのか聞かれています。

今回はUSBメモリにWinPythonをインストールしたいので、”Browse”ボタンをクリックし、USBメモリを指定後、”Install”ボタンを押下してください。

Installボタンを押下すると、インストール中の画面に移ります。多少時間がかかるので待機してください。

インストールが完了すると、Completedと表示されます。”Next >”ボタンを押下して次の画面に進んでください。

これでUSBメモリへのWinPythonのインストールは終了です。”Finish”ボタンを押下してインストーラを終了してください。

WinPythonの実行
では、USBメモリにインストールしたWinPythonを実行してみましょう。
エクスプローラからUSBメモリのWinPythonフォルダを開いてください。

WinPythonフォルダを開き、”WinPython Command Prompt”をダブルクリックして実行してください。今後、「WinPython コマンドプロンプトを開いてください」という文言がこの文書にあった場
合は、この操作をしてください。

“python”と入力し、エンターキーを押下してください。すると、Pythonが起動します。

>>> と書いてあるところにプログラムを入力すると、Pythonプログラムが実行されます。では、かんたんなPythonプログラムを実行してみましょう。
>>> print(“Hello”)というように入力し、エンターキーを押下してください。（>>>そのものは入力しないでください。）
以下のように”Hello”と出力されればWinPythonのインストールは完了です。

Pythonを終了するには、exit()と入力し、エンターキーを押下しましょう。Pythonが終了するとコマンドプロンプトに戻るので、コマンドプロンプト右上の☓を押してコマンドプロンプトを終了してください。

VSCodeの準備
次に、プログラムを書くためのソフトウェアであるテキストエディタの準備をしましょう。世の中にはいろいろなテキストエディタがありますが、今回は「VSCode」というものを利用します。

USBメモリ上にフォルダを作る
USBメモリ上に、”VSCode”という空のフォルダを作っておきます。ここに、VSCodeを動作させるために必要なファイルを配置していきます。

VSCodeのダウンロード
VSCodeの公式サイトへアクセスします。
VSCode公式サイト: ​https://code.visualstudio.com

緑の“Download for Windows”ボタン横の下矢印をクリックし、出てきたパネルのWindows x64のところにある.zip行のStable列の矢印をクリックして、VSCodeをダウンロードします。（下記画像の○で囲ったところです。）

ダウンロードしたZIPファイルは、デスクトップなど任意の場所に保存しておいてください。

USBメモリへ展開する
ダウンロードしたファイルは圧縮されたZIPファイルなので、これをUSBメモリへ展開（解凍）します。
ダウンロードしたZIPファイルを右クリックし、”すべて展開”を選択します。

展開先を聞かれるので、USBメモリ上のVSCodeフォルダを指定しましょう。その後、”展開”ボタンを押下してください。

展開中の様子です。環境によっては時間がかかりますので、待機してください。

展開完了後、USBメモリ上のVSCodeフォルダを開き、”Code”というファイルをダブルクリックして実行します。（下記画像で色のついたところ）

初回起動時は多少時間がかかりますが、VSCodeが起動しました。
なお、右下に「Gitが見つかりません。Gitをインストールするか’git.path’設定でパスを構成してください。」というエラーが出た場合は、”今後は表示しない”ボタンを押下してください。
また、その下の「Microsoftによる利用状況のデータ収集を……」というメッセージ等も、☓を押して消して頂いて構いません。

では、VSCodeでPythonのプログラムを書きましょう。
VSCode上部メニューから、ファイル→新規ファイルをクリックしてください。

以下のようにかんたんなコードを書いてみましょう。

print(“Hello from USB”)

書いたコードを保存します。上部メニューから、ファイル→保存をクリックします。
今後作ったプログラムは、USBメモリ上の、以下のフォルダに新しく”CHaser”というフォルダを作って、そこに保存していく事にしましょう。
(USBメモリ):¥WinPython¥scripts¥

CHaserフォルダを作ったらCHaserフォルダをダブルクリックして移動し、プログラムを保存します。
この際、ファイル名: hello
ファイルの種類: Pythonと変更してください。

最後に、せっかく書いたプログラムを実行してみましょう。WinPythonコマンドプロンプトを起動して、CHaserフォルダに移動してください。
コマンドプロンプトでフォルダを移動するには、cd [フォルダ名]と入力します。

現在いるフォルダのファイル一覧を確認しましょう。現在いるフォルダのファイル一覧を表示するには、dirコマンドを入力します。

hello.pyがあることを確認できたら、そのプログラムを実行しましょう。python hello.pyと入力し、エンターキーを押すと、先ほど書いたhello.pyプログラムが実行されます。

これで、基本的な環境構築は完了です。CHaserのサーバプログラムの準備
次に、CHaser競技を行うためのサーバプログラムの準備に取り掛かります。

サーバプログラムのダウンロード
サーバプログラムは、U16 旭川プログラミングコンテスト実行委員会様Webサイトで提供されているものを利用させていただきます。
U-16旭川プログラミングコンテストWebサイト: ​http://www.procon-asahikawa.org/

左側メニューの”ダウンロード”のリンクからダウンロードページに移動し、”クライアント・サーバセット”をダウンロードします。（クリックすると大きいファイルのダウンロードが始まるので、注意してください。）

展開と動作確認
ダウンロードしたZIPファイルを展開（解凍）しましょう。
展開したのがこちらです。

AsahikawaProcon-Serverフォルダに移動します。

AsahikawaProcon-Serverというファイル（上記画像で色がついているところ）をダブルクリックして、サーバプログラムが起動することを確認しましょう。

起動することが確認できたら、一旦閉じてかまいません。

CHaserライブラリの準備
CHaserのプログラムはPythonで書きますが、サーバとの通信部分等難しい処理を気にせずかんたんに書けるようにするためのライブラリの準備が必要です。これから、ライブラリを準備します。
今回は、北海道富良野市のITコミュニティであるFuraITの西原翔太さん( @tomio2480 )が用意していただいたライブラリをダウンロードし、利用します。
CHaserライブラリのWebサイト: ​https://bitbucket.org/tomio2480/chaser_python/
CHaserライブラリのWebサイトにアクセスして、「リポジトリごと丸ごとダウンロードするときはこちらのページから」の青い文字部分をクリックし、ダウンロードページへ移動してください。

ダウンロードページに移動たら、”リポジトリをダウンロードする”をクリックして、CHaserライブラリをダウンロードしてください。

ダウンロードしたZIPファイルを解凍し、USBメモリのWinPythonフォルダの、scriptsフォルダ以下にCHaser.pyとsample.pyを配置しましょう。

サンプルプログラムを動作させてみる
以上でPython、エディタ、サーバープログラム、ライブラリの準備が出来ました。ライブラリに同梱されていたサンプルプログラムを使って、実際の試合をやってみましょう。

サーバの起動と待機
先程展開したサーバプログラムを起動します。
COOL側、HOT側のポート（初期状態はそれぞれ2009, 2010です。特に理由無ければそのままでOK）を確認し、それぞれの”待機開始”ボタンを押下します。COOL側、HOT側ともに状態が「TCP接続待ち状態」となっていることを確認してください。

プレイヤー1の準備
では、プレイヤー1（COOL側）の準備をしましょう。
WinPythonコマンドプロンプトを起動し、CHaserフォルダに移動します。python sample.pyとコマンドを入力して実行すると接続情報を聞かれるので、以下の情報を入力してください。
port: 2009
name: User1
host: 127.0.0.1

プレイヤー2の準備
次に、プレイヤー2の準備をしましょう。本来ならプレイヤー2は別の参加者が作ったプログラムを使うべきですが、今回はお試しということで同じサンプルプログラムを利用します。
WinPythonコマンドプロンプトをもう一つ起動し、プレイヤー1の準備と同様にしてsample.pyを実行します。ただし、接続情報は以下の通りにしてください。（portとnameが変わっています。）
port: 2010
name: User2
host: 127.0.0.1

接続状態の確認
サーバプログラムを表示して、COOL側HOT側の両者が正しく接続されていることを確認してください。
以下画像のように、状態が「準備完了」になっていればOKです。どちらか、あるいは両方が準備完了になっていない場合は、サンプルプログラムの実行に失敗していますので、対応するWinPythonコマンドプロンプトを開いてプログラムを実行し直してください。

対戦開始“ゲーム開始”ボタンを押下すると、ゲームが開始されます。
対戦開始時の様子です。

対戦中の様子です。

対戦終了後の様子です。右上に「COOL WIN!」と書いてあるのがご確認頂けると思います。

これでサンプルプログラムによる対戦は以上です。再度対戦を行う場合は、サーバプログラムを一旦閉じてまた開いたあと、それぞれのプレイヤーのプログラムを実行し直してください。