0

シンプルな Java GUI 単語ゲームを作成しました。

それは頭から始まり、ユーザーは単語を推測しようとします。正しい場合、システムは正しく出力します。間違っている場合は、「間違っている」と出力され、ボディが描画されます。上部のテキスト ボックスは隠し単語 (実際には隠していません) で、下部は推測を挿入する場所です。

このプログラムの問題点は、ユーザーが間違った単語を推測した後にボディが描画されないことです。

最初のクラス:

package hangman;

import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JPanel;

public class NewClass extends JPanel {

int lineA, lineB, lineC, LineD;
int guess;

public void paintComponent(Graphics g) {

    super.paintComponent(g);
    this.setBackground(Color.ORANGE);
    //head
    g.drawOval(110, 10, 25, 25);
    g.drawLine(lineA, lineB, lineC, LineD);// (ideal) 125, 40, 120, 100

}

public void newPaint(int a, int b, int c, int d) {


    lineA = a;
    lineB = b;
    lineC = c;
    LineD = d;

 super.revalidate();

}
}

2 番目のクラス: パッケージ hangman;

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JTextField;

public class NewClass1 extends JFrame {

private JTextField answerBox, hiddenAnswer;
NewClass nc = new NewClass();

public NewClass1() {

    hiddenAnswer = new JTextField();

    hiddenAnswer.setText("hat");// this is the word for the hangman

    answerBox = new JTextField("put you answer in here");
    answerBox.addActionListener(
            new ActionListener() {
        public void actionPerformed(ActionEvent event) {


            if (event.getActionCommand().equals(hiddenAnswer.getText())) {
                System.out.println("you got it right");
            } else {
                System.out.println("sorry you got it wrong");


                nc.newPaint(125, 120, 40, 100);

            }
        }
    });
    add(BorderLayout.NORTH, hiddenAnswer);

    add(BorderLayout.SOUTH, answerBox);
 }
 }

エントリーポイント

    NewClass1 ncc = new NewClass1();

    NewClass nc = new NewClass();
    ncc.add(BorderLayout.CENTER,nc);
    ncc.setVisible(true);
    ncc.setSize(300,300);
    ncc.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);


}
}
4

1 に答える 1