mapmenu fertiggestellt

master
Lenz Wiechers 2020-06-07 17:42:52 +02:00
parent c137c9080a
commit 671bfa3748
10 changed files with 69 additions and 15 deletions

View File

@ -1,4 +1,3 @@
Ms Pac-Man
############################ ############################
# ## ## # # ## ## #
#.#### ## ######## ## ####.# #.#### ## ######## ## ####.#

1
bin/.gitignore vendored
View File

@ -1 +1,2 @@
/MapMenu.class /MapMenu.class
/MapMenu$1.class

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -46,7 +46,7 @@ public class Game {
int minn; int minn;
int[] HCost = new int[4]; int[] HCost = new int[4];
public Game() { // Erstellen des Konstruktors (Was soll passieren, sobald dieses Klasse public Game(String selectedMap) { // Erstellen des Konstruktors (Was soll passieren, sobald dieses Klasse
// aufgerufen wird?) // aufgerufen wird?)
frame = new JFrame(); // Fenster frame = new JFrame(); // Fenster
@ -100,7 +100,7 @@ public class Game {
ghosts[i].setBounds(ghosts[i].getPos('x', 0), ghosts[i].getPos('y', 0), 20, 20); ghosts[i].setBounds(ghosts[i].getPos('x', 0), ghosts[i].getPos('y', 0), 20, 20);
} }
map = new Map(player, ghosts); // Map auf der gespielt wird map = new Map(selectedMap, player, ghosts); // Map auf der gespielt wird
map.mapping(); map.mapping();
player.setBounds(player.getPos('x', 0), player.getPos('y', 0), 20, 20); // Pac-Man wird das erste Mal gerendert player.setBounds(player.getPos('x', 0), player.getPos('y', 0), 20, 20); // Pac-Man wird das erste Mal gerendert

View File

@ -10,10 +10,26 @@ public class Main {
System.setProperty("sun.java2d.opengl", "true"); System.setProperty("sun.java2d.opengl", "true");
// Game game = new Game(); // Das Spiel wird gestartet // Game game = new Game("map1.txt"); // Das Spiel wird gestartet
MapMenu menu = new MapMenu(); MapMenu menu = new MapMenu();
while(!menu.rdy) {
delay(1);
}
Game game = new Game(menu.selectedMap + ".txt");
} }
// Methode zum verzögern (warten) in ms
public static void delay(int time) {
try {
Thread.sleep(time);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
} }

View File

@ -24,20 +24,26 @@ public class Map {
public static int pac_posX; public static int pac_posX;
public static int pac_posY; public static int pac_posY;
String selectedMap;
String line; // String in dem eingelsene Zeilen der Datei gespeichert werden String line; // String in dem eingelsene Zeilen der Datei gespeichert werden
public Map(Player player, Ghost ghosts[]) { // Erstellen des Konstruktors public Map(String selectedMap, Player player, Ghost ghosts[]) { // Erstellen des Konstruktors
this.ghosts = ghosts; this.ghosts = ghosts;
this.player = player; this.player = player;
this.selectedMap = selectedMap;
} }
public void mapping() { public void mapping() {
try { try {
reader = new BufferedReader(new FileReader("assets/map.txt")); // Einlesen der .txt Datei reader = new BufferedReader(new FileReader("assets/Maps/" + selectedMap)); // Einlesen der .txt Datei
System.out.println(selectedMap);
for (int i = 0; i < 35; i++) { // für die ersten 35 Zeilen der Datei: for (int i = 0; i < 35; i++) { // für die ersten 35 Zeilen der Datei:
String line = reader.readLine(); // Einlesen der jeweiligen Zeile String line = reader.readLine(); // Einlesen der jeweiligen Zeile

View File

@ -1,4 +1,7 @@
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File; import java.io.File;
import java.sql.SQLException;
import javax.swing.JButton; import javax.swing.JButton;
import javax.swing.JComboBox; import javax.swing.JComboBox;
@ -8,30 +11,41 @@ import javax.swing.JPanel;
import javax.swing.JTextField; import javax.swing.JTextField;
public class MapMenu extends JFrame { public class MapMenu extends JFrame {
public boolean rdy;
JButton button; JButton button;
JPanel panel; JPanel panel;
JComboBox bob; JComboBox bob;
String[] maps; String[] maps;
File path; File path;
Game game; Game game;
String selectedMap;
public MapMenu() { public MapMenu() {
super("Map Menu"); super("Map Menu");
System.setProperty("sun.java2d.opengl", "true");
path = new File("assets/maps"); path = new File("assets/maps");
maps = path.list(); maps = path.list();
for (int i = 0; i < maps.length; i++) {
maps[i] = maps[i].substring(0, maps[i].length() - 4);
}
this.setVisible(true); this.setVisible(true);
this.setBounds(100, 100, 300, 200); this.setBounds(100, 100, 300, 200);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setResizable(false); // Man kann die Größe des Frame nicht verändern this.setResizable(false); // Man kann die Größe des Frame nicht verändern
panel = new JPanel(); // Panel auf dem visuellen Elemente angezeigt werden panel = new JPanel(); // Panel auf dem visuellen Elemente angezeigt werden
@ -39,17 +53,35 @@ public class MapMenu extends JFrame {
// Der Inhalt des Panels wird auf dem Frame angezeigt: // Der Inhalt des Panels wird auf dem Frame angezeigt:
this.setContentPane(panel); this.setContentPane(panel);
this.getContentPane().setLayout(null); this.getContentPane().setLayout(null);
button = new JButton("Lauch dat shit"); button = new JButton("Lauch dat shit");
panel.add(button); panel.add(button);
button.setBounds(20, 100, 150, 30); button.setBounds(20, 100, 150, 30);
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
try {
button_ActionPerformed(evt);
} catch (Exception e) {
e.printStackTrace();
}
}
});
bob = new JComboBox(maps); bob = new JComboBox(maps);
// bob.setEditable(true);
panel.add(bob); panel.add(bob);
bob.setBounds(30, 30, 180, 30); bob.setBounds(30, 30, 180, 30);
} }
public String getSelectedMap() {
return selectedMap;
}
// Was passieren soll, wenn der Button gedrückt wird
public void button_ActionPerformed(ActionEvent evt) throws SQLException {
selectedMap = String.valueOf(bob.getSelectedItem());
System.out.println(selectedMap + " is now the selected Map!");
rdy = true;
}
} }