Spaces:
Running
Running
File size: 2,339 Bytes
f11ab78 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class InputScreen extends JFrame {
private JTextField colsField, rowsField, trapChanceField, powerUpChanceField;
private JButton playButton;
public InputScreen() {
setTitle("Maze settings");
setSize(300, 250);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setLayout(new GridLayout(5, 2, 5, 5));
add(new JLabel("Col number:"));
colsField = new JTextField("10");
add(colsField);
add(new JLabel("Row number:"));
rowsField = new JTextField("10");
add(rowsField);
add(new JLabel("Trap Probality (%):"));
trapChanceField = new JTextField("5");
add(trapChanceField);
add(new JLabel("PowerUp Probality (%):"));
powerUpChanceField = new JTextField("3");
add(powerUpChanceField);
playButton = new JButton("Play");
add(new JLabel()); // boşluk için
add(playButton);
playButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
startGame();
}
});
setVisible(true);
}
private void startGame() {
try {
int cols = Integer.parseInt(colsField.getText());
int rows = Integer.parseInt(rowsField.getText());
int trapChance = Integer.parseInt(trapChanceField.getText());
int powerUpChance = Integer.parseInt(powerUpChanceField.getText());
JFrame frame = new JFrame("Maze Game");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(new MazeManager(cols, rows, trapChance, powerUpChance));
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
this.dispose(); // input ekranını kapat
} catch (NumberFormatException ex) {
JOptionPane.showMessageDialog(this, "enter valid number.", "error", JOptionPane.ERROR_MESSAGE);
}
}
public static void main(String[] args) {
new InputScreen();
}
}
|