”本気で”エンジニアを目指すなら『TECH BOOST』キャリアから逆算された講座内容で、あなたの未来をサポートします!

これなら誰でも簡単にプログラミングが始められる!HackforPlayの紹介【ランダムの使い方】

Pocket

Image from Gyazo

今回はランダムの使い方を紹介します。ランダムは、ゲームづくりの様々な場面に用いられています。まずは、ランダムを使ってできることから見ていきましょう

①ハートの回復量をランダムにすることができます

②敵の出現位置をランダムにすることもできます

③敵に与えるダメージをランダムにすることもできます

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

その他のランダムの使い方は、最後の方にのせておきます

1. ハートの回復量をランダムにする

まずはハートを出します

次のようにコードを書きかえます

random のカッコの中にある2つの数字は、ランダムが一番小さかったときの数字と、ランダムが一番大きかったときの数字です。ただし一番上の数字は含まれないので、この例では、1〜9までがハートの回復量になります。この数字をかえれば、ランダムの範囲を変えることができます

プレイを押して、ゲームをプレイしてみましょう!

2. 敵の出現位置をランダムにする

まずは、なんでもいいので、モンスターを出してみましょう

今回はスライムを出してみます

locate のカッコの中にある2つの数字は、左から数えたマス目ひく1の数字と、上から数えたマス目ひく1の数字でした(数学で習う座標とおなじ)。これを、次のように書きかえます

左から0〜14マス目、上から0〜9マス目の範囲にしました。これで、出現位置は「マップ全体のどこか」になります。今回は両方をランダムにしましたが、片方は数字のままにしておいて、片方だけをランダムにすることもできます

また、数字を調節すれば、マップ内のある範囲だけでランダムにすることも可能です

プレイを押して、出現位置を確かめてみましょう!

3. ダメージをランダムにする

最後に、ダメージをランダムにするには、どうすればいいでしょうか?

プレイヤーの攻撃力をランダムにするだけなら、次のように書けばよいですね

しかし、この方法では、ゲームが始まった時に一度だけランダムになるだけで、その後はずっと同じダメージ量になってしまいます。これでは、能力値がランダムになったとは言えますが、ダメージがランダムになっているとは言えませんね

ダメージをランダムにするには、プレイヤーが攻撃するたびに、攻撃力をランダムに変化させます。次のコードを、コードの中のプレイヤーについて書かれている行よりも下のどこかに書き加えましょう

ちょっと長いコードですが、大丈夫です。 player.on まで書くと、「onなになにするとき」という候補がいくつか出てくるので、 onこうげきするとき を選ぶだけで OK なのです。あとは、{ と } の間に、プレイヤーの攻撃力をランダムにするコードを書きましょう

では、プレイを押して、モンスターと戦ってみましょう!

イベント

「onなになにするとき」のことを、イベントと呼びます。イベントは、多くのプログラミング言語で使われる有名なシステムです。イベントの大きな利点は、実行したい処理を「実行したいこと」と「実行したいとき」に分けることで、複雑な処理をシンプルにできることです

今回の例でいうと、次のように考えました

  • 実行したいこと→プレイヤーの攻撃力をランダムにすること
  • 実行したいとき→プレイヤーが攻撃するとき

今回書いたコードを応用して、「実行したいこと」を「プレイヤーの体力を増やすこと」に変えれば、回復魔法のような仕組みが作れますし、「実行したいとき」を「プレイヤーの体力が変わったとき」に変えれば、ダメージを受けるほど強くなる特殊能力のような仕組みも作れます

その他のランダムの使い方

HackforPlay の random (ランダム)関数には、全部で4通りの使い方があります。ここまでのランダムは、その内の1つである、最小〜最大までの範囲を使うランダムを用いてきました。他の使い方もみていきましょう

2つ目の使い方は、最大だけを書くランダムです。1つ目使い方の省略形と言えます。この場合、最小値は0ということになります

3つ目の使い方は、小数を含む範囲を使うランダムです。「少数を含む」とは、1.5 や 0.9 などの細かいところまで含めてランダムにするということです。使い方は、どちらか一方に小数を含む数字を書くだけです

4つ目の使い方は、配列を使って、「どれかひとつを選ぶ」というランダムです。これは例を見た方が早いでしょう

[1, 3, 9] というのが配列です。こう書いて、「1と3と9が入っている配列」と言います。ランダムの結果は、1か3か9のいずれかに、等しい確率で決まります。これを上手く利用すれば、等確率でないランダムや、たまにものすごくラッキーなことが起こるランダムも作ることができます

ランダムを使うと、ゲームの幅がとても広がります。ぜひ、上手く活用してみて下さい

投稿者:プロナビ編集部

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

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

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

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

あわせて読みたい

関連記事

ページ上部へ戻る