master
leventius imperatus 2020-06-07 21:08:10 +02:00
parent 5a094b1fbf
commit abc520f2bc
10 changed files with 108 additions and 26 deletions

View File

@ -21,11 +21,11 @@
### ## ## ## ## ## ###
,,# ## ## ## ## ## ## ## #,,
### ## ## ## ## ## ## ## ###
# ## P ## #
# ## ## #
### ## ##### ## ##### ## ###
### ## ##### ## ##### ## ###
# ## ## ## #
# #### ## ######## ## #### #
#.#### ## ######## ## ####.#
# ## ## #
# ## P ## #
############################

View File

@ -1,7 +1,7 @@
##################################
# #
# # ## ## ################# ## # #
# # ## ## ## ## # #
# # ## ## R# ## # #
# ## ################# ## ## #
# # ## ## ## ## # #
# # ## ##.##############.## ## # #
@ -26,7 +26,7 @@
# ### ## #P############## ## ### #
# ### ## # # ## ### #
# ## # ############ # ## #
# ### ## # # ## ### #
# ### #L # # ## ### #
# ### ## ###.########.### ## ### #
# #
##################################

View File

@ -0,0 +1,30 @@
############################
# ## #
#.#### ##### ## ##### ####.#
# #### ##### ## ##### #### #
# #
# #### ## ######## ## #### #
# #### ## ######## ## #### #
# ## ## ## #
###### ##### ## ##### ######
,,,,,# ##### ## ##### #,,,,,
,,,,,# ## ## #,,,,,
,,,,,# ## ## ## ## ## #,,,,,
###### ## ## ## ## ## ######
#L ,,0123,, R#
###### ## ## ## ## ## ######
,,,,,# ## ## ## ## ## #,,,,,
,,,,,# ## ## #,,,,,
,,,,,# ## ######## ## #,,,,,
###### ## ######## ## ######
# ## #
# #### ##### ## ##### #### #
# #### ##### ## ##### #### #
#. ## P ## .#
### ## ## ######## ## ## ###
### ## ## ######## ## ## ###
# ## ## ## #
# ########## ## ########## #
# ########## ## ########## #
# #
############################

11
bin/.gitignore vendored
View File

@ -1,12 +1,3 @@
/BigPoint.class
/Brick.class
/Game.class
/Ghost.class
/Lives.class
/Main.class
/Map.class
/MapMenu$1.class
/MapMenu.class
/Picture.class
/Player.class
/Point.class
/Portal.class

Binary file not shown.

Binary file not shown.

View File

@ -47,7 +47,7 @@ public class Game {
int[] HCost = new int[4];
public Game(String selectedMap) { // Erstellen des Konstruktors (Was soll passieren, sobald dieses Klasse
// aufgerufen wird?)
// aufgerufen wird?)
frame = new JFrame(); // Fenster
ImageIcon img = new ImageIcon("assets/Pacman_Right.png");
@ -133,10 +133,16 @@ public class Game {
}
}
}
System.out.println(Map.Left + " " + Map.Right);
if (Map.Left != null && Map.Right != null) {
panel.add(Map.Left);
panel.add(Map.Right);
Map.Left.setBounds(Map.Left.xPos, Map.Left.yPos, 20, 20);
Map.Right.setBounds(Map.Right.xPos, Map.Right.yPos, 20, 20);
}
delay(30);
lastT = System.nanoTime(); // delta time
delay(1000);
frame.setVisible(true);
// -----------------------------------------------------------------------------------------------------------------------------------------------------
@ -335,6 +341,28 @@ public class Game {
}
}
}
if (Map.Left != null) {
if (player.getPos('x', 0) < Map.Left.xPos + 20 && player.getPos('x', 0) > Map.Left.xPos - 20
&& player.getPos('y', 0) < Map.Left.yPos + 20 && player.getPos('y', 0) > Map.Left.yPos - 20) {
if (Map.Right != null) {
player.xPos = Map.Right.xPos - 20;
player.yPos = Map.Right.yPos;
}
}
}
if (Map.Right != null) {
if (player.getPos('x', 0) < Map.Right.xPos + 20 && player.getPos('x', 0) > Map.Right.xPos - 20
&& player.getPos('y', 0) < Map.Right.yPos + 20 && player.getPos('y', 0) > Map.Right.yPos - 20) {
if (Map.Left != null) {
player.xPos = Map.Left.xPos + 20;
player.yPos = Map.Left.yPos;
}
}
}
for (int i = 0; i < 35; i++) {
for (int j = 0; j < 35; j++) {
if (Map.bigpoints[j][i] != null) {

View File

@ -9,6 +9,9 @@ public class Map {
public static Brick bricks[][] = new Brick[35][35]; // Zweidimensionales Array für alle Bricks
public static Point points[][] = new Point[35][35];
public static BigPoint bigpoints[][] = new BigPoint[35][35];
public static Portal Left;
public static Portal Right;
// Zweidimensionale Arrays siehe
// https://de.wikipedia.org/wiki/Feld_(Datentyp)#Mehrdimensional_/_in-sich-mehrdimensional
@ -24,7 +27,7 @@ public class Map {
public static int pac_posX;
public static int pac_posY;
String selectedMap;
String line; // String in dem eingelsene Zeilen der Datei gespeichert werden
@ -33,7 +36,7 @@ public class Map {
this.ghosts = ghosts;
this.player = player;
this.selectedMap = selectedMap;
}
@ -42,7 +45,7 @@ public class Map {
try {
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:
@ -83,6 +86,10 @@ public class Map {
} else if (line.charAt(j) == '.') {
bigpoints[i][j] = new BigPoint(10 + 20 * j, 10 + 20 * i);
} else if (line.charAt(j) == 'L') {
Left = new Portal(10 + 20 * j, 10 + 20 * i);
} else if (line.charAt(j) == 'R') {
Right = new Portal(10 + 20 * j, 10 + 20 * i);
}
} catch (Exception e) {

View File

@ -12,13 +12,18 @@ import javax.swing.JTextField;
public class MapMenu extends JFrame {
/**
*
*/
private static final long serialVersionUID = 2863784680171430142L;
public boolean rdy;
JButton button;
JPanel panel;
JComboBox bob;
JComboBox<?> bob;
String[] maps;
@ -45,7 +50,7 @@ public class MapMenu extends JFrame {
}
this.setVisible(true);
this.setBounds(100, 100, 300, 200);
this.setBounds(750, 300, 300, 200);
this.setResizable(false); // Man kann die Größe des Frame nicht verändern
panel = new JPanel(); // Panel auf dem visuellen Elemente angezeigt werden
@ -54,9 +59,9 @@ public class MapMenu extends JFrame {
this.setContentPane(panel);
this.getContentPane().setLayout(null);
button = new JButton("Lauch dat shit");
button = new JButton("Launch");
panel.add(button);
button.setBounds(20, 100, 150, 30);
button.setBounds(70, 50, 120, 30);
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
try {
@ -67,9 +72,10 @@ public class MapMenu extends JFrame {
}
});
bob = new JComboBox(maps);
bob = new JComboBox<Object>(maps);
bob.setSelectedIndex(4);
panel.add(bob);
bob.setBounds(30, 30, 180, 30);
bob.setBounds(70, 10, 120, 30);
}

20
src/Portal.java Normal file
View File

@ -0,0 +1,20 @@
// Diese Klasse stellt die einzelnen Bicks (Wände) auf der Map dar.
public class Portal extends Picture {
private static final long serialVersionUID = -8813034369041822237L;
public int xPos;
public int yPos;
public Portal(int newXPos, int newYPos) {
super("portal");
xPos = newXPos;
yPos = newYPos;
}
}