
プログラミングの学習を、Webゲーム感覚で気軽に始められるサービス「CodeCombat」の攻略記事です。(無課金でも楽しめるステージのみを紹介しています…)
今回は、Part2ということで、キースガード編の「Kithgard Librarian」から最終面の「キスガードの門」までを1つずつ攻略していきます!

恐ろしい扉
巨大な扉が道を塞いでいるので、攻撃を繰り返して破壊する必要があります。
そこで、「扉」を敵キャラとして「attack()」コマンドを利用します。
loop { this.attack("Door"); }
これでOK!
名前の知られた敵
ここから、情報の一時保管場所である「変数」を使ったコードに挑戦していきます。
このステージでは、敵キャラの名前を変数に入れておき、attack()コマンドで変数を再利用していくことになるでしょう。
var enemy1 = "Kratt"; var enemy2 = "Gert"; var enemy3 = "Ursa"; this.attack(enemy1); this.attack(enemy1); this.attack(enemy2); this.attack(enemy2); this.attack(enemy3); this.attack(enemy3);
名前のマスター
このステージから、敵キャラの名前が分からない状況になります。
しかし、新しく覚えたちょっと長いコマンド「findNearestEnemy()」を利用することで、自動的に敵キャラの名前が得られるようになります。つまり、これを変数に入れることで、attack()コマンドで攻撃できるというわけです。
var enemy1 = this.findNearestEnemy(); this.attack(enemy1); this.attack(enemy1); var enemy2 = this.findNearestEnemy(); this.attack(enemy2); this.attack(enemy2); var enemy3 = this.findNearestEnemy(); this.attack(enemy3); this.attack(enemy3);
少しずつ、プログラミングらしくなってきました…。
ちなみに、変数を使わなくても良いことに気づいた人は、将来エンジニアに向いているかもしれません
loop { this.attack(this.findNearestEnemy()); this.attack(this.findNearestEnemy()); }
わずか4行でも、同じことが可能ですね。
雑魚なキス人
このステージも、敵キャラの名前を変数に入れて攻撃すれば良いでしょう。
var enemy1 = this.findNearestEnemy(); this.attack(enemy1); this.attack(enemy1); var enemy2 = this.findNearestEnemy(); this.attack(enemy2); this.attack(enemy2); this.moveRight(); this.moveDown(); this.moveRight();
今回も、変数を使わずにloopコマンドで出来そうですが、ジェムを取得しないといけないので、このままのコードにしておいた方が無難でしょう。
接近
このステージでは、弓を持った新しい敵キャラが現れます。
弓兵は、遠方から攻撃してきますが、1回の攻撃で倒せるので強引に近づけばあっさり倒せます。
this.moveRight(); var enemy1 = this.findNearestEnemy(); this.attack(enemy1); this.attack(enemy1); this.moveRight(2); var enemy2 = this.findNearestEnemy(); this.attack(enemy2); this.moveRight();
A Mayhem of Munchkins
大量の敵キャラが次々と向かってくるので、すべての敵を倒す必要があります。
しかし、コードは超簡単に組み立てられます。
loop { this.attack(this.findNearestEnemy()); }
このように、loopコマンドで繰り返し攻撃をするだけという内容…。
最後のキスメーズ
キースガード編も、いよいよ終盤です。
今まで覚えた内容を元に、ステージを攻略しましょう!
loop { this.moveRight(); this.moveUp(); this.attack(this.findNearestEnemy()); this.attack(this.findNearestEnemy()); this.moveRight(); this.moveDown(2); this.moveUp(); }
ステージの構造把握と、loop、敵キャラ攻撃…と、いろいろな複合技になってますね。
キスガードの門
ついに、キースガード編の最終面です!
最後に、防御壁を作れる新コマンド「buildXY()」が使えるようになっています。これは、座標を指定すればそこへ防御壁を自動的に作れるようになります。
this.moveDown(); this.buildXY("fence", 36, 34); this.buildXY("fence", 36, 31); this.buildXY("fence", 36, 27); this.moveRight(3);
座標は、マウスを任意の場所へ持って行くと表示されます。あとは、右方向へ移動して次の新しいステージへ向かいましょう!
「CodeCombat攻略まとめ」はこちら!
コメント