codecombat-top

プログラミングの学習を、Webゲーム感覚で気軽に始められるサービス「CodeCombat」の攻略記事です。(無課金でも楽しめるステージのみを紹介しています…)

今回は、Part1ということで、キースガード編の「始まりの回廊」から「上げられた剣」までを1つずつ攻略していきます!

codecombat-dungeons-of-kithgard

始まりの回廊

まずは操作方法を覚えよう…みたいなノリなので、特に詰まることはないはず。

このステージでは、「右」「下」「右」へ進んでジェムを取得すればクリアです。

this.moveRight();
this.moveDown();
this.moveRight();

これでOK!

ちなみに、CodeCombatのエディタは「コード補完」が効くので、例えばRightの頭文字である「r」と入力してエンターキーを叩けば「this.moveRight()」が入力できるので便利です。

(下方向なら「d」、上方向なら「u」だけでOK)


宝石の部屋

「始まりの回廊」の応用編という感じです。

this.moveRight();
this.moveDown();
this.moveUp(2);
this.moveDown();
this.moveRight();
this.moveUp();

こんな感じのコードになるでしょう。

ポイントは、同じ方向へ2回以上移動する場合は、「this.moveUp(2)」のように移動回数を()の中に入れてあげればいいところ。


影の番兵

ここから、ようやく「敵キャラ」が現れるのですが、まだ攻撃命令を覚えていないので見つからないように移動するしかありません。

そこで、まっすぐ進んでしまうと敵に見つかるため、回り道しながら移動することになります。

this.moveRight();
this.moveUp();
this.moveRight();
this.moveDown();
this.moveRight();

これでOK!


忘れがちの宝石屋さん

このステージは、「宝石の部屋」でも利用した移動回数の指定を行えば少ない行数で完了できます。

this.moveRight();
this.moveUp();
this.moveRight(2);
this.moveDown(2);
this.moveUp();
this.moveRight();

同じ命令を複数行にわたって書かなければ、自然とこうなるかと思います。


本命

ここから、ようやく「剣」を装備して、敵キャラを攻撃できるようになります。

普通のアクションゲームなら、攻撃ボタンを押すだけで敵を倒せますが、CodeCombatでは「敵の名前」を指定する必要があるようです。

this.moveRight();
this.attack("Brak");
this.attack("Brak");
this.moveRight();
this.attack("Treq");
this.attack("Treq");
this.moveRight(2);

今回から利用できるようになった新コマンド「attack()」に、敵キャラの名前を入れると攻撃してくれます。

ポイントは、2回ずつ攻撃しないと倒せないという点。意外とハマりやすいので、覚えておきましょう…。


上げられた剣

敵が3体現れるので、前回同様に攻撃すればいいのですが「自キャラ」をパワーアップしていない場合は、体力が無くなって死んでしまうと思います。

そこで、ショップを覗いてみると、すでに「ジェム」がある程度溜まっているはずなので、安価な防具をアンロックして装備しておきます。

codecombat-shop

装備したら、あとは敵キャラを2回ずつ攻撃すればクリアできるはず!

this.attack("Rig");
this.attack("Rig");
this.attack("Gurt");
this.attack("Gurt");
this.attack("Ack");
this.attack("Ack");

Kithgard Librarian

図書館のような場所からスタートし、ドアを開けるのに「合言葉」を言う必要があります。

この合言葉は、ヘルプに記載されているのでそれほど難しくはないでしょう。

this.moveRight();
this.say("Hush");
this.moveRight();

今回から新しく使えるようになったコマンド「say()」に、合言葉を入れるとOKです。


Fire Dancing

このステージから「loop(繰り返し)」コマンドが使えるようになり、いよいよプログラミングらしくなってきました。

上から炎が落ちてくるので、左右に移動しながら避ける必要があります。普通にコードを書くと数十行必要ですが、loopコマンドを書けばわずか4行で済みます。

loop {
    this.moveRight();
    this.moveLeft();
}

すでに、エディタ内に入力されているWhile文は削除して、loopコマンドのみ入力すればOKです。


幽霊の出るキス迷路

このステージの構造をよーく見ると、「右・右」「上・上」という道の繰り返しということに気づくはず。

そこで、loopコマンドを活用すれば、わずか4行のコードで済みます。

loop {
    this.moveRight(2);
    this.moveUp(2);
}

こういうコードの効率化は、実践でもよく使うので勉強になります…


キズメーズ第二

こちらのステージも、先ほど同様に繰り返しの構造パターンを見つけましょう!

loop {
    this.moveRight();
    this.moveUp();
    this.moveRight();
    this.moveDown();
}

「キースガード編Part2」に続く…

「CodeCombat攻略まとめ」はこちら!