57 lines
1.8 KiB
Java
57 lines
1.8 KiB
Java
package org.artisanlogiciel.games.maze.gui;
|
|
|
|
import org.artisanlogiciel.games.MazeParams;
|
|
import org.artisanlogiciel.games.MazeParamsFixed;
|
|
|
|
import javax.swing.*;
|
|
import java.util.Random;
|
|
|
|
public class MazeSettings extends JPanel {
|
|
MazeParams params;
|
|
|
|
JTextField textWidth = null;
|
|
JTextField textHeight = null;
|
|
JTextField textDepth = null;
|
|
JTextField textSeed = null;
|
|
|
|
// TODO set width and height and depth of maze with gui
|
|
public MazeSettings(MazeParams params) {
|
|
super();
|
|
this.params = params;
|
|
createSettingsGui();
|
|
}
|
|
|
|
void createSettingsGui() {
|
|
if (params != null) {
|
|
JLabel widthLabel = new JLabel(Display.labels.getString("width"));
|
|
textWidth = new JTextField("0" + params.getWidth());
|
|
add(widthLabel);
|
|
add(textWidth);
|
|
JLabel heightLabel = new JLabel(Display.labels.getString("height"));
|
|
textHeight = new JTextField("0" + params.getHeight());
|
|
add(heightLabel);
|
|
add(textHeight);
|
|
JLabel depthLabel = new JLabel(Display.labels.getString("depth"));
|
|
textDepth = new JTextField("0" + params.getMaxDepth());
|
|
add(depthLabel);
|
|
add(textDepth);
|
|
JLabel seedLabel = new JLabel(Display.labels.getString("seed"));
|
|
textSeed = new JTextField( "" + params.getSeed(),16);
|
|
add(seedLabel);
|
|
add(textSeed);
|
|
}
|
|
}
|
|
|
|
public MazeParams resetParams() {
|
|
params = new MazeParamsFixed(params.getSaveDir(),
|
|
Integer.parseInt(textWidth.getText()),
|
|
Integer.parseInt(textHeight.getText()),
|
|
Integer.parseInt(textDepth.getText()),
|
|
new Random().nextLong()
|
|
);
|
|
textSeed.setText("" + params.getSeed());
|
|
return params;
|
|
}
|
|
|
|
}
|