diff --git a/src/main/java/pacmanGame/GameManager.java b/src/main/java/pacmanGame/GameManager.java index 5c9067c..fbf7c78 100644 --- a/src/main/java/pacmanGame/GameManager.java +++ b/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++; // Erh�he 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(); diff --git a/src/main/java/pacmanGame/Program.java b/src/main/java/pacmanGame/Program.java index 9fdd07c..f80a5cb 100644 --- a/src/main/java/pacmanGame/Program.java +++ b/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); }