> 伏せてある、100枚の数字カードを、一枚ずつ、開いて(表示して)ゆき、どういう順番で、表示されるか。というような、シミュレーションと、言えばいいのかもしれません。
> 実は、今日、突然思い立って、Active Basicをダウンロードし、PC8001の画面を、思い出しつつの、プログラミングなので、まだ、よく理解で来てませんが、hiraさんのコードが、私の考えに沿う形に、なっているように思えます。
Toshiさんのほうがより分かりやすいと思いますが?
お店でトランプを買ってきた時は最初は全部並んでますよね。
例えばふたを開けると一番上はスペードのエースでつぎが2,3,4・・・と続きます。
コード: 全て選択
Dim Array[ELM(100)] As Long
For i=1 To 100
Array[i-1]=i
Next
そのまま遊ぶことは出来ないからよくカードをシャッフルする必要があるんです。
コード: 全て選択
Dim n1 As Long
Dim n2 As Long
Dim t As Long
Randomize
For i=1 To CHANGE
n1=Int(Rnd()*100)
n2=Int(Rnd()*100)
t=Array[n1]
Array[n1]=Array[n2]
Array[n2]=t
Next
> 伏せてある、100枚の数字カードを、一枚ずつ、開いて(表示して)ゆき、どういう順番で、表示されるか。というような、シミュレーションと、言えばいいのかもしれません。
> 実は、今日、突然思い立って、Active Basicをダウンロードし、PC8001の画面を、思い出しつつの、プログラミングなので、まだ、よく理解で来てませんが、hiraさんのコードが、私の考えに沿う形に、なっているように思えます。
Toshiさんのほうがより分かりやすいと思いますが?
お店でトランプを買ってきた時は最初は全部並んでますよね。
例えばふたを開けると一番上はスペードのエースでつぎが2,3,4・・・と続きます。
[code]
Dim Array[ELM(100)] As Long
For i=1 To 100
Array[i-1]=i
Next
[/code]
そのまま遊ぶことは出来ないからよくカードをシャッフルする必要があるんです。
[code]
Dim n1 As Long
Dim n2 As Long
Dim t As Long
Randomize
For i=1 To CHANGE
n1=Int(Rnd()*100)
n2=Int(Rnd()*100)
t=Array[n1]
Array[n1]=Array[n2]
Array[n2]=t
Next
[/code]