[過去ログ]
■ LiveMaker スレッド6 ■ (1002レス)
■ LiveMaker スレッド6 ■ http://mevius.5ch.net/test/read.cgi/gamedev/1326191797/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
317: 名前は開発中のものです。 [sage] 2012/10/15(月) 19:35:56.76 ID:nF54SIzW 数字を重複せずランダムに配列変数に収納するにはどうやればいいのかな? n[]==7,6,1,5,3,0,2,8,4,9 みたいな感じにしたいんだけど SortStr使ってもちょっとしか入れ替わらないし Random使って一個ずつ入れると重複する… http://mevius.5ch.net/test/read.cgi/gamedev/1326191797/317
319: 名前は開発中のものです。 [sage] 2012/10/15(月) 22:12:18.92 ID:9kkaInC7 >>317 あくまでも参考までに。 ループ 初期化:i = 0 条件:i < 10 ループ時:(なし) p = Random(10) IF n[p] == -1 n[p] = i i = i+1 配列n[]は-1で初期化してる前提です。 効率悪いけど、10個程度ならネックにならないかと。 LiveMakerの文法間違ってたらすみません。 http://mevius.5ch.net/test/read.cgi/gamedev/1326191797/319
322: 名前は開発中のものです。 [sage] 2012/10/16(火) 08:31:52.75 ID:uVECYogp >>317 配列の中身が0〜9で固定なら、互いの変数内容を交換(スワップ)する。 livemakerにはswap関数がないからループと仮受変数で対処。 ○初期設定 n[]……配列 a……仮受整数変数 i……ループカウンタ r……乱数受け取り整数変数 初期にn[0]〜n[9]にそれぞれ0〜9の数値を入れておく ○数値交換の計算ノード ループ 初期化:i = 0 条件:i < 10 r = Random(10) ……ランダムで配列の番号を決める a = n[i] ……仮受aにn[i]の内容を保存 n[i] = n[r] ……n[i]にn[r]の内容を代入 n[r] = a ……n[r]にaの内容を代入して交換終了 http://mevius.5ch.net/test/read.cgi/gamedev/1326191797/322
326: 317 [sage] 2012/10/16(火) 20:14:27.50 ID:I6lHdCVg >>318も参考にさせてもらって こんな感じで取得した数字をフラグで管理したらできました ループ 初期化:i=0 条件:i<10 ループ時:(なし) p=Random(10) IF s[p]==TRUE ループ先頭へ n[i]=p s[p]=TRUE i=i+1(ループ時に設定するとIFで戻ったときにうまくいかなかったので) フラグ管理する変数のサイズをランダム数値の上限に増やしたら n[]==3,6,22,20,14,9,23,19,27,13 という感じにもできました 実行制御使うとこんなに楽になるんですね なんか世界が変わった http://mevius.5ch.net/test/read.cgi/gamedev/1326191797/326
328: 317 [sage] 2012/10/17(水) 23:00:52.42 ID:GLeOnAVx >>327 実際の処理には特に違いはなかったですけど IndexOfStrの使い方を知ったおかげで変数リストと式が少しすっきりしました ありがとうございます http://mevius.5ch.net/test/read.cgi/gamedev/1326191797/328
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.031s