diff options
author | AlisaLinUwU <alisalinuwu@gmail.com> | 2025-01-26 11:35:35 +0500 |
---|---|---|
committer | AlisaLinUwU <alisalinuwu@gmail.com> | 2025-01-26 11:35:35 +0500 |
commit | 9c555bca7ba5a4e5396245b2086df89ded7e0c8c (patch) | |
tree | 011f1ded4ee38e3cae4b24b6894ae5fba8dcaaf3 /src/main/java/kahootgui/Controller.java |
Initializemain
Diffstat (limited to 'src/main/java/kahootgui/Controller.java')
-rw-r--r-- | src/main/java/kahootgui/Controller.java | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/src/main/java/kahootgui/Controller.java b/src/main/java/kahootgui/Controller.java new file mode 100644 index 0000000..476f9f1 --- /dev/null +++ b/src/main/java/kahootgui/Controller.java @@ -0,0 +1,97 @@ +package kahootgui; + +import javafx.fxml.FXML; +import javafx.scene.control.Button; +import javafx.scene.control.RadioButton; +import javafx.scene.control.ToggleGroup; +import javafx.scene.text.Text; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +public class Controller { + + @FXML + private ToggleGroup answers; + + @FXML + private Text question_text; + + @FXML + private RadioButton radio_btn_1; + + @FXML + private RadioButton radio_btn_2; + + @FXML + private RadioButton radio_btn_3; + + @FXML + private RadioButton radio_btn_4; + + @FXML + private Button answerBtn; + + private final Questions[] questions = new Questions[] { + new Questions("В каком из вариантов представлен корректный формат вывода информации на экран?", new String[] {"Console.Write()", "console.log()", "print()", "System.out.println()"}), + new Questions("Какой тип данных отвечает за целые числа?", new String[] {"String", "Float", "Boolean", "Integer"}), + new Questions("Где правильно присвоено новое значение к многомерному массиву?", new String[] {"a(0)(0) = 1;", "a[0 0] = 1;", "a{0}{0} = 1;", "a[0][0] = 1;"}), + new Questions("Какой метод позволяет запустить программу на Java?", new String[] {"Основного метода нет", "С класса, что был написан первым и с методов что есть внутри него", "Любой, его можно задавать в настройках проекта", "С метода main в любом из классов"}), + new Questions("Каждый файл должен называется...", new String[] {"по имени первой библиотеки в нём", "по имени названия пакета", "как вам захочется", "по имени класса в нём"}), + new Questions("Сколько параметров может принимать функция?", new String[] {"5", "10", "20", "неограниченное количество"}) + }; + + private int nowQuestion = 0, correctAnswers; + private String nowCorrectAnswer; + + @FXML + public void initialize() { + nowCorrectAnswer = questions[nowQuestion].correctAnswer(); + + answerBtn.setOnAction(e -> { + RadioButton selectedRadioButton = (RadioButton) answers.getSelectedToggle(); + if(selectedRadioButton != null) { + String toogleGroupValue = selectedRadioButton.getText(); + + if(toogleGroupValue.equals(nowCorrectAnswer)) { + System.out.println("Верный ответ"); + correctAnswers++; + } else { + System.out.println("Не верный ответ"); + } + + // Это был последний вопрос + if(nowQuestion + 1 == questions.length) { + radio_btn_1.setVisible(false); + radio_btn_2.setVisible(false); + radio_btn_3.setVisible(false); + radio_btn_4.setVisible(false); + answerBtn.setVisible(false); + + question_text.setText("Вы ответили корректно на " + correctAnswers + " из " + questions.length + " вопросов!"); + } else { + nowQuestion++; + nowCorrectAnswer = questions[nowQuestion].correctAnswer(); + + question_text.setText(questions[nowQuestion].getQuestion()); + String[] answers = questions[nowQuestion].getAnswers(); + + + List<String> intList = Arrays.asList(answers); + + Collections.shuffle(intList); + + radio_btn_1.setText(intList.get(0)); + radio_btn_2.setText(intList.get(1)); + radio_btn_3.setText(intList.get(2)); + radio_btn_4.setText(intList.get(3)); + + selectedRadioButton.setSelected(false); + } + + } + }); + } + +} |