CHaser解説(Python編)

第1部 CHaserを知る

勝利条件

5章 勝利条件

CHaserの基本の勝敗は「アイテムを多く集めたほうが勝ち」ですが、それとは別に、試合を即座に決着させる特別勝利条件が2つあります。ブロックを上手く使えば、アイテムの数で負けていても逆転できる可能性があるということです。

アタック勝ち・衝突

相手がいるマスにブロックを設置すると、相手を倒してアタック勝ちになります。ブロックは単なる障害物ではなく、攻撃の手段でもあるのです。

図:相手のマスにブロックを設置すると、アタック勝ちになる
図:相手のマスにブロックを設置すると、アタック勝ちになる

逆に、自分がブロックのマスに移動しようとすると、衝突して負けてしまいます。「そこにブロックがあることを知らずに突っ込んでしまった」ということがないよう、移動する前には周囲の状況を確認する必要があります(周囲の情報の取得方法は第2部で詳しく説明します)。

図:ブロックのマスに移動しようとすると衝突して敗北になる
図:ブロックのマスに移動しようとすると衝突して敗北になる

閉じ込め勝ち・自縛

相手を上下左右すべてブロックで囲んで動けなくすると、閉じ込め勝ちになります。相手はどこにも移動できなくなり、敗北します。

図:相手を上下左右すべてブロックで囲むと閉じ込め勝ちになる
図:相手を上下左右すべてブロックで囲むと閉じ込め勝ちになる

逆に、自分自身がブロックに囲まれて身動きが取れなくなってしまうと、自縛という形で自分が負けてしまいます。4章で説明したとおり、アイテムを取るとその場所にブロックが出現するため、考えなしにアイテムを取り続けていると、気づいたときには自分の周りがブロックだらけ、ということも起こり得ます。

図:自分がブロックに囲まれると自縛で敗北になる
図:自分がブロックに囲まれると自縛で敗北になる
状況 結果
相手のマスにブロックを設置 アタック勝ち
自分がブロックのマスに移動しようとする 衝突(敗北)
相手を上下左右すべてブロックで囲む 閉じ込め勝ち
自分が上下左右すべてブロックで囲まれる 自縛(敗北)

攻めと守りは同じコインの裏表

この表をよく見ると、面白いことに気づきます。「アタック勝ち」と「衝突」は、どちらも「ブロックのあるマスに関係する」という同じ現象の、攻める側・受ける側の違いにすぎません。「閉じ込め勝ち」と「自縛」も同じです。つまりCHaserでは、自分がやろうとしていることを、相手にもされる可能性が常にあるということです。相手を閉じ込めようとブロックを置いているつもりが、実は自分自身の逃げ道も同時にふさいでいた、ということも起こり得ます。行動を選ぶときは「これで相手はどうなるか」だけでなく「この結果、自分はどうなるか」も、必ずセットで考える習慣をつけましょう。

注意したいこと

  • 「相手を攻撃すること」ばかり考えて、自分の逃げ道を忘れる:ブロックを置くたびに、置いた後の自分の周りの状況を思い浮かべる癖をつけましょう。
  • 閉じ込め勝ちの条件を「相手の近くにブロックがあればよい」と誤解する:閉じ込め勝ちは、相手の上下左右すべてがブロックになったときに成立します。3方向だけふさいでも、1方向でも空いていれば相手は逃げられます。

攻めるだけでなく、自分が不利な状況に陥っていないかを常にチェックすることが、CHaserで勝つための鍵になります。これでCHaserの基本ルールはひととおり説明しました。次の章では、実際にチュートリアル画面を開いて、プログラミングを始める準備をしましょう。

YouTubeチャンネル

U-15プロコン舞鶴のYouTubeチャンネルを開設しました。大会の情報などを発信しています。 チャンネルを見る