2012-02-26 4 views
0

私はメモリゲームの集中化を図っています。 これには、ランダムな数字のペアを生成するという特定の義務があります。 これらは、ゲームボード上での作成時にセルに割り当てられます。 私の問題は、私がこれを行うことができる午前として乱数を生成する方法ではないある - 私は確認する必要がありますしかし、私は、Cellと私のゲームボードを投入していたときにはオブジェクトことJAVA 1から24の間で整数を生成するにはどうすればよいですか?各整数の組が必要です

type = generator.nextInt(NUMBER_OF_ROWS*NUMBER_OF_COLUMNS); 

board[row][column] = new Cell(this,type, row, column); 

私は、ゲームが機能するために、同じタイプの2つのセルを持っています。 基本的には ランダムに生成された12組の番号が必要です。

おかげ

VARUN

+0

問題は表示されません。あなたはランダムな数を持っています。ちょうど2つのランダムなセルに入れます。または私は何かを逃していますか? – gsingh2011

+0

2D配列ボード(またはゲームボードと見なしたいもの)の異なる2つのランダムな場所に同じタイプのCellを配置する必要があります。 – Mjall2

+0

同じタイプのセルが2つ正確に必要な場合、または同じタイプのセルが多数ある場合がありますか? – dejavu

答えて

2

問題を逆転させます。 24個の乱数を生成するのではなく、1から12までの数字をランダムに24個のセルに分散し、各数字を無作為に選択した2個のセルに入れていくことです。これを行う最も簡単な方法は、List<Cell>を作成し、24個のセル(値1を含む2つ、値2を含む2つなど)を入力してから使用します。Collections.shuffle(List<?>...)

+0

ああ、...私の人生を助けました。 – Mjall2

0

質問が明確ではありません。しかし、私はあなたが同じタイプの2つの細胞を持っていると思っています。つまり、24個の細胞があり、それらを12組作りたいと思っています。セルをランダムにするには、2つのランダムな行番号と2つのランダムな列番号を生成し、それらをペアにすることができます。あなたはペアが繰り返されていないことを見なければなりません。

EDIT:関数は数字のペアを生成できません。行数を3、列数を2とし、0,1,2,3,4,5などのように、2次元配列のセルに番号を付けることができます。今度は乱数の生成を開始し、上限を5に設定します。生成された2は2であり、2つ目は5です。それをペアと呼ぶことができます。その後、再び数値を生成します。次のペアは1と0のようになります。

+0

基本的には ランダムに生成された12組の番号が必要です。 – Mjall2

0

2次元配列に慣れていないか、質問に対する私の理解が間違っているようです。私は、このゲームではプレーヤーが一対の細胞を覚えていなければならないと思う。完全に12組あるので、ペアの2つのセル番号を区別する別のインデックスとペア番号を示す0から11までの1つのインデックスを持つ2D配列を持つ。

pairtype [12] [2]と呼ばれる整数配列をペアにする必要があります。セルNo 1が15とペアになっていて、配列ペアタイプに1つの値{1,15}があるとします。したがって、配列対タイプに2つの整数の12個のペアを格納することができます。

あなたがやっている間違いは、タイプを使用して0〜23の範囲でセルタイプに割り当てることです。代わりに、ペアタイプ[index1] [index2]の最初のインデックス(index1)をセルタイプとして使用します。このタイプは0から11まで変化します。

また、{1,15}と{ 1,12}を配列対タイプで使用します。

+0

ごめんなさいわかりません – Mjall2

+0

ジムの方が良いです! srry私はJavaの多くを知りませんし、リストは何ですか?そして、配列インデックスの範囲は0-11か1-12かです。 –