空想曲線

吉里吉里2/KAG3でのゲーム制作に使える小ネタ置き場。ゲーム用素材も置いてます。

吉里吉里/KAG:0か1の整数をランダムで発生させる  

2015-01-24
2017-06-14
cm0
tb0

吉里吉里/KAG 小ネタシリーズ。
前にツイッターでつぶやいたものをもう少し詳しく書く。

■今回やりたいこと
 配列変数 Arr の先頭から順に0か1の整数をランダムで放り込む。
 なお、Arr は Arr[0][0]~Arr[4][4]の二次元配列である。

[ iscript ]

// 配列変数 Arr の宣言
var Arr = new Array();

// 配列ぶん回し
for(var i=0; i < 5; i++)
 {
  for(var j=0; j < 5; j++)
   {
    Arr[i][j] = int(Math.random()*2);

    // Arrの添字[i][j]に0か1の整数をランダムで入れる
   }
 }

[ endscript ]

int(Math.random()*2) も Math.floor(Math.random()*2) も
出てくる値は0か1なんだけど変数のデータ型が違ったりする。

実はこの処理の後、配列に入った値に応じて処理を分けようとしたら
エラーが発生してしまった。なんでよ。いみわかんないよヽ(`Д´#)ノ
んで、とりあえずデバッグメニューのコントローラを開いてみると
配列変数に格納されている値がすべて実数型になっていたけど
floor は値を切り捨てるメソッドなので当然といえば当然。

( ゚д゚).oO(まさか、これが原因とかないよなぁ)


これが原因だった (ノ∀`)


整数型に直したらあっさり動いたよ。
ちなみに round メソッドも試したけど結果は floor と同じ。
用途が限定的すぎて「いつ使えばいいんだよ」という小ネタだけど
ランダム処理そのものは覚えておいて損はないので頭の片隅にでも。

なお、KAGで書きたい場合は intrandom 関数を使います。
int(整数型)+ random(乱数)という意味なので出てくる値は整数型。
実数型で出したいときは random 関数を使えばおっけいですよ。

では、今回はこれにて (´∀`*)ノシ


関連記事

コメント

コメントの投稿

Secret

トラックバック

トラックバックURL
→http://kopacurve.blog33.fc2.com/tb.php/378-e8bbf95d
この記事にトラックバックする(FC2ブログユーザー)

Author

Recent

Category

Link

Comment

Mailform

Twitter