私の質問は、押されたボタンの値が前の値より大きいかどうかを判断するために、buttonHandler() 。ですから、私が探しているのは、ボタンをクリックしている人が、表示されている数字に基づいて昇順にクリックしていることを確認する方法です。これは、機敏さを評価するために昇順でボタンをクリックすることに基づくGUIゲームです。JButtonがそのテキストに基づいて昇順に押されていることを確認する方法
ボタン配列に1~12の数字が入力される方法は、重複する数字がないようにすることで、1から12までのすべての数字を保持します。
public static JButton[] randNum()
{
arrayImage [0] = (int) (Math.random() * 12) + 1;
arrayImage [1] = (int) (Math.random() * 12) + 1;
while (arrayImage [1] == arrayImage [0])
{
arrayImage [1] = (int) (Math.random() * 12) + 1;
}
arrayImage [2] = (int) (Math.random() * 12) + 1;
while (arrayImage [2] == arrayImage [1] || arrayImage [2] == arrayImage [0])
{
arrayImage [2] = (int) (Math.random() * 12) + 1;
}
arrayImage [3] = (int) (Math.random() * 12) + 1;
while (arrayImage [3] == arrayImage [2] || arrayImage [3] == arrayImage [1] || arrayImage [3] == arrayImage [0])
{
arrayImage [3] = (int) (Math.random() * 12) + 1;
}
arrayImage [4] = (int) (Math.random() * 12) + 1;
while (arrayImage [4] == arrayImage [3] || arrayImage [4] == arrayImage [2] || arrayImage [4] == arrayImage [1] || arrayImage [4] == arrayImage [0])
{
arrayImage [4] = (int) (Math.random() * 12) + 1;
}
arrayImage [5] = (int) (Math.random() * 12) + 1;
while (arrayImage [5] == arrayImage [4] || arrayImage [5] == arrayImage [3] || arrayImage [5] == arrayImage [2] || arrayImage [5] == arrayImage [1] || arrayImage [5] == arrayImage [0])
{
arrayImage [5] = (int) (Math.random() * 12) + 1;
}
arrayImage [6] = (int) (Math.random() * 12) + 1;
while (arrayImage [6] == arrayImage [5] || arrayImage [6] == arrayImage [4] || arrayImage [6] == arrayImage [3] || arrayImage [6] == arrayImage [2] || arrayImage [6] == arrayImage [1] || arrayImage [6] == arrayImage [0])
{
arrayImage [6] = (int) (Math.random() * 12) + 1;
}
arrayImage [7] = (int) (Math.random() * 12) + 1;
while (arrayImage [7] == arrayImage [6] || arrayImage [7] == arrayImage [5] || arrayImage [7] == arrayImage [4] || arrayImage [7] == arrayImage [3] || arrayImage [7] == arrayImage [2] || arrayImage [7] == arrayImage [1] || arrayImage [7] == arrayImage [0])
{
arrayImage [7] = (int) (Math.random() * 12) + 1;
}
arrayImage [8] = (int) (Math.random() * 12) + 1;
while (arrayImage [8] == arrayImage [7] || arrayImage [8] == arrayImage [6] || arrayImage [8] == arrayImage [5] || arrayImage [8] == arrayImage [4] || arrayImage [8] == arrayImage [3] || arrayImage [8] == arrayImage [2] || arrayImage [8] == arrayImage [1] || arrayImage [8] == arrayImage [0])
{
arrayImage [8] = (int) (Math.random() * 12) + 1;
}
arrayImage [9] = (int) (Math.random() * 12) + 1;
while (arrayImage [9] == arrayImage [8] || arrayImage [9] == arrayImage [7] || arrayImage [9] == arrayImage [6] || arrayImage [9] == arrayImage [5] || arrayImage [9] == arrayImage [4] || arrayImage [9] == arrayImage [3] || arrayImage [9] == arrayImage [2] || arrayImage [9] == arrayImage [1] || arrayImage [9] == arrayImage [0])
{
arrayImage [9] = (int) (Math.random() * 12) + 1;
}
arrayImage [10] = (int) (Math.random() * 12) + 1;
while (arrayImage [10] == arrayImage [9] || arrayImage [10] == arrayImage [8] || arrayImage [10] == arrayImage [7] || arrayImage [10] == arrayImage [6] || arrayImage [10] == arrayImage [5] || arrayImage [10] == arrayImage [4] || arrayImage [10] == arrayImage [3] || arrayImage [10] == arrayImage [2] || arrayImage [10] == arrayImage [1] || arrayImage [10] == arrayImage [0])
{
arrayImage [10] = (int) (Math.random() * 12) + 1;
}
arrayImage [11] = (int) (Math.random() * 12) + 1;
while (arrayImage [11] == arrayImage [10] || arrayImage [11] == arrayImage [9] || arrayImage [11] == arrayImage [8] || arrayImage [11] == arrayImage [7] || arrayImage [11] == arrayImage [6] || arrayImage [11] == arrayImage [5] || arrayImage [11] == arrayImage [4] || arrayImage [11] == arrayImage [3] || arrayImage [11] == arrayImage [2] || arrayImage [11] == arrayImage [1] || arrayImage [11] == arrayImage [0])
{
arrayImage [11] = (int) (Math.random() * 12) + 1;
}
for (int x = 0 ; x <= 11 ; x++)
{
buttonArray [x] = new JButton ("" + arrayImage [x]);
buttonArray [x].setBackground (Color.orange);
}
for (int i = 0 ; i <= 11 ; i++)
{
buttonArray [i].setActionCommand ("" + arrayImage [i]);
}
return buttonArray;
}
これは、メインメソッドでボタン配列を導入した方法です。
static JButton btnStart, buttonArray[] = new JButton [12];
色を付けると、それぞれのアクションのリスナーを順番に与えるためにループが使用されます。
for (int x = 0 ; x <= 11 ; x++)
{
buttonArray [x] = new JButton ("");
buttonArray [x].setBackground (Color.orange);
}
ButtonHandler onClick = new ButtonHandler();
btnStart.addActionListener (onClick);
for (int y = 0 ; y <= 11 ; y++)
{
buttonArray [y].addActionListener (onClick);
}
ここでパネルの概要を説明し、パネルにコンポーネントを追加します。次に、フレームをパネルに追加します。
JPanel gameBoard = new JPanel (new GridLayout (2, 6));
gameBoard.setBackground (Color.orange);
JPanel gameContent = new JPanel (new GridLayout (1, 2));
JPanel mainGame = new JPanel (new BorderLayout());
//GAme Board
gameContent.add (btnStart);
gameContent.add (scoreOutput);
gameBoard.add (buttonArray [0]);
gameBoard.add (buttonArray [1]);
gameBoard.add (buttonArray [2]);
gameBoard.add (buttonArray [3]);
gameBoard.add (buttonArray [4]);
gameBoard.add (buttonArray [5]);
gameBoard.add (buttonArray [6]);
gameBoard.add (buttonArray [7]);
gameBoard.add (buttonArray [8]);
gameBoard.add (buttonArray [9]);
gameBoard.add (buttonArray [10]);
gameBoard.add (buttonArray [11]);
mainGame.add (gameBoard, BorderLayout.CENTER);
mainGame.add (gameContent, BorderLayout.PAGE_END);
Container contentPane1 = questions.getContentPane();
contentPane1.add (mainGame);
questions.setSize (500, 250);
questions.setVisible (true);
.When uの最初のボタンを押します。文字列にボタン番号を追加します。次のボタンが押されたときに最後に押された番号と現在のボタンの番号をチェックし、前の数字より大きい場合はエラーを表示できます。整数配列を使用して、プレスボタンの値を格納し、ur条件をチェックすることもできます。文字列から単一の文字を取得する方法と、文字列を整数に変換する方法について十分な知識があることを願って答えが与えられます。 –
はtoString()コマンドですか? – Toni
どういう意味ですか? – Toni