1
단어를 풀 때 게임을 만들려고합니다. 그러나 사용자의 추측이 실제 응답과 동일한 지 제대로 판단 할 수는 없습니다. 사용자의 추측과 일치하지 않는 실제 단어가 무엇인지에 관계없이 여기에있는 것처럼 보입니다.
코드를 일시 중지하고 while 루프가 아닌 다른 사용자 입력을 기다리는 다른 방법이 있습니까?프로그램에서 문자열이 무엇인지 구분할 수 없음
import javax.swing.JOptionPane;
public class Loop extends CreateWindow{
private static final long serialVersionUID = 1L;
public static boolean running = true;
public static void GameStart(){
if(running){
int wordNum = 0;
for (int i=0;i<=9;i++){
field.setText("");
setScrambledWord(i);
while(enter == false){
System.out.println(userAnswer);
System.out.println(enter);
System.out.println(score);
}
userAnswer = area.getText();
if(userAnswer == normalWords[wordNum]){
JOptionPane.showMessageDialog(null, "legos", userAnswer, JOptionPane.OK_OPTION);
}else if(userAnswer != normalWords[wordNum]){
JOptionPane.showMessageDialog(null, "sogel", userAnswer, JOptionPane.OK_OPTION);
}
area.setText("");
enter = false;
wordNum++;
}
}
}
public static void main(String[] args){
new CreateWindow();
running = true;
GameStart();
}
}
import java.awt.BorderLayout;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class CreateWindow extends JFrame {
private static final long serialVersionUID = 1L;
JPanel panel = new JPanel();
public static int score = 0;
static JTextArea area = new JTextArea(10,40);
static JTextField field = new JTextField(40);
JButton button = new JButton("Press to Enter Answer");
public static boolean enter;
public static String userAnswer;
public static String[] normalWords = {
"yellow",
"alphabet",
"tangent",
"elephant",
"amusement",
"cat",
"eerie",
"wonder",
"shadows"
};
public static String[] scrambledWords = {
"lloeyw",
"lphaabte",
"natgnte",
"leehpnta",
"mauseenmt",
"tca",
"reeei",
"dowenr",
"shawdos"
};
CreateWindow(){
setSize(500,300);
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
field.setEditable(false);
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
enter = true;
System.out.println("You clicked the button");
System.out.println(enter);
}
});
add(panel);
panel.add(field, BorderLayout.PAGE_START);
panel.add(area, BorderLayout.CENTER);
panel.add(button, BorderLayout.PAGE_END);
setVisible(true);
}
public static void setScrambledWord(int i){
field.setText(scrambledWords[i]);
}
public void clearArea(){
area.setText("");
}
}
사용 userAnswer.equals (normalWords [wordNum]); – Nabin