数当ての正解をランダムで発生させるのにどうするか考察中1
投稿者: hightoller 投稿日:2011/04/26 19:34
頭の中だけだとちょっと整理が付かないんで
メモ書きしながら考える。
(1~a)の数字を使い(b)桁作る。それぞれの桁は重複しない。
配列とwhileとrandを使って生成する。
これでkeynum[0][0]に1、keynum[b-1][a-1]にaが入るのかな。
ツイート
メモ書きしながら考える。
(1~a)の数字を使い(b)桁作る。それぞれの桁は重複しない。
配列とwhileとrandを使って生成する。
dig = 0 while dig < b keynum[dig] = createArray() i = 0 while i < a keynum[dig][i] = i + 1 i = i + 1 end dig = dig + 1 end
これでkeynum[0][0]に1、keynum[b-1][a-1]にaが入るのかな。
コメントする
コメントするには、ログインする必要があります。
コメント一覧
hightoller(投稿日:2011/04/27 20:34,
履歴)
重複させない為には、選択後にその数を抜いて、改めて選択させる必要がある。
スクリプトにまとめる前に処理を書き連ねてみる。
1~5の数を使って3桁の数字を作る。数字は重複しない。
配列に1.2.3.4.5を入力
5つの中から任意の数(仮に3)を発生させ、パスに記憶(3)
配列の3番目以降に1を足す(配列1.2.4.5.6)
配列末尾を削る(1.2.4.5)
4つの中から任意の数(仮に3)を発生させ、パスに記憶(4)
配列の3番目以降に1を足す(配列1.2.5.6)
配列末尾を削る(1.2.5)
3つの中から任意の数(仮に3)を発生させ、パスに記憶(5)
以降は必要ないので処理から抜ける
スクリプトにまとめる前に処理を書き連ねてみる。
1~5の数を使って3桁の数字を作る。数字は重複しない。
配列に1.2.3.4.5を入力
5つの中から任意の数(仮に3)を発生させ、パスに記憶(3)
配列の3番目以降に1を足す(配列1.2.4.5.6)
配列末尾を削る(1.2.4.5)
4つの中から任意の数(仮に3)を発生させ、パスに記憶(4)
配列の3番目以降に1を足す(配列1.2.5.6)
配列末尾を削る(1.2.5)
3つの中から任意の数(仮に3)を発生させ、パスに記憶(5)
以降は必要ないので処理から抜ける
hightoller(投稿日:2011/04/27 17:14,
履歴)
passnum = createArrey() dig = 0 while dig < b passnum[dig] = rand(a)+1 dig = dig + 1 end
これで「重複する」パスナンバーができるのかな。
hightoller(投稿日:2011/04/26 22:35,
履歴)
createArray()の支持が早すぎるな。書き直さないと。
これでkeynum[0]が1、[a-1]がaになるんだろうな。次は配列操作か。
keynum = createArray() i = 0 while i < a keynum[i] = i + 1 i = i + 1 end
これでkeynum[0]が1、[a-1]がaになるんだろうな。次は配列操作か。
hightoller(投稿日:2011/04/26 21:12,
履歴)
よく考えたら、必要なのは1からaまでの一つずつだな。
二次元じゃなくていいや。
二次元じゃなくていいや。
自分がPCにさせたいことを、一字一句間違えずに翻訳して命令する感じですな。
まだ辞書引きながら(リファレンス、マニュアル見ながら)ですけど、
いずれは自在に操ってみたいですね。