マインド吹いて楽しい事実:コンピュータでtruly乱数のようなものは存在しない、この概念の.NETフレームワークの実装では、あなたの問題に関係しています。
.NETを使用してプログラムを起動すると、(特定のスコープ内で)作成する各乱数ジェネレータは、同じ番号のシーケンスを生成します。結果のシーケンスは、プログラムが起動したときに、インスタンスによって何らかの形で選択されたシードによってすでに決定されています。この種から始まる任意のランダム化は、同じシーケンス番号を生成する。それは運命だ。
解決策は、「発電機」(または「運命プロセッサー」)を1つだけ使用して、新しい番号が必要な場合は.Next
メソッドを呼び出してください。あなたのプロジェクトはクールだと思うが、できるだけ明確になるように投稿を編集した。幸運:
Dim RandomGen1 As New Random
Dim RandomInt1 As Integer
RandomInt1 = RandomGen1.Next(2, 7)
'notice I did not make a RandomGen2, it will just give me the same numbers as RandomGen1
Dim RandomInt2 As Integer
RandomInt2 = RandomGen1.Next(2, 7)
あなたの問題とは無関係ですが、多くの関連する変数で同じことをしているときは、配列やその他のデータ構造の使用について考えるべきです。 – jsheeran