案件獲得できなかったら全額返金!未経験からプロのエンジニアスキルを身につけ、フリーエンジニアとして稼げるまで徹底サポート。オンラインでも教室でも学習可

これなら誰でも簡単にプログラミングが始められる!HackforPlayの紹介【一度にたくさんのアイテムを置く】

Pocket

一度にたくさんのばくだんを置いた様子

今回は一度にたくさんのアイテムを置く方法を紹介します。まずは、具体的にどんなものが作れるようになるのか見ていきましょう

①プレイヤーの行く手をはばむモンスターの群れ

②入口が1マスだけの壁を建てる

③ばくだんでできた迷路

それでは、それぞれの作り方を順番に紹介します

1.プレイヤーの行く手をはばむモンスターの群れ

モンスターの群れを作るには、こんなコードを使います

これはfor文と言います。1行目のfor (let y = 0; y <= 14; y++) { に注目してください

今回のこのコードは、「y=0から始まって1づつ増えてゆき、y=9になるまで、{ }の中の処理を繰り返す」という意味です

{ }の中の処理とは、2〜12行目のスライムを作っているコードのことです。つまりスライムが何度も作られることになります

こんな感じに↓

縦に並んだスライムの群れ

さて、なぜ縦一列に並ぶのでしょうか、理由はスライムの場所を表したコードにあります

これはスライムの場所を、左から8番目、上からy番目の位置に置くという意味です

先ほど言ったように、yは0から始まって、9まで1づつ増え続けるので、今回のコードは

「スライムを(8, 0)の場所に出す」

「スライムを(8, 1)の場所に出す」

「スライムを(8, 2)の場所に出す」

「スライムを(8, 3)の場所に出す」

「スライムを(8, 4)の場所に出す」

「スライムを(8, 9)の場所に出す」

という処理を行っていたのです。本来ならスライムをゲームに15回追加して、15匹それぞれの場所のコードを書き換える必要があるのですが、for文を使うことで1度に15匹並べることができました

2.入口が1マスだけの壁を建てる

次は、for-of文を使って、1度にたくさんの壁を置くコードを紹介します

前々回の記事で出てきた「配列」を使っています。[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]というのが配列です

このコードは「xには配列の値が1つづつ入り、最後の値が入るまで{ }の処理を繰り返す」という意味になります

横一列に並んだ壁

横に並んだ、ながーーい壁ができました。次はこの壁の1つを消して、入口を作ります

壁の場所を表すコードitem1.locate(x, 3, 'map1');に注目。これは壁を「左からx番目、上から3番目の位置に置く」という意味のコードです

xには配列の値が1つづつ入ります。そのため、配列[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]の値の中から1つを消すと……

壁に入口ができました

配列から7,を消したので、その部分に入口ができました!

3.ばくだんでできた迷路

ここまで使ったfor文と配列を応用することで、迷路のようにアイテムを置くことができます

このように書くことで……

ばくだんでできた迷路

とても面白いゲームですね

このコードが配列です。マップのマス目の数だけ配列の値があります

1になっている所に爆弾が置かれるので、書き換えて迷路を作ってみましょう

爆弾のダメージを変えたいときはバクエン.mod(Hack.createDamageMod(5));このコードの数字を書き換えます

また、爆発までの時間は}, 500); // 爆発までのフレーム数(30Fで1秒)という行を見てください。この500という数字が爆発まで時間を表しています

投稿者:プロナビ編集部

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

プログラミングで挫折しそうなら、現役エンジニアにマンツーマンで相談してみませんか?オンラインのプログラミングスクール「TechAcademy」のメンターが対応。

この記事が気に入ったら
いいね!しよう

プロナビの最新情報をお届けします

あわせて読みたい

関連記事

ページ上部へ戻る