package com.mcnz.javafx;
import java.util.Random;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class NumberGuesser extends Application
{
int magicNumber;
int numberOfTries;
@Override
public void start(Stage stage) {
var promptLabel = new Label("Guess a number between 1 and 10!");
var inputField = new TextField();
var guessButton = new Button("Guess");
var feedbackLabel = new Label();
var layout = new VBox(10, promptLabel, inputField, guessButton, feedbackLabel);
var scene = new Scene(layout, 300, 200);
stage.setTitle("Number Guessing Game");
stage.setScene(scene);
stage.show();
Random random = new Random();
magicNumber = random.nextInt(10) + 1;
guessButton.setOnAction(e -> {
String input = inputField.getText();
int guess = Integer.parseInt(input);
numberOfTries++;
if (guess < magicNumber) {
feedbackLabel.setText("Guess Higher!");
guessButton.setText("Guess again");
}
if (guess > magicNumber) {
feedbackLabel.setText("Guess Lower!");
guessButton.setText("Guess again");
}
if (guess == magicNumber){
feedbackLabel.setText("You guessed it right in " + numberOfTries + " tries!");
guessButton.setText("Play again?");
magicNumber = random.nextInt(10) + 1;
}
inputField.clear();
});
}
public static void main(String[] args) {
Application.launch(NumberGuesser.class, args);
}
}