プチコン3号&BIGまとめWiki

プチコン3号&BIG 非公式初心者講座 : 第9章 RND()命令

パンくずリスト

プログラマーからひとこと

あなたがここを読んでいるということは、おそらくもうIF〜THEN文を使いこなせるようになったころだと思います。

いや、ビット演算子とかは、まあ、いいんです。「IF 条件文 THEN 命令」の形をおぼえていればそれでOKです。
おめでとう、それをおぼえたあなたはかなりイケてます。

このIF〜THEN文と、ある命令さえあれば、もうゲームがひとつできてしまうのです。
けっきょくもうひとつ命令をおぼえるのかよ! と思うかもしれないですが、ここまで読んできたあなたにとっては、もうよゆうすぎるくらいの簡単さです。
重要な命令なのに簡単なんて、わりと世の中ちょろいもんです。
その命令は、RND()命令といいます。

でたらめな数

ワンパクくん

アール・エヌ・ディー命令……。リパブリック・ナウ・デッド (Republic Now Dead) のこと……か。

神崎

いやいやいや。

インテリくん

ワンパク君は英語がニガテでも、そういうボキャブラリーは持ってるんだね。でもRNDは「でたらめ」って意味の「ランダム」の略だよ。

ワンパクくん

なんだと? デタラメをオレに教えようってのか! なかなかパンクだぜ、いいドキョウじゃねえか!

神崎

なにもかもオカシイような……。やる気になってるからいいか。

インテリくん

じゃあカンタンな例から説明するよ。

  1. A=RND(10)

RND()命令は、こういうカタチで使うんだ。

神崎

左のは変数だね。

インテリくん

こうやって()でかこんだ数字と命令の組み合わせで、変数にトクベツなアクションをさせる命令は
「関数」というんだけど……ややこしいから、今は気にしなくてもいいかな。

ワンパクくん

シンセツなんだかフシンセツなんだかわかんねェな! まあいいや、ツマリA=RND(10)と書いたら変数10RND()した数が入るんだろ? よくワカんねェけど。

インテリくん

ダイナミックなリカイだけど、かなり合ってるよ。じゃあRND関数でなにが起きるのか、このプログラムで見てみよう!

  1. A=RND(10)
  2. PRINT A
  1. RUN
  2. OK
神崎

変数が入った……ということだよね。

インテリくん

ところが、もう1回RUNすると、どうなるかな?

  1. RUN
  2. OK
ワンパクくん

ン? 同じプログラムなのになんでに入る数字が変わってんだ?

  1. RUN
  2. OK
  3. RUN
  4. OK
  5. RUN
  6. OK
ワンパクくん

オイオイ、RUNするタビに違うコトになってるじゃねーか! デタラメもいいとこだぜ……。デタラメ……? ハッ!?

インテリくん

もう分かってきたかな。RND()は、「でたらめな数字を出す」という関数なんだ。
いまのプログラムは()の中に10が入ってるから、までの10コのうちから数字をひとつ出すんだね。

神崎

ゼロから始まるから、RND(10)と書いても一番大きい数字はまでなんだね。

ワンパクくん

またコンピューターの「ゼロから数えはじめる」クセかよ……いつもながら、ピンとこねェぜ……。
まてよ……じゃあ、ゼロはいらねー、1から10で数えたいってトキはどうすりゃいいんだ?

神崎

えぇと、A=RND(11)にすれば……あれ、ダメだ。これでもゼロは出てきちゃうか。

インテリくん

ちょっと頭のタイソウになるから、これを読んでる人もどうすればいいのか考えてみてね!

ワンパクくん

テメエ、その学習っぽさはハナにつくぜ! いいからサッサと教えやがれー!

インテリくん

では、答を見てみようかな。こういうコトさ!

  1. A=RND(10)+1
ワンパクくん

……ン?

神崎

ああ! そうか! のどの数字が出ても、それにを足したら1〜10になるね!

インテリくん

モニタの前のみんなは気が付いていたかな?
同じように、10から100までの数字を出したいときは、RND(91)+10と書けばいいね。

ワンパクくん

ウーム……カンタンに言ってくれるが、コンピューター式の数え方はアタマがイテえぜ。
だいたい、この命令がなんのヤクに立つってんだ? ケッキョク、数字をデタラメに言ってるだけだろ?

インテリくん

いちばんよく見るランダムの使い方といえば、RPGのダメージかな。もちろんデタラメな数字だけがすべてじゃないけど、同じステータスのモンスターから同じ攻撃を受けても、ダメージの数はちょっとずつ違うだろう?

神崎

よく「乱数」って言われるやつだね。

ワンパクくん

なるほど「ラン」ダムだから、「ラン」スウってことか。

神崎

そ、それはちがうんじゃないかな……。

インテリくん

ほかにもアクションゲームの敵の動きにも使われたりするよ。たとえばコッソリRND(2)の乱数を出してみて、なら左に、なら右に向かう、とかね。

ワンパクくん

言われてみれば、落ちゲーで次に落ちてくるブロックも乱数だしな……。オイオイ、コイツはかなり使える命令じゃねェのか!?

ハカセ

さよう。ほとんどのゲームにはどこかで乱数が使われていると言っていいじゃろうな。せっかくじゃから、次回はジッサイに乱数を使ったゲームのサンプルプログラムも見せてしんぜよう。

今回のまとめ

RND()関数
(変数)=RND(最大数)
ゼロから最大数マイナス1までのでたらめな数字を変数に入れます。
A=RND(10)で変数に0〜9までの数字のうちどれかが入ります。
A=RND(10)+1とすれば、1〜10になります。

メニュー 【3号】

ヘルプ

リンク

最近の更新

最近の人気ページ

オンライン情報

  • 現在同時に 4 人がこのサイトを見ています
  • このページはこれまでに 2132 回、本日は 1 回、昨日は 0 回閲覧されました

ページの先頭に戻る

表示モード : [ スマホ・3DS対応表示 | クラシック表示 ]
PukiWiki 1.4.7 Copyright © 2001-2006 PukiWiki Developers Team. License is GPL. Based on "PukiWiki" 1.3 by yu-ji
ページの処理時間 : 0.032 秒 | このページの最終更新 : 2016/07/12 (火) 16:32:37 (1326d) | ログイン
Copyright(C) 2011-2014 プチコンまとめWiki ◆1sxkymI8ji30