2章 対戦ルームの使い方
プログラムができたら、いよいよ対戦の準備です。対戦は「ルーム」と呼ばれる場所に、CoolとHotの2人(またはCPU)が入ることで始まります。
マップを選ぶ
まずはマップを選びます。大会本番で使われるマップだけでなく、ランダムマップや迷路マップなど、練習用のマップもたくさん用意されています。本番のマップは、Pythonの画面の練習マップよりずっと広く、フィールドの形も多彩です。練習の段階から、いろいろな種類のマップで、自分のプログラムを試しておくと、本番でも慌てずに対応できます。
対戦の種類を選ぶ
マップを選んだら、「VS対戦」(人と人との対戦)か「CPU対戦」(コンピューターが操作する相手との対戦)かを選べます。
コラム:まずはCPU対戦で試そう
いきなり人と対戦するのは緊張するものです。CPU対戦を使えば、好きなタイミングで何度でも練習でき、自分のプログラムのどこが弱点かを、じっくり確認できます。「自縛を避ける」「動く相手にブロックを設置する」といった判断が、実際の対戦でちゃんと機能しているか、CPU対戦で繰り返し試してみることをおすすめします。慣れてきたら、VS対戦で、実際の相手の予測不能な動きにも対応できるか、試してみましょう。
ルームを決定する
合言葉を決めてルーム情報を確認したら、「ルーム決定」ボタンを押します。「合言葉」は、同じルームに入りたい相手と共有するための合図のようなものです。友達同士で対戦したいときは、あらかじめ同じ合言葉を決めておきましょう。
Pythonのプログラムファイルを読み込んで対戦開始
ルームが決まると、「cool」側と「hot」側それぞれのプレイヤーが、「ファイルを選択」ボタンから、自分の作ったプログラムファイルを読み込みます。
Pythonのファイル(.py)を選ぶと、自動でPythonの対戦画面に切り替わり、ルームへの参加の準備が始まります。 ブロックで作ったファイルのように、接続ブロックを用意する必要はありません。ルームの情報は、画面が自動で把握してくれます。骨組みのClient(port=port, name=name, host=host)の部分は、書き換えずに、そのままにしておきましょう。
読み込みが終わると、画面に「準備完了。試合開始をお待ちください」と表示されます。もしプログラムにエラーがあれば、「エラー:…」と表示されます。両方のプレイヤーが準備できると、「ゲームスタート」ボタンが現れます。このボタンを押せば、いよいよ試合開始です。試合が終わると、「試合終了」と表示されます。
注意したいこと
- プログラムをダウンロードし忘れて、対戦の直前にファイルが見つからない:Pythonの画面で「ダウンロード」を押し忘れると、せっかく書いたプログラムを、対戦で読み込めません。プログラムを完成させたら、まず保存する習慣をつけましょう。
- 骨組みを書き換えてしまう:
Client(...)の呼び出しや、mainの定義を書き換えると、対戦に参加できなくなることがあります。自分で書き換えるのは、while True:の中と、自分で作る関数です。 - 合言葉を相手と共有し忘れる:VS対戦で友達と対戦したいときは、同じ合言葉・同じルームを選んでいるか、事前に確認しましょう。
- マップの特徴を確認せずに対戦を始めてしまう:マップによって、フィールドの広さや形が大きく異なります。自分のプログラムが、そのマップの広さや形を想定して作られているか、対戦を始める前に確認しておくと安心です。
次の章では、「こう動かしたい」というアイデアを、どうやってPythonのプログラムにするかを、順を追って見ていきます。