fdai7910 11 months ago
parent
commit
c0ef968fc7
  1. 55
      src/main/java/pacmanGame/GameManager.java
  2. 13
      src/main/java/pacmanGame/Program.java

55
src/main/java/pacmanGame/GameManager.java

@ -21,40 +21,39 @@ public class GameManager {
setupGame();
}
public void setupGame(){
time = 0;
moveSpeed = 5;
ghosts = new Ghost[ghostCount];
for (int i = 0; i < ghosts.length; i++) {
ghosts[i] = new Ghost(this, i);
}
map = new Map(Map.mapClassic, this);
visualizer = new VisualizerPlainTextUltra(this);
player = new Player(this);
player.Spawn();
for (int i = 0; i < ghosts.length; i++) {
ghosts[i].spawn();
}
isPaused = false;
public void setupGame(){
time = 0;
moveSpeed = 5;
ghosts = new Ghost[ghostCount];
for (int i = 0; i < ghosts.length; i++) {
ghosts[i] = new Ghost(this, i);
}
map = new Map(Map.mapClassic, this);
visualizer = new VisualizerPlainTextUltra(this);
player = new Player(this);
player.Spawn();
for (int i = 0; i < ghosts.length; i++) {
ghosts[i].spawn();
}
isPaused = false;
}
public void handleGhostCollision() {
livesRemaining--; // Reduziere verbleibende leben um 1
public void handleGhostCollision() {
livesRemaining--;
failedAttempts++; // Erhhe die Anzahl der Fehlversuche
if(livesRemaining <= 0) {
gameOver(); //wenn Keine Leben mehr brig sind.
}
failedAttempts++;
if(livesRemaining <= 0) {
gameOver();
}
}
}
public void gameOver() {
System.out.println("Das Spiel ist vorbei! Pech!!");
}
public void Update() {
visualizer.Update();
if(!isPaused) {
if(time%moveSpeed == 0) {
player.Move();
@ -64,7 +63,6 @@ public class GameManager {
}
time++;
}
if(time == 300) {
spawnFruit();
}
@ -105,15 +103,11 @@ public class GameManager {
}
public void teleportPlayer(String destination) {
player.position = map.findCellByString(destination).pos;
}
public boolean ghostPlayerColisionTest() {
for(int i = 0; i < ghosts.length; i++) {
for(int x = 0; x < map.size.x; x++) {
for(int y = 0; y < map.size.y; y++) {
if(player.position.equals(ghosts[i].position))
@ -137,12 +131,15 @@ public class GameManager {
ghostIsEdible = false;
}
}
public void Pause() {
isPaused = true;
}
public void Unpause() {
isPaused = false;
}
public void TogglePause() {
if(isPaused) {
Unpause();

13
src/main/java/pacmanGame/Program.java

@ -20,21 +20,17 @@ public class Program {
createAndShowGUI();
gameManager = new GameManager();
gameLoop();
}
public void gameLoop() {
boolean running = true;
while(running) {
forwardInputToGameManager();
gameManager.Update();
textArea.setText((String)gameManager.visualizer.GetOutput());
try {
Thread.sleep(100);
} catch (InterruptedException e) {}
@ -53,22 +49,17 @@ public class Program {
public void createAndShowGUI() {
frame = new JFrame("PacmaaaAAAYYYHAAAaaam");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(750, 950);
textArea = new JTextArea("...");
textArea.setEditable(false);
textArea.setFocusable(false);
textArea.setBackground(Color.black);
textArea.setForeground(Color.yellow);
Font font = new Font("Consolas", Font.PLAIN, 10);
textArea.setFont(font);
frame.add(textArea, BorderLayout.CENTER);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
input = new MyKeyListener();
frame.addKeyListener(input);
}

Loading…
Cancel
Save