乱数とは何か?サンプルコード有り。プログラミングでよくある活用方法も紹介
プログラミングをやっていると、「乱数」という用語を目にすると思います。
今回はこの乱数について解説します!
サンプルコードや活用方法も紹介するので、今後のプログラミングの幅が広がりますよ。
目次
乱数とは
ランダムな数値のことです。
ランダムとは、規則性がない、無作為な、手当たり次第、何が出るかわからないことを言います。
たくさんのプログラミング言語がありますが、そのほぼすべてで乱数を作り出す関数が標準で用意されています。
参考までに、WEB系言語で人気の高いPHP・Ruby・Python・JavaScriptの乱数の作り方です。
このコードは、1〜10までの値をランダムで表示するサンプルコードです。
実際に動作を確認してみたい方は、paiza.IOなどで実行してみてください。
PHP
echo mt_rand(1,10);
Ruby
puts rand(1..10)
Python
import random print(random.randint(1,10))
JavaScript
console.log(Math.floor((Math.random() * 10) + 1));
※JavaScriptでは、整数を返すためにrandomで得られた結果から、floorで小数点を切り捨てる必要あり。
ちなみに、コンピュータで表現できる乱数は『擬似乱数』と呼ばれ、完全なランダムではありません。
乱数を活用した実例
乱数を活用した実例を紹介します!
まずは私が作ったツールです。
GoogleフォームとGoogleスプレッドシートを使って、Twitter抽選ツールを作りました。
このツールでは、応募者の中からランダムで当選者をえらんでいます。
乱数を使ったシステムを作ってみたい方は、試してみてください。
他にも思いついたものを記載していきます。
- カードゲームのカードシャッフル
- RPGの敵とのエンカウント
- FPSで打った弾のブレ
- 麻雀の配牌
- スマホゲームのガチャ
- RDD(NHKが行っている世論調査の方法。ランダムで電話番号を発生させる)
などです。
ゲームのプログラミングでは特にランダムをよく使うと思います。
実際にゲームで乱数を使う時は、時間経過やユーザーのコントローラー操作の値と組み合わせたりして、乱数を作りだすようです。
他のシステムで使う機会はあまり多くありません。
私は業務系システムを開発する会社で10年近く働きましたが、仕事では1回も乱数は使いませんでしたね。
乱数の使い方
サンプルコードで1〜10の数値をランダムで発生されるコードを先程紹介しました。
これをプログラムの具体的にどこに使うかですが、、それは、
主に配列の添字に使うことが多いかと思います。
私の作ったTwitter抽選ツールも、配列の添字を乱数で作って、その中身を取り出します。
画像の例でいくと、乱数が「1」を返したら、『そば』を出すということですね。
他にもランダムで「今日の一言」を出したり、自分のブログからランダムで1記事ツイートする、といったこともできますね。
是非、自分の作ってるサービスに一工夫いれるのに使ってみてください。
以上、乱数とは何か、プログラミングでよくある活用方法を紹介しました!
スポンサードリンク