21
Ноя
2020

JAVA. счетчик попыток

недавно начал изучать java. Задание: сделать игру, в которой пользователю нужно угадать цифру от 0 до 100 + в конце сделать счетчик попыток. Все сделал, только не понимаю почему счетчик постоянно в конце показывает 0.

Первый класс

import com.sun.javaws.exceptions.ExitException;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.net.URL;

public class GUI extends Random0100 {

    JFrame frame = new JFrame("6 sapkis");
    JPanel panel = new JPanel();
    JLabel label = new JLabel("Угадайте число от 0 до 100:");
    JLabel answer = new JLabel("");
    JButton button = new JButton("Отправить");
    JTextField pole = new JTextField("",5);
    GUI() {

        URL iconURL = getClass().getResource("question.png");
        ImageIcon icon = new ImageIcon(iconURL);
        frame.setIconImage(icon.getImage());
        panel.add(label);
        panel.add(pole);
        panel.add(button);
        panel.add(answer);
        frame.add(panel);
        button.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                int need = Integer.parseInt(pole.getText());
                counter++;
                if (need == guess) {
                    frame.setVisible(false);
                    Win open = new Win();

                } else {
                    answer.setText("Пробуйте еще");
                }
            }
        });
        answer.setForeground(Color.red);
        frame.setResizable(false);
        frame.setSize(230,150);
        frame.setLocationRelativeTo(null);
        frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        frame.setVisible(true);
    }
}
class Random0100 {
    int guess = (int)(Math.random()*100);
    int counter;
    Random0100(){
        System.out.println("Подсказка: "+guess);
    }
}

И второй класс

public class Win extends GUI {
    JFrame frame = new JFrame("Победа!");
    JPanel panel = new JPanel();
    JLabel text = new JLabel("Вы угадали число!");
    JLabel text2 = new JLabel("Кол-во попыток: "+counter);
    Win() {
        URL iconURL = getClass().getResource("question.png");
        ImageIcon icon = new ImageIcon(iconURL);
        frame.setIconImage(icon.getImage());

        panel.add(text);
        panel.add(text2);
        frame.add(panel);


        frame.setResizable(false);
        frame.setSize(250,200);
        frame.setLocationRelativeTo(null);
        frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        frame.setVisible(true);
    }
}

Источник: https://ru.stackoverflow.com/questions/1207827/java-%D1%81%D1%87%D0%B5%D1%82%D1%87%D0%B8%D0%BA-%D0%BF%D0%BE%D0%BF%D1%8B%D1%82%D0%BE%D0%BA

Тебе может это понравится...

Добавить комментарий