だから、私はnetbeans 8.1とjavaを使ってTicTacToeプログラムをプログラムしようとしている6年生です。
これは私のコードは、(私は一つだけ、ボタンのコードを含めました簡略化のために)これまでです:Java-「JButtonが無効になっている場合は___」
public class TicTacToe extends JFrame{
static Random computerGenerate = new Random();
static int rounds = 0;
static JPanel panel = new JPanel();
static JButton s1 = new JButton();
public static void main(String[] args) {
Gui();
}
public static void Gui() {
JFrame Gui = new JFrame("TicTacToe");
Gui.setVisible(true);
Gui.setResizable(false);
Gui.setSize(320, 340);
Gui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
panel.setLayout(null);
Gui.add(panel);
s1.setBounds(0, 0, 100, 100);
s1.setFont(new Font("Times New Roman", Font.PLAIN, 50));
s1.addActionListener(new Response());
panel.add(s1);
}
private static class Response extends TicTacToe implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == tictactoe.TicTacToe.s1) {
s1.setText("X");
s1.setEnabled(false);
rounds += 1;
}
}
}
public static void Moves() {
if (rounds == 1) {
int computerStartPos = 1 + computerGenerate.nextInt(8);
switch (computerStartPos) {
case 1:
if (button"s1" is disabled)) {
computer will generate a new starting position for the AI
} else {
button s1 will be disabled and it will show a "O" to show the computer has selected the square
}
break;
}
}
}
}
、メソッドの移動は非常に最後の方法であると私は問題を抱えているセクション()。
私がしようとしていることは、プレイヤーが最初の四角形を選択した後で、コンピュータは番号を生成して、それ自身の開始位置を決定します。
問題は、プレイヤーがコンピュータの前にすでにそのボタンを選択していた場合、新しい番号を開始点として再生成する必要があることです。
これを解決する私の考えは、「s1.setEnabled()がfalseの場合、コンピュータは新しい開始位置に対応する新しい番号を再生成します」ということです。
これは書き込み可能ですか?これはほんのわずかなプロジェクトですが、私は助けていただければ幸いです。
ああ、私は間違ってJavaで静的を使用していると言われているが、コードに「静的」を含めていないと、すべてのコードが赤いエラーのようなものになるまで数日間エラーが出る!!! !理由を知っている人、または正しく使用する方法を説明できる人は、次のようにしてください。D
私が受け取った助けを感謝します。
まず、 'Javaの静的メソッドはクラスに属しています(そのインスタンスではありません)。それらはインスタンス変数を使用せず、通常はパラメータから入力を受け取り、その上でアクションを実行してから何らかの結果を返します。 '第二に、あなたはそれを確認することができます。 'if(!isEnabled()){...}'有効かどうかをチェックする条件の先頭に '!'があることを覚えておいてください! – Smit
静的エラーを取り除く方法:オブジェクト指向プログラミングの概念を学び、それらを使用します。多くのチュートリアルがあり、簡単に見つけられます。主な静的メソッドからコードの大部分を取り出して、代わりにオブジェクトを作成して使用したいと思うでしょう。 –
Oh @HovercraftFullOfEels。警告ありがとう!次回は気をつけてください – Smit