From 1d1f733279acc750eca0f4e610d392103f3291af Mon Sep 17 00:00:00 2001 From: phuonnngminh Date: Wed, 1 May 2024 07:52:23 +0000 Subject: [PATCH 01/93] add dockerfile --- Dockerfile | 10 ++++++++++ src/uet/oop/bomberman/level/FileLevelLoader.java | 3 ++- 2 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..38f5d98 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,10 @@ +FROM openjdk:8-slim-buster + +COPY . . +RUN apt update && \ + apt install -y vim git && \ + apt install -y libxext6 libxrender1 libxtst6 libfreetype6 libfontconfig1 && \ + echo "Done!" + +# Dev environment: +# docker run -d --name bom-ai -e DISPLAY="host.docker.internal:0" -v /tmp/.X11-unix:/tmp/.X11-unix -v $HOME:/root openjdk:8-slim-buster sleep 999999999 \ No newline at end of file diff --git a/src/uet/oop/bomberman/level/FileLevelLoader.java b/src/uet/oop/bomberman/level/FileLevelLoader.java index 3432f1e..d7ca60a 100644 --- a/src/uet/oop/bomberman/level/FileLevelLoader.java +++ b/src/uet/oop/bomberman/level/FileLevelLoader.java @@ -1,6 +1,7 @@ package uet.oop.bomberman.level; import java.io.BufferedReader; +import java.io.File; import java.io.FileReader; import java.util.ArrayList; import java.util.List; @@ -40,7 +41,7 @@ public void loadLevel(int level) { // TODO: cập nhật các giá trị đọc được vào _width, _height, _level, _map List list = new ArrayList<>(); try { - FileReader fr = new FileReader("res\\levels\\Level" + level + ".txt");//doc tep luu map + FileReader fr = new FileReader("res/levels/Level" + level + ".txt");//doc tep luu map BufferedReader br = new BufferedReader(fr); String line = br.readLine(); while (!line.equals("")) { From b9fc04656619398cede73310185bfc700811dbba Mon Sep 17 00:00:00 2001 From: phuonnngminh Date: Fri, 3 May 2024 12:39:28 +0000 Subject: [PATCH 02/93] add item duration --- src/uet/oop/bomberman/Board.java | 15 ++++++++++ src/uet/oop/bomberman/Game.java | 7 +++-- .../entities/tile/item/BombItem.java | 16 +++++----- .../entities/tile/item/FlameItem.java | 16 +++++----- .../bomberman/entities/tile/item/Item.java | 30 ++++++++++++++++++- .../entities/tile/item/SpeedItem.java | 16 +++++----- 6 files changed, 69 insertions(+), 31 deletions(-) diff --git a/src/uet/oop/bomberman/Board.java b/src/uet/oop/bomberman/Board.java index 4130228..9c503b4 100644 --- a/src/uet/oop/bomberman/Board.java +++ b/src/uet/oop/bomberman/Board.java @@ -6,6 +6,7 @@ import uet.oop.bomberman.entities.bomb.FlameSegment; import uet.oop.bomberman.entities.character.Bomber; import uet.oop.bomberman.entities.character.Character; +import uet.oop.bomberman.entities.tile.item.Item; import uet.oop.bomberman.exceptions.LoadLevelException; import uet.oop.bomberman.graphics.IRender; import uet.oop.bomberman.graphics.Screen; @@ -31,6 +32,7 @@ public class Board implements IRender { public List _characters = new ArrayList<>(); protected List _bombs = new ArrayList<>(); private List _messages = new ArrayList<>(); + private List _activeItems = new ArrayList<>(); private int _screenToShow = -1; //1:endgame, 2:changelevel, 3:paused @@ -53,6 +55,7 @@ public void update() { updateCharacters(); updateBombs(); updateMessages(); + updateActiveItems(); detectEndGame(); for (int i = 0; i < _characters.size(); i++) { @@ -228,6 +231,10 @@ public FlameSegment getFlameSegmentAt(int x, int y) { public Entity getEntityAt(double x, double y) { return _entities[(int)x + (int)y * _levelLoader.getWidth()]; } + + public void addActiveItem(Item item) { + _activeItems.add(item); + } public void addEntity(int pos, Entity e) { _entities[pos] = e; @@ -293,6 +300,14 @@ protected void updateBombs() { itr.next().update(); } + protected void updateActiveItems() { + if( _game.isPaused() ) return; + Iterator itr = _activeItems.iterator(); + + while(itr.hasNext()) + itr.next().update(); + } + protected void updateMessages() { if( _game.isPaused() ) return; Message m; diff --git a/src/uet/oop/bomberman/Game.java b/src/uet/oop/bomberman/Game.java index 53e5c53..340459b 100644 --- a/src/uet/oop/bomberman/Game.java +++ b/src/uet/oop/bomberman/Game.java @@ -30,6 +30,7 @@ public class Game extends Canvas { private static final double BOMBERSPEED = 1.0;//toc do bomber public static final int TIME = 200; + public static final int ITEM_TIME = 20; public static final int POINTS = 0; protected static int SCREENDELAY = 3; @@ -45,7 +46,7 @@ public class Game extends Canvas { private boolean _running = false; private boolean _paused = true; - private Board _board; + private static Board _board; private Screen screen; private Frame _frame; @@ -156,7 +157,7 @@ public void start() { } } } - + public static double getBomberSpeed() { return bomberSpeed; } @@ -185,7 +186,7 @@ public void resetScreenDelay() { _screenDelay = SCREENDELAY; } - public Board getBoard() { + public static Board getBoard() { return _board; } diff --git a/src/uet/oop/bomberman/entities/tile/item/BombItem.java b/src/uet/oop/bomberman/entities/tile/item/BombItem.java index cfdceba..c0d0ff0 100644 --- a/src/uet/oop/bomberman/entities/tile/item/BombItem.java +++ b/src/uet/oop/bomberman/entities/tile/item/BombItem.java @@ -13,15 +13,13 @@ public BombItem(int x, int y, Sprite sprite) { } @Override - public boolean collide(Entity e) { - // TODO: xử lý Bomber ăn Item - if (e instanceof Bomber) { - - Sound.play("Item"); - Game.addBombRate(1); - remove(); - } - return false; + protected void handleItemActive() { + Game.addBombRate(1); + } + + @Override + protected void handleItemInactive() { + Game.addBombRate(-1); } } diff --git a/src/uet/oop/bomberman/entities/tile/item/FlameItem.java b/src/uet/oop/bomberman/entities/tile/item/FlameItem.java index e251754..78bbe57 100644 --- a/src/uet/oop/bomberman/entities/tile/item/FlameItem.java +++ b/src/uet/oop/bomberman/entities/tile/item/FlameItem.java @@ -13,14 +13,12 @@ public FlameItem(int x, int y, Sprite sprite) { } @Override - public boolean collide(Entity e) { - // TODO: xử lý Bomber ăn - if (e instanceof Bomber) { - - Sound.play("Item"); - Game.addBombRadius(1); - remove(); - } - return false; + protected void handleItemActive() { + Game.addBombRadius(1); + } + + @Override + protected void handleItemInactive() { + Game.addBombRadius(-1); } } diff --git a/src/uet/oop/bomberman/entities/tile/item/Item.java b/src/uet/oop/bomberman/entities/tile/item/Item.java index b3a1b8f..33ac804 100644 --- a/src/uet/oop/bomberman/entities/tile/item/Item.java +++ b/src/uet/oop/bomberman/entities/tile/item/Item.java @@ -1,5 +1,6 @@ package uet.oop.bomberman.entities.tile.item; +import uet.oop.bomberman.Game; import uet.oop.bomberman.entities.Entity; import uet.oop.bomberman.entities.character.Bomber; import uet.oop.bomberman.entities.tile.Tile; @@ -7,11 +8,38 @@ import uet.oop.bomberman.sound.Sound; public abstract class Item extends Tile { - protected int _duration = -1; //thoi gian cua item ,-1 la vo han + protected int _duration = 300; //5s protected boolean _active = false; protected int _level; public Item(int x, int y, Sprite sprite) { super(x, y, sprite); } + + protected abstract void handleItemActive(); + protected abstract void handleItemInactive(); + + @Override + public boolean collide(Entity e) { + // TODO: xử lý Bomber ăn Item + if (e instanceof Bomber) { + Sound.play("Item"); + handleItemActive(); + _active = true; + Game.getBoard().addActiveItem(this); + remove(); + } + return false; + } + + @Override + public void update() { + if (!_active) return; + if (_duration > 0) { + _duration--; + } else { + handleItemInactive(); + _active = false; + } + } } diff --git a/src/uet/oop/bomberman/entities/tile/item/SpeedItem.java b/src/uet/oop/bomberman/entities/tile/item/SpeedItem.java index 7bc50b7..b752c14 100644 --- a/src/uet/oop/bomberman/entities/tile/item/SpeedItem.java +++ b/src/uet/oop/bomberman/entities/tile/item/SpeedItem.java @@ -13,14 +13,12 @@ public SpeedItem(int x, int y, Sprite sprite) { } @Override - public boolean collide(Entity e) { - // TODO: xử lý Bomber ăn Item - if (e instanceof Bomber) { - - Sound.play("Item"); - Game.addBomberSpeed(0.5); - remove(); - } - return false; + protected void handleItemActive() { + Game.addBomberSpeed(0.5); + } + + @Override + protected void handleItemInactive() { + Game.addBomberSpeed(-0.5); } } From 8c9d30ed685b47edd64d772771017250c85cea8e Mon Sep 17 00:00:00 2001 From: Hang Le Thi Bich <21522041@gm.uit.edu.vn> Date: Mon, 6 May 2024 13:12:43 +0700 Subject: [PATCH 03/93] select level --- src/uet/oop/bomberman/Game.java | 129 +++++++++++------- src/uet/oop/bomberman/graphics/Screen.java | 5 +- src/uet/oop/bomberman/gui/GameScreen.java | 8 ++ src/uet/oop/bomberman/input/Keyboard.java | 6 + .../bomberman/screen/SelectLevelScreen.java | 102 ++++++++++++++ src/uet/oop/bomberman/utils/EGameLevel.java | 17 +++ src/uet/oop/bomberman/utils/EScreenName.java | 6 + src/uet/oop/bomberman/utils/Global.java | 8 ++ 8 files changed, 231 insertions(+), 50 deletions(-) create mode 100644 src/uet/oop/bomberman/gui/GameScreen.java create mode 100644 src/uet/oop/bomberman/screen/SelectLevelScreen.java create mode 100644 src/uet/oop/bomberman/utils/EGameLevel.java create mode 100644 src/uet/oop/bomberman/utils/EScreenName.java create mode 100644 src/uet/oop/bomberman/utils/Global.java diff --git a/src/uet/oop/bomberman/Game.java b/src/uet/oop/bomberman/Game.java index 340459b..ef78f05 100644 --- a/src/uet/oop/bomberman/Game.java +++ b/src/uet/oop/bomberman/Game.java @@ -3,6 +3,9 @@ import uet.oop.bomberman.graphics.Screen; import uet.oop.bomberman.gui.Frame; import uet.oop.bomberman.input.Keyboard; +import uet.oop.bomberman.screen.SelectLevelScreen; +import uet.oop.bomberman.utils.EScreenName; +import uet.oop.bomberman.utils.Global; import java.awt.*; import java.awt.image.BufferStrategy; @@ -52,6 +55,14 @@ public class Game extends Canvas { private BufferedImage image = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_RGB); private int[] pixels = ((DataBufferInt)image.getRaster().getDataBuffer()).getData(); + + // game variable + private int frames; + private int updates; + private long timer; + + // game screens + private SelectLevelScreen selectLevelScreen; public Game(Frame frame) { _frame = frame; @@ -62,16 +73,12 @@ public Game(Frame frame) { _board = new Board(this, _input, screen); addKeyListener(_input); + + initScreen(); } - private void renderGame() { - BufferStrategy bs = getBufferStrategy(); - if(bs == null) { - createBufferStrategy(3); - return; - } - + private void renderGame(Graphics g) { screen.clear(); _board.render(screen); @@ -80,46 +87,93 @@ private void renderGame() { pixels[i] = screen._pixels[i]; } - Graphics g = bs.getDrawGraphics(); - g.drawImage(image, 0, 0, getWidth(), getHeight(), null); _board.renderMessages(g); - - g.dispose(); - bs.show(); } - private void renderScreen() { + private void renderScreen(Graphics g) { + screen.clear(); + _board.drawScreen(g); + } + + private void initScreen() { + Global.currentScreen = EScreenName.SELECT_LEVEL_SCREEN; + + this.selectLevelScreen = new SelectLevelScreen(_input); + } + + private void update() { + _input.update(); + switch (Global.currentScreen) { + case GAME_PLAY_SCREEN: + _board.update(); + break; + case SELECT_LEVEL_SCREEN: + // TODO: call select level screen update + selectLevelScreen.update(); + break; + } + } + + private void showScreen() { BufferStrategy bs = getBufferStrategy(); if(bs == null) { createBufferStrategy(3); return; } - - screen.clear(); - Graphics g = bs.getDrawGraphics(); - - _board.drawScreen(g); + + switch (Global.currentScreen) { + case GAME_PLAY_SCREEN: + if(_paused) { + if(_screenDelay <= 0) { + _board.setShow(-1); + _paused = false; + } + + renderScreen(g); + } else { + renderGame(g); + } + + + frames++; + if(System.currentTimeMillis() - timer > 1000) { + _frame.setTime(_board.subtractTime()); + _frame.setPoints(_board.getPoints()); + timer += 1000; + _frame.setTitle(TITLE + " | " + updates + " rate, " + frames + " fps"); + updates = 0; + frames = 0; + + if(_board.getShow() == 2) + --_screenDelay; + } + break; + case SELECT_LEVEL_SCREEN: + // TODO: render select level screen + selectLevelScreen.drawScreen(g); + break; + } g.dispose(); bs.show(); } - private void update() { - _input.update(); - _board.update(); + private void initGame() { + this.timer = System.currentTimeMillis(); + this.frames = 0; + this.updates = 0; } public void start() { _running = true; + + initGame(); long lastTime = System.nanoTime(); - long timer = System.currentTimeMillis(); final double ns = 1000000000.0 / 60.0; //nanosecond, 60 frames per second double delta = 0; - int frames = 0; - int updates = 0; requestFocus(); while(_running) { long now = System.nanoTime(); @@ -130,31 +184,8 @@ public void start() { updates++; delta--; } - - if(_paused) { - if(_screenDelay <= 0) { - _board.setShow(-1); - _paused = false; - } - - renderScreen(); - } else { - renderGame(); - } - - - frames++; - if(System.currentTimeMillis() - timer > 1000) { - _frame.setTime(_board.subtractTime()); - _frame.setPoints(_board.getPoints()); - timer += 1000; - _frame.setTitle(TITLE + " | " + updates + " rate, " + frames + " fps"); - updates = 0; - frames = 0; - - if(_board.getShow() == 2) - --_screenDelay; - } + + showScreen(); } } diff --git a/src/uet/oop/bomberman/graphics/Screen.java b/src/uet/oop/bomberman/graphics/Screen.java index 2494ea2..8cbc134 100644 --- a/src/uet/oop/bomberman/graphics/Screen.java +++ b/src/uet/oop/bomberman/graphics/Screen.java @@ -4,6 +4,7 @@ import uet.oop.bomberman.Game; import uet.oop.bomberman.entities.Entity; import uet.oop.bomberman.entities.character.Bomber; +import uet.oop.bomberman.utils.Global; import java.awt.*; @@ -22,7 +23,9 @@ public Screen(int width, int height) { _height = height; _pixels = new int[width * height]; - + + Global.screenWidth = this.getRealWidth(); + Global.screenHeight = this.getRealHeight(); } public void clear() { diff --git a/src/uet/oop/bomberman/gui/GameScreen.java b/src/uet/oop/bomberman/gui/GameScreen.java new file mode 100644 index 0000000..93a79c1 --- /dev/null +++ b/src/uet/oop/bomberman/gui/GameScreen.java @@ -0,0 +1,8 @@ +package uet.oop.bomberman.gui; + +import java.awt.*; + +public abstract class GameScreen { + public abstract void drawScreen(Graphics g); + public abstract void update(); +} diff --git a/src/uet/oop/bomberman/input/Keyboard.java b/src/uet/oop/bomberman/input/Keyboard.java index bb8daad..bdae548 100644 --- a/src/uet/oop/bomberman/input/Keyboard.java +++ b/src/uet/oop/bomberman/input/Keyboard.java @@ -7,9 +7,15 @@ * Tiếp nhận và xử lý các sự kiện nhập từ bàn phím */ public class Keyboard implements KeyListener { + + public interface KeyboardInputCallback { + void keyInputDelay(); + } private boolean[] keys = new boolean[120]; //120 is enough to this game public boolean up, down, left, right, space; + private boolean delayUp, delayDown; + public KeyboardInputCallback keyboardInputCallback; public void update() { up = keys[KeyEvent.VK_UP] || keys[KeyEvent.VK_W]; diff --git a/src/uet/oop/bomberman/screen/SelectLevelScreen.java b/src/uet/oop/bomberman/screen/SelectLevelScreen.java new file mode 100644 index 0000000..60ef5b7 --- /dev/null +++ b/src/uet/oop/bomberman/screen/SelectLevelScreen.java @@ -0,0 +1,102 @@ +package uet.oop.bomberman.screen; + +import uet.oop.bomberman.Game; +import uet.oop.bomberman.gui.GameScreen; +import uet.oop.bomberman.input.Keyboard; +import uet.oop.bomberman.utils.EGameLevel; +import uet.oop.bomberman.utils.Global; + +import java.awt.*; +import java.util.ArrayList; + +public class SelectLevelScreen extends GameScreen { + ArrayList levels = new ArrayList(); + int selectorIndex = 0; + private Keyboard _input; + + public SelectLevelScreen(Keyboard input) { + _input = input; + + levels.add(EGameLevel.EASY.getStringLevel()); + levels.add(EGameLevel.MEDIUM.getStringLevel()); + levels.add(EGameLevel.HARD.getStringLevel()); + } + + @Override + public void drawScreen(Graphics g) { + // set background + g.setColor(Color.black); + g.fillRect(0, 0, Global.screenWidth, Global.screenHeight); + + drawTitle(g); + drawOptions(g); + drawSelector(g); + } + + private void drawTitle(Graphics g) { + String title = "SELECT LEVEL"; + Font font = new Font("Arial", Font.BOLD, 20 * Game.SCALE); + g.setFont(font); + g.setColor(Color.white); + + FontMetrics fm = g.getFontMetrics(); + int x = (Global.screenWidth - fm.stringWidth(title)) / 2; + int marginTop = 20; + int y = marginTop + fm.getAscent(); + + g.drawString(title, x, y); + } + + private void drawOptions(Graphics g) { + Font font = new Font("Arial", Font.PLAIN, 10 * Game.SCALE); + g.setFont(font); + g.setColor(Color.white); + + int w = Global.screenWidth; + int h = Global.screenHeight; + FontMetrics fm = g.getFontMetrics(); + int textHeight = fm.getAscent() + fm.getDescent(); + int boxHeight = textHeight * this.levels.size(); + int marginTop = (h - boxHeight) / 2; + + for (int i=0; i < this.levels.size(); i++) { + String level = this.levels.get(i); + int x = (w - fm.stringWidth(level)) / 2; + int y = marginTop + fm.getAscent() + textHeight*i; + + g.drawString(level, x, y); + } + } + + private void drawSelector(Graphics g) { + String level = this.levels.get(selectorIndex); + int w = Global.screenWidth; + int h = Global.screenHeight; + FontMetrics fm = g.getFontMetrics(); + int textHeight = fm.getAscent() + fm.getDescent(); + int boxHeight = textHeight * this.levels.size(); + int marginTop = (h - boxHeight) / 2; + + int x = (w - fm.stringWidth(level)) / 2 - 30; + int y = marginTop + fm.getAscent() + textHeight*selectorIndex; + + g.drawString(">", x, y); + } + + @Override + public void update() { + if (_input.getSingleUp()) { + System.out.print("vao day up"); + selectorIndex++; + } else if (_input.getSingleDown()) { + selectorIndex--; + System.out.print("vao day down"); + } + + if (selectorIndex < 0) { + selectorIndex = levels.size() - 1; + } else if (selectorIndex > levels.size() - 1) { + selectorIndex = 0; + } + } +} diff --git a/src/uet/oop/bomberman/utils/EGameLevel.java b/src/uet/oop/bomberman/utils/EGameLevel.java new file mode 100644 index 0000000..7644772 --- /dev/null +++ b/src/uet/oop/bomberman/utils/EGameLevel.java @@ -0,0 +1,17 @@ +package uet.oop.bomberman.utils; + +public enum EGameLevel { + EASY("Easy"), + MEDIUM("Medium"), + HARD("Hard"); + + private final String level; + + EGameLevel(String level) { + this.level = level; + } + + public String getStringLevel() { + return this.level; + } +} diff --git a/src/uet/oop/bomberman/utils/EScreenName.java b/src/uet/oop/bomberman/utils/EScreenName.java new file mode 100644 index 0000000..515a6e8 --- /dev/null +++ b/src/uet/oop/bomberman/utils/EScreenName.java @@ -0,0 +1,6 @@ +package uet.oop.bomberman.utils; + +public enum EScreenName { + SELECT_LEVEL_SCREEN, + GAME_PLAY_SCREEN, +} diff --git a/src/uet/oop/bomberman/utils/Global.java b/src/uet/oop/bomberman/utils/Global.java new file mode 100644 index 0000000..623e0a6 --- /dev/null +++ b/src/uet/oop/bomberman/utils/Global.java @@ -0,0 +1,8 @@ +package uet.oop.bomberman.utils; + +public class Global { + public static int screenWidth; + public static int screenHeight; + + public static EScreenName currentScreen; +} From 471cbc535f68b015463c384fe8c40137816362b5 Mon Sep 17 00:00:00 2001 From: Hang Le Thi Bich <21522041@gm.uit.edu.vn> Date: Mon, 6 May 2024 23:19:41 +0700 Subject: [PATCH 04/93] select level keyboard input --- src/uet/oop/bomberman/input/Keyboard.java | 42 +++++++++++++++++-- .../bomberman/screen/SelectLevelScreen.java | 39 ++++++++++------- src/uet/oop/bomberman/utils/EGameControl.java | 11 +++++ 3 files changed, 73 insertions(+), 19 deletions(-) create mode 100644 src/uet/oop/bomberman/utils/EGameControl.java diff --git a/src/uet/oop/bomberman/input/Keyboard.java b/src/uet/oop/bomberman/input/Keyboard.java index bdae548..7026dc9 100644 --- a/src/uet/oop/bomberman/input/Keyboard.java +++ b/src/uet/oop/bomberman/input/Keyboard.java @@ -1,7 +1,10 @@ package uet.oop.bomberman.input; +import uet.oop.bomberman.utils.EGameControl; + import java.awt.event.KeyEvent; import java.awt.event.KeyListener; +import java.util.Optional; /** * Tiếp nhận và xử lý các sự kiện nhập từ bàn phím @@ -9,13 +12,12 @@ public class Keyboard implements KeyListener { public interface KeyboardInputCallback { - void keyInputDelay(); + void onKeyPressed(EGameControl gameControl); } private boolean[] keys = new boolean[120]; //120 is enough to this game public boolean up, down, left, right, space; - private boolean delayUp, delayDown; - public KeyboardInputCallback keyboardInputCallback; + public Optional keyboardInputCallback; public void update() { up = keys[KeyEvent.VK_UP] || keys[KeyEvent.VK_W]; @@ -25,13 +27,45 @@ public void update() { space = keys[KeyEvent.VK_SPACE] || keys[KeyEvent.VK_X]; } + private EGameControl keyToGameControl(int keyCode) { + if (keyCode == KeyEvent.VK_UP || keyCode == KeyEvent.VK_W) { + return EGameControl.UP; + } + + if (keyCode == KeyEvent.VK_DOWN || keyCode == KeyEvent.VK_S) { + return EGameControl.DOWN; + } + + if (keyCode == KeyEvent.VK_LEFT || keyCode == KeyEvent.VK_A) { + return EGameControl.LEFT; + } + + if (keyCode == KeyEvent.VK_RIGHT || keyCode == KeyEvent.VK_D) { + return EGameControl.RIGHT; + } + + if (keyCode == KeyEvent.VK_SPACE || keyCode == KeyEvent.VK_X) { + return EGameControl.SPACE; + } + + if (keyCode == KeyEvent.VK_ENTER) { + return EGameControl.ENTER; + } + + return EGameControl.NONE; + } + @Override public void keyTyped(KeyEvent e) {} @Override public void keyPressed(KeyEvent e) { keys[e.getKeyCode()] = true; - + + if (keyboardInputCallback.isPresent()) { + KeyboardInputCallback callback = keyboardInputCallback.get(); + callback.onKeyPressed(keyToGameControl(e.getKeyCode())); + } } @Override diff --git a/src/uet/oop/bomberman/screen/SelectLevelScreen.java b/src/uet/oop/bomberman/screen/SelectLevelScreen.java index 60ef5b7..34d51bc 100644 --- a/src/uet/oop/bomberman/screen/SelectLevelScreen.java +++ b/src/uet/oop/bomberman/screen/SelectLevelScreen.java @@ -3,10 +3,13 @@ import uet.oop.bomberman.Game; import uet.oop.bomberman.gui.GameScreen; import uet.oop.bomberman.input.Keyboard; +import uet.oop.bomberman.utils.EGameControl; import uet.oop.bomberman.utils.EGameLevel; +import uet.oop.bomberman.utils.EScreenName; import uet.oop.bomberman.utils.Global; import java.awt.*; +import java.awt.event.KeyEvent; import java.util.ArrayList; public class SelectLevelScreen extends GameScreen { @@ -20,6 +23,26 @@ public SelectLevelScreen(Keyboard input) { levels.add(EGameLevel.EASY.getStringLevel()); levels.add(EGameLevel.MEDIUM.getStringLevel()); levels.add(EGameLevel.HARD.getStringLevel()); + + _input.keyboardInputCallback = java.util.Optional.of(new Keyboard.KeyboardInputCallback() { + @Override + public void onKeyPressed(EGameControl gameControl) { + switch (gameControl) { + case UP: + selectorIndex--; + case DOWN: + selectorIndex++; + case ENTER: + Global.currentScreen = EScreenName.GAME_PLAY_SCREEN; + } + + if (selectorIndex < 0) { + selectorIndex = levels.size() - 1; + } else if (selectorIndex > levels.size() - 1) { + selectorIndex = 0; + } + } + }); } @Override @@ -84,19 +107,5 @@ private void drawSelector(Graphics g) { } @Override - public void update() { - if (_input.getSingleUp()) { - System.out.print("vao day up"); - selectorIndex++; - } else if (_input.getSingleDown()) { - selectorIndex--; - System.out.print("vao day down"); - } - - if (selectorIndex < 0) { - selectorIndex = levels.size() - 1; - } else if (selectorIndex > levels.size() - 1) { - selectorIndex = 0; - } - } + public void update() {} } diff --git a/src/uet/oop/bomberman/utils/EGameControl.java b/src/uet/oop/bomberman/utils/EGameControl.java new file mode 100644 index 0000000..fa8cea4 --- /dev/null +++ b/src/uet/oop/bomberman/utils/EGameControl.java @@ -0,0 +1,11 @@ +package uet.oop.bomberman.utils; + +public enum EGameControl { + NONE, + UP, + DOWN, + LEFT, + RIGHT, + ENTER, + SPACE, +} From 42623970ee4a500b1c9dd7bddf861f09513ae468 Mon Sep 17 00:00:00 2001 From: Hang Le Thi Bich <21522041@gm.uit.edu.vn> Date: Tue, 7 May 2024 17:50:37 +0700 Subject: [PATCH 05/93] update keyboard input --- src/uet/oop/bomberman/screen/SelectLevelScreen.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/uet/oop/bomberman/screen/SelectLevelScreen.java b/src/uet/oop/bomberman/screen/SelectLevelScreen.java index 34d51bc..33fb2a1 100644 --- a/src/uet/oop/bomberman/screen/SelectLevelScreen.java +++ b/src/uet/oop/bomberman/screen/SelectLevelScreen.java @@ -30,10 +30,13 @@ public void onKeyPressed(EGameControl gameControl) { switch (gameControl) { case UP: selectorIndex--; + break; case DOWN: selectorIndex++; + break; case ENTER: Global.currentScreen = EScreenName.GAME_PLAY_SCREEN; + break; } if (selectorIndex < 0) { From 8ad3da91f7db85eedb4dbf18d54c8561e5b0f6f8 Mon Sep 17 00:00:00 2001 From: 21522098_HuyHoang <21522098@gm.uit.edu.vn> Date: Fri, 10 May 2024 10:47:02 +0700 Subject: [PATCH 06/93] Pause_game w P,and Button on Screen --- src/uet/oop/bomberman/Game.java | 28 ++++++++++++------- src/uet/oop/bomberman/graphics/Screen.java | 7 ----- src/uet/oop/bomberman/gui/InfoPanel.java | 31 +++++++++++++++++++--- src/uet/oop/bomberman/input/Keyboard.java | 3 ++- 4 files changed, 47 insertions(+), 22 deletions(-) diff --git a/src/uet/oop/bomberman/Game.java b/src/uet/oop/bomberman/Game.java index 53e5c53..74bc69f 100644 --- a/src/uet/oop/bomberman/Game.java +++ b/src/uet/oop/bomberman/Game.java @@ -108,11 +108,16 @@ private void renderScreen() { private void update() { _input.update(); _board.update(); + if (_input.pause) { // Kiểm tra nếu phím "p" được nhấn + _board.setShow(3); // Hiển thị màn hình tạm dừng + _paused = true; // Đặt trạng thái game là tạm dừng + return; + } } public void start() { _running = true; - + _paused = false; long lastTime = System.nanoTime(); long timer = System.currentTimeMillis(); final double ns = 1000000000.0 / 60.0; //nanosecond, 60 frames per second @@ -129,17 +134,20 @@ public void start() { updates++; delta--; } - - if(_paused) { - if(_screenDelay <= 0) { - _board.setShow(-1); - _paused = false; - } - - renderScreen(); + if (_input.pause) { + _paused = !_paused; + if (_paused) { + _board.setShow(3); } else { - renderGame(); + _board.setShow(-1); } + } + + if(_paused) { + renderScreen(); + } else { + renderGame(); + } frames++; diff --git a/src/uet/oop/bomberman/graphics/Screen.java b/src/uet/oop/bomberman/graphics/Screen.java index 2494ea2..fa3b2e9 100644 --- a/src/uet/oop/bomberman/graphics/Screen.java +++ b/src/uet/oop/bomberman/graphics/Screen.java @@ -24,13 +24,6 @@ public Screen(int width, int height) { _pixels = new int[width * height]; } - - public void clear() { - for (int i = 0; i < _pixels.length; i++) { - _pixels[i] = 0; - } - } - public void renderEntity(int xp, int yp, Entity entity) { //save entity pixels xp -= xOffset; yp -= yOffset; diff --git a/src/uet/oop/bomberman/gui/InfoPanel.java b/src/uet/oop/bomberman/gui/InfoPanel.java index de01310..4ef0cfd 100644 --- a/src/uet/oop/bomberman/gui/InfoPanel.java +++ b/src/uet/oop/bomberman/gui/InfoPanel.java @@ -1,8 +1,13 @@ package uet.oop.bomberman.gui; - +import java.awt.event.ActionListener; +import uet.oop.bomberman.Board; import uet.oop.bomberman.Game; import javax.swing.*; + + +import javafx.event.ActionEvent; + import java.awt.*; /** @@ -10,11 +15,13 @@ */ public class InfoPanel extends JPanel { + private static Board _board; + private boolean gamePaused = false; private JLabel timeLabel; private JLabel pointsLabel; - + private JButton pauseButton; public InfoPanel(Game game) { - setLayout(new GridLayout()); + setLayout(new GridLayout(1, 3)); timeLabel = new JLabel("Time: " + game.getBoard().getTime()); timeLabel.setForeground(Color.white); @@ -24,9 +31,25 @@ public InfoPanel(Game game) { pointsLabel.setForeground(Color.white); pointsLabel.setHorizontalAlignment(JLabel.CENTER); + pauseButton = new JButton("Pause"); + pauseButton.setForeground(Color.white); + pauseButton.setHorizontalAlignment(JButton.CENTER); + pauseButton.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + // Nếu trò chơi đang tạm dừng, tiếp tục trò chơi và thay đổi trạng thái + if (gamePaused) { + _board.setShow(3); // Tiếp tục trò chơi + gamePaused = false; // Thay đổi trạng thái + } else { // Nếu trò chơi đang chạy, tạm dừng trò chơi và thay đổi trạng thái + _board.setShow(-1); // Tạm dừng trò chơi + gamePaused = true; // Thay đổi trạng thái + } + } + }); add(timeLabel); add(pointsLabel); - + add(pauseButton); setBackground(Color.black); setPreferredSize(new Dimension(0, 40)); } diff --git a/src/uet/oop/bomberman/input/Keyboard.java b/src/uet/oop/bomberman/input/Keyboard.java index bb8daad..44fdf07 100644 --- a/src/uet/oop/bomberman/input/Keyboard.java +++ b/src/uet/oop/bomberman/input/Keyboard.java @@ -9,7 +9,7 @@ public class Keyboard implements KeyListener { private boolean[] keys = new boolean[120]; //120 is enough to this game - public boolean up, down, left, right, space; + public boolean up, down, left, right, space,pause; public void update() { up = keys[KeyEvent.VK_UP] || keys[KeyEvent.VK_W]; @@ -17,6 +17,7 @@ public void update() { left = keys[KeyEvent.VK_LEFT] || keys[KeyEvent.VK_A]; right = keys[KeyEvent.VK_RIGHT] || keys[KeyEvent.VK_D]; space = keys[KeyEvent.VK_SPACE] || keys[KeyEvent.VK_X]; + pause = keys[KeyEvent.VK_P]; } @Override From e4d259dd414b42284eec518d36b1b1793a1c4777 Mon Sep 17 00:00:00 2001 From: 21522098 <21522098@gm.uit.edu.vn> Date: Sat, 11 May 2024 13:25:09 +0700 Subject: [PATCH 07/93] Pause-game --- src/uet/oop/bomberman/graphics/Screen.java | 6 +++++- src/uet/oop/bomberman/gui/InfoPanel.java | 15 +-------------- 2 files changed, 6 insertions(+), 15 deletions(-) diff --git a/src/uet/oop/bomberman/graphics/Screen.java b/src/uet/oop/bomberman/graphics/Screen.java index fa3b2e9..9aa0058 100644 --- a/src/uet/oop/bomberman/graphics/Screen.java +++ b/src/uet/oop/bomberman/graphics/Screen.java @@ -56,7 +56,11 @@ public void renderEntityWithBelowSprite(int xp, int yp, Entity entity, Sprite be } } } - + public void clear() { + for (int i = 0; i < _pixels.length; i++) { + _pixels[i] = 0; + } + } public static void setOffset(int xO, int yO) { xOffset = xO; yOffset = yO; diff --git a/src/uet/oop/bomberman/gui/InfoPanel.java b/src/uet/oop/bomberman/gui/InfoPanel.java index 4ef0cfd..366a835 100644 --- a/src/uet/oop/bomberman/gui/InfoPanel.java +++ b/src/uet/oop/bomberman/gui/InfoPanel.java @@ -6,7 +6,7 @@ import javax.swing.*; -import javafx.event.ActionEvent; +import javafx.event.*; import java.awt.*; @@ -34,19 +34,6 @@ public InfoPanel(Game game) { pauseButton = new JButton("Pause"); pauseButton.setForeground(Color.white); pauseButton.setHorizontalAlignment(JButton.CENTER); - pauseButton.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - // Nếu trò chơi đang tạm dừng, tiếp tục trò chơi và thay đổi trạng thái - if (gamePaused) { - _board.setShow(3); // Tiếp tục trò chơi - gamePaused = false; // Thay đổi trạng thái - } else { // Nếu trò chơi đang chạy, tạm dừng trò chơi và thay đổi trạng thái - _board.setShow(-1); // Tạm dừng trò chơi - gamePaused = true; // Thay đổi trạng thái - } - } - }); add(timeLabel); add(pointsLabel); add(pauseButton); From 091ad4e7b62f56ead21855d3406f55bd2404152b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ph=C6=B0=C6=A1ng=20Minh?= <113281373+phuonnngminh@users.noreply.github.com> Date: Sat, 11 May 2024 13:56:34 +0700 Subject: [PATCH 08/93] display item time --- src/uet/oop/bomberman/Board.java | 237 ++++++++++-------- src/uet/oop/bomberman/Game.java | 125 ++++----- .../entities/tile/item/BombItem.java | 5 + .../entities/tile/item/FlameItem.java | 5 + .../bomberman/entities/tile/item/Item.java | 30 ++- .../entities/tile/item/SpeedItem.java | 5 + src/uet/oop/bomberman/gui/Frame.java | 4 + src/uet/oop/bomberman/gui/InfoPanel.java | 38 ++- 8 files changed, 263 insertions(+), 186 deletions(-) diff --git a/src/uet/oop/bomberman/Board.java b/src/uet/oop/bomberman/Board.java index 9c503b4..0bf31f2 100644 --- a/src/uet/oop/bomberman/Board.java +++ b/src/uet/oop/bomberman/Board.java @@ -27,71 +27,78 @@ public class Board implements IRender { protected Game _game; protected Keyboard _input; protected Screen _screen; - + public Entity[] _entities; public List _characters = new ArrayList<>(); protected List _bombs = new ArrayList<>(); private List _messages = new ArrayList<>(); private List _activeItems = new ArrayList<>(); - - private int _screenToShow = -1; //1:endgame, 2:changelevel, 3:paused - + + public List getActiveItems() { + return _activeItems; + } + + private int _screenToShow = -1; // 1:endgame, 2:changelevel, 3:paused + private int _time = Game.TIME; private int _points = Game.POINTS; - + public Board(Game game, Keyboard input, Screen screen) { _game = game; _input = input; _screen = screen; - - loadLevel(1); //start in level 1 + + loadLevel(1); // start in level 1 } - + @Override public void update() { - if( _game.isPaused() ) return; - + if (_game.isPaused()) + return; + updateEntities(); updateCharacters(); updateBombs(); updateMessages(); updateActiveItems(); detectEndGame(); - + for (int i = 0; i < _characters.size(); i++) { Character a = _characters.get(i); - if(a.isRemoved()) _characters.remove(i); + if (a.isRemoved()) + _characters.remove(i); } } @Override public void render(Screen screen) { - if( _game.isPaused() ) return; - - //only render the visible part of screen - int x0 = Screen.xOffset >> 4; //tile precision, -> left X + if (_game.isPaused()) + return; + + // only render the visible part of screen + int x0 = Screen.xOffset >> 4; // tile precision, -> left X int x1 = (Screen.xOffset + screen.getWidth() + Game.TILES_SIZE) / Game.TILES_SIZE; // -> right X int y0 = Screen.yOffset >> 4; - int y1 = (Screen.yOffset + screen.getHeight()) / Game.TILES_SIZE; //render one tile plus to fix black margins - + int y1 = (Screen.yOffset + screen.getHeight()) / Game.TILES_SIZE; // render one tile plus to fix black margins + for (int y = y0; y < y1; y++) { for (int x = x0; x < x1; x++) { _entities[x + y * _levelLoader.getWidth()].render(screen); } } - + renderBombs(screen); renderCharacter(screen); - + } - + public void nextLevel() { - Game.setBombRadius(1); - Game.setBombRate(1); - Game.setBomberSpeed(1.0); + Game.setBombRadius(1); + Game.setBombRate(1); + Game.setBomberSpeed(1.0); loadLevel(_levelLoader.getLevel() + 1); } - + public void loadLevel(int level) { _time = Game.TIME; _screenToShow = 2; @@ -100,38 +107,38 @@ public void loadLevel(int level) { _characters.clear(); _bombs.clear(); _messages.clear(); - + try { _levelLoader = new FileLevelLoader(this, level); _entities = new Entity[_levelLoader.getHeight() * _levelLoader.getWidth()]; - + _levelLoader.createEntities(); } catch (LoadLevelException e) { endGame(); } } - + protected void detectEndGame() { - if(_time <= 0) + if (_time <= 0) endGame(); } - + public void endGame() { _screenToShow = 1; _game.resetScreenDelay(); _game.pause(); } - + public boolean detectNoEnemies() {// phat hien enemies int total = 0; for (int i = 0; i < _characters.size(); i++) { - if(_characters.get(i) instanceof Bomber == false) + if (_characters.get(i) instanceof Bomber == false) ++total; } - + return total == 0; } - + public void drawScreen(Graphics g) { switch (_screenToShow) { case 1: @@ -145,178 +152,186 @@ public void drawScreen(Graphics g) { break; } } - + public Entity getEntity(double x, double y, Character m) { - + Entity res = null; - - res = getFlameSegmentAt((int)x, (int)y); - if( res != null) return res; - + + res = getFlameSegmentAt((int) x, (int) y); + if (res != null) + return res; + res = getBombAt(x, y); - if( res != null) return res; - - res = getCharacterAtExcluding((int)x, (int)y, m); - if( res != null) return res; - - res = getEntityAt((int)x, (int)y); - + if (res != null) + return res; + + res = getCharacterAtExcluding((int) x, (int) y, m); + if (res != null) + return res; + + res = getEntityAt((int) x, (int) y); + return res; } - + public List getBombs() { return _bombs; } - + public Bomb getBombAt(double x, double y) { Iterator bs = _bombs.iterator(); Bomb b; - while(bs.hasNext()) { + while (bs.hasNext()) { b = bs.next(); - if(b.getX() == (int)x && b.getY() == (int)y) + if (b.getX() == (int) x && b.getY() == (int) y) return b; } - + return null; } public Bomber getBomber() { Iterator itr = _characters.iterator(); - + Character cur; - while(itr.hasNext()) { + while (itr.hasNext()) { cur = itr.next(); - - if(cur instanceof Bomber) + + if (cur instanceof Bomber) return (Bomber) cur; } - + return null; } - + public Character getCharacterAtExcluding(int x, int y, Character a) { Iterator itr = _characters.iterator(); - + Character cur; - while(itr.hasNext()) { + while (itr.hasNext()) { cur = itr.next(); - if(cur == a) { + if (cur == a) { continue; } - - if(cur.getXTile() == x && cur.getYTile() == y) { + + if (cur.getXTile() == x && cur.getYTile() == y) { return cur; } - + } - + return null; } - + public FlameSegment getFlameSegmentAt(int x, int y) { Iterator bs = _bombs.iterator(); Bomb b; - while(bs.hasNext()) { + while (bs.hasNext()) { b = bs.next(); - + FlameSegment e = b.flameAt(x, y); - if(e != null) { + if (e != null) { return e; } } - + return null; } - + public Entity getEntityAt(double x, double y) { - return _entities[(int)x + (int)y * _levelLoader.getWidth()]; + return _entities[(int) x + (int) y * _levelLoader.getWidth()]; } public void addActiveItem(Item item) { _activeItems.add(item); } - + public void addEntity(int pos, Entity e) { _entities[pos] = e; } - + public void addCharacter(Character e) { _characters.add(e); } - + public void addBomb(Bomb e) { _bombs.add(e); } - + public void addMessage(Message e) { _messages.add(e); } protected void renderCharacter(Screen screen) { Iterator itr = _characters.iterator(); - - while(itr.hasNext()) + + while (itr.hasNext()) itr.next().render(screen); } - + protected void renderBombs(Screen screen) { Iterator itr = _bombs.iterator(); - - while(itr.hasNext()) + + while (itr.hasNext()) itr.next().render(screen); } - + public void renderMessages(Graphics g) { Message m; for (int i = 0; i < _messages.size(); i++) { m = _messages.get(i); - + g.setFont(new Font("Arial", Font.PLAIN, m.getSize())); g.setColor(m.getColor()); - g.drawString(m.getMessage(), (int)m.getX() - Screen.xOffset * Game.SCALE, (int)m.getY()); + g.drawString(m.getMessage(), (int) m.getX() - Screen.xOffset * Game.SCALE, (int) m.getY()); } } - + protected void updateEntities() { - if( _game.isPaused() ) return; + if (_game.isPaused()) + return; for (int i = 0; i < _entities.length; i++) { _entities[i].update(); } } - + protected void updateCharacters() { - if( _game.isPaused() ) return; + if (_game.isPaused()) + return; Iterator itr = _characters.iterator(); - - while(itr.hasNext() && !_game.isPaused()) + + while (itr.hasNext() && !_game.isPaused()) itr.next().update(); } - + protected void updateBombs() { - if( _game.isPaused() ) return; + if (_game.isPaused()) + return; Iterator itr = _bombs.iterator(); - - while(itr.hasNext()) + + while (itr.hasNext()) itr.next().update(); } - + protected void updateActiveItems() { - if( _game.isPaused() ) return; + if (_game.isPaused()) + return; Iterator itr = _activeItems.iterator(); - - while(itr.hasNext()) + + while (itr.hasNext()) itr.next().update(); } - + protected void updateMessages() { - if( _game.isPaused() ) return; + if (_game.isPaused()) + return; Message m; int left; for (int i = 0; i < _messages.size(); i++) { m = _messages.get(i); left = m.getDuration(); - - if(left > 0) + + if (left > 0) m.setDuration(--left); else _messages.remove(i); @@ -324,10 +339,18 @@ protected void updateMessages() { } public int subtractTime() { - if(_game.isPaused()) - return this._time; + if (!_game.isPaused() && _time > 0) + return --_time; else - return this._time--; + return _time; + } + + public int getItemTime() { + int totalTime = 0; + for (int i = 0; i < _activeItems.size(); i++) { + totalTime += _activeItems.get(i).getDuration() / 60; + } + return totalTime; } public Keyboard getInput() { @@ -361,7 +384,7 @@ public int getPoints() { public void addPoints(int points) { this._points += points; } - + public int getWidth() { return _levelLoader.getWidth(); } @@ -369,5 +392,5 @@ public int getWidth() { public int getHeight() { return _levelLoader.getHeight(); } - + } diff --git a/src/uet/oop/bomberman/Game.java b/src/uet/oop/bomberman/Game.java index 340459b..f043707 100644 --- a/src/uet/oop/bomberman/Game.java +++ b/src/uet/oop/bomberman/Game.java @@ -15,91 +15,88 @@ */ public class Game extends Canvas { - - public static final int TILES_SIZE = 16, - WIDTH = TILES_SIZE * (31 / 2), - HEIGHT = 13 * TILES_SIZE; + WIDTH = TILES_SIZE * (31 / 2), + HEIGHT = 13 * TILES_SIZE; public static int SCALE = 3; - + public static final String TITLE = "BombermanGame"; - + private static final int BOMBRATE = 1; private static final int BOMBRADIUS = 1; - private static final double BOMBERSPEED = 1.0;//toc do bomber - + private static final double BOMBERSPEED = 1.0;// toc do bomber + private static int itemTime; + public static final int TIME = 200; public static final int ITEM_TIME = 20; public static final int POINTS = 0; - + protected static int SCREENDELAY = 3; protected static int bombRate = BOMBRATE; protected static int bombRadius = BOMBRADIUS; protected static double bomberSpeed = BOMBERSPEED; - - + protected int _screenDelay = SCREENDELAY; - + private Keyboard _input; private boolean _running = false; private boolean _paused = true; - + private static Board _board; private Screen screen; private Frame _frame; - + private BufferedImage image = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_RGB); - private int[] pixels = ((DataBufferInt)image.getRaster().getDataBuffer()).getData(); - + private int[] pixels = ((DataBufferInt) image.getRaster().getDataBuffer()).getData(); + public Game(Frame frame) { _frame = frame; _frame.setTitle(TITLE); - + screen = new Screen(WIDTH, HEIGHT); _input = new Keyboard(); - + _board = new Board(this, _input, screen); addKeyListener(_input); } - - + private void renderGame() { BufferStrategy bs = getBufferStrategy(); - if(bs == null) { + if (bs == null) { createBufferStrategy(3); return; } - + screen.clear(); - + _board.render(screen); - + for (int i = 0; i < pixels.length; i++) { pixels[i] = screen._pixels[i]; } - + Graphics g = bs.getDrawGraphics(); - + g.drawImage(image, 0, 0, getWidth(), getHeight(), null); _board.renderMessages(g); - + g.dispose(); bs.show(); } - + private void renderScreen() { BufferStrategy bs = getBufferStrategy(); - if(bs == null) { + if (bs == null) { createBufferStrategy(3); return; } - + screen.clear(); - + Graphics g = bs.getDrawGraphics(); - + _board.drawScreen(g); g.dispose(); @@ -110,74 +107,78 @@ private void update() { _input.update(); _board.update(); } - + public void start() { _running = true; - - long lastTime = System.nanoTime(); + + long lastTime = System.nanoTime(); long timer = System.currentTimeMillis(); - final double ns = 1000000000.0 / 60.0; //nanosecond, 60 frames per second + final double ns = 1000000000.0 / 60.0; // nanosecond, 60 frames per second double delta = 0; int frames = 0; int updates = 0; requestFocus(); - while(_running) { + while (_running) { long now = System.nanoTime(); delta += (now - lastTime) / ns; lastTime = now; - while(delta >= 1) { + while (delta >= 1) { update(); updates++; delta--; } - - if(_paused) { - if(_screenDelay <= 0) { + + if (_paused) { + if (_screenDelay <= 0) { _board.setShow(-1); _paused = false; } - + renderScreen(); } else { renderGame(); } - - + frames++; - if(System.currentTimeMillis() - timer > 1000) { + if (System.currentTimeMillis() - timer > 1000) { _frame.setTime(_board.subtractTime()); _frame.setPoints(_board.getPoints()); + _frame.setItemTime(_board.getItemTime()); timer += 1000; _frame.setTitle(TITLE + " | " + updates + " rate, " + frames + " fps"); updates = 0; frames = 0; - - if(_board.getShow() == 2) + + if (_board.getShow() == 2) --_screenDelay; } } } + public static int getItemTime() { + return itemTime; + } + public static double getBomberSpeed() { return bomberSpeed; } - + public static int getBombRate() { return bombRate; } - + public static int getBombRadius() { return bombRadius; } - + public static void addBomberSpeed(double i) { bomberSpeed += i; } - + public static void addBombRadius(int i) { bombRadius += i; } - + public static void addBombRate(int i) { bombRate += i; } @@ -193,19 +194,21 @@ public static Board getBoard() { public boolean isPaused() { return _paused; } - + public void pause() { _paused = true; } + public static void setBombRate(int bombRate) { - Game.bombRate = bombRate; - } + Game.bombRate = bombRate; + } - public static void setBombRadius(int bombRadius) { - Game.bombRadius = bombRadius; - } + public static void setBombRadius(int bombRadius) { + Game.bombRadius = bombRadius; + } + + public static void setBomberSpeed(double bomberSpeed) { + Game.bomberSpeed = bomberSpeed; + } - public static void setBomberSpeed(double bomberSpeed) { - Game.bomberSpeed = bomberSpeed; - } } diff --git a/src/uet/oop/bomberman/entities/tile/item/BombItem.java b/src/uet/oop/bomberman/entities/tile/item/BombItem.java index c0d0ff0..cf9b5fc 100644 --- a/src/uet/oop/bomberman/entities/tile/item/BombItem.java +++ b/src/uet/oop/bomberman/entities/tile/item/BombItem.java @@ -22,4 +22,9 @@ protected void handleItemInactive() { Game.addBombRate(-1); } + @Override + public String getDisplayActiveItem() { + return "Bomb:"; + } + } diff --git a/src/uet/oop/bomberman/entities/tile/item/FlameItem.java b/src/uet/oop/bomberman/entities/tile/item/FlameItem.java index 78bbe57..6507dcf 100644 --- a/src/uet/oop/bomberman/entities/tile/item/FlameItem.java +++ b/src/uet/oop/bomberman/entities/tile/item/FlameItem.java @@ -21,4 +21,9 @@ protected void handleItemActive() { protected void handleItemInactive() { Game.addBombRadius(-1); } + + @Override + public String getDisplayActiveItem() { + return "Flame:"; + } } diff --git a/src/uet/oop/bomberman/entities/tile/item/Item.java b/src/uet/oop/bomberman/entities/tile/item/Item.java index 33ac804..b67655a 100644 --- a/src/uet/oop/bomberman/entities/tile/item/Item.java +++ b/src/uet/oop/bomberman/entities/tile/item/Item.java @@ -8,32 +8,35 @@ import uet.oop.bomberman.sound.Sound; public abstract class Item extends Tile { - protected int _duration = 300; //5s + protected int _duration = 300; // 5s protected boolean _active = false; protected int _level; + public Item(int x, int y, Sprite sprite) { super(x, y, sprite); } protected abstract void handleItemActive(); + protected abstract void handleItemInactive(); @Override public boolean collide(Entity e) { // TODO: xử lý Bomber ăn Item - if (e instanceof Bomber) { - Sound.play("Item"); - handleItemActive(); - _active = true; - Game.getBoard().addActiveItem(this); - remove(); - } - return false; + if (e instanceof Bomber) { + Sound.play("Item"); + handleItemActive(); + _active = true; + Game.getBoard().addActiveItem(this); + remove(); + } + return false; } @Override public void update() { - if (!_active) return; + if (!_active) + return; if (_duration > 0) { _duration--; } else { @@ -41,5 +44,10 @@ public void update() { _active = false; } } - + + public int getDuration() { + return _duration; + } + + public abstract String getDisplayActiveItem(); } diff --git a/src/uet/oop/bomberman/entities/tile/item/SpeedItem.java b/src/uet/oop/bomberman/entities/tile/item/SpeedItem.java index b752c14..e8ebfd8 100644 --- a/src/uet/oop/bomberman/entities/tile/item/SpeedItem.java +++ b/src/uet/oop/bomberman/entities/tile/item/SpeedItem.java @@ -21,4 +21,9 @@ protected void handleItemActive() { protected void handleItemInactive() { Game.addBomberSpeed(-0.5); } + + @Override + public String getDisplayActiveItem() { + return "Speed:"; + } } diff --git a/src/uet/oop/bomberman/gui/Frame.java b/src/uet/oop/bomberman/gui/Frame.java index 1a331e4..0ccb41c 100644 --- a/src/uet/oop/bomberman/gui/Frame.java +++ b/src/uet/oop/bomberman/gui/Frame.java @@ -45,5 +45,9 @@ public void setTime(int time) { public void setPoints(int points) { _infopanel.setPoints(points); } + + public void setItemTime(int itemTime) { + _infopanel.setItemTime(itemTime); + } } diff --git a/src/uet/oop/bomberman/gui/InfoPanel.java b/src/uet/oop/bomberman/gui/InfoPanel.java index de01310..166630b 100644 --- a/src/uet/oop/bomberman/gui/InfoPanel.java +++ b/src/uet/oop/bomberman/gui/InfoPanel.java @@ -1,36 +1,47 @@ package uet.oop.bomberman.gui; import uet.oop.bomberman.Game; +import uet.oop.bomberman.entities.tile.item.Item; import javax.swing.*; import java.awt.*; +import java.util.List; /** * Swing Panel hiển thị thông tin thời gian, điểm mà người chơi đạt được */ public class InfoPanel extends JPanel { - + + private final Game game; private JLabel timeLabel; private JLabel pointsLabel; + private JLabel itemTimeLabel; public InfoPanel(Game game) { + this.game = game; setLayout(new GridLayout()); - + timeLabel = new JLabel("Time: " + game.getBoard().getTime()); timeLabel.setForeground(Color.white); timeLabel.setHorizontalAlignment(JLabel.CENTER); - + pointsLabel = new JLabel("Points: " + game.getBoard().getPoints()); pointsLabel.setForeground(Color.white); pointsLabel.setHorizontalAlignment(JLabel.CENTER); - + + itemTimeLabel = new JLabel(""); + itemTimeLabel.setForeground(Color.white); + itemTimeLabel.setHorizontalAlignment(JLabel.LEFT); + itemTimeLabel.setBorder(BorderFactory.createEmptyBorder(0, 40, 0, 0)); + + add(itemTimeLabel); add(timeLabel); add(pointsLabel); - + setBackground(Color.black); setPreferredSize(new Dimension(0, 40)); } - + public void setTime(int t) { timeLabel.setText("Time: " + t); } @@ -38,5 +49,18 @@ public void setTime(int t) { public void setPoints(int t) { pointsLabel.setText("Score: " + t); } - + + public void setItemTime(int t) { + String label = ""; + List items = game.getBoard().getActiveItems(); + for (int i = 0; i < items.size(); i++) { + Item item = items.get(i); + if ((item.getDuration()) == 0) { + continue; + } + label += item.getDisplayActiveItem() + item.getDuration() / 60 + " "; + } + itemTimeLabel.setText(label); + } + } From fb64fc0efc767a1a00c55d44d412996acfff8e44 Mon Sep 17 00:00:00 2001 From: 21522098_HuyHoang <21522098@gm.uit.edu.vn> Date: Sun, 12 May 2024 07:55:17 +0700 Subject: [PATCH 09/93] Pause_Button_Fixed --- src/uet/oop/bomberman/Game.java | 32 ++++++++++++++++-------- src/uet/oop/bomberman/gui/InfoPanel.java | 22 ++++++++++------ 2 files changed, 35 insertions(+), 19 deletions(-) diff --git a/src/uet/oop/bomberman/Game.java b/src/uet/oop/bomberman/Game.java index 74bc69f..c44c977 100644 --- a/src/uet/oop/bomberman/Game.java +++ b/src/uet/oop/bomberman/Game.java @@ -3,12 +3,14 @@ import uet.oop.bomberman.graphics.Screen; import uet.oop.bomberman.gui.Frame; import uet.oop.bomberman.input.Keyboard; - +import uet.oop.bomberman.gui.InfoPanel; import java.awt.*; import java.awt.image.BufferStrategy; import java.awt.image.BufferedImage; import java.awt.image.DataBufferInt; +import javafx.event.ActionEvent; + /** * Tạo vòng lặp cho game, lưu trữ một vài tham số cấu hình toàn cục, * Gọi phương thức render(), update() cho tất cả các entity @@ -44,6 +46,7 @@ public class Game extends Canvas { private Keyboard _input; private boolean _running = false; private boolean _paused = true; + private boolean _paused1 = true; private Board _board; private Screen screen; @@ -114,10 +117,8 @@ private void update() { return; } } - public void start() { _running = true; - _paused = false; long lastTime = System.nanoTime(); long timer = System.currentTimeMillis(); final double ns = 1000000000.0 / 60.0; //nanosecond, 60 frames per second @@ -134,19 +135,27 @@ public void start() { updates++; delta--; } - if (_input.pause) { - _paused = !_paused; if (_paused) { + if (_screenDelay <= 0) { + _board.setShow(-1); + _paused = false; + } + renderScreen(); + } else { + renderGame(); + } + if (_paused1) { _board.setShow(3); } else { _board.setShow(-1); } - } - if(_paused) { - renderScreen(); - } else { - renderGame(); + if (_input.pause) { + _paused1 = !_paused1; + if (_paused) { + _board.setShow(3); + } else { + } } @@ -202,7 +211,7 @@ public boolean isPaused() { } public void pause() { - _paused = true; + _paused = !_paused; } public static void setBombRate(int bombRate) { Game.bombRate = bombRate; @@ -215,4 +224,5 @@ public static void setBombRadius(int bombRadius) { public static void setBomberSpeed(double bomberSpeed) { Game.bomberSpeed = bomberSpeed; } + } diff --git a/src/uet/oop/bomberman/gui/InfoPanel.java b/src/uet/oop/bomberman/gui/InfoPanel.java index 366a835..2341c67 100644 --- a/src/uet/oop/bomberman/gui/InfoPanel.java +++ b/src/uet/oop/bomberman/gui/InfoPanel.java @@ -1,28 +1,24 @@ package uet.oop.bomberman.gui; -import java.awt.event.ActionListener; import uet.oop.bomberman.Board; import uet.oop.bomberman.Game; import javax.swing.*; - - -import javafx.event.*; - import java.awt.*; +import java.awt.event.*; /** * Swing Panel hiển thị thông tin thời gian, điểm mà người chơi đạt được */ public class InfoPanel extends JPanel { - private static Board _board; private boolean gamePaused = false; private JLabel timeLabel; private JLabel pointsLabel; private JButton pauseButton; + private Game game; public InfoPanel(Game game) { setLayout(new GridLayout(1, 3)); - + this.game = game; timeLabel = new JLabel("Time: " + game.getBoard().getTime()); timeLabel.setForeground(Color.white); timeLabel.setHorizontalAlignment(JLabel.CENTER); @@ -32,8 +28,18 @@ public InfoPanel(Game game) { pointsLabel.setHorizontalAlignment(JLabel.CENTER); pauseButton = new JButton("Pause"); - pauseButton.setForeground(Color.white); + pauseButton.setForeground(Color.WHITE); pauseButton.setHorizontalAlignment(JButton.CENTER); + pauseButton.setBackground(Color.BLACK); + pauseButton.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + game.pause(); + gamePaused = !gamePaused; + pauseButton.setText(gamePaused? "Resume" : "Pause"); + } + }); + add(timeLabel); add(pointsLabel); add(pauseButton); From 5ca0502702a40977878eb888f4d7db9d7d9f7ebc Mon Sep 17 00:00:00 2001 From: Huy010302 <111289985+Huy010302@users.noreply.github.com> Date: Sun, 12 May 2024 13:32:40 +0700 Subject: [PATCH 10/93] add level, create enemy --- res/levels/Level3.txt | 14 ++ .../entities/character/enemy/Kondoria.java | 40 +++++ .../entities/character/enemy/Minvo.java | 138 ++++++++++++++++++ 3 files changed, 192 insertions(+) create mode 100644 res/levels/Level3.txt create mode 100644 src/uet/oop/bomberman/entities/character/enemy/Kondoria.java create mode 100644 src/uet/oop/bomberman/entities/character/enemy/Minvo.java diff --git a/res/levels/Level3.txt b/res/levels/Level3.txt new file mode 100644 index 0000000..40a9bf4 --- /dev/null +++ b/res/levels/Level3.txt @@ -0,0 +1,14 @@ +3 13 31 +############################### +#p * *3 * ** * * *# +# # # # #*# # #*# # # # # #*# # +# * * *** ** # * ** # +# #*# # # # #4# #b#1# # # # #*# +# * ** * **# +# # #*# # # # # #*#*#*#*# # # # +# * * * *x* * 4 # +# # # # #*# # # # # # #*# #*# # +# **** *2 # +# # # # # # # # # #*# # # # #*# +# ** ** * 5 # +############################### \ No newline at end of file diff --git a/src/uet/oop/bomberman/entities/character/enemy/Kondoria.java b/src/uet/oop/bomberman/entities/character/enemy/Kondoria.java new file mode 100644 index 0000000..95fe5d4 --- /dev/null +++ b/src/uet/oop/bomberman/entities/character/enemy/Kondoria.java @@ -0,0 +1,40 @@ +package uet.oop.bomberman.entities.character.enemy; + +import uet.oop.bomberman.Game; +import uet.oop.bomberman.Board; +import uet.oop.bomberman.entities.character.enemy.ai.AIMedium; +import uet.oop.bomberman.graphics.Sprite; + +public class Kondoria extends Enemy { + public Kondoria(int x, int y, Board board) { + super(x, y, board, Sprite.balloom_dead, Game.getBomberSpeed() / 4, 1000); + + _sprite = Sprite.kondoria_right1; + + _ai = new AIMedium(_board.getBomber(), this); + _direction = _ai.calculateDirection(); + // this._speed += random.nextDouble()/2; + } + + @Override + protected void chooseSprite() { + switch (_direction) { + case 0: + case 1: + if (_moving) + _sprite = Sprite.movingSprite(Sprite.kondoria_right1, Sprite.kondoria_right2, + Sprite.kondoria_right3, _animate, 60); + else + _sprite = Sprite.kondoria_left1; + break; + case 2: + case 3: + if (_moving) + _sprite = Sprite.movingSprite(Sprite.kondoria_left1, Sprite.kondoria_left2, Sprite.kondoria_left3, + _animate, 60); + else + _sprite = Sprite.kondoria_left1; + break; + } + } +} diff --git a/src/uet/oop/bomberman/entities/character/enemy/Minvo.java b/src/uet/oop/bomberman/entities/character/enemy/Minvo.java new file mode 100644 index 0000000..e4ad4d7 --- /dev/null +++ b/src/uet/oop/bomberman/entities/character/enemy/Minvo.java @@ -0,0 +1,138 @@ +package uet.oop.bomberman.entities.character.enemy; + +import uet.oop.bomberman.Board; +import uet.oop.bomberman.Game; +import uet.oop.bomberman.entities.character.enemy.ai.AIMedium; +import uet.oop.bomberman.graphics.Sprite; + +public class Minvo extends Enemy { + private Board _board; + + public Minvo(int x, int y, Board board) { + super(x, y, board, Sprite.minvo_dead, Game.getBomberSpeed() * 1.5, 800); + _board = board; + _sprite = Sprite.minvo_right1; + + _ai = new AIMedium(_board.getBomber(), this); + _direction = _ai.calculateDirection(); + } + + @Override + protected void chooseSprite() { + switch (_direction) { + case 0: + case 1: + if (_moving) + _sprite = Sprite.movingSprite(Sprite.minvo_right1, Sprite.minvo_right2, Sprite.minvo_right3, + _animate, 60); + else + _sprite = Sprite.minvo_left1; + break; + case 2: + case 3: + if (_moving) + _sprite = Sprite.movingSprite(Sprite.minvo_left1, Sprite.minvo_left2, Sprite.minvo_left3, _animate, + 60); + else + _sprite = Sprite.minvo_left1; + break; + } + } + + // // Thêm hành vi cho Minvo + + // @Override + // public void update() { + // super.update(); + // Bomber bomber = _board.getBomber(); + // if (bomber != null) { + // int bomberX = bomber.getXTile(); + // int bomberY = bomber.getYTile(); + // int minvoX = this.getXTile(); + // int minvoY = this.getYTile(); + + // double distance = Math.sqrt(Math.pow(bomberX - minvoX, 2) + Math.pow(bomberY + // - minvoY, 2)); + + // // Kiểm tra xem khoảng cách giữa Minvo và Bomber có dưới một ngưỡng nhất định + // // hay không + // if (distance <= 3) { + // moveTowardBomber(); + // placeBomb(); + // } else { + // _direction = _ai.calculateDirection(); + // // move(); + // } + // } + // } + + // private void moveTowardBomber() { + // Bomber bomber = _board.getBomber(); + // if (bomber != null) { + // int bomberX = bomber.getXTile(); + // int bomberY = bomber.getYTile(); + // int minvoX = this.getXTile(); + // int minvoY = this.getYTile(); + + // // hướng vector từ minvo đến bomber + // int dx = bomberX - minvoX; + // int dy = bomberY - minvoY; + + // // Chọn hướng đi gần nhất + // if (Math.abs(dx) > Math.abs(dy)) { + // if (dx > 0) { + // _direction = 1; // Di chuyển sang phải + // } else { + // _direction = 3; // Di chuyển sang trái + // } + // } else { + // if (dy > 0) { + // _direction = 2; // Di chuyển xuống dưới + // } else { + // _direction = 0; // Di chuyển lên trên + // } + + // } + // } + // // // di chuyển mivo + // // move(); + + // } + + // private void placeBomb() { + // if (_board.detectNoEnemies()) { + // return; + // } + // int bombRate = _board.getBombRate(); + // if (Math.random() < bombRate) { // Kiểm tra xác suất đặt bom + // int xt = Coordinates.pixelToTile(_x + Game.TILES_SIZE / 2); + // int yt = Coordinates.pixelToTile((_y + Game.TILES_SIZE / 2)); + // _board.addBomb(new Bomb(xt, yt, _board)); + // } + // } + + // private void move() { + // double xa = _x, ya = _y; + + // switch (_direction) { + // case 0: + // ya -= _speed; + // break; + // case 1: + // xa += _speed; + // break; + // case 2: + // ya += _speed; + // break; + // case 3: + // xa -= _speed; + // break; + // } + + // // Kiểm tra va chạm với tường và cập nhật tọa độ đích đến nếu cần + // if (!_board.detectWallCollision(xa, ya, _collisionRadius)) { + // _x = xa; + // _y = ya; + // } + // } +} From e6441d4f5bd241cabfdb99140bb9aae842edccf6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ph=C6=B0=C6=A1ng=20Minh?= <113281373+phuonnngminh@users.noreply.github.com> Date: Sun, 12 May 2024 22:09:48 +0700 Subject: [PATCH 11/93] Revert "Select level" --- src/uet/oop/bomberman/Game.java | 132 +++++++----------- src/uet/oop/bomberman/graphics/Screen.java | 5 +- src/uet/oop/bomberman/gui/GameScreen.java | 8 -- src/uet/oop/bomberman/input/Keyboard.java | 42 +----- .../bomberman/screen/SelectLevelScreen.java | 114 --------------- src/uet/oop/bomberman/utils/EGameControl.java | 11 -- src/uet/oop/bomberman/utils/EGameLevel.java | 17 --- src/uet/oop/bomberman/utils/EScreenName.java | 6 - src/uet/oop/bomberman/utils/Global.java | 8 -- 9 files changed, 52 insertions(+), 291 deletions(-) delete mode 100644 src/uet/oop/bomberman/gui/GameScreen.java delete mode 100644 src/uet/oop/bomberman/screen/SelectLevelScreen.java delete mode 100644 src/uet/oop/bomberman/utils/EGameControl.java delete mode 100644 src/uet/oop/bomberman/utils/EGameLevel.java delete mode 100644 src/uet/oop/bomberman/utils/EScreenName.java delete mode 100644 src/uet/oop/bomberman/utils/Global.java diff --git a/src/uet/oop/bomberman/Game.java b/src/uet/oop/bomberman/Game.java index 6af2a57..f043707 100644 --- a/src/uet/oop/bomberman/Game.java +++ b/src/uet/oop/bomberman/Game.java @@ -3,9 +3,6 @@ import uet.oop.bomberman.graphics.Screen; import uet.oop.bomberman.gui.Frame; import uet.oop.bomberman.input.Keyboard; -import uet.oop.bomberman.screen.SelectLevelScreen; -import uet.oop.bomberman.utils.EScreenName; -import uet.oop.bomberman.utils.Global; import java.awt.*; import java.awt.image.BufferStrategy; @@ -52,16 +49,8 @@ public class Game extends Canvas { private Frame _frame; private BufferedImage image = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_RGB); - private int[] pixels = ((DataBufferInt)image.getRaster().getDataBuffer()).getData(); + private int[] pixels = ((DataBufferInt) image.getRaster().getDataBuffer()).getData(); - // game variable - private int frames; - private int updates; - private long timer; - - // game screens - private SelectLevelScreen selectLevelScreen; - public Game(Frame frame) { _frame = frame; _frame.setTitle(TITLE); @@ -71,12 +60,15 @@ public Game(Frame frame) { _board = new Board(this, _input, screen); addKeyListener(_input); - - initScreen(); } - - - private void renderGame(Graphics g) { + + private void renderGame() { + BufferStrategy bs = getBufferStrategy(); + if (bs == null) { + createBufferStrategy(3); + return; + } + screen.clear(); _board.render(screen); @@ -84,94 +76,47 @@ private void renderGame(Graphics g) { for (int i = 0; i < pixels.length; i++) { pixels[i] = screen._pixels[i]; } - - g.drawImage(image, 0, 0, getWidth(), getHeight(), null); - _board.renderMessages(g); - } - - private void renderScreen(Graphics g) { - screen.clear(); - _board.drawScreen(g); - } - private void initScreen() { - Global.currentScreen = EScreenName.SELECT_LEVEL_SCREEN; + Graphics g = bs.getDrawGraphics(); - this.selectLevelScreen = new SelectLevelScreen(_input); - } + g.drawImage(image, 0, 0, getWidth(), getHeight(), null); + _board.renderMessages(g); - private void update() { - _input.update(); - switch (Global.currentScreen) { - case GAME_PLAY_SCREEN: - _board.update(); - break; - case SELECT_LEVEL_SCREEN: - // TODO: call select level screen update - selectLevelScreen.update(); - break; - } + g.dispose(); + bs.show(); } - private void showScreen() { + private void renderScreen() { BufferStrategy bs = getBufferStrategy(); if (bs == null) { createBufferStrategy(3); return; } - Graphics g = bs.getDrawGraphics(); - - switch (Global.currentScreen) { - case GAME_PLAY_SCREEN: - if(_paused) { - if(_screenDelay <= 0) { - _board.setShow(-1); - _paused = false; - } - - renderScreen(g); - } else { - renderGame(g); - } + screen.clear(); - frames++; - if(System.currentTimeMillis() - timer > 1000) { - _frame.setTime(_board.subtractTime()); - _frame.setPoints(_board.getPoints()); - timer += 1000; - _frame.setTitle(TITLE + " | " + updates + " rate, " + frames + " fps"); - updates = 0; - frames = 0; + Graphics g = bs.getDrawGraphics(); - if(_board.getShow() == 2) - --_screenDelay; - } - break; - case SELECT_LEVEL_SCREEN: - // TODO: render select level screen - selectLevelScreen.drawScreen(g); - break; - } + _board.drawScreen(g); g.dispose(); bs.show(); } - private void initGame() { - this.timer = System.currentTimeMillis(); - this.frames = 0; - this.updates = 0; + private void update() { + _input.update(); + _board.update(); } public void start() { _running = true; - initGame(); - - long lastTime = System.nanoTime(); - final double ns = 1000000000.0 / 60.0; //nanosecond, 60 frames per second + long lastTime = System.nanoTime(); + long timer = System.currentTimeMillis(); + final double ns = 1000000000.0 / 60.0; // nanosecond, 60 frames per second double delta = 0; + int frames = 0; + int updates = 0; requestFocus(); while (_running) { long now = System.nanoTime(); @@ -183,7 +128,30 @@ public void start() { delta--; } - showScreen(); + if (_paused) { + if (_screenDelay <= 0) { + _board.setShow(-1); + _paused = false; + } + + renderScreen(); + } else { + renderGame(); + } + + frames++; + if (System.currentTimeMillis() - timer > 1000) { + _frame.setTime(_board.subtractTime()); + _frame.setPoints(_board.getPoints()); + _frame.setItemTime(_board.getItemTime()); + timer += 1000; + _frame.setTitle(TITLE + " | " + updates + " rate, " + frames + " fps"); + updates = 0; + frames = 0; + + if (_board.getShow() == 2) + --_screenDelay; + } } } diff --git a/src/uet/oop/bomberman/graphics/Screen.java b/src/uet/oop/bomberman/graphics/Screen.java index 8cbc134..2494ea2 100644 --- a/src/uet/oop/bomberman/graphics/Screen.java +++ b/src/uet/oop/bomberman/graphics/Screen.java @@ -4,7 +4,6 @@ import uet.oop.bomberman.Game; import uet.oop.bomberman.entities.Entity; import uet.oop.bomberman.entities.character.Bomber; -import uet.oop.bomberman.utils.Global; import java.awt.*; @@ -23,9 +22,7 @@ public Screen(int width, int height) { _height = height; _pixels = new int[width * height]; - - Global.screenWidth = this.getRealWidth(); - Global.screenHeight = this.getRealHeight(); + } public void clear() { diff --git a/src/uet/oop/bomberman/gui/GameScreen.java b/src/uet/oop/bomberman/gui/GameScreen.java deleted file mode 100644 index 93a79c1..0000000 --- a/src/uet/oop/bomberman/gui/GameScreen.java +++ /dev/null @@ -1,8 +0,0 @@ -package uet.oop.bomberman.gui; - -import java.awt.*; - -public abstract class GameScreen { - public abstract void drawScreen(Graphics g); - public abstract void update(); -} diff --git a/src/uet/oop/bomberman/input/Keyboard.java b/src/uet/oop/bomberman/input/Keyboard.java index 7026dc9..bb8daad 100644 --- a/src/uet/oop/bomberman/input/Keyboard.java +++ b/src/uet/oop/bomberman/input/Keyboard.java @@ -1,23 +1,15 @@ package uet.oop.bomberman.input; -import uet.oop.bomberman.utils.EGameControl; - import java.awt.event.KeyEvent; import java.awt.event.KeyListener; -import java.util.Optional; /** * Tiếp nhận và xử lý các sự kiện nhập từ bàn phím */ public class Keyboard implements KeyListener { - - public interface KeyboardInputCallback { - void onKeyPressed(EGameControl gameControl); - } private boolean[] keys = new boolean[120]; //120 is enough to this game public boolean up, down, left, right, space; - public Optional keyboardInputCallback; public void update() { up = keys[KeyEvent.VK_UP] || keys[KeyEvent.VK_W]; @@ -27,45 +19,13 @@ public void update() { space = keys[KeyEvent.VK_SPACE] || keys[KeyEvent.VK_X]; } - private EGameControl keyToGameControl(int keyCode) { - if (keyCode == KeyEvent.VK_UP || keyCode == KeyEvent.VK_W) { - return EGameControl.UP; - } - - if (keyCode == KeyEvent.VK_DOWN || keyCode == KeyEvent.VK_S) { - return EGameControl.DOWN; - } - - if (keyCode == KeyEvent.VK_LEFT || keyCode == KeyEvent.VK_A) { - return EGameControl.LEFT; - } - - if (keyCode == KeyEvent.VK_RIGHT || keyCode == KeyEvent.VK_D) { - return EGameControl.RIGHT; - } - - if (keyCode == KeyEvent.VK_SPACE || keyCode == KeyEvent.VK_X) { - return EGameControl.SPACE; - } - - if (keyCode == KeyEvent.VK_ENTER) { - return EGameControl.ENTER; - } - - return EGameControl.NONE; - } - @Override public void keyTyped(KeyEvent e) {} @Override public void keyPressed(KeyEvent e) { keys[e.getKeyCode()] = true; - - if (keyboardInputCallback.isPresent()) { - KeyboardInputCallback callback = keyboardInputCallback.get(); - callback.onKeyPressed(keyToGameControl(e.getKeyCode())); - } + } @Override diff --git a/src/uet/oop/bomberman/screen/SelectLevelScreen.java b/src/uet/oop/bomberman/screen/SelectLevelScreen.java deleted file mode 100644 index 33fb2a1..0000000 --- a/src/uet/oop/bomberman/screen/SelectLevelScreen.java +++ /dev/null @@ -1,114 +0,0 @@ -package uet.oop.bomberman.screen; - -import uet.oop.bomberman.Game; -import uet.oop.bomberman.gui.GameScreen; -import uet.oop.bomberman.input.Keyboard; -import uet.oop.bomberman.utils.EGameControl; -import uet.oop.bomberman.utils.EGameLevel; -import uet.oop.bomberman.utils.EScreenName; -import uet.oop.bomberman.utils.Global; - -import java.awt.*; -import java.awt.event.KeyEvent; -import java.util.ArrayList; - -public class SelectLevelScreen extends GameScreen { - ArrayList levels = new ArrayList(); - int selectorIndex = 0; - private Keyboard _input; - - public SelectLevelScreen(Keyboard input) { - _input = input; - - levels.add(EGameLevel.EASY.getStringLevel()); - levels.add(EGameLevel.MEDIUM.getStringLevel()); - levels.add(EGameLevel.HARD.getStringLevel()); - - _input.keyboardInputCallback = java.util.Optional.of(new Keyboard.KeyboardInputCallback() { - @Override - public void onKeyPressed(EGameControl gameControl) { - switch (gameControl) { - case UP: - selectorIndex--; - break; - case DOWN: - selectorIndex++; - break; - case ENTER: - Global.currentScreen = EScreenName.GAME_PLAY_SCREEN; - break; - } - - if (selectorIndex < 0) { - selectorIndex = levels.size() - 1; - } else if (selectorIndex > levels.size() - 1) { - selectorIndex = 0; - } - } - }); - } - - @Override - public void drawScreen(Graphics g) { - // set background - g.setColor(Color.black); - g.fillRect(0, 0, Global.screenWidth, Global.screenHeight); - - drawTitle(g); - drawOptions(g); - drawSelector(g); - } - - private void drawTitle(Graphics g) { - String title = "SELECT LEVEL"; - Font font = new Font("Arial", Font.BOLD, 20 * Game.SCALE); - g.setFont(font); - g.setColor(Color.white); - - FontMetrics fm = g.getFontMetrics(); - int x = (Global.screenWidth - fm.stringWidth(title)) / 2; - int marginTop = 20; - int y = marginTop + fm.getAscent(); - - g.drawString(title, x, y); - } - - private void drawOptions(Graphics g) { - Font font = new Font("Arial", Font.PLAIN, 10 * Game.SCALE); - g.setFont(font); - g.setColor(Color.white); - - int w = Global.screenWidth; - int h = Global.screenHeight; - FontMetrics fm = g.getFontMetrics(); - int textHeight = fm.getAscent() + fm.getDescent(); - int boxHeight = textHeight * this.levels.size(); - int marginTop = (h - boxHeight) / 2; - - for (int i=0; i < this.levels.size(); i++) { - String level = this.levels.get(i); - int x = (w - fm.stringWidth(level)) / 2; - int y = marginTop + fm.getAscent() + textHeight*i; - - g.drawString(level, x, y); - } - } - - private void drawSelector(Graphics g) { - String level = this.levels.get(selectorIndex); - int w = Global.screenWidth; - int h = Global.screenHeight; - FontMetrics fm = g.getFontMetrics(); - int textHeight = fm.getAscent() + fm.getDescent(); - int boxHeight = textHeight * this.levels.size(); - int marginTop = (h - boxHeight) / 2; - - int x = (w - fm.stringWidth(level)) / 2 - 30; - int y = marginTop + fm.getAscent() + textHeight*selectorIndex; - - g.drawString(">", x, y); - } - - @Override - public void update() {} -} diff --git a/src/uet/oop/bomberman/utils/EGameControl.java b/src/uet/oop/bomberman/utils/EGameControl.java deleted file mode 100644 index fa8cea4..0000000 --- a/src/uet/oop/bomberman/utils/EGameControl.java +++ /dev/null @@ -1,11 +0,0 @@ -package uet.oop.bomberman.utils; - -public enum EGameControl { - NONE, - UP, - DOWN, - LEFT, - RIGHT, - ENTER, - SPACE, -} diff --git a/src/uet/oop/bomberman/utils/EGameLevel.java b/src/uet/oop/bomberman/utils/EGameLevel.java deleted file mode 100644 index 7644772..0000000 --- a/src/uet/oop/bomberman/utils/EGameLevel.java +++ /dev/null @@ -1,17 +0,0 @@ -package uet.oop.bomberman.utils; - -public enum EGameLevel { - EASY("Easy"), - MEDIUM("Medium"), - HARD("Hard"); - - private final String level; - - EGameLevel(String level) { - this.level = level; - } - - public String getStringLevel() { - return this.level; - } -} diff --git a/src/uet/oop/bomberman/utils/EScreenName.java b/src/uet/oop/bomberman/utils/EScreenName.java deleted file mode 100644 index 515a6e8..0000000 --- a/src/uet/oop/bomberman/utils/EScreenName.java +++ /dev/null @@ -1,6 +0,0 @@ -package uet.oop.bomberman.utils; - -public enum EScreenName { - SELECT_LEVEL_SCREEN, - GAME_PLAY_SCREEN, -} diff --git a/src/uet/oop/bomberman/utils/Global.java b/src/uet/oop/bomberman/utils/Global.java deleted file mode 100644 index 623e0a6..0000000 --- a/src/uet/oop/bomberman/utils/Global.java +++ /dev/null @@ -1,8 +0,0 @@ -package uet.oop.bomberman.utils; - -public class Global { - public static int screenWidth; - public static int screenHeight; - - public static EScreenName currentScreen; -} From 49bc95ca4416ce7c37c31dc246b45d4f1e7b4254 Mon Sep 17 00:00:00 2001 From: Hang Le Thi Bich <21522041@gm.uit.edu.vn> Date: Tue, 14 May 2024 22:08:03 +0700 Subject: [PATCH 12/93] Revert "Revert "Select level"" This reverts commit e6441d4f5bd241cabfdb99140bb9aae842edccf6. --- src/uet/oop/bomberman/Game.java | 132 +++++++++++------- src/uet/oop/bomberman/graphics/Screen.java | 5 +- src/uet/oop/bomberman/gui/GameScreen.java | 8 ++ src/uet/oop/bomberman/input/Keyboard.java | 42 +++++- .../bomberman/screen/SelectLevelScreen.java | 114 +++++++++++++++ src/uet/oop/bomberman/utils/EGameControl.java | 11 ++ src/uet/oop/bomberman/utils/EGameLevel.java | 17 +++ src/uet/oop/bomberman/utils/EScreenName.java | 6 + src/uet/oop/bomberman/utils/Global.java | 8 ++ 9 files changed, 291 insertions(+), 52 deletions(-) create mode 100644 src/uet/oop/bomberman/gui/GameScreen.java create mode 100644 src/uet/oop/bomberman/screen/SelectLevelScreen.java create mode 100644 src/uet/oop/bomberman/utils/EGameControl.java create mode 100644 src/uet/oop/bomberman/utils/EGameLevel.java create mode 100644 src/uet/oop/bomberman/utils/EScreenName.java create mode 100644 src/uet/oop/bomberman/utils/Global.java diff --git a/src/uet/oop/bomberman/Game.java b/src/uet/oop/bomberman/Game.java index f043707..6af2a57 100644 --- a/src/uet/oop/bomberman/Game.java +++ b/src/uet/oop/bomberman/Game.java @@ -3,6 +3,9 @@ import uet.oop.bomberman.graphics.Screen; import uet.oop.bomberman.gui.Frame; import uet.oop.bomberman.input.Keyboard; +import uet.oop.bomberman.screen.SelectLevelScreen; +import uet.oop.bomberman.utils.EScreenName; +import uet.oop.bomberman.utils.Global; import java.awt.*; import java.awt.image.BufferStrategy; @@ -49,8 +52,16 @@ public class Game extends Canvas { private Frame _frame; private BufferedImage image = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_RGB); - private int[] pixels = ((DataBufferInt) image.getRaster().getDataBuffer()).getData(); + private int[] pixels = ((DataBufferInt)image.getRaster().getDataBuffer()).getData(); + // game variable + private int frames; + private int updates; + private long timer; + + // game screens + private SelectLevelScreen selectLevelScreen; + public Game(Frame frame) { _frame = frame; _frame.setTitle(TITLE); @@ -60,15 +71,12 @@ public Game(Frame frame) { _board = new Board(this, _input, screen); addKeyListener(_input); - } - - private void renderGame() { - BufferStrategy bs = getBufferStrategy(); - if (bs == null) { - createBufferStrategy(3); - return; - } + initScreen(); + } + + + private void renderGame(Graphics g) { screen.clear(); _board.render(screen); @@ -76,47 +84,94 @@ private void renderGame() { for (int i = 0; i < pixels.length; i++) { pixels[i] = screen._pixels[i]; } - - Graphics g = bs.getDrawGraphics(); - + g.drawImage(image, 0, 0, getWidth(), getHeight(), null); _board.renderMessages(g); + } + + private void renderScreen(Graphics g) { + screen.clear(); + _board.drawScreen(g); + } - g.dispose(); - bs.show(); + private void initScreen() { + Global.currentScreen = EScreenName.SELECT_LEVEL_SCREEN; + + this.selectLevelScreen = new SelectLevelScreen(_input); } - private void renderScreen() { + private void update() { + _input.update(); + switch (Global.currentScreen) { + case GAME_PLAY_SCREEN: + _board.update(); + break; + case SELECT_LEVEL_SCREEN: + // TODO: call select level screen update + selectLevelScreen.update(); + break; + } + } + + private void showScreen() { BufferStrategy bs = getBufferStrategy(); if (bs == null) { createBufferStrategy(3); return; } + Graphics g = bs.getDrawGraphics(); - screen.clear(); + switch (Global.currentScreen) { + case GAME_PLAY_SCREEN: + if(_paused) { + if(_screenDelay <= 0) { + _board.setShow(-1); + _paused = false; + } + + renderScreen(g); + } else { + renderGame(g); + } - Graphics g = bs.getDrawGraphics(); - _board.drawScreen(g); + frames++; + if(System.currentTimeMillis() - timer > 1000) { + _frame.setTime(_board.subtractTime()); + _frame.setPoints(_board.getPoints()); + timer += 1000; + _frame.setTitle(TITLE + " | " + updates + " rate, " + frames + " fps"); + updates = 0; + frames = 0; + + if(_board.getShow() == 2) + --_screenDelay; + } + break; + case SELECT_LEVEL_SCREEN: + // TODO: render select level screen + selectLevelScreen.drawScreen(g); + break; + } g.dispose(); bs.show(); } - private void update() { - _input.update(); - _board.update(); + private void initGame() { + this.timer = System.currentTimeMillis(); + this.frames = 0; + this.updates = 0; } public void start() { _running = true; - long lastTime = System.nanoTime(); - long timer = System.currentTimeMillis(); - final double ns = 1000000000.0 / 60.0; // nanosecond, 60 frames per second + initGame(); + + long lastTime = System.nanoTime(); + final double ns = 1000000000.0 / 60.0; //nanosecond, 60 frames per second double delta = 0; - int frames = 0; - int updates = 0; requestFocus(); while (_running) { long now = System.nanoTime(); @@ -128,30 +183,7 @@ public void start() { delta--; } - if (_paused) { - if (_screenDelay <= 0) { - _board.setShow(-1); - _paused = false; - } - - renderScreen(); - } else { - renderGame(); - } - - frames++; - if (System.currentTimeMillis() - timer > 1000) { - _frame.setTime(_board.subtractTime()); - _frame.setPoints(_board.getPoints()); - _frame.setItemTime(_board.getItemTime()); - timer += 1000; - _frame.setTitle(TITLE + " | " + updates + " rate, " + frames + " fps"); - updates = 0; - frames = 0; - - if (_board.getShow() == 2) - --_screenDelay; - } + showScreen(); } } diff --git a/src/uet/oop/bomberman/graphics/Screen.java b/src/uet/oop/bomberman/graphics/Screen.java index 2494ea2..8cbc134 100644 --- a/src/uet/oop/bomberman/graphics/Screen.java +++ b/src/uet/oop/bomberman/graphics/Screen.java @@ -4,6 +4,7 @@ import uet.oop.bomberman.Game; import uet.oop.bomberman.entities.Entity; import uet.oop.bomberman.entities.character.Bomber; +import uet.oop.bomberman.utils.Global; import java.awt.*; @@ -22,7 +23,9 @@ public Screen(int width, int height) { _height = height; _pixels = new int[width * height]; - + + Global.screenWidth = this.getRealWidth(); + Global.screenHeight = this.getRealHeight(); } public void clear() { diff --git a/src/uet/oop/bomberman/gui/GameScreen.java b/src/uet/oop/bomberman/gui/GameScreen.java new file mode 100644 index 0000000..93a79c1 --- /dev/null +++ b/src/uet/oop/bomberman/gui/GameScreen.java @@ -0,0 +1,8 @@ +package uet.oop.bomberman.gui; + +import java.awt.*; + +public abstract class GameScreen { + public abstract void drawScreen(Graphics g); + public abstract void update(); +} diff --git a/src/uet/oop/bomberman/input/Keyboard.java b/src/uet/oop/bomberman/input/Keyboard.java index bb8daad..7026dc9 100644 --- a/src/uet/oop/bomberman/input/Keyboard.java +++ b/src/uet/oop/bomberman/input/Keyboard.java @@ -1,15 +1,23 @@ package uet.oop.bomberman.input; +import uet.oop.bomberman.utils.EGameControl; + import java.awt.event.KeyEvent; import java.awt.event.KeyListener; +import java.util.Optional; /** * Tiếp nhận và xử lý các sự kiện nhập từ bàn phím */ public class Keyboard implements KeyListener { + + public interface KeyboardInputCallback { + void onKeyPressed(EGameControl gameControl); + } private boolean[] keys = new boolean[120]; //120 is enough to this game public boolean up, down, left, right, space; + public Optional keyboardInputCallback; public void update() { up = keys[KeyEvent.VK_UP] || keys[KeyEvent.VK_W]; @@ -19,13 +27,45 @@ public void update() { space = keys[KeyEvent.VK_SPACE] || keys[KeyEvent.VK_X]; } + private EGameControl keyToGameControl(int keyCode) { + if (keyCode == KeyEvent.VK_UP || keyCode == KeyEvent.VK_W) { + return EGameControl.UP; + } + + if (keyCode == KeyEvent.VK_DOWN || keyCode == KeyEvent.VK_S) { + return EGameControl.DOWN; + } + + if (keyCode == KeyEvent.VK_LEFT || keyCode == KeyEvent.VK_A) { + return EGameControl.LEFT; + } + + if (keyCode == KeyEvent.VK_RIGHT || keyCode == KeyEvent.VK_D) { + return EGameControl.RIGHT; + } + + if (keyCode == KeyEvent.VK_SPACE || keyCode == KeyEvent.VK_X) { + return EGameControl.SPACE; + } + + if (keyCode == KeyEvent.VK_ENTER) { + return EGameControl.ENTER; + } + + return EGameControl.NONE; + } + @Override public void keyTyped(KeyEvent e) {} @Override public void keyPressed(KeyEvent e) { keys[e.getKeyCode()] = true; - + + if (keyboardInputCallback.isPresent()) { + KeyboardInputCallback callback = keyboardInputCallback.get(); + callback.onKeyPressed(keyToGameControl(e.getKeyCode())); + } } @Override diff --git a/src/uet/oop/bomberman/screen/SelectLevelScreen.java b/src/uet/oop/bomberman/screen/SelectLevelScreen.java new file mode 100644 index 0000000..33fb2a1 --- /dev/null +++ b/src/uet/oop/bomberman/screen/SelectLevelScreen.java @@ -0,0 +1,114 @@ +package uet.oop.bomberman.screen; + +import uet.oop.bomberman.Game; +import uet.oop.bomberman.gui.GameScreen; +import uet.oop.bomberman.input.Keyboard; +import uet.oop.bomberman.utils.EGameControl; +import uet.oop.bomberman.utils.EGameLevel; +import uet.oop.bomberman.utils.EScreenName; +import uet.oop.bomberman.utils.Global; + +import java.awt.*; +import java.awt.event.KeyEvent; +import java.util.ArrayList; + +public class SelectLevelScreen extends GameScreen { + ArrayList levels = new ArrayList(); + int selectorIndex = 0; + private Keyboard _input; + + public SelectLevelScreen(Keyboard input) { + _input = input; + + levels.add(EGameLevel.EASY.getStringLevel()); + levels.add(EGameLevel.MEDIUM.getStringLevel()); + levels.add(EGameLevel.HARD.getStringLevel()); + + _input.keyboardInputCallback = java.util.Optional.of(new Keyboard.KeyboardInputCallback() { + @Override + public void onKeyPressed(EGameControl gameControl) { + switch (gameControl) { + case UP: + selectorIndex--; + break; + case DOWN: + selectorIndex++; + break; + case ENTER: + Global.currentScreen = EScreenName.GAME_PLAY_SCREEN; + break; + } + + if (selectorIndex < 0) { + selectorIndex = levels.size() - 1; + } else if (selectorIndex > levels.size() - 1) { + selectorIndex = 0; + } + } + }); + } + + @Override + public void drawScreen(Graphics g) { + // set background + g.setColor(Color.black); + g.fillRect(0, 0, Global.screenWidth, Global.screenHeight); + + drawTitle(g); + drawOptions(g); + drawSelector(g); + } + + private void drawTitle(Graphics g) { + String title = "SELECT LEVEL"; + Font font = new Font("Arial", Font.BOLD, 20 * Game.SCALE); + g.setFont(font); + g.setColor(Color.white); + + FontMetrics fm = g.getFontMetrics(); + int x = (Global.screenWidth - fm.stringWidth(title)) / 2; + int marginTop = 20; + int y = marginTop + fm.getAscent(); + + g.drawString(title, x, y); + } + + private void drawOptions(Graphics g) { + Font font = new Font("Arial", Font.PLAIN, 10 * Game.SCALE); + g.setFont(font); + g.setColor(Color.white); + + int w = Global.screenWidth; + int h = Global.screenHeight; + FontMetrics fm = g.getFontMetrics(); + int textHeight = fm.getAscent() + fm.getDescent(); + int boxHeight = textHeight * this.levels.size(); + int marginTop = (h - boxHeight) / 2; + + for (int i=0; i < this.levels.size(); i++) { + String level = this.levels.get(i); + int x = (w - fm.stringWidth(level)) / 2; + int y = marginTop + fm.getAscent() + textHeight*i; + + g.drawString(level, x, y); + } + } + + private void drawSelector(Graphics g) { + String level = this.levels.get(selectorIndex); + int w = Global.screenWidth; + int h = Global.screenHeight; + FontMetrics fm = g.getFontMetrics(); + int textHeight = fm.getAscent() + fm.getDescent(); + int boxHeight = textHeight * this.levels.size(); + int marginTop = (h - boxHeight) / 2; + + int x = (w - fm.stringWidth(level)) / 2 - 30; + int y = marginTop + fm.getAscent() + textHeight*selectorIndex; + + g.drawString(">", x, y); + } + + @Override + public void update() {} +} diff --git a/src/uet/oop/bomberman/utils/EGameControl.java b/src/uet/oop/bomberman/utils/EGameControl.java new file mode 100644 index 0000000..fa8cea4 --- /dev/null +++ b/src/uet/oop/bomberman/utils/EGameControl.java @@ -0,0 +1,11 @@ +package uet.oop.bomberman.utils; + +public enum EGameControl { + NONE, + UP, + DOWN, + LEFT, + RIGHT, + ENTER, + SPACE, +} diff --git a/src/uet/oop/bomberman/utils/EGameLevel.java b/src/uet/oop/bomberman/utils/EGameLevel.java new file mode 100644 index 0000000..7644772 --- /dev/null +++ b/src/uet/oop/bomberman/utils/EGameLevel.java @@ -0,0 +1,17 @@ +package uet.oop.bomberman.utils; + +public enum EGameLevel { + EASY("Easy"), + MEDIUM("Medium"), + HARD("Hard"); + + private final String level; + + EGameLevel(String level) { + this.level = level; + } + + public String getStringLevel() { + return this.level; + } +} diff --git a/src/uet/oop/bomberman/utils/EScreenName.java b/src/uet/oop/bomberman/utils/EScreenName.java new file mode 100644 index 0000000..515a6e8 --- /dev/null +++ b/src/uet/oop/bomberman/utils/EScreenName.java @@ -0,0 +1,6 @@ +package uet.oop.bomberman.utils; + +public enum EScreenName { + SELECT_LEVEL_SCREEN, + GAME_PLAY_SCREEN, +} diff --git a/src/uet/oop/bomberman/utils/Global.java b/src/uet/oop/bomberman/utils/Global.java new file mode 100644 index 0000000..623e0a6 --- /dev/null +++ b/src/uet/oop/bomberman/utils/Global.java @@ -0,0 +1,8 @@ +package uet.oop.bomberman.utils; + +public class Global { + public static int screenWidth; + public static int screenHeight; + + public static EScreenName currentScreen; +} From f0a9bcd660dade615c472c67025dceb3a8cecdc4 Mon Sep 17 00:00:00 2001 From: phuonnngminh Date: Tue, 14 May 2024 16:43:18 +0000 Subject: [PATCH 13/93] use constant for TICKS_PER_SECOND --- src/uet/oop/bomberman/Board.java | 2 +- src/uet/oop/bomberman/Game.java | 3 ++- src/uet/oop/bomberman/entities/Message.java | 3 ++- src/uet/oop/bomberman/entities/bomb/Bomb.java | 2 +- src/uet/oop/bomberman/entities/character/enemy/Balloon.java | 4 ++-- src/uet/oop/bomberman/entities/character/enemy/Doll.java | 5 +++-- src/uet/oop/bomberman/entities/character/enemy/Enemy.java | 2 +- src/uet/oop/bomberman/entities/character/enemy/Kondoria.java | 4 ++-- src/uet/oop/bomberman/entities/character/enemy/Minvo.java | 4 ++-- src/uet/oop/bomberman/entities/character/enemy/Oneal.java | 4 ++-- src/uet/oop/bomberman/entities/tile/item/Item.java | 2 +- src/uet/oop/bomberman/gui/InfoPanel.java | 2 +- src/uet/oop/bomberman/input/Keyboard.java | 2 +- 13 files changed, 21 insertions(+), 18 deletions(-) diff --git a/src/uet/oop/bomberman/Board.java b/src/uet/oop/bomberman/Board.java index 0bf31f2..5d05ee3 100644 --- a/src/uet/oop/bomberman/Board.java +++ b/src/uet/oop/bomberman/Board.java @@ -348,7 +348,7 @@ public int subtractTime() { public int getItemTime() { int totalTime = 0; for (int i = 0; i < _activeItems.size(); i++) { - totalTime += _activeItems.get(i).getDuration() / 60; + totalTime += _activeItems.get(i).getDuration() / Game.TICKS_PER_SECOND; } return totalTime; } diff --git a/src/uet/oop/bomberman/Game.java b/src/uet/oop/bomberman/Game.java index f043707..b217f0b 100644 --- a/src/uet/oop/bomberman/Game.java +++ b/src/uet/oop/bomberman/Game.java @@ -22,6 +22,7 @@ public class Game extends Canvas { public static int SCALE = 3; public static final String TITLE = "BombermanGame"; + public static final int TICKS_PER_SECOND = 60; private static final int BOMBRATE = 1; private static final int BOMBRADIUS = 1; @@ -113,7 +114,7 @@ public void start() { long lastTime = System.nanoTime(); long timer = System.currentTimeMillis(); - final double ns = 1000000000.0 / 60.0; // nanosecond, 60 frames per second + final double ns = 1000000000.0 / TICKS_PER_SECOND; // nanosecond, 60 frames per second double delta = 0; int frames = 0; int updates = 0; diff --git a/src/uet/oop/bomberman/entities/Message.java b/src/uet/oop/bomberman/entities/Message.java index 1e743e7..4bfab68 100644 --- a/src/uet/oop/bomberman/entities/Message.java +++ b/src/uet/oop/bomberman/entities/Message.java @@ -1,5 +1,6 @@ package uet.oop.bomberman.entities; +import uet.oop.bomberman.Game; import uet.oop.bomberman.graphics.Screen; import java.awt.*; @@ -27,7 +28,7 @@ public Message(String message, double x, double y, int duration, Color color, in _x =x; _y = y; _message = message; - _duration = duration * 60; //seconds + _duration = duration * Game.TICKS_PER_SECOND; //seconds _color = color; _size = size; } diff --git a/src/uet/oop/bomberman/entities/bomb/Bomb.java b/src/uet/oop/bomberman/entities/bomb/Bomb.java index 34e1a20..f65b5d7 100644 --- a/src/uet/oop/bomberman/entities/bomb/Bomb.java +++ b/src/uet/oop/bomberman/entities/bomb/Bomb.java @@ -52,7 +52,7 @@ public void render(Screen screen) { _sprite = Sprite.bomb_exploded2; renderFlames(screen); } else - _sprite = Sprite.movingSprite(Sprite.bomb, Sprite.bomb_1, Sprite.bomb_2, _animate, 60); + _sprite = Sprite.movingSprite(Sprite.bomb, Sprite.bomb_1, Sprite.bomb_2, _animate, Game.TICKS_PER_SECOND); int xt = (int)_x << 4; int yt = (int)_y << 4; diff --git a/src/uet/oop/bomberman/entities/character/enemy/Balloon.java b/src/uet/oop/bomberman/entities/character/enemy/Balloon.java index e0d43dc..f8a3ab1 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/Balloon.java +++ b/src/uet/oop/bomberman/entities/character/enemy/Balloon.java @@ -25,11 +25,11 @@ protected void chooseSprite() { switch(_direction) { case 0: case 1: - _sprite = Sprite.movingSprite(Sprite.balloom_right1, Sprite.balloom_right2, Sprite.balloom_right3, _animate, 60); + _sprite = Sprite.movingSprite(Sprite.balloom_right1, Sprite.balloom_right2, Sprite.balloom_right3, _animate, Game.TICKS_PER_SECOND); break; case 2: case 3: - _sprite = Sprite.movingSprite(Sprite.balloom_left1, Sprite.balloom_left2, Sprite.balloom_left3, _animate, 60); + _sprite = Sprite.movingSprite(Sprite.balloom_left1, Sprite.balloom_left2, Sprite.balloom_left3, _animate, Game.TICKS_PER_SECOND); break; } } diff --git a/src/uet/oop/bomberman/entities/character/enemy/Doll.java b/src/uet/oop/bomberman/entities/character/enemy/Doll.java index dc85fce..72fbc18 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/Doll.java +++ b/src/uet/oop/bomberman/entities/character/enemy/Doll.java @@ -6,6 +6,7 @@ package uet.oop.bomberman.entities.character.enemy; import uet.oop.bomberman.Board; +import uet.oop.bomberman.Game; import uet.oop.bomberman.entities.character.enemy.ai.AILow; import uet.oop.bomberman.entities.character.enemy.ai.AIMedium; import uet.oop.bomberman.graphics.Sprite; @@ -32,7 +33,7 @@ protected void chooseSprite() { case 0: case 1: if (_moving) { - _sprite = Sprite.movingSprite(Sprite.doll_right1, Sprite.doll_right2, Sprite.doll_right3, _animate, 60); + _sprite = Sprite.movingSprite(Sprite.doll_right1, Sprite.doll_right2, Sprite.doll_right3, _animate, Game.TICKS_PER_SECOND); } else { _sprite = Sprite.doll_left1; } @@ -40,7 +41,7 @@ protected void chooseSprite() { case 2: case 3: if (_moving) { - _sprite = Sprite.movingSprite(Sprite.doll_left1, Sprite.doll_left2, Sprite.doll_left3, _animate, 60); + _sprite = Sprite.movingSprite(Sprite.doll_left1, Sprite.doll_left2, Sprite.doll_left3, _animate, Game.TICKS_PER_SECOND); } else { _sprite = Sprite.doll_left1; } diff --git a/src/uet/oop/bomberman/entities/character/enemy/Enemy.java b/src/uet/oop/bomberman/entities/character/enemy/Enemy.java index 61a7b99..cabd65d 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/Enemy.java +++ b/src/uet/oop/bomberman/entities/character/enemy/Enemy.java @@ -66,7 +66,7 @@ public void render(Screen screen) { _sprite = _deadSprite; _animate = 0; } else { - _sprite = Sprite.movingSprite(Sprite.mob_dead1, Sprite.mob_dead2, Sprite.mob_dead3, _animate, 60); + _sprite = Sprite.movingSprite(Sprite.mob_dead1, Sprite.mob_dead2, Sprite.mob_dead3, _animate, Game.TICKS_PER_SECOND); } } diff --git a/src/uet/oop/bomberman/entities/character/enemy/Kondoria.java b/src/uet/oop/bomberman/entities/character/enemy/Kondoria.java index 95fe5d4..b7cb406 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/Kondoria.java +++ b/src/uet/oop/bomberman/entities/character/enemy/Kondoria.java @@ -23,7 +23,7 @@ protected void chooseSprite() { case 1: if (_moving) _sprite = Sprite.movingSprite(Sprite.kondoria_right1, Sprite.kondoria_right2, - Sprite.kondoria_right3, _animate, 60); + Sprite.kondoria_right3, _animate, Game.TICKS_PER_SECOND); else _sprite = Sprite.kondoria_left1; break; @@ -31,7 +31,7 @@ protected void chooseSprite() { case 3: if (_moving) _sprite = Sprite.movingSprite(Sprite.kondoria_left1, Sprite.kondoria_left2, Sprite.kondoria_left3, - _animate, 60); + _animate, Game.TICKS_PER_SECOND); else _sprite = Sprite.kondoria_left1; break; diff --git a/src/uet/oop/bomberman/entities/character/enemy/Minvo.java b/src/uet/oop/bomberman/entities/character/enemy/Minvo.java index e4ad4d7..c16c976 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/Minvo.java +++ b/src/uet/oop/bomberman/entities/character/enemy/Minvo.java @@ -24,7 +24,7 @@ protected void chooseSprite() { case 1: if (_moving) _sprite = Sprite.movingSprite(Sprite.minvo_right1, Sprite.minvo_right2, Sprite.minvo_right3, - _animate, 60); + _animate, Game.TICKS_PER_SECOND); else _sprite = Sprite.minvo_left1; break; @@ -32,7 +32,7 @@ protected void chooseSprite() { case 3: if (_moving) _sprite = Sprite.movingSprite(Sprite.minvo_left1, Sprite.minvo_left2, Sprite.minvo_left3, _animate, - 60); + Game.TICKS_PER_SECOND); else _sprite = Sprite.minvo_left1; break; diff --git a/src/uet/oop/bomberman/entities/character/enemy/Oneal.java b/src/uet/oop/bomberman/entities/character/enemy/Oneal.java index 3ad4b23..608255f 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/Oneal.java +++ b/src/uet/oop/bomberman/entities/character/enemy/Oneal.java @@ -27,14 +27,14 @@ protected void chooseSprite() { case 0: case 1: if(_moving) - _sprite = Sprite.movingSprite(Sprite.oneal_right1, Sprite.oneal_right2, Sprite.oneal_right3, _animate, 60); + _sprite = Sprite.movingSprite(Sprite.oneal_right1, Sprite.oneal_right2, Sprite.oneal_right3, _animate, Game.TICKS_PER_SECOND); else _sprite = Sprite.oneal_left1; break; case 2: case 3: if(_moving) - _sprite = Sprite.movingSprite(Sprite.oneal_left1, Sprite.oneal_left2, Sprite.oneal_left3, _animate, 60); + _sprite = Sprite.movingSprite(Sprite.oneal_left1, Sprite.oneal_left2, Sprite.oneal_left3, _animate, Game.TICKS_PER_SECOND); else _sprite = Sprite.oneal_left1; break; diff --git a/src/uet/oop/bomberman/entities/tile/item/Item.java b/src/uet/oop/bomberman/entities/tile/item/Item.java index b67655a..59b6ba8 100644 --- a/src/uet/oop/bomberman/entities/tile/item/Item.java +++ b/src/uet/oop/bomberman/entities/tile/item/Item.java @@ -8,7 +8,7 @@ import uet.oop.bomberman.sound.Sound; public abstract class Item extends Tile { - protected int _duration = 300; // 5s + protected int _duration = 30 * Game.TICKS_PER_SECOND; // 30s protected boolean _active = false; protected int _level; diff --git a/src/uet/oop/bomberman/gui/InfoPanel.java b/src/uet/oop/bomberman/gui/InfoPanel.java index 166630b..825e741 100644 --- a/src/uet/oop/bomberman/gui/InfoPanel.java +++ b/src/uet/oop/bomberman/gui/InfoPanel.java @@ -58,7 +58,7 @@ public void setItemTime(int t) { if ((item.getDuration()) == 0) { continue; } - label += item.getDisplayActiveItem() + item.getDuration() / 60 + " "; + label += item.getDisplayActiveItem() + item.getDuration() / Game.TICKS_PER_SECOND + " "; } itemTimeLabel.setText(label); } diff --git a/src/uet/oop/bomberman/input/Keyboard.java b/src/uet/oop/bomberman/input/Keyboard.java index bb8daad..d338c50 100644 --- a/src/uet/oop/bomberman/input/Keyboard.java +++ b/src/uet/oop/bomberman/input/Keyboard.java @@ -8,7 +8,7 @@ */ public class Keyboard implements KeyListener { - private boolean[] keys = new boolean[120]; //120 is enough to this game + private boolean[] keys = new boolean[65536]; public boolean up, down, left, right, space; public void update() { From 165c802254a7b80cc17a62172990e801e7c4b999 Mon Sep 17 00:00:00 2001 From: 21522098_HuyHoang <21522098@gm.uit.edu.vn> Date: Wed, 15 May 2024 16:35:53 +0700 Subject: [PATCH 14/93] Changes Pause to ESC --- src/uet/oop/bomberman/Game.java | 23 ++++++++--------------- src/uet/oop/bomberman/gui/InfoPanel.java | 20 +------------------- src/uet/oop/bomberman/input/Keyboard.java | 5 +++-- 3 files changed, 12 insertions(+), 36 deletions(-) diff --git a/src/uet/oop/bomberman/Game.java b/src/uet/oop/bomberman/Game.java index c44c977..55f9388 100644 --- a/src/uet/oop/bomberman/Game.java +++ b/src/uet/oop/bomberman/Game.java @@ -3,13 +3,13 @@ import uet.oop.bomberman.graphics.Screen; import uet.oop.bomberman.gui.Frame; import uet.oop.bomberman.input.Keyboard; -import uet.oop.bomberman.gui.InfoPanel; import java.awt.*; import java.awt.image.BufferStrategy; import java.awt.image.BufferedImage; import java.awt.image.DataBufferInt; -import javafx.event.ActionEvent; +import javax.swing.JButton; + /** * Tạo vòng lặp cho game, lưu trữ một vài tham số cấu hình toàn cục, @@ -47,7 +47,6 @@ public class Game extends Canvas { private boolean _running = false; private boolean _paused = true; private boolean _paused1 = true; - private Board _board; private Screen screen; private Frame _frame; @@ -64,6 +63,7 @@ public Game(Frame frame) { _board = new Board(this, _input, screen); addKeyListener(_input); + } @@ -144,19 +144,12 @@ public void start() { } else { renderGame(); } - if (_paused1) { - _board.setShow(3); - } else { - _board.setShow(-1); - } - if (_input.pause) { - _paused1 = !_paused1; - if (_paused) { - _board.setShow(3); - } else { - } - } + if (_input.resume) { + _paused = false; + _board.setShow(-1); + } + frames++; diff --git a/src/uet/oop/bomberman/gui/InfoPanel.java b/src/uet/oop/bomberman/gui/InfoPanel.java index 2341c67..8d2f9ae 100644 --- a/src/uet/oop/bomberman/gui/InfoPanel.java +++ b/src/uet/oop/bomberman/gui/InfoPanel.java @@ -10,15 +10,11 @@ * Swing Panel hiển thị thông tin thời gian, điểm mà người chơi đạt được */ public class InfoPanel extends JPanel { - private static Board _board; - private boolean gamePaused = false; private JLabel timeLabel; private JLabel pointsLabel; - private JButton pauseButton; - private Game game; + public InfoPanel(Game game) { setLayout(new GridLayout(1, 3)); - this.game = game; timeLabel = new JLabel("Time: " + game.getBoard().getTime()); timeLabel.setForeground(Color.white); timeLabel.setHorizontalAlignment(JLabel.CENTER); @@ -26,23 +22,9 @@ public InfoPanel(Game game) { pointsLabel = new JLabel("Points: " + game.getBoard().getPoints()); pointsLabel.setForeground(Color.white); pointsLabel.setHorizontalAlignment(JLabel.CENTER); - - pauseButton = new JButton("Pause"); - pauseButton.setForeground(Color.WHITE); - pauseButton.setHorizontalAlignment(JButton.CENTER); - pauseButton.setBackground(Color.BLACK); - pauseButton.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - game.pause(); - gamePaused = !gamePaused; - pauseButton.setText(gamePaused? "Resume" : "Pause"); - } - }); add(timeLabel); add(pointsLabel); - add(pauseButton); setBackground(Color.black); setPreferredSize(new Dimension(0, 40)); } diff --git a/src/uet/oop/bomberman/input/Keyboard.java b/src/uet/oop/bomberman/input/Keyboard.java index 44fdf07..d3ab986 100644 --- a/src/uet/oop/bomberman/input/Keyboard.java +++ b/src/uet/oop/bomberman/input/Keyboard.java @@ -9,7 +9,7 @@ public class Keyboard implements KeyListener { private boolean[] keys = new boolean[120]; //120 is enough to this game - public boolean up, down, left, right, space,pause; + public boolean up, down, left, right, space,pause,resume; public void update() { up = keys[KeyEvent.VK_UP] || keys[KeyEvent.VK_W]; @@ -17,7 +17,8 @@ public void update() { left = keys[KeyEvent.VK_LEFT] || keys[KeyEvent.VK_A]; right = keys[KeyEvent.VK_RIGHT] || keys[KeyEvent.VK_D]; space = keys[KeyEvent.VK_SPACE] || keys[KeyEvent.VK_X]; - pause = keys[KeyEvent.VK_P]; + pause = keys[KeyEvent.VK_ESCAPE]; + resume = keys[KeyEvent.VK_ENTER]; } @Override From a791aafcc64739a537e2db17e75a3b2ef81c05f6 Mon Sep 17 00:00:00 2001 From: 21522098_HuyHoang <21522098@gm.uit.edu.vn> Date: Wed, 15 May 2024 18:15:07 +0700 Subject: [PATCH 15/93] Fixed --- src/uet/oop/bomberman/Game.java | 5 +---- src/uet/oop/bomberman/gui/InfoPanel.java | 2 +- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/src/uet/oop/bomberman/Game.java b/src/uet/oop/bomberman/Game.java index 64c1b08..aaa12d1 100644 --- a/src/uet/oop/bomberman/Game.java +++ b/src/uet/oop/bomberman/Game.java @@ -45,8 +45,7 @@ public class Game extends Canvas { private Keyboard _input; private boolean _running = false; private boolean _paused = true; - private boolean _paused1 = true; - private Board _board; + private static Board _board; private Screen screen; private Frame _frame; @@ -196,11 +195,9 @@ public static void addBombRate(int i) { public void resetScreenDelay() { _screenDelay = SCREENDELAY; } - public static Board getBoard() { return _board; } - public boolean isPaused() { return _paused; } diff --git a/src/uet/oop/bomberman/gui/InfoPanel.java b/src/uet/oop/bomberman/gui/InfoPanel.java index d06a1ed..9958ca3 100644 --- a/src/uet/oop/bomberman/gui/InfoPanel.java +++ b/src/uet/oop/bomberman/gui/InfoPanel.java @@ -15,7 +15,7 @@ public class InfoPanel extends JPanel { private JLabel timeLabel; private JLabel pointsLabel; private JLabel itemTimeLabel; - + private Game game; public InfoPanel(Game game) { setLayout(new GridLayout()); timeLabel = new JLabel("Time: " + game.getBoard().getTime()); From a228e7c90d6618f912cd83c527fb7f5b9fd86060 Mon Sep 17 00:00:00 2001 From: Hang Le Thi Bich <21522041@gm.uit.edu.vn> Date: Wed, 15 May 2024 23:30:29 +0700 Subject: [PATCH 16/93] update infopanel --- src/uet/oop/bomberman/Game.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/uet/oop/bomberman/Game.java b/src/uet/oop/bomberman/Game.java index 6af2a57..a95382b 100644 --- a/src/uet/oop/bomberman/Game.java +++ b/src/uet/oop/bomberman/Game.java @@ -139,6 +139,7 @@ private void showScreen() { if(System.currentTimeMillis() - timer > 1000) { _frame.setTime(_board.subtractTime()); _frame.setPoints(_board.getPoints()); + _frame.setItemTime(_board.getItemTime()); timer += 1000; _frame.setTitle(TITLE + " | " + updates + " rate, " + frames + " fps"); updates = 0; From 4042a325aba03efde6aaca8b9887f88dbbfd0c4b Mon Sep 17 00:00:00 2001 From: phuonnngminh Date: Thu, 16 May 2024 13:35:57 +0000 Subject: [PATCH 17/93] extract interface IEntityManager and IMessageManager from Board --- src/uet/oop/bomberman/Board.java | 15 ++++++++++- .../oop/bomberman/base/IEntityManager.java | 26 +++++++++++++++++++ .../oop/bomberman/base/IMessageManager.java | 9 +++++++ src/uet/oop/bomberman/entities/bomb/Bomb.java | 6 ++--- .../oop/bomberman/entities/bomb/Flame.java | 6 ++--- .../bomberman/entities/character/Bomber.java | 16 +++++++----- .../entities/character/Character.java | 7 ++--- .../entities/character/enemy/Doll.java | 2 +- .../entities/character/enemy/Enemy.java | 7 ++++- .../entities/character/enemy/Kondoria.java | 2 +- .../oop/bomberman/level/FileLevelLoader.java | 2 +- 11 files changed, 78 insertions(+), 20 deletions(-) create mode 100644 src/uet/oop/bomberman/base/IEntityManager.java create mode 100644 src/uet/oop/bomberman/base/IMessageManager.java diff --git a/src/uet/oop/bomberman/Board.java b/src/uet/oop/bomberman/Board.java index 5d05ee3..34b6e49 100644 --- a/src/uet/oop/bomberman/Board.java +++ b/src/uet/oop/bomberman/Board.java @@ -1,5 +1,7 @@ package uet.oop.bomberman; +import uet.oop.bomberman.base.IEntityManager; +import uet.oop.bomberman.base.IMessageManager; import uet.oop.bomberman.entities.Entity; import uet.oop.bomberman.entities.Message; import uet.oop.bomberman.entities.bomb.Bomb; @@ -22,7 +24,7 @@ /** * Quản lý thao tác điều khiển, load level, render các màn hình của game */ -public class Board implements IRender { +public class Board implements IRender, IEntityManager, IMessageManager { protected LevelLoader _levelLoader; protected Game _game; protected Keyboard _input; @@ -153,6 +155,7 @@ public void drawScreen(Graphics g) { } } + @Override public Entity getEntity(double x, double y, Character m) { Entity res = null; @@ -174,10 +177,12 @@ public Entity getEntity(double x, double y, Character m) { return res; } + @Override public List getBombs() { return _bombs; } + @Override public Bomb getBombAt(double x, double y) { Iterator bs = _bombs.iterator(); Bomb b; @@ -190,6 +195,7 @@ public Bomb getBombAt(double x, double y) { return null; } + @Override public Bomber getBomber() { Iterator itr = _characters.iterator(); @@ -204,6 +210,7 @@ public Bomber getBomber() { return null; } + @Override public Character getCharacterAtExcluding(int x, int y, Character a) { Iterator itr = _characters.iterator(); @@ -223,6 +230,7 @@ public Character getCharacterAtExcluding(int x, int y, Character a) { return null; } + @Override public FlameSegment getFlameSegmentAt(int x, int y) { Iterator bs = _bombs.iterator(); Bomb b; @@ -238,6 +246,7 @@ public FlameSegment getFlameSegmentAt(int x, int y) { return null; } + @Override public Entity getEntityAt(double x, double y) { return _entities[(int) x + (int) y * _levelLoader.getWidth()]; } @@ -246,18 +255,22 @@ public void addActiveItem(Item item) { _activeItems.add(item); } + @Override public void addEntity(int pos, Entity e) { _entities[pos] = e; } + @Override public void addCharacter(Character e) { _characters.add(e); } + @Override public void addBomb(Bomb e) { _bombs.add(e); } + @Override public void addMessage(Message e) { _messages.add(e); } diff --git a/src/uet/oop/bomberman/base/IEntityManager.java b/src/uet/oop/bomberman/base/IEntityManager.java new file mode 100644 index 0000000..ddf0d77 --- /dev/null +++ b/src/uet/oop/bomberman/base/IEntityManager.java @@ -0,0 +1,26 @@ +package uet.oop.bomberman.base; + +import java.util.List; + +import uet.oop.bomberman.entities.Entity; +import uet.oop.bomberman.entities.bomb.Bomb; +import uet.oop.bomberman.entities.bomb.FlameSegment; +import uet.oop.bomberman.entities.character.Bomber; +import uet.oop.bomberman.entities.character.Character; + +public interface IEntityManager { + + public List getBombs(); + public Bomber getBomber(); + + public Entity getEntity(double x, double y, Character m); + public Entity getEntityAt(double x, double y); + public Bomb getBombAt(double x, double y); + public Character getCharacterAtExcluding(int x, int y, Character a); + public FlameSegment getFlameSegmentAt(int x, int y); + + public void addEntity(int pos, Entity e); + public void addCharacter(Character e); + public void addBomb(Bomb e); + +} \ No newline at end of file diff --git a/src/uet/oop/bomberman/base/IMessageManager.java b/src/uet/oop/bomberman/base/IMessageManager.java new file mode 100644 index 0000000..ec01310 --- /dev/null +++ b/src/uet/oop/bomberman/base/IMessageManager.java @@ -0,0 +1,9 @@ +package uet.oop.bomberman.base; + +import uet.oop.bomberman.entities.Message; + +public interface IMessageManager { + + public void addMessage(Message e); + +} \ No newline at end of file diff --git a/src/uet/oop/bomberman/entities/bomb/Bomb.java b/src/uet/oop/bomberman/entities/bomb/Bomb.java index f65b5d7..6e200ab 100644 --- a/src/uet/oop/bomberman/entities/bomb/Bomb.java +++ b/src/uet/oop/bomberman/entities/bomb/Bomb.java @@ -1,7 +1,7 @@ package uet.oop.bomberman.entities.bomb; -import uet.oop.bomberman.Board; import uet.oop.bomberman.Game; +import uet.oop.bomberman.base.IEntityManager; import uet.oop.bomberman.entities.AnimatedEntitiy; import uet.oop.bomberman.entities.Entity; import uet.oop.bomberman.entities.character.Bomber; @@ -15,12 +15,12 @@ public class Bomb extends AnimatedEntitiy { protected double _timeToExplode = 120; //2 seconds - thoi gian phat no public int _timeAfter = 20;// thoi gian de no - protected Board _board; + protected IEntityManager _board; protected Flame[] _flames; protected boolean _exploded = false; protected boolean _allowedToPassThru = true; - public Bomb(int x, int y, Board board) { + public Bomb(int x, int y, IEntityManager board) { _x = x; _y = y; _board = board; diff --git a/src/uet/oop/bomberman/entities/bomb/Flame.java b/src/uet/oop/bomberman/entities/bomb/Flame.java index 721bc25..71f8fd3 100644 --- a/src/uet/oop/bomberman/entities/bomb/Flame.java +++ b/src/uet/oop/bomberman/entities/bomb/Flame.java @@ -1,6 +1,6 @@ package uet.oop.bomberman.entities.bomb; -import uet.oop.bomberman.Board; +import uet.oop.bomberman.base.IEntityManager; import uet.oop.bomberman.entities.Entity; import uet.oop.bomberman.entities.character.Bomber; import uet.oop.bomberman.entities.character.enemy.Enemy; @@ -8,7 +8,7 @@ public class Flame extends Entity { - protected Board _board; + protected IEntityManager _board; protected int _direction; private int _radius; protected int xOrigin, yOrigin; @@ -21,7 +21,7 @@ public class Flame extends Entity { * @param direction là hướng của Flame * @param radius độ dài cực đại của Flame */ - public Flame(int x, int y, int direction, int radius, Board board) { + public Flame(int x, int y, int direction, int radius, IEntityManager board) { xOrigin = x; yOrigin = y; _x = x; diff --git a/src/uet/oop/bomberman/entities/character/Bomber.java b/src/uet/oop/bomberman/entities/character/Bomber.java index bcc797d..4e34e9c 100644 --- a/src/uet/oop/bomberman/entities/character/Bomber.java +++ b/src/uet/oop/bomberman/entities/character/Bomber.java @@ -3,6 +3,7 @@ import java.util.ArrayList; import uet.oop.bomberman.Board; import uet.oop.bomberman.Game; +import uet.oop.bomberman.base.IEntityManager; import uet.oop.bomberman.entities.Entity; import uet.oop.bomberman.entities.bomb.Bomb; import uet.oop.bomberman.graphics.Screen; @@ -29,9 +30,12 @@ public class Bomber extends Character { */ protected int _timeBetweenPutBombs = 0; - public Bomber(int x, int y, Board board) { - super(x, y, board); - _bombs = _board.getBombs(); + private Board _board; + + public Bomber(int x, int y, IEntityManager entityManager, Board board) { + super(x, y, entityManager); + this._board = board; + _bombs = entityManager.getBombs(); _input = _board.getInput(); _sprite = Sprite.player_right; } @@ -94,8 +98,8 @@ private void detectPlaceBomb() { protected void placeBomb(int x, int y) { // TODO: thực hiện tạo đối tượng bom, đặt vào vị trí (x, y) - Bomb b = new Bomb(x, y, _board); - _board.addBomb(b); + Bomb b = new Bomb(x, y, entityManager); + entityManager.addBomb(b); Sound.play("BOM_SET"); } @@ -153,7 +157,7 @@ public boolean canMove(double x, double y) { double xt = ((_x + x) + c % 2 * 9) / Game.TILES_SIZE; //divide with tiles size to pass to tile coordinate double yt = ((_y + y) + c / 2 * 10 - 13) / Game.TILES_SIZE; //these values are the best from multiple tests - Entity a = _board.getEntity(xt, yt, this); + Entity a = entityManager.getEntity(xt, yt, this); if(!a.collide(this)) return false; diff --git a/src/uet/oop/bomberman/entities/character/Character.java b/src/uet/oop/bomberman/entities/character/Character.java index 52842a9..2a2335b 100644 --- a/src/uet/oop/bomberman/entities/character/Character.java +++ b/src/uet/oop/bomberman/entities/character/Character.java @@ -2,6 +2,7 @@ import uet.oop.bomberman.Board; import uet.oop.bomberman.Game; +import uet.oop.bomberman.base.IEntityManager; import uet.oop.bomberman.entities.AnimatedEntitiy; import uet.oop.bomberman.graphics.Screen; @@ -10,16 +11,16 @@ */ public abstract class Character extends AnimatedEntitiy { - protected Board _board; + protected IEntityManager entityManager; protected int _direction = -1; protected boolean _alive = true; protected boolean _moving = false; public int _timeAfter = 40; - public Character(int x, int y, Board board) { + public Character(int x, int y, IEntityManager entityManager) { _x = x; _y = y; - _board = board; + this.entityManager = entityManager; } @Override diff --git a/src/uet/oop/bomberman/entities/character/enemy/Doll.java b/src/uet/oop/bomberman/entities/character/enemy/Doll.java index 72fbc18..18c2924 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/Doll.java +++ b/src/uet/oop/bomberman/entities/character/enemy/Doll.java @@ -22,7 +22,7 @@ public Doll(int x, int y, Board board) { _sprite = Sprite.balloom_left1; - _ai = new AIMedium(_board.getBomber(), this); + _ai = new AIMedium(entityManager.getBomber(), this); _direction = _ai.calculateDirection(); } diff --git a/src/uet/oop/bomberman/entities/character/enemy/Enemy.java b/src/uet/oop/bomberman/entities/character/enemy/Enemy.java index cabd65d..a3a33f9 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/Enemy.java +++ b/src/uet/oop/bomberman/entities/character/enemy/Enemy.java @@ -2,6 +2,7 @@ import uet.oop.bomberman.Board; import uet.oop.bomberman.Game; +import uet.oop.bomberman.base.IEntityManager; import uet.oop.bomberman.entities.Entity; import uet.oop.bomberman.entities.Message; import uet.oop.bomberman.entities.bomb.Flame; @@ -28,9 +29,13 @@ public abstract class Enemy extends Character { protected int _finalAnimation = 30; protected Sprite _deadSprite; + + private Board _board; public Enemy(int x, int y, Board board, Sprite dead, double speed, int points) { super(x, y, board); + + this._board = board; _points = points; _speed = speed; @@ -122,7 +127,7 @@ public boolean canMove(double x, double y) { int xx = Coordinates.pixelToTile(xr) +(int)x; int yy = Coordinates.pixelToTile(yr) +(int)y; - Entity a = _board.getEntity(xx, yy, this); //entity of the position we want to go + Entity a = entityManager.getEntity(xx, yy, this); //entity of the position we want to go return a.collide(this); } diff --git a/src/uet/oop/bomberman/entities/character/enemy/Kondoria.java b/src/uet/oop/bomberman/entities/character/enemy/Kondoria.java index b7cb406..a7f20a7 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/Kondoria.java +++ b/src/uet/oop/bomberman/entities/character/enemy/Kondoria.java @@ -11,7 +11,7 @@ public Kondoria(int x, int y, Board board) { _sprite = Sprite.kondoria_right1; - _ai = new AIMedium(_board.getBomber(), this); + _ai = new AIMedium(entityManager.getBomber(), this); _direction = _ai.calculateDirection(); // this._speed += random.nextDouble()/2; } diff --git a/src/uet/oop/bomberman/level/FileLevelLoader.java b/src/uet/oop/bomberman/level/FileLevelLoader.java index d7ca60a..d673ca8 100644 --- a/src/uet/oop/bomberman/level/FileLevelLoader.java +++ b/src/uet/oop/bomberman/level/FileLevelLoader.java @@ -103,7 +103,7 @@ public void createEntities() { break; // Thêm Bomber case 'p': - _board.addCharacter(new Bomber(Coordinates.tileToPixel(x), Coordinates.tileToPixel(y) + Game.TILES_SIZE, _board)); + _board.addCharacter(new Bomber(Coordinates.tileToPixel(x), Coordinates.tileToPixel(y) + Game.TILES_SIZE, _board, _board)); Screen.setOffset(0, 0); _board.addEntity(x + y * _width, new Grass(x, y, Sprite.grass)); break; From e7b5244735d9759bc359d88ec6ae3a8177a7032f Mon Sep 17 00:00:00 2001 From: phuonnngminh Date: Thu, 16 May 2024 14:49:33 +0000 Subject: [PATCH 18/93] decouple Bomber class by adding isPlayer() --- src/uet/oop/bomberman/Board.java | 34 ++++++---------- .../oop/bomberman/base/IEntityManager.java | 7 +++- .../oop/bomberman/entities/bomb/Flame.java | 11 +++-- .../bomberman/entities/bomb/FlameSegment.java | 7 +--- .../entities/character/Character.java | 4 ++ .../entities/character/enemy/Doll.java | 2 +- .../entities/character/enemy/Enemy.java | 16 ++++---- .../entities/character/enemy/Kondoria.java | 2 +- .../entities/character/enemy/Minvo.java | 2 +- .../entities/character/enemy/ai/AIMedium.java | 18 ++++----- .../oop/bomberman/entities/tile/Portal.java | 40 +++++++++---------- .../entities/tile/item/BombItem.java | 3 -- .../entities/tile/item/FlameItem.java | 3 -- .../bomberman/entities/tile/item/Item.java | 5 +-- .../entities/tile/item/SpeedItem.java | 3 -- src/uet/oop/bomberman/graphics/Screen.java | 11 +++-- .../oop/bomberman/level/FileLevelLoader.java | 7 ++-- 17 files changed, 78 insertions(+), 97 deletions(-) diff --git a/src/uet/oop/bomberman/Board.java b/src/uet/oop/bomberman/Board.java index 34b6e49..57561b1 100644 --- a/src/uet/oop/bomberman/Board.java +++ b/src/uet/oop/bomberman/Board.java @@ -6,7 +6,6 @@ import uet.oop.bomberman.entities.Message; import uet.oop.bomberman.entities.bomb.Bomb; import uet.oop.bomberman.entities.bomb.FlameSegment; -import uet.oop.bomberman.entities.character.Bomber; import uet.oop.bomberman.entities.character.Character; import uet.oop.bomberman.entities.tile.item.Item; import uet.oop.bomberman.exceptions.LoadLevelException; @@ -36,6 +35,8 @@ public class Board implements IRender, IEntityManager, IMessageManager { private List _messages = new ArrayList<>(); private List _activeItems = new ArrayList<>(); + private Character player; + public List getActiveItems() { return _activeItems; } @@ -131,14 +132,10 @@ public void endGame() { _game.pause(); } - public boolean detectNoEnemies() {// phat hien enemies - int total = 0; - for (int i = 0; i < _characters.size(); i++) { - if (_characters.get(i) instanceof Bomber == false) - ++total; - } - - return total == 0; + @Override + public boolean isEnemyCleared() { + return _characters.stream() + .allMatch(character -> character != getPlayer()); } public void drawScreen(Graphics g) { @@ -196,18 +193,8 @@ public Bomb getBombAt(double x, double y) { } @Override - public Bomber getBomber() { - Iterator itr = _characters.iterator(); - - Character cur; - while (itr.hasNext()) { - cur = itr.next(); - - if (cur instanceof Bomber) - return (Bomber) cur; - } - - return null; + public Character getPlayer() { + return this.player; } @Override @@ -406,4 +393,9 @@ public int getHeight() { return _levelLoader.getHeight(); } + @Override + public void setPlayer(Character character) { + this.player = character; + } + } diff --git a/src/uet/oop/bomberman/base/IEntityManager.java b/src/uet/oop/bomberman/base/IEntityManager.java index ddf0d77..2135078 100644 --- a/src/uet/oop/bomberman/base/IEntityManager.java +++ b/src/uet/oop/bomberman/base/IEntityManager.java @@ -5,13 +5,11 @@ import uet.oop.bomberman.entities.Entity; import uet.oop.bomberman.entities.bomb.Bomb; import uet.oop.bomberman.entities.bomb.FlameSegment; -import uet.oop.bomberman.entities.character.Bomber; import uet.oop.bomberman.entities.character.Character; public interface IEntityManager { public List getBombs(); - public Bomber getBomber(); public Entity getEntity(double x, double y, Character m); public Entity getEntityAt(double x, double y); @@ -23,4 +21,9 @@ public interface IEntityManager { public void addCharacter(Character e); public void addBomb(Bomb e); + public void setPlayer(Character character); + public Character getPlayer(); + + public boolean isEnemyCleared(); + } \ No newline at end of file diff --git a/src/uet/oop/bomberman/entities/bomb/Flame.java b/src/uet/oop/bomberman/entities/bomb/Flame.java index 71f8fd3..f009521 100644 --- a/src/uet/oop/bomberman/entities/bomb/Flame.java +++ b/src/uet/oop/bomberman/entities/bomb/Flame.java @@ -2,8 +2,7 @@ import uet.oop.bomberman.base.IEntityManager; import uet.oop.bomberman.entities.Entity; -import uet.oop.bomberman.entities.character.Bomber; -import uet.oop.bomberman.entities.character.enemy.Enemy; +import uet.oop.bomberman.entities.character.Character; import uet.oop.bomberman.graphics.Screen; public class Flame extends Entity { @@ -110,9 +109,9 @@ public void render(Screen screen) { @Override public boolean collide(Entity e) { - // TODO: xử lý va chạm với Bomber, Enemy. Chú ý đối tượng này có vị trí chính là vị trí của Bomb đã nổ - if(e instanceof Bomber) ((Bomber) e).kill(); - if(e instanceof Enemy) ((Enemy) e).kill(); - return true; + if (e instanceof Character) { + ((Character)e).kill(); + } + return true; } } diff --git a/src/uet/oop/bomberman/entities/bomb/FlameSegment.java b/src/uet/oop/bomberman/entities/bomb/FlameSegment.java index 8a28539..4adf084 100644 --- a/src/uet/oop/bomberman/entities/bomb/FlameSegment.java +++ b/src/uet/oop/bomberman/entities/bomb/FlameSegment.java @@ -1,8 +1,7 @@ package uet.oop.bomberman.entities.bomb; import uet.oop.bomberman.entities.Entity; -import uet.oop.bomberman.entities.character.Bomber; -import uet.oop.bomberman.entities.character.enemy.Enemy; +import uet.oop.bomberman.entities.character.Character; import uet.oop.bomberman.graphics.Screen; import uet.oop.bomberman.graphics.Sprite; @@ -69,9 +68,7 @@ public void update() {} @Override public boolean collide(Entity e) { - // TODO: xử lý khi FlameSegment va chạm với Character - if(e instanceof Bomber) ((Bomber) e).kill(); - if(e instanceof Enemy) ((Enemy) e).kill(); + if (e instanceof Character) ((Character)e).kill(); return true; } diff --git a/src/uet/oop/bomberman/entities/character/Character.java b/src/uet/oop/bomberman/entities/character/Character.java index 2a2335b..028432b 100644 --- a/src/uet/oop/bomberman/entities/character/Character.java +++ b/src/uet/oop/bomberman/entities/character/Character.java @@ -61,5 +61,9 @@ protected double getXMessage() { protected double getYMessage() { return (_y* Game.SCALE) - (_sprite.SIZE / 2 * Game.SCALE); } + + public boolean isPlayer() { + return entityManager.getPlayer() == this; + } } diff --git a/src/uet/oop/bomberman/entities/character/enemy/Doll.java b/src/uet/oop/bomberman/entities/character/enemy/Doll.java index 18c2924..bc60e2c 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/Doll.java +++ b/src/uet/oop/bomberman/entities/character/enemy/Doll.java @@ -22,7 +22,7 @@ public Doll(int x, int y, Board board) { _sprite = Sprite.balloom_left1; - _ai = new AIMedium(entityManager.getBomber(), this); + _ai = new AIMedium(entityManager.getPlayer(), this); _direction = _ai.calculateDirection(); } diff --git a/src/uet/oop/bomberman/entities/character/enemy/Enemy.java b/src/uet/oop/bomberman/entities/character/enemy/Enemy.java index a3a33f9..e205c89 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/Enemy.java +++ b/src/uet/oop/bomberman/entities/character/enemy/Enemy.java @@ -2,11 +2,9 @@ import uet.oop.bomberman.Board; import uet.oop.bomberman.Game; -import uet.oop.bomberman.base.IEntityManager; import uet.oop.bomberman.entities.Entity; import uet.oop.bomberman.entities.Message; import uet.oop.bomberman.entities.bomb.Flame; -import uet.oop.bomberman.entities.character.Bomber; import uet.oop.bomberman.entities.character.Character; import uet.oop.bomberman.entities.character.enemy.ai.AI; import uet.oop.bomberman.graphics.Screen; @@ -135,13 +133,13 @@ public boolean canMove(double x, double y) { @Override public boolean collide(Entity e) { if(e instanceof Flame){ - this.kill(); - return false; - } - if(e instanceof Bomber){ - ((Bomber) e).kill(); - return false; - } + this.kill(); + return false; + } + if(e instanceof Character && ((Character)e).isPlayer()){ + ((Character) e).kill(); + return false; + } return true; } diff --git a/src/uet/oop/bomberman/entities/character/enemy/Kondoria.java b/src/uet/oop/bomberman/entities/character/enemy/Kondoria.java index a7f20a7..6f2a1f9 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/Kondoria.java +++ b/src/uet/oop/bomberman/entities/character/enemy/Kondoria.java @@ -11,7 +11,7 @@ public Kondoria(int x, int y, Board board) { _sprite = Sprite.kondoria_right1; - _ai = new AIMedium(entityManager.getBomber(), this); + _ai = new AIMedium(entityManager.getPlayer(), this); _direction = _ai.calculateDirection(); // this._speed += random.nextDouble()/2; } diff --git a/src/uet/oop/bomberman/entities/character/enemy/Minvo.java b/src/uet/oop/bomberman/entities/character/enemy/Minvo.java index c16c976..5ec04b3 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/Minvo.java +++ b/src/uet/oop/bomberman/entities/character/enemy/Minvo.java @@ -13,7 +13,7 @@ public Minvo(int x, int y, Board board) { _board = board; _sprite = Sprite.minvo_right1; - _ai = new AIMedium(_board.getBomber(), this); + _ai = new AIMedium(_board.getPlayer(), this); _direction = _ai.calculateDirection(); } diff --git a/src/uet/oop/bomberman/entities/character/enemy/ai/AIMedium.java b/src/uet/oop/bomberman/entities/character/enemy/ai/AIMedium.java index 1fa7960..17a7bfc 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/ai/AIMedium.java +++ b/src/uet/oop/bomberman/entities/character/enemy/ai/AIMedium.java @@ -1,21 +1,21 @@ package uet.oop.bomberman.entities.character.enemy.ai; -import uet.oop.bomberman.entities.character.Bomber; +import uet.oop.bomberman.entities.character.Character; import uet.oop.bomberman.entities.character.enemy.Enemy; public class AIMedium extends AI { - Bomber _bomber; + Character player; Enemy _e; - public AIMedium(Bomber bomber, Enemy e) { - _bomber = bomber; + public AIMedium(Character player, Enemy e) { + this.player = player; _e = e; } @Override public int calculateDirection() { // TODO: cài đặt thuật toán tìm đường đi - if(_bomber == null) + if(player == null) return random.nextInt(4); int vertical = random.nextInt(2); @@ -37,18 +37,18 @@ public int calculateDirection() { } } protected int calculateColDirection() { - if(_bomber.getXTile() < _e.getXTile()) + if(player.getXTile() < _e.getXTile()) return 3; - else if(_bomber.getXTile() > _e.getXTile()) + else if(player.getXTile() > _e.getXTile()) return 1; return -1; } protected int calculateRowDirection() { - if(_bomber.getYTile() < _e.getYTile()) + if(player.getYTile() < _e.getYTile()) return 0; - else if(_bomber.getYTile() > _e.getYTile()) + else if(player.getYTile() > _e.getYTile()) return 2; return -1; } diff --git a/src/uet/oop/bomberman/entities/tile/Portal.java b/src/uet/oop/bomberman/entities/tile/Portal.java index 9b077d7..0b42570 100644 --- a/src/uet/oop/bomberman/entities/tile/Portal.java +++ b/src/uet/oop/bomberman/entities/tile/Portal.java @@ -1,40 +1,38 @@ package uet.oop.bomberman.entities.tile; import uet.oop.bomberman.Board; -import uet.oop.bomberman.Game; import uet.oop.bomberman.entities.Entity; -import uet.oop.bomberman.entities.character.Bomber; -import uet.oop.bomberman.entities.tile.item.Item; +import uet.oop.bomberman.entities.character.Character; import uet.oop.bomberman.graphics.Sprite; import uet.oop.bomberman.sound.Sound; public class Portal extends Tile { - protected Board _board; - public Portal(int x, int y,Board board, Sprite sprite) { + protected Board _board; + + public Portal(int x, int y, Board board, Sprite sprite) { super(x, y, sprite); - _board = board; + _board = board; } - + @Override - public boolean collide(Entity e) {//xu li khi 2 entity va cham - //true cho di qua - //false khong cho di qua + public boolean collide(Entity e) {// xu li khi 2 entity va cham + // true cho di qua + // false khong cho di qua // TODO: xử lý khi Bomber đi vào - if(e instanceof Bomber ) { - - if(_board.detectNoEnemies() == false) + if (e instanceof Character && ((Character)e).isPlayer()) { + + if (!_board.isEnemyCleared()) return false; - - if(e.getXTile() == getX() && e.getYTile() == getY()) { - if(_board.detectNoEnemies()){ + + if (e.getXTile() == getX() && e.getYTile() == getY()) { + if (_board.isEnemyCleared()) { _board.nextLevel(); - Sound.play("CRYST_UP"); - } + Sound.play("CRYST_UP"); + } } - - return true; + } - + return true; } diff --git a/src/uet/oop/bomberman/entities/tile/item/BombItem.java b/src/uet/oop/bomberman/entities/tile/item/BombItem.java index cf9b5fc..598202a 100644 --- a/src/uet/oop/bomberman/entities/tile/item/BombItem.java +++ b/src/uet/oop/bomberman/entities/tile/item/BombItem.java @@ -1,10 +1,7 @@ package uet.oop.bomberman.entities.tile.item; import uet.oop.bomberman.Game; -import uet.oop.bomberman.entities.Entity; -import uet.oop.bomberman.entities.character.Bomber; import uet.oop.bomberman.graphics.Sprite; -import uet.oop.bomberman.sound.Sound; public class BombItem extends Item { diff --git a/src/uet/oop/bomberman/entities/tile/item/FlameItem.java b/src/uet/oop/bomberman/entities/tile/item/FlameItem.java index 6507dcf..66fd498 100644 --- a/src/uet/oop/bomberman/entities/tile/item/FlameItem.java +++ b/src/uet/oop/bomberman/entities/tile/item/FlameItem.java @@ -1,10 +1,7 @@ package uet.oop.bomberman.entities.tile.item; import uet.oop.bomberman.Game; -import uet.oop.bomberman.entities.Entity; -import uet.oop.bomberman.entities.character.Bomber; import uet.oop.bomberman.graphics.Sprite; -import uet.oop.bomberman.sound.Sound; public class FlameItem extends Item { diff --git a/src/uet/oop/bomberman/entities/tile/item/Item.java b/src/uet/oop/bomberman/entities/tile/item/Item.java index 59b6ba8..5e9f676 100644 --- a/src/uet/oop/bomberman/entities/tile/item/Item.java +++ b/src/uet/oop/bomberman/entities/tile/item/Item.java @@ -2,7 +2,7 @@ import uet.oop.bomberman.Game; import uet.oop.bomberman.entities.Entity; -import uet.oop.bomberman.entities.character.Bomber; +import uet.oop.bomberman.entities.character.Character; import uet.oop.bomberman.entities.tile.Tile; import uet.oop.bomberman.graphics.Sprite; import uet.oop.bomberman.sound.Sound; @@ -22,8 +22,7 @@ public Item(int x, int y, Sprite sprite) { @Override public boolean collide(Entity e) { - // TODO: xử lý Bomber ăn Item - if (e instanceof Bomber) { + if (e instanceof Character && ((Character)e).isPlayer()) { Sound.play("Item"); handleItemActive(); _active = true; diff --git a/src/uet/oop/bomberman/entities/tile/item/SpeedItem.java b/src/uet/oop/bomberman/entities/tile/item/SpeedItem.java index e8ebfd8..bb0bd22 100644 --- a/src/uet/oop/bomberman/entities/tile/item/SpeedItem.java +++ b/src/uet/oop/bomberman/entities/tile/item/SpeedItem.java @@ -1,10 +1,7 @@ package uet.oop.bomberman.entities.tile.item; import uet.oop.bomberman.Game; -import uet.oop.bomberman.entities.Entity; -import uet.oop.bomberman.entities.character.Bomber; import uet.oop.bomberman.graphics.Sprite; -import uet.oop.bomberman.sound.Sound; public class SpeedItem extends Item { diff --git a/src/uet/oop/bomberman/graphics/Screen.java b/src/uet/oop/bomberman/graphics/Screen.java index 9aa0058..e787942 100644 --- a/src/uet/oop/bomberman/graphics/Screen.java +++ b/src/uet/oop/bomberman/graphics/Screen.java @@ -3,7 +3,6 @@ import uet.oop.bomberman.Board; import uet.oop.bomberman.Game; import uet.oop.bomberman.entities.Entity; -import uet.oop.bomberman.entities.character.Bomber; import java.awt.*; @@ -66,17 +65,17 @@ public static void setOffset(int xO, int yO) { yOffset = yO; } - public static int calculateXOffset(Board board, Bomber bomber) { - if(bomber == null) return 0; + public static int calculateXOffset(Board board, Entity entity) { + if(entity == null) return 0; int temp = xOffset; - double BomberX = bomber.getX() / 16; + double x = entity.getX() / 16; double complement = 0.5; int firstBreakpoint = board.getWidth() / 4; int lastBreakpoint = board.getWidth() - firstBreakpoint; - if( BomberX > firstBreakpoint + complement && BomberX < lastBreakpoint - complement) { - temp = (int)bomber.getX() - (Game.WIDTH / 2); + if( x > firstBreakpoint + complement && x < lastBreakpoint - complement) { + temp = (int)entity.getX() - (Game.WIDTH / 2); } return temp; diff --git a/src/uet/oop/bomberman/level/FileLevelLoader.java b/src/uet/oop/bomberman/level/FileLevelLoader.java index d673ca8..4bfe991 100644 --- a/src/uet/oop/bomberman/level/FileLevelLoader.java +++ b/src/uet/oop/bomberman/level/FileLevelLoader.java @@ -1,7 +1,6 @@ package uet.oop.bomberman.level; import java.io.BufferedReader; -import java.io.File; import java.io.FileReader; import java.util.ArrayList; import java.util.List; @@ -101,9 +100,11 @@ public void createEntities() { ) ); break; - // Thêm Bomber + // Thêm Bomber player case 'p': - _board.addCharacter(new Bomber(Coordinates.tileToPixel(x), Coordinates.tileToPixel(y) + Game.TILES_SIZE, _board, _board)); + Bomber bomber = new Bomber(Coordinates.tileToPixel(x), Coordinates.tileToPixel(y) + Game.TILES_SIZE, _board, _board); + _board.addCharacter(bomber); + _board.setPlayer(bomber); Screen.setOffset(0, 0); _board.addEntity(x + y * _width, new Grass(x, y, Sprite.grass)); break; From 68cb07d0794ac13e79545459a3d5d28a748545a2 Mon Sep 17 00:00:00 2001 From: phuonnngminh Date: Thu, 16 May 2024 15:12:38 +0000 Subject: [PATCH 19/93] move camera snapping from Bomber to Board --- src/uet/oop/bomberman/Board.java | 7 +++++++ src/uet/oop/bomberman/entities/character/Bomber.java | 7 ------- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/uet/oop/bomberman/Board.java b/src/uet/oop/bomberman/Board.java index 57561b1..dad56ea 100644 --- a/src/uet/oop/bomberman/Board.java +++ b/src/uet/oop/bomberman/Board.java @@ -54,6 +54,11 @@ public Board(Game game, Keyboard input, Screen screen) { loadLevel(1); // start in level 1 } + private void snapCameraToPlayer() { + int xScroll = Screen.calculateXOffset(this, getPlayer()); + Screen.setOffset(xScroll, 0); + } + @Override public void update() { if (_game.isPaused()) @@ -66,6 +71,8 @@ public void update() { updateActiveItems(); detectEndGame(); + snapCameraToPlayer(); + for (int i = 0; i < _characters.size(); i++) { Character a = _characters.get(i); if (a.isRemoved()) diff --git a/src/uet/oop/bomberman/entities/character/Bomber.java b/src/uet/oop/bomberman/entities/character/Bomber.java index 4e34e9c..b1c9a9f 100644 --- a/src/uet/oop/bomberman/entities/character/Bomber.java +++ b/src/uet/oop/bomberman/entities/character/Bomber.java @@ -60,8 +60,6 @@ public void update() { @Override public void render(Screen screen) { - calculateXOffset(); - if (_alive) chooseSprite(); else @@ -70,11 +68,6 @@ public void render(Screen screen) { screen.renderEntity((int) _x, (int) _y - _sprite.SIZE, this); } - public void calculateXOffset() { - int xScroll = Screen.calculateXOffset(_board, this); - Screen.setOffset(xScroll, 0); - } - /** * Kiểm tra xem có đặt được bom hay không? nếu có thì đặt bom tại vị trí hiện tại của Bomber */ From 9c7c88ebad47a165310e4c3a663ef17a9285dd08 Mon Sep 17 00:00:00 2001 From: phuonnngminh Date: Thu, 16 May 2024 16:58:12 +0000 Subject: [PATCH 20/93] refactor Bomber input --- src/uet/oop/bomberman/Board.java | 29 +++++++++++ .../bomberman/entities/character/Bomber.java | 48 +++++-------------- .../entities/character/Character.java | 12 ++++- 3 files changed, 52 insertions(+), 37 deletions(-) diff --git a/src/uet/oop/bomberman/Board.java b/src/uet/oop/bomberman/Board.java index dad56ea..286ed15 100644 --- a/src/uet/oop/bomberman/Board.java +++ b/src/uet/oop/bomberman/Board.java @@ -6,6 +6,7 @@ import uet.oop.bomberman.entities.Message; import uet.oop.bomberman.entities.bomb.Bomb; import uet.oop.bomberman.entities.bomb.FlameSegment; +import uet.oop.bomberman.entities.character.Bomber; import uet.oop.bomberman.entities.character.Character; import uet.oop.bomberman.entities.tile.item.Item; import uet.oop.bomberman.exceptions.LoadLevelException; @@ -72,6 +73,7 @@ public void update() { detectEndGame(); snapCameraToPlayer(); + processPlayerInput(); for (int i = 0; i < _characters.size(); i++) { Character a = _characters.get(i); @@ -80,6 +82,33 @@ public void update() { } } + private void processPlayerInput() { + Character player = getPlayer(); + if (!player.isAlive()) return; + + processPlayerInputMove(player); + + if (player instanceof Bomber) { + Bomber bomber = (Bomber) player; + if(_input.space) bomber.placeBomb(); + } + } + + private void processPlayerInputMove(Character player) { + int xa = 0, ya = 0; + if(_input.up) ya--; + if(_input.down) ya++; + if(_input.left) xa--; + if(_input.right) xa++; + + if(xa != 0 || ya != 0) { + player.move(xa * Game.getBomberSpeed(), ya * Game.getBomberSpeed()); + player.setMoving(true); + } else { + player.setMoving(false); + } + } + @Override public void render(Screen screen) { if (_game.isPaused()) diff --git a/src/uet/oop/bomberman/entities/character/Bomber.java b/src/uet/oop/bomberman/entities/character/Bomber.java index b1c9a9f..c2b641c 100644 --- a/src/uet/oop/bomberman/entities/character/Bomber.java +++ b/src/uet/oop/bomberman/entities/character/Bomber.java @@ -8,7 +8,6 @@ import uet.oop.bomberman.entities.bomb.Bomb; import uet.oop.bomberman.graphics.Screen; import uet.oop.bomberman.graphics.Sprite; -import uet.oop.bomberman.input.Keyboard; import java.util.Iterator; import java.util.List; @@ -22,13 +21,16 @@ public class Bomber extends Character { private List _bombs; - protected Keyboard _input; public static List _items = new ArrayList();//xu li Item /** * nếu giá trị này < 0 thì cho phép đặt đối tượng Bomb tiếp theo, * cứ mỗi lần đặt 1 Bomb mới, giá trị này sẽ được reset về 0 và giảm dần trong mỗi lần update() */ - protected int _timeBetweenPutBombs = 0; + protected int bombCooldown = 0; + + public int getBombCooldown() { + return bombCooldown; + } private Board _board; @@ -36,7 +38,6 @@ public Bomber(int x, int y, IEntityManager entityManager, Board board) { super(x, y, entityManager); this._board = board; _bombs = entityManager.getBombs(); - _input = _board.getInput(); _sprite = Sprite.player_right; } @@ -48,14 +49,11 @@ public void update() { return; } - if (_timeBetweenPutBombs < -7500) _timeBetweenPutBombs = 0; - else _timeBetweenPutBombs--; + if (bombCooldown < -7500) bombCooldown = 0; + else bombCooldown--; animate(); - calculateMove(); - - detectPlaceBomb(); } @Override @@ -68,16 +66,8 @@ public void render(Screen screen) { screen.renderEntity((int) _x, (int) _y - _sprite.SIZE, this); } - /** - * Kiểm tra xem có đặt được bom hay không? nếu có thì đặt bom tại vị trí hiện tại của Bomber - */ - private void detectPlaceBomb() { - // TODO: kiểm tra xem phím điều khiển đặt bom có được gõ và giá trị _timeBetweenPutBombs, Game.getBombRate() có thỏa mãn hay không - // TODO: Game.getBombRate() sẽ trả về số lượng bom có thể đặt liên tiếp tại thời điểm hiện tại - // TODO: _timeBetweenPutBombs dùng để ngăn chặn Bomber đặt 2 Bomb cùng tại 1 vị trí trong 1 khoảng thời gian quá ngắn - // TODO: nếu 3 điều kiện trên thỏa mãn thì thực hiện đặt bom bằng placeBomb() - // TODO: sau khi đặt, nhớ giảm số lượng Bomb Rate và reset _timeBetweenPutBombs về 0 - if(_input.space && Game.getBombRate() > 0 && _timeBetweenPutBombs < 0) { + public boolean placeBomb() { + if(Game.getBombRate() > 0 && bombCooldown < 0) { int xt = Coordinates.pixelToTile(_x + _sprite.getSize() / 2); int yt = Coordinates.pixelToTile( (_y + _sprite.getSize() / 2) - _sprite.getSize() ); //subtract half player height and minus 1 y position @@ -85,11 +75,13 @@ private void detectPlaceBomb() { placeBomb(xt,yt); Game.addBombRate(-1); - _timeBetweenPutBombs = 30; + bombCooldown = 30; + return true; } + return false; } - protected void placeBomb(int x, int y) { + public void placeBomb(int x, int y) { // TODO: thực hiện tạo đối tượng bom, đặt vào vị trí (x, y) Bomb b = new Bomb(x, y, entityManager); entityManager.addBomb(b); @@ -127,20 +119,6 @@ protected void afterKill() { @Override protected void calculateMove() { - // TODO: xử lý nhận tín hiệu điều khiển hướng đi từ _input và gọi move() để thực hiện di chuyển - // TODO: nhớ cập nhật lại giá trị cờ _moving khi thay đổi trạng thái di chuyển - int xa = 0, ya = 0; - if(_input.up) ya--; - if(_input.down) ya++; - if(_input.left) xa--; - if(_input.right) xa++; - - if(xa != 0 || ya != 0) { - move(xa * Game.getBomberSpeed(), ya * Game.getBomberSpeed()); - _moving = true; - } else { - _moving = false; - } } @Override diff --git a/src/uet/oop/bomberman/entities/character/Character.java b/src/uet/oop/bomberman/entities/character/Character.java index 028432b..8a71806 100644 --- a/src/uet/oop/bomberman/entities/character/Character.java +++ b/src/uet/oop/bomberman/entities/character/Character.java @@ -1,6 +1,5 @@ package uet.oop.bomberman.entities.character; -import uet.oop.bomberman.Board; import uet.oop.bomberman.Game; import uet.oop.bomberman.base.IEntityManager; import uet.oop.bomberman.entities.AnimatedEntitiy; @@ -14,7 +13,16 @@ public abstract class Character extends AnimatedEntitiy { protected IEntityManager entityManager; protected int _direction = -1; protected boolean _alive = true; + public boolean isAlive() { + return _alive; + } + protected boolean _moving = false; + + public void setMoving(boolean moving) { + this._moving = moving; + } + public int _timeAfter = 40; public Character(int x, int y, IEntityManager entityManager) { @@ -34,7 +42,7 @@ public Character(int x, int y, IEntityManager entityManager) { */ protected abstract void calculateMove(); - protected abstract void move(double xa, double ya); + public abstract void move(double xa, double ya); /** * Được gọi khi đối tượng bị tiêu diệt From af1da6684793d522c8ae94fca287092ea9dd4cf8 Mon Sep 17 00:00:00 2001 From: phuonnngminh Date: Thu, 16 May 2024 17:52:29 +0000 Subject: [PATCH 21/93] SpeedItem managed by Character instead of global Game --- src/uet/oop/bomberman/Board.java | 6 +-- src/uet/oop/bomberman/Game.java | 2 +- .../bomberman/entities/character/Bomber.java | 4 +- .../entities/character/Character.java | 42 +++++++++++++++---- .../entities/character/enemy/Enemy.java | 2 +- .../bomberman/entities/tile/item/Item.java | 9 +++- .../entities/tile/item/SpeedItem.java | 2 + .../oop/bomberman/level/FileLevelLoader.java | 8 +++- 8 files changed, 57 insertions(+), 18 deletions(-) diff --git a/src/uet/oop/bomberman/Board.java b/src/uet/oop/bomberman/Board.java index 286ed15..6346501 100644 --- a/src/uet/oop/bomberman/Board.java +++ b/src/uet/oop/bomberman/Board.java @@ -102,7 +102,7 @@ private void processPlayerInputMove(Character player) { if(_input.right) xa++; if(xa != 0 || ya != 0) { - player.move(xa * Game.getBomberSpeed(), ya * Game.getBomberSpeed()); + player.move(xa * player.getSpeed(), ya * player.getSpeed()); player.setMoving(true); } else { player.setMoving(false); @@ -170,8 +170,8 @@ public void endGame() { @Override public boolean isEnemyCleared() { - return _characters.stream() - .allMatch(character -> character != getPlayer()); + return !_characters.stream() + .anyMatch(character -> character != getPlayer()); } public void drawScreen(Graphics g) { diff --git a/src/uet/oop/bomberman/Game.java b/src/uet/oop/bomberman/Game.java index f53ff52..2928cec 100644 --- a/src/uet/oop/bomberman/Game.java +++ b/src/uet/oop/bomberman/Game.java @@ -28,7 +28,7 @@ public class Game extends Canvas { private static final int BOMBRATE = 1; private static final int BOMBRADIUS = 1; - private static final double BOMBERSPEED = 1.0;// toc do bomber + public static final double BOMBERSPEED = 1.0;// toc do bomber private static int itemTime; public static final int TIME = 200; diff --git a/src/uet/oop/bomberman/entities/character/Bomber.java b/src/uet/oop/bomberman/entities/character/Bomber.java index c2b641c..fff1f62 100644 --- a/src/uet/oop/bomberman/entities/character/Bomber.java +++ b/src/uet/oop/bomberman/entities/character/Bomber.java @@ -34,8 +34,8 @@ public int getBombCooldown() { private Board _board; - public Bomber(int x, int y, IEntityManager entityManager, Board board) { - super(x, y, entityManager); + public Bomber(int x, int y, double baseSpeed, IEntityManager entityManager, Board board) { + super(x, y, baseSpeed, entityManager); this._board = board; _bombs = entityManager.getBombs(); _sprite = Sprite.player_right; diff --git a/src/uet/oop/bomberman/entities/character/Character.java b/src/uet/oop/bomberman/entities/character/Character.java index 8a71806..4adb718 100644 --- a/src/uet/oop/bomberman/entities/character/Character.java +++ b/src/uet/oop/bomberman/entities/character/Character.java @@ -1,8 +1,13 @@ package uet.oop.bomberman.entities.character; +import java.util.ArrayList; +import java.util.List; + import uet.oop.bomberman.Game; import uet.oop.bomberman.base.IEntityManager; import uet.oop.bomberman.entities.AnimatedEntitiy; +import uet.oop.bomberman.entities.tile.item.Item; +import uet.oop.bomberman.entities.tile.item.SpeedItem; import uet.oop.bomberman.graphics.Screen; /** @@ -13,22 +18,18 @@ public abstract class Character extends AnimatedEntitiy { protected IEntityManager entityManager; protected int _direction = -1; protected boolean _alive = true; - public boolean isAlive() { - return _alive; - } - protected boolean _moving = false; + public int _timeAfter = 40; - public void setMoving(boolean moving) { - this._moving = moving; - } + private final double baseSpeed; - public int _timeAfter = 40; + private List activeItems = new ArrayList<>(); - public Character(int x, int y, IEntityManager entityManager) { + public Character(int x, int y, double baseSpeed, IEntityManager entityManager) { _x = x; _y = y; this.entityManager = entityManager; + this.baseSpeed = baseSpeed; } @Override @@ -74,4 +75,27 @@ public boolean isPlayer() { return entityManager.getPlayer() == this; } + public boolean isAlive() { + return _alive; + } + + public void setMoving(boolean moving) { + this._moving = moving; + } + + public void addActiveItem(Item item) { + this.activeItems.add(item); + } + + public double getSpeed() { + double speedMultiplier = 1; + for (Item item: activeItems) { + if (!item.isActive()) continue; + if (item instanceof SpeedItem) { + speedMultiplier += SpeedItem.SPEED_MULTIPLIER; + } + } + return speedMultiplier * this.baseSpeed; + } + } diff --git a/src/uet/oop/bomberman/entities/character/enemy/Enemy.java b/src/uet/oop/bomberman/entities/character/enemy/Enemy.java index e205c89..56e05a1 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/Enemy.java +++ b/src/uet/oop/bomberman/entities/character/enemy/Enemy.java @@ -31,7 +31,7 @@ public abstract class Enemy extends Character { private Board _board; public Enemy(int x, int y, Board board, Sprite dead, double speed, int points) { - super(x, y, board); + super(x, y, speed, board); this._board = board; diff --git a/src/uet/oop/bomberman/entities/tile/item/Item.java b/src/uet/oop/bomberman/entities/tile/item/Item.java index 5e9f676..b2d6ff5 100644 --- a/src/uet/oop/bomberman/entities/tile/item/Item.java +++ b/src/uet/oop/bomberman/entities/tile/item/Item.java @@ -10,6 +10,7 @@ public abstract class Item extends Tile { protected int _duration = 30 * Game.TICKS_PER_SECOND; // 30s protected boolean _active = false; + protected int _level; public Item(int x, int y, Sprite sprite) { @@ -23,10 +24,12 @@ public Item(int x, int y, Sprite sprite) { @Override public boolean collide(Entity e) { if (e instanceof Character && ((Character)e).isPlayer()) { + Character player = (Character) e; Sound.play("Item"); handleItemActive(); _active = true; Game.getBoard().addActiveItem(this); + player.addActiveItem(this); remove(); } return false; @@ -48,5 +51,9 @@ public int getDuration() { return _duration; } - public abstract String getDisplayActiveItem(); + public abstract String getDisplayActiveItem(); + + public boolean isActive() { + return _active; + } } diff --git a/src/uet/oop/bomberman/entities/tile/item/SpeedItem.java b/src/uet/oop/bomberman/entities/tile/item/SpeedItem.java index bb0bd22..afcbbe9 100644 --- a/src/uet/oop/bomberman/entities/tile/item/SpeedItem.java +++ b/src/uet/oop/bomberman/entities/tile/item/SpeedItem.java @@ -5,6 +5,8 @@ public class SpeedItem extends Item { + public static final double SPEED_MULTIPLIER = 0.5; + public SpeedItem(int x, int y, Sprite sprite) { super(x, y, sprite); } diff --git a/src/uet/oop/bomberman/level/FileLevelLoader.java b/src/uet/oop/bomberman/level/FileLevelLoader.java index 4bfe991..7531ff1 100644 --- a/src/uet/oop/bomberman/level/FileLevelLoader.java +++ b/src/uet/oop/bomberman/level/FileLevelLoader.java @@ -102,7 +102,13 @@ public void createEntities() { break; // Thêm Bomber player case 'p': - Bomber bomber = new Bomber(Coordinates.tileToPixel(x), Coordinates.tileToPixel(y) + Game.TILES_SIZE, _board, _board); + Bomber bomber = new Bomber( + Coordinates.tileToPixel(x), + Coordinates.tileToPixel(y) + Game.TILES_SIZE, + Game.BOMBERSPEED, + _board, + _board + ); _board.addCharacter(bomber); _board.setPlayer(bomber); Screen.setOffset(0, 0); From d49cc1dc6e2e43e1beb91e2c68bd45471c66dda9 Mon Sep 17 00:00:00 2001 From: phuonnngminh Date: Thu, 16 May 2024 23:17:51 +0000 Subject: [PATCH 22/93] move BombItem to Bomber instead of Game --- src/uet/oop/bomberman/Game.java | 4 +-- .../bomberman/entities/character/Bomber.java | 29 ++++++++++++++----- .../entities/character/Character.java | 5 ++++ .../entities/tile/item/BombItem.java | 4 ++- .../oop/bomberman/level/FileLevelLoader.java | 1 + 5 files changed, 32 insertions(+), 11 deletions(-) diff --git a/src/uet/oop/bomberman/Game.java b/src/uet/oop/bomberman/Game.java index 2928cec..737f8de 100644 --- a/src/uet/oop/bomberman/Game.java +++ b/src/uet/oop/bomberman/Game.java @@ -26,8 +26,8 @@ public class Game extends Canvas { public static final String TITLE = "BombermanGame"; public static final int TICKS_PER_SECOND = 60; - private static final int BOMBRATE = 1; - private static final int BOMBRADIUS = 1; + public static final int BOMBRATE = 1; + public static final int BOMBRADIUS = 1; public static final double BOMBERSPEED = 1.0;// toc do bomber private static int itemTime; diff --git a/src/uet/oop/bomberman/entities/character/Bomber.java b/src/uet/oop/bomberman/entities/character/Bomber.java index fff1f62..96a7343 100644 --- a/src/uet/oop/bomberman/entities/character/Bomber.java +++ b/src/uet/oop/bomberman/entities/character/Bomber.java @@ -14,6 +14,7 @@ import uet.oop.bomberman.entities.LayeredEntity; import uet.oop.bomberman.entities.bomb.Flame; import uet.oop.bomberman.entities.character.enemy.Enemy; +import uet.oop.bomberman.entities.tile.item.BombItem; import uet.oop.bomberman.entities.tile.item.Item; import uet.oop.bomberman.level.Coordinates; import uet.oop.bomberman.sound.Sound; @@ -22,10 +23,8 @@ public class Bomber extends Character { private List _bombs; public static List _items = new ArrayList();//xu li Item - /** - * nếu giá trị này < 0 thì cho phép đặt đối tượng Bomb tiếp theo, - * cứ mỗi lần đặt 1 Bomb mới, giá trị này sẽ được reset về 0 và giảm dần trong mỗi lần update() - */ + + private final int baseBombLimit; protected int bombCooldown = 0; public int getBombCooldown() { @@ -34,8 +33,9 @@ public int getBombCooldown() { private Board _board; - public Bomber(int x, int y, double baseSpeed, IEntityManager entityManager, Board board) { + public Bomber(int x, int y, double baseSpeed, int baseBombLimit, IEntityManager entityManager, Board board) { super(x, y, baseSpeed, entityManager); + this.baseBombLimit = baseBombLimit; this._board = board; _bombs = entityManager.getBombs(); _sprite = Sprite.player_right; @@ -66,14 +66,28 @@ public void render(Screen screen) { screen.renderEntity((int) _x, (int) _y - _sprite.SIZE, this); } + public int getBombLimit() { + int bombLimitBonus = 0; + for (Item item: getActiveItems()) { + if (!item.isActive()) continue; + if (item instanceof BombItem) { + bombLimitBonus += BombItem.BOMB_LIMIT_BONUS; + } + } + return this.baseBombLimit + bombLimitBonus; + } + + public int getBombRemainingQuota() { + return getBombLimit() - _bombs.size(); + } + public boolean placeBomb() { - if(Game.getBombRate() > 0 && bombCooldown < 0) { + if(getBombRemainingQuota() > 0 && bombCooldown < 0) { int xt = Coordinates.pixelToTile(_x + _sprite.getSize() / 2); int yt = Coordinates.pixelToTile( (_y + _sprite.getSize() / 2) - _sprite.getSize() ); //subtract half player height and minus 1 y position placeBomb(xt,yt); - Game.addBombRate(-1); bombCooldown = 30; return true; @@ -96,7 +110,6 @@ private void clearBombs() { b = bs.next(); if (b.isRemoved()) { bs.remove(); - Game.addBombRate(1); } } diff --git a/src/uet/oop/bomberman/entities/character/Character.java b/src/uet/oop/bomberman/entities/character/Character.java index 4adb718..c2d266d 100644 --- a/src/uet/oop/bomberman/entities/character/Character.java +++ b/src/uet/oop/bomberman/entities/character/Character.java @@ -1,6 +1,7 @@ package uet.oop.bomberman.entities.character; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import uet.oop.bomberman.Game; @@ -83,6 +84,10 @@ public void setMoving(boolean moving) { this._moving = moving; } + public List getActiveItems() { + return Collections.unmodifiableList(activeItems); + } + public void addActiveItem(Item item) { this.activeItems.add(item); } diff --git a/src/uet/oop/bomberman/entities/tile/item/BombItem.java b/src/uet/oop/bomberman/entities/tile/item/BombItem.java index 598202a..6bf1a5a 100644 --- a/src/uet/oop/bomberman/entities/tile/item/BombItem.java +++ b/src/uet/oop/bomberman/entities/tile/item/BombItem.java @@ -5,7 +5,9 @@ public class BombItem extends Item { - public BombItem(int x, int y, Sprite sprite) { + public static final int BOMB_LIMIT_BONUS = 1; + + public BombItem(int x, int y, Sprite sprite) { super(x, y, sprite); } diff --git a/src/uet/oop/bomberman/level/FileLevelLoader.java b/src/uet/oop/bomberman/level/FileLevelLoader.java index 7531ff1..e79c447 100644 --- a/src/uet/oop/bomberman/level/FileLevelLoader.java +++ b/src/uet/oop/bomberman/level/FileLevelLoader.java @@ -106,6 +106,7 @@ public void createEntities() { Coordinates.tileToPixel(x), Coordinates.tileToPixel(y) + Game.TILES_SIZE, Game.BOMBERSPEED, + Game.BOMBRATE, _board, _board ); From 53b74c6ca17e710c541ea9212922e25b7256617d Mon Sep 17 00:00:00 2001 From: phuonnngminh Date: Fri, 17 May 2024 06:38:27 +0000 Subject: [PATCH 23/93] move FlameItem to Bomber instead of Game --- src/uet/oop/bomberman/entities/bomb/Bomb.java | 7 ++++-- .../bomberman/entities/character/Bomber.java | 24 ++++++++++++------- .../entities/character/Character.java | 5 ++-- .../entities/tile/item/FlameItem.java | 2 ++ .../oop/bomberman/level/FileLevelLoader.java | 1 + 5 files changed, 26 insertions(+), 13 deletions(-) diff --git a/src/uet/oop/bomberman/entities/bomb/Bomb.java b/src/uet/oop/bomberman/entities/bomb/Bomb.java index 6e200ab..69fe8f1 100644 --- a/src/uet/oop/bomberman/entities/bomb/Bomb.java +++ b/src/uet/oop/bomberman/entities/bomb/Bomb.java @@ -19,12 +19,15 @@ public class Bomb extends AnimatedEntitiy { protected Flame[] _flames; protected boolean _exploded = false; protected boolean _allowedToPassThru = true; + + private final int bombRadius; - public Bomb(int x, int y, IEntityManager board) { + public Bomb(int x, int y, int bombRadius, IEntityManager board) { _x = x; _y = y; _board = board; _sprite = Sprite.bomb; + this.bombRadius = bombRadius; } @Override @@ -86,7 +89,7 @@ protected void explode() {//nổ // TODO: tạo các Flame _flames = new Flame[4]; for (int i = 0; i < _flames.length; i++) { - _flames[i] = new Flame((int) _x, (int) _y, i, Game.getBombRadius(), _board); + _flames[i] = new Flame((int) _x, (int) _y, i, bombRadius, _board); } Sound.play("BOM_11_M"); } diff --git a/src/uet/oop/bomberman/entities/character/Bomber.java b/src/uet/oop/bomberman/entities/character/Bomber.java index 96a7343..2d6bd58 100644 --- a/src/uet/oop/bomberman/entities/character/Bomber.java +++ b/src/uet/oop/bomberman/entities/character/Bomber.java @@ -15,6 +15,7 @@ import uet.oop.bomberman.entities.bomb.Flame; import uet.oop.bomberman.entities.character.enemy.Enemy; import uet.oop.bomberman.entities.tile.item.BombItem; +import uet.oop.bomberman.entities.tile.item.FlameItem; import uet.oop.bomberman.entities.tile.item.Item; import uet.oop.bomberman.level.Coordinates; import uet.oop.bomberman.sound.Sound; @@ -27,15 +28,19 @@ public class Bomber extends Character { private final int baseBombLimit; protected int bombCooldown = 0; + private final int baseBombRadius; + private int bombRadius; + public int getBombCooldown() { return bombCooldown; } private Board _board; - public Bomber(int x, int y, double baseSpeed, int baseBombLimit, IEntityManager entityManager, Board board) { + public Bomber(int x, int y, double baseSpeed, int baseBombLimit, int baseBombRadius, IEntityManager entityManager, Board board) { super(x, y, baseSpeed, entityManager); this.baseBombLimit = baseBombLimit; + this.baseBombRadius = baseBombRadius; this._board = board; _bombs = entityManager.getBombs(); _sprite = Sprite.player_right; @@ -67,13 +72,8 @@ public void render(Screen screen) { } public int getBombLimit() { - int bombLimitBonus = 0; - for (Item item: getActiveItems()) { - if (!item.isActive()) continue; - if (item instanceof BombItem) { - bombLimitBonus += BombItem.BOMB_LIMIT_BONUS; - } - } + int countActiveItem = (int) getActiveItems().filter(item -> item instanceof BombItem).count(); + int bombLimitBonus = countActiveItem * BombItem.BOMB_LIMIT_BONUS; return this.baseBombLimit + bombLimitBonus; } @@ -81,6 +81,12 @@ public int getBombRemainingQuota() { return getBombLimit() - _bombs.size(); } + public int getBombRadius() { + int countActiveItem = (int) getActiveItems().filter(item -> item instanceof FlameItem).count(); + int bombRadiusBonus = countActiveItem * FlameItem.BOMB_RADIUS_BONUS; + return this.baseBombRadius + bombRadiusBonus; + } + public boolean placeBomb() { if(getBombRemainingQuota() > 0 && bombCooldown < 0) { @@ -97,7 +103,7 @@ public boolean placeBomb() { public void placeBomb(int x, int y) { // TODO: thực hiện tạo đối tượng bom, đặt vào vị trí (x, y) - Bomb b = new Bomb(x, y, entityManager); + Bomb b = new Bomb(x, y, getBombRadius(), entityManager); entityManager.addBomb(b); Sound.play("BOM_SET"); } diff --git a/src/uet/oop/bomberman/entities/character/Character.java b/src/uet/oop/bomberman/entities/character/Character.java index c2d266d..47aea17 100644 --- a/src/uet/oop/bomberman/entities/character/Character.java +++ b/src/uet/oop/bomberman/entities/character/Character.java @@ -3,6 +3,7 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; +import java.util.stream.Stream; import uet.oop.bomberman.Game; import uet.oop.bomberman.base.IEntityManager; @@ -84,8 +85,8 @@ public void setMoving(boolean moving) { this._moving = moving; } - public List getActiveItems() { - return Collections.unmodifiableList(activeItems); + public Stream getActiveItems() { + return activeItems.stream().filter(Item::isActive); } public void addActiveItem(Item item) { diff --git a/src/uet/oop/bomberman/entities/tile/item/FlameItem.java b/src/uet/oop/bomberman/entities/tile/item/FlameItem.java index 66fd498..590201b 100644 --- a/src/uet/oop/bomberman/entities/tile/item/FlameItem.java +++ b/src/uet/oop/bomberman/entities/tile/item/FlameItem.java @@ -5,6 +5,8 @@ public class FlameItem extends Item { + public static final int BOMB_RADIUS_BONUS = 1; + public FlameItem(int x, int y, Sprite sprite) { super(x, y, sprite); } diff --git a/src/uet/oop/bomberman/level/FileLevelLoader.java b/src/uet/oop/bomberman/level/FileLevelLoader.java index e79c447..c14974f 100644 --- a/src/uet/oop/bomberman/level/FileLevelLoader.java +++ b/src/uet/oop/bomberman/level/FileLevelLoader.java @@ -107,6 +107,7 @@ public void createEntities() { Coordinates.tileToPixel(y) + Game.TILES_SIZE, Game.BOMBERSPEED, Game.BOMBRATE, + Game.BOMBRADIUS, _board, _board ); From 68ac3fc93dc77977e4e1b48c92566ec37f083876 Mon Sep 17 00:00:00 2001 From: 21522098_HuyHoang <21522098@gm.uit.edu.vn> Date: Fri, 17 May 2024 18:53:45 +0700 Subject: [PATCH 24/93] Dead_Screen_Changes --- src/uet/oop/bomberman/Board.java | 10 +- src/uet/oop/bomberman/Game.java | 427 ++++++++++-------- .../bomberman/entities/character/Bomber.java | 1 - src/uet/oop/bomberman/graphics/Screen.java | 11 +- src/uet/oop/bomberman/input/Keyboard.java | 4 + .../bomberman/screen/SelectLevelScreen.java | 1 + src/uet/oop/bomberman/utils/EGameControl.java | 2 + 7 files changed, 253 insertions(+), 203 deletions(-) diff --git a/src/uet/oop/bomberman/Board.java b/src/uet/oop/bomberman/Board.java index 0bf31f2..a38a6dd 100644 --- a/src/uet/oop/bomberman/Board.java +++ b/src/uet/oop/bomberman/Board.java @@ -39,7 +39,7 @@ public List getActiveItems() { } private int _screenToShow = -1; // 1:endgame, 2:changelevel, 3:paused - + private boolean GameOver = false; private int _time = Game.TIME; private int _points = Game.POINTS; @@ -122,9 +122,15 @@ protected void detectEndGame() { if (_time <= 0) endGame(); } - + public boolean isGameOver(){ + return GameOver; + } + public boolean GameNotOver(){ + return GameOver = false; + } public void endGame() { _screenToShow = 1; + GameOver = true; _game.resetScreenDelay(); _game.pause(); } diff --git a/src/uet/oop/bomberman/Game.java b/src/uet/oop/bomberman/Game.java index a95382b..382b8ae 100644 --- a/src/uet/oop/bomberman/Game.java +++ b/src/uet/oop/bomberman/Game.java @@ -1,5 +1,6 @@ package uet.oop.bomberman; +import uet.oop.bomberman.entities.character.Bomber; import uet.oop.bomberman.graphics.Screen; import uet.oop.bomberman.gui.Frame; import uet.oop.bomberman.input.Keyboard; @@ -18,230 +19,262 @@ */ public class Game extends Canvas { - public static final int TILES_SIZE = 16, - WIDTH = TILES_SIZE * (31 / 2), - HEIGHT = 13 * TILES_SIZE; + public static final int TILES_SIZE = 16, + WIDTH = TILES_SIZE * (31 / 2), + HEIGHT = 13 * TILES_SIZE; - public static int SCALE = 3; + public static int SCALE = 3; - public static final String TITLE = "BombermanGame"; + public static final String TITLE = "BombermanGame"; - private static final int BOMBRATE = 1; - private static final int BOMBRADIUS = 1; - private static final double BOMBERSPEED = 1.0;// toc do bomber - private static int itemTime; + private static final int BOMBRATE = 1; + private static final int BOMBRADIUS = 1; + private static final double BOMBERSPEED = 1.0; // toc do bomber + private static int itemTime; - public static final int TIME = 200; - public static final int ITEM_TIME = 20; - public static final int POINTS = 0; + public static final int TIME = 200; + public static final int ITEM_TIME = 20; + public static final int POINTS = 0; - protected static int SCREENDELAY = 3; + protected static int SCREENDELAY = 3; - protected static int bombRate = BOMBRATE; - protected static int bombRadius = BOMBRADIUS; - protected static double bomberSpeed = BOMBERSPEED; + protected static int bombRate = BOMBRATE; + protected static int bombRadius = BOMBRADIUS; + protected static double bomberSpeed = BOMBERSPEED; - protected int _screenDelay = SCREENDELAY; + protected int _screenDelay = SCREENDELAY; - private Keyboard _input; - private boolean _running = false; - private boolean _paused = true; + private Keyboard _input; + private boolean _running = false; + private boolean _paused = true; - private static Board _board; - private Screen screen; - private Frame _frame; + private static Board _board; + private Screen screen; + private Frame _frame; + private BufferedImage image = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_RGB); + private int[] pixels = ((DataBufferInt) image.getRaster().getDataBuffer()).getData(); - private BufferedImage image = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_RGB); - private int[] pixels = ((DataBufferInt)image.getRaster().getDataBuffer()).getData(); + // game variable + private int frames; + private int updates; + private long timer; - // game variable - private int frames; - private int updates; - private long timer; + // game screens + private SelectLevelScreen selectLevelScreen; - // game screens - private SelectLevelScreen selectLevelScreen; - - public Game(Frame frame) { - _frame = frame; - _frame.setTitle(TITLE); - screen = new Screen(WIDTH, HEIGHT); - _input = new Keyboard(); + public Game(Frame frame) { + _frame = frame; + _frame.setTitle(TITLE); - _board = new Board(this, _input, screen); - addKeyListener(_input); + screen = new Screen(WIDTH, HEIGHT); + _input = new Keyboard(); - initScreen(); - } - - - private void renderGame(Graphics g) { - screen.clear(); - - _board.render(screen); - - for (int i = 0; i < pixels.length; i++) { - pixels[i] = screen._pixels[i]; - } - - g.drawImage(image, 0, 0, getWidth(), getHeight(), null); - _board.renderMessages(g); - } - - private void renderScreen(Graphics g) { - screen.clear(); - _board.drawScreen(g); - } + _board = new Board(this, _input, screen); + addKeyListener(_input); - private void initScreen() { - Global.currentScreen = EScreenName.SELECT_LEVEL_SCREEN; + initScreen(); + } - this.selectLevelScreen = new SelectLevelScreen(_input); - } - private void update() { - _input.update(); - switch (Global.currentScreen) { - case GAME_PLAY_SCREEN: - _board.update(); - break; - case SELECT_LEVEL_SCREEN: - // TODO: call select level screen update - selectLevelScreen.update(); - break; - } - } + private void renderGame(Graphics g) { + screen.clear(); - private void showScreen() { - BufferStrategy bs = getBufferStrategy(); - if (bs == null) { - createBufferStrategy(3); - return; - } - Graphics g = bs.getDrawGraphics(); - - switch (Global.currentScreen) { - case GAME_PLAY_SCREEN: - if(_paused) { - if(_screenDelay <= 0) { - _board.setShow(-1); - _paused = false; - } - - renderScreen(g); - } else { - renderGame(g); - } - - - frames++; - if(System.currentTimeMillis() - timer > 1000) { - _frame.setTime(_board.subtractTime()); - _frame.setPoints(_board.getPoints()); - _frame.setItemTime(_board.getItemTime()); - timer += 1000; - _frame.setTitle(TITLE + " | " + updates + " rate, " + frames + " fps"); - updates = 0; - frames = 0; - - if(_board.getShow() == 2) - --_screenDelay; - } - break; - case SELECT_LEVEL_SCREEN: - // TODO: render select level screen - selectLevelScreen.drawScreen(g); - break; - } - - g.dispose(); - bs.show(); - } + _board.render(screen); - private void initGame() { - this.timer = System.currentTimeMillis(); - this.frames = 0; - this.updates = 0; - } + for (int i = 0; i < pixels.length; i++) { + pixels[i] = screen._pixels[i]; + } - public void start() { - _running = true; - - initGame(); - - long lastTime = System.nanoTime(); - final double ns = 1000000000.0 / 60.0; //nanosecond, 60 frames per second - double delta = 0; - requestFocus(); - while (_running) { - long now = System.nanoTime(); - delta += (now - lastTime) / ns; - lastTime = now; - while (delta >= 1) { - update(); - updates++; - delta--; - } - - showScreen(); - } - } + g.drawImage(image, 0, 0, getWidth(), getHeight(), null); + _board.renderMessages(g); + } - public static int getItemTime() { - return itemTime; - } + private void renderScreen(Graphics g) { + screen.clear(); + _board.drawScreen(g); + } - public static double getBomberSpeed() { - return bomberSpeed; - } + private void initScreen() { + Global.currentScreen = EScreenName.SELECT_LEVEL_SCREEN; - public static int getBombRate() { - return bombRate; - } + this.selectLevelScreen = new SelectLevelScreen(_input); + } - public static int getBombRadius() { - return bombRadius; - } + private void update() { + _input.update(); + switch (Global.currentScreen) { + case GAME_PLAY_SCREEN: + _board.update(); + break; + case SELECT_LEVEL_SCREEN: + selectLevelScreen.update(); + break; + } - public static void addBomberSpeed(double i) { - bomberSpeed += i; - } + // Check if the game is over + if (_board.isGameOver()) { + if (_input.restart) { + restartGame(); + } else if (_input.backhome) { + _board.setShow(-1); + _paused = false; + initScreen(); + _board.GameNotOver(); + resetGameParams(); + startNewGame(); - public static void addBombRadius(int i) { - bombRadius += i; - } + } + } - public static void addBombRate(int i) { - bombRate += i; + + } + private void resetGameParams() { + bombRate = BOMBRATE; + bombRadius = BOMBRADIUS; + bomberSpeed = BOMBERSPEED; } - - public void resetScreenDelay() { - _screenDelay = SCREENDELAY; - } - - public static Board getBoard() { - return _board; - } - - public boolean isPaused() { - return _paused; - } - - public void pause() { - _paused = true; - } - - public static void setBombRate(int bombRate) { - Game.bombRate = bombRate; - } - - public static void setBombRadius(int bombRadius) { - Game.bombRadius = bombRadius; - } - - public static void setBomberSpeed(double bomberSpeed) { - Game.bomberSpeed = bomberSpeed; - } - + private void restartGame() { + Global.currentScreen = EScreenName.GAME_PLAY_SCREEN; + screen = new Screen(WIDTH, HEIGHT); + _input.restart = false; + _board = new Board(this, _input, screen); + } + private void startNewGame() { + initScreen(); + _input.backhome = false; + screen = new Screen(WIDTH, HEIGHT); + _board = new Board(this, _input, screen); + resetGameParams(); + } + + private void showScreen() { + BufferStrategy bs = getBufferStrategy(); + if (bs == null) { + createBufferStrategy(3); + return; + } + Graphics g = bs.getDrawGraphics(); + + switch (Global.currentScreen) { + case GAME_PLAY_SCREEN: + if (_paused) { + if (_screenDelay <= 0) { + _board.setShow(-1); + _paused = false; + } + + renderScreen(g); + } else { + renderGame(g); + } + + frames++; + if (System.currentTimeMillis() - timer > 1000) { + _frame.setTime(_board.subtractTime()); + _frame.setPoints(_board.getPoints()); + _frame.setItemTime(_board.getItemTime()); + timer += 1000; + _frame.setTitle(TITLE + " | " + updates + " rate, " + frames + " fps"); + updates = 0; + frames = 0; + + if (_board.getShow() == 2) + --_screenDelay; + } + break; + case SELECT_LEVEL_SCREEN: + // TODO: render select level screen + selectLevelScreen.drawScreen(g); + break; + } + + g.dispose(); + bs.show(); + } + + private void initGame() { + this.timer = System.currentTimeMillis(); + this.frames = 0; + this.updates = 0; + } + + public void start() { + _running = true; + + initGame(); + + long lastTime = System.nanoTime(); + final double ns = 1000000000.0 / 60.0; //nanosecond, 60 frames per second + double delta = 0; + requestFocus(); + while (_running) { + long now = System.nanoTime(); + delta += (now - lastTime) / ns; + lastTime = now; + while (delta >= 1) { + update(); + updates++; + delta--; + } + + showScreen(); + } + } + + public static int getItemTime() { + return itemTime; + } + + public static double getBomberSpeed() { + return bomberSpeed; + } + + public static int getBombRate() { + return bombRate; + } + + public static int getBombRadius() { + return bombRadius; + } + + public static void addBomberSpeed(double i) { + bomberSpeed += i; + } + + public static void addBombRadius(int i) { + bombRadius += i; + } + + public static void addBombRate(int i) { + bombRate += i; + } + + public void resetScreenDelay() { + _screenDelay = SCREENDELAY; + } + + public static Board getBoard() { + return _board; + } + + public boolean isPaused() { + return _paused; + } + + public void pause() { + _paused = true; + } + + public static void setBombRate(int bombRate) { + Game.bombRate = bombRate; + } + + public static void setBombRadius(int bombRadius) { + Game.bombRadius = bombRadius; + } + + public static void setBomberSpeed(double bomberSpeed) { + Game.bomberSpeed = bomberSpeed; + } } diff --git a/src/uet/oop/bomberman/entities/character/Bomber.java b/src/uet/oop/bomberman/entities/character/Bomber.java index bcc797d..3dd7aa6 100644 --- a/src/uet/oop/bomberman/entities/character/Bomber.java +++ b/src/uet/oop/bomberman/entities/character/Bomber.java @@ -196,7 +196,6 @@ public boolean collide(Entity e) { if( e instanceof LayeredEntity) return(e.collide(this)); return true; } - //sprite private void chooseSprite() { switch (_direction) { diff --git a/src/uet/oop/bomberman/graphics/Screen.java b/src/uet/oop/bomberman/graphics/Screen.java index 8cbc134..082d451 100644 --- a/src/uet/oop/bomberman/graphics/Screen.java +++ b/src/uet/oop/bomberman/graphics/Screen.java @@ -95,13 +95,18 @@ public void drawEndGame(Graphics g, int points) { Font font = new Font("Arial", Font.PLAIN, 20 * Game.SCALE); g.setFont(font); g.setColor(Color.white); - drawCenteredString("GAME OVER", getRealWidth(), getRealHeight(), g); + drawCenteredString("GAME OVER", getRealWidth(), getRealHeight()/4, g); font = new Font("Arial", Font.PLAIN, 10 * Game.SCALE); g.setFont(font); g.setColor(Color.yellow); - drawCenteredString("POINTS: " + points, getRealWidth(), getRealHeight() + (Game.TILES_SIZE * 2) * Game.SCALE, g); - } + drawCenteredString("POINTS: " + points, getRealWidth(), getRealHeight()/3 + (Game.TILES_SIZE * 2) * Game.SCALE, g); + font = new Font("Arial", Font.PLAIN, 8 * Game.SCALE); + g.setFont(font); + g.setColor(Color.white); + drawCenteredString("Press R to retry", getRealWidth(), getRealHeight()/2 + (Game.TILES_SIZE * 4) * Game.SCALE, g); + drawCenteredString("Press ENTER to select level", getRealWidth(), getRealHeight() + (Game.TILES_SIZE * 5) * Game.SCALE, g); + } public void drawChangeLevel(Graphics g, int level) { g.setColor(Color.black); diff --git a/src/uet/oop/bomberman/input/Keyboard.java b/src/uet/oop/bomberman/input/Keyboard.java index 7026dc9..e375db2 100644 --- a/src/uet/oop/bomberman/input/Keyboard.java +++ b/src/uet/oop/bomberman/input/Keyboard.java @@ -17,6 +17,8 @@ public interface KeyboardInputCallback { private boolean[] keys = new boolean[120]; //120 is enough to this game public boolean up, down, left, right, space; + public boolean restart,backhome = false; + public Optional keyboardInputCallback; public void update() { @@ -25,6 +27,8 @@ public void update() { left = keys[KeyEvent.VK_LEFT] || keys[KeyEvent.VK_A]; right = keys[KeyEvent.VK_RIGHT] || keys[KeyEvent.VK_D]; space = keys[KeyEvent.VK_SPACE] || keys[KeyEvent.VK_X]; + restart = keys[KeyEvent.VK_R]; + backhome = keys[KeyEvent.VK_B]; } private EGameControl keyToGameControl(int keyCode) { diff --git a/src/uet/oop/bomberman/screen/SelectLevelScreen.java b/src/uet/oop/bomberman/screen/SelectLevelScreen.java index 33fb2a1..4b14b14 100644 --- a/src/uet/oop/bomberman/screen/SelectLevelScreen.java +++ b/src/uet/oop/bomberman/screen/SelectLevelScreen.java @@ -3,6 +3,7 @@ import uet.oop.bomberman.Game; import uet.oop.bomberman.gui.GameScreen; import uet.oop.bomberman.input.Keyboard; + import uet.oop.bomberman.utils.EGameControl; import uet.oop.bomberman.utils.EGameLevel; import uet.oop.bomberman.utils.EScreenName; diff --git a/src/uet/oop/bomberman/utils/EGameControl.java b/src/uet/oop/bomberman/utils/EGameControl.java index fa8cea4..9400a1d 100644 --- a/src/uet/oop/bomberman/utils/EGameControl.java +++ b/src/uet/oop/bomberman/utils/EGameControl.java @@ -8,4 +8,6 @@ public enum EGameControl { RIGHT, ENTER, SPACE, + RESTART, + BACK } From 2b3c2c43a7ad6bd03cc95125a2da3c9016c34e65 Mon Sep 17 00:00:00 2001 From: 21522098_HuyHoang <21522098@gm.uit.edu.vn> Date: Fri, 17 May 2024 18:56:41 +0700 Subject: [PATCH 25/93] Fixed Text --- src/uet/oop/bomberman/graphics/Screen.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/uet/oop/bomberman/graphics/Screen.java b/src/uet/oop/bomberman/graphics/Screen.java index 082d451..1daaa2d 100644 --- a/src/uet/oop/bomberman/graphics/Screen.java +++ b/src/uet/oop/bomberman/graphics/Screen.java @@ -15,7 +15,7 @@ public class Screen { protected int _width, _height; public int[] _pixels; private int _transparentColor = 0xffff00ff; - + public static int xOffset = 0, yOffset = 0; public Screen(int width, int height) { @@ -105,7 +105,7 @@ public void drawEndGame(Graphics g, int points) { g.setFont(font); g.setColor(Color.white); drawCenteredString("Press R to retry", getRealWidth(), getRealHeight()/2 + (Game.TILES_SIZE * 4) * Game.SCALE, g); - drawCenteredString("Press ENTER to select level", getRealWidth(), getRealHeight() + (Game.TILES_SIZE * 5) * Game.SCALE, g); + drawCenteredString("Press B to Back Home", getRealWidth(), getRealHeight()/2 + (Game.TILES_SIZE * 5) * Game.SCALE, g); } public void drawChangeLevel(Graphics g, int level) { From 53f10aa19471a37f69ee30c5449fc45a2c8d47d2 Mon Sep 17 00:00:00 2001 From: phuonnngminh Date: Sat, 18 May 2024 06:46:35 +0000 Subject: [PATCH 26/93] decouple bomber stats from global Game --- src/uet/oop/bomberman/Board.java | 23 ++++---- src/uet/oop/bomberman/Game.java | 57 ++----------------- .../bomberman/base/IActiveItemManager.java | 12 ++++ .../oop/bomberman/base/IEntityManager.java | 2 +- .../oop/bomberman/base/IGameInfoManager.java | 11 ++++ .../entities/character/Character.java | 2 +- .../entities/character/enemy/Kondoria.java | 2 +- .../entities/character/enemy/Minvo.java | 2 +- .../entities/tile/item/BombItem.java | 2 - .../entities/tile/item/FlameItem.java | 2 - .../bomberman/entities/tile/item/Item.java | 1 - .../entities/tile/item/SpeedItem.java | 2 - src/uet/oop/bomberman/gui/Frame.java | 6 +- src/uet/oop/bomberman/gui/InfoPanel.java | 18 +++--- 14 files changed, 55 insertions(+), 87 deletions(-) create mode 100644 src/uet/oop/bomberman/base/IActiveItemManager.java create mode 100644 src/uet/oop/bomberman/base/IGameInfoManager.java diff --git a/src/uet/oop/bomberman/Board.java b/src/uet/oop/bomberman/Board.java index 6346501..5e09cfd 100644 --- a/src/uet/oop/bomberman/Board.java +++ b/src/uet/oop/bomberman/Board.java @@ -1,6 +1,7 @@ package uet.oop.bomberman; import uet.oop.bomberman.base.IEntityManager; +import uet.oop.bomberman.base.IGameInfoManager; import uet.oop.bomberman.base.IMessageManager; import uet.oop.bomberman.entities.Entity; import uet.oop.bomberman.entities.Message; @@ -20,11 +21,12 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.List; +import java.util.stream.Collectors; /** * Quản lý thao tác điều khiển, load level, render các màn hình của game */ -public class Board implements IRender, IEntityManager, IMessageManager { +public class Board implements IRender, IEntityManager, IMessageManager, IGameInfoManager { protected LevelLoader _levelLoader; protected Game _game; protected Keyboard _input; @@ -38,8 +40,9 @@ public class Board implements IRender, IEntityManager, IMessageManager { private Character player; + @Override public List getActiveItems() { - return _activeItems; + return getPlayer().getActiveItems().collect(Collectors.toList()); } private int _screenToShow = -1; // 1:endgame, 2:changelevel, 3:paused @@ -132,9 +135,6 @@ public void render(Screen screen) { } public void nextLevel() { - Game.setBombRadius(1); - Game.setBombRate(1); - Game.setBomberSpeed(1.0); loadLevel(_levelLoader.getLevel() + 1); } @@ -274,6 +274,7 @@ public Entity getEntityAt(double x, double y) { return _entities[(int) x + (int) y * _levelLoader.getWidth()]; } + @Override public void addActiveItem(Item item) { _activeItems.add(item); } @@ -374,6 +375,7 @@ protected void updateMessages() { } } + @Override public int subtractTime() { if (!_game.isPaused() && _time > 0) return --_time; @@ -381,14 +383,6 @@ public int subtractTime() { return _time; } - public int getItemTime() { - int totalTime = 0; - for (int i = 0; i < _activeItems.size(); i++) { - totalTime += _activeItems.get(i).getDuration() / Game.TICKS_PER_SECOND; - } - return totalTime; - } - public Keyboard getInput() { return _input; } @@ -409,14 +403,17 @@ public void setShow(int i) { _screenToShow = i; } + @Override public int getTime() { return _time; } + @Override public int getPoints() { return _points; } + @Override public void addPoints(int points) { this._points += points; } diff --git a/src/uet/oop/bomberman/Game.java b/src/uet/oop/bomberman/Game.java index 737f8de..d5ee103 100644 --- a/src/uet/oop/bomberman/Game.java +++ b/src/uet/oop/bomberman/Game.java @@ -1,5 +1,6 @@ package uet.oop.bomberman; +import uet.oop.bomberman.base.IGameInfoManager; import uet.oop.bomberman.graphics.Screen; import uet.oop.bomberman.gui.Frame; import uet.oop.bomberman.input.Keyboard; @@ -8,9 +9,6 @@ import java.awt.image.BufferedImage; import java.awt.image.DataBufferInt; -import javax.swing.JButton; - - /** * Tạo vòng lặp cho game, lưu trữ một vài tham số cấu hình toàn cục, * Gọi phương thức render(), update() cho tất cả các entity @@ -29,24 +27,18 @@ public class Game extends Canvas { public static final int BOMBRATE = 1; public static final int BOMBRADIUS = 1; public static final double BOMBERSPEED = 1.0;// toc do bomber - private static int itemTime; public static final int TIME = 200; - public static final int ITEM_TIME = 20; public static final int POINTS = 0; protected static int SCREENDELAY = 3; - protected static int bombRate = BOMBRATE; - protected static int bombRadius = BOMBRADIUS; - protected static double bomberSpeed = BOMBERSPEED; - protected int _screenDelay = SCREENDELAY; private Keyboard _input; private boolean _running = false; private boolean _paused = true; - private static Board _board; + private Board _board; private Screen screen; private Frame _frame; @@ -153,7 +145,7 @@ public void start() { if (System.currentTimeMillis() - timer > 1000) { _frame.setTime(_board.subtractTime()); _frame.setPoints(_board.getPoints()); - _frame.setItemTime(_board.getItemTime()); + _frame.renderItemTime(); timer += 1000; _frame.setTitle(TITLE + " | " + updates + " rate, " + frames + " fps"); updates = 0; @@ -165,40 +157,9 @@ public void start() { } } - public static int getItemTime() { - return itemTime; - } - - public static double getBomberSpeed() { - return bomberSpeed; - } - - public static int getBombRate() { - return bombRate; - } - - public static int getBombRadius() { - return bombRadius; - } - - public static void addBomberSpeed(double i) { - bomberSpeed += i; - } - - public static void addBombRadius(int i) { - bombRadius += i; - } - - public static void addBombRate(int i) { - bombRate += i; - } - public void resetScreenDelay() { _screenDelay = SCREENDELAY; } - public static Board getBoard() { - return _board; - } public boolean isPaused() { return _paused; } @@ -207,16 +168,8 @@ public void pause() { _paused = !_paused; } - public static void setBombRate(int bombRate) { - Game.bombRate = bombRate; - } - - public static void setBombRadius(int bombRadius) { - Game.bombRadius = bombRadius; - } - - public static void setBomberSpeed(double bomberSpeed) { - Game.bomberSpeed = bomberSpeed; + public IGameInfoManager getGameInfoManager() { + return _board; } } diff --git a/src/uet/oop/bomberman/base/IActiveItemManager.java b/src/uet/oop/bomberman/base/IActiveItemManager.java new file mode 100644 index 0000000..dc86201 --- /dev/null +++ b/src/uet/oop/bomberman/base/IActiveItemManager.java @@ -0,0 +1,12 @@ +package uet.oop.bomberman.base; + +import java.util.List; + +import uet.oop.bomberman.entities.tile.item.Item; + +public interface IActiveItemManager { + + public List getActiveItems(); + public void addActiveItem(Item item); + +} \ No newline at end of file diff --git a/src/uet/oop/bomberman/base/IEntityManager.java b/src/uet/oop/bomberman/base/IEntityManager.java index 2135078..46f23ce 100644 --- a/src/uet/oop/bomberman/base/IEntityManager.java +++ b/src/uet/oop/bomberman/base/IEntityManager.java @@ -7,7 +7,7 @@ import uet.oop.bomberman.entities.bomb.FlameSegment; import uet.oop.bomberman.entities.character.Character; -public interface IEntityManager { +public interface IEntityManager extends IActiveItemManager { public List getBombs(); diff --git a/src/uet/oop/bomberman/base/IGameInfoManager.java b/src/uet/oop/bomberman/base/IGameInfoManager.java new file mode 100644 index 0000000..ce0b57b --- /dev/null +++ b/src/uet/oop/bomberman/base/IGameInfoManager.java @@ -0,0 +1,11 @@ +package uet.oop.bomberman.base; + +public interface IGameInfoManager extends IActiveItemManager { + + public int subtractTime(); + public int getTime(); + + public int getPoints(); + public void addPoints(int points); + +} \ No newline at end of file diff --git a/src/uet/oop/bomberman/entities/character/Character.java b/src/uet/oop/bomberman/entities/character/Character.java index 47aea17..75191db 100644 --- a/src/uet/oop/bomberman/entities/character/Character.java +++ b/src/uet/oop/bomberman/entities/character/Character.java @@ -1,7 +1,6 @@ package uet.oop.bomberman.entities.character; import java.util.ArrayList; -import java.util.Collections; import java.util.List; import java.util.stream.Stream; @@ -91,6 +90,7 @@ public Stream getActiveItems() { public void addActiveItem(Item item) { this.activeItems.add(item); + entityManager.addActiveItem(item); } public double getSpeed() { diff --git a/src/uet/oop/bomberman/entities/character/enemy/Kondoria.java b/src/uet/oop/bomberman/entities/character/enemy/Kondoria.java index 6f2a1f9..478c97b 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/Kondoria.java +++ b/src/uet/oop/bomberman/entities/character/enemy/Kondoria.java @@ -7,7 +7,7 @@ public class Kondoria extends Enemy { public Kondoria(int x, int y, Board board) { - super(x, y, board, Sprite.balloom_dead, Game.getBomberSpeed() / 4, 1000); + super(x, y, board, Sprite.balloom_dead, Game.BOMBERSPEED / 4, 1000); _sprite = Sprite.kondoria_right1; diff --git a/src/uet/oop/bomberman/entities/character/enemy/Minvo.java b/src/uet/oop/bomberman/entities/character/enemy/Minvo.java index 5ec04b3..677f3ba 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/Minvo.java +++ b/src/uet/oop/bomberman/entities/character/enemy/Minvo.java @@ -9,7 +9,7 @@ public class Minvo extends Enemy { private Board _board; public Minvo(int x, int y, Board board) { - super(x, y, board, Sprite.minvo_dead, Game.getBomberSpeed() * 1.5, 800); + super(x, y, board, Sprite.minvo_dead, Game.BOMBERSPEED * 1.5, 800); _board = board; _sprite = Sprite.minvo_right1; diff --git a/src/uet/oop/bomberman/entities/tile/item/BombItem.java b/src/uet/oop/bomberman/entities/tile/item/BombItem.java index 6bf1a5a..4413976 100644 --- a/src/uet/oop/bomberman/entities/tile/item/BombItem.java +++ b/src/uet/oop/bomberman/entities/tile/item/BombItem.java @@ -13,12 +13,10 @@ public BombItem(int x, int y, Sprite sprite) { @Override protected void handleItemActive() { - Game.addBombRate(1); } @Override protected void handleItemInactive() { - Game.addBombRate(-1); } @Override diff --git a/src/uet/oop/bomberman/entities/tile/item/FlameItem.java b/src/uet/oop/bomberman/entities/tile/item/FlameItem.java index 590201b..8e7f17a 100644 --- a/src/uet/oop/bomberman/entities/tile/item/FlameItem.java +++ b/src/uet/oop/bomberman/entities/tile/item/FlameItem.java @@ -13,12 +13,10 @@ public FlameItem(int x, int y, Sprite sprite) { @Override protected void handleItemActive() { - Game.addBombRadius(1); } @Override protected void handleItemInactive() { - Game.addBombRadius(-1); } @Override diff --git a/src/uet/oop/bomberman/entities/tile/item/Item.java b/src/uet/oop/bomberman/entities/tile/item/Item.java index b2d6ff5..3f78feb 100644 --- a/src/uet/oop/bomberman/entities/tile/item/Item.java +++ b/src/uet/oop/bomberman/entities/tile/item/Item.java @@ -28,7 +28,6 @@ public boolean collide(Entity e) { Sound.play("Item"); handleItemActive(); _active = true; - Game.getBoard().addActiveItem(this); player.addActiveItem(this); remove(); } diff --git a/src/uet/oop/bomberman/entities/tile/item/SpeedItem.java b/src/uet/oop/bomberman/entities/tile/item/SpeedItem.java index afcbbe9..9094772 100644 --- a/src/uet/oop/bomberman/entities/tile/item/SpeedItem.java +++ b/src/uet/oop/bomberman/entities/tile/item/SpeedItem.java @@ -13,12 +13,10 @@ public SpeedItem(int x, int y, Sprite sprite) { @Override protected void handleItemActive() { - Game.addBomberSpeed(0.5); } @Override protected void handleItemInactive() { - Game.addBomberSpeed(-0.5); } @Override diff --git a/src/uet/oop/bomberman/gui/Frame.java b/src/uet/oop/bomberman/gui/Frame.java index 0ccb41c..99a635b 100644 --- a/src/uet/oop/bomberman/gui/Frame.java +++ b/src/uet/oop/bomberman/gui/Frame.java @@ -20,7 +20,7 @@ public Frame() { _containerpane = new JPanel(new BorderLayout()); _gamepane = new GamePanel(this); - _infopanel = new InfoPanel(_gamepane.getGame()); + _infopanel = new InfoPanel(_gamepane.getGame().getGameInfoManager()); _containerpane.add(_infopanel, BorderLayout.PAGE_START); _containerpane.add(_gamepane, BorderLayout.PAGE_END); @@ -46,8 +46,8 @@ public void setPoints(int points) { _infopanel.setPoints(points); } - public void setItemTime(int itemTime) { - _infopanel.setItemTime(itemTime); + public void renderItemTime() { + _infopanel.renderItemTime(); } } diff --git a/src/uet/oop/bomberman/gui/InfoPanel.java b/src/uet/oop/bomberman/gui/InfoPanel.java index bd9e183..b6eb091 100644 --- a/src/uet/oop/bomberman/gui/InfoPanel.java +++ b/src/uet/oop/bomberman/gui/InfoPanel.java @@ -1,11 +1,10 @@ package uet.oop.bomberman.gui; -import uet.oop.bomberman.Board; import uet.oop.bomberman.Game; +import uet.oop.bomberman.base.IGameInfoManager; import uet.oop.bomberman.entities.tile.item.Item; import javax.swing.*; import java.awt.*; -import java.awt.event.*; import java.util.List; /** @@ -15,14 +14,17 @@ public class InfoPanel extends JPanel { private JLabel timeLabel; private JLabel pointsLabel; private JLabel itemTimeLabel; - private Game game; - public InfoPanel(Game game) { + + private final IGameInfoManager gameInfoManager; + + public InfoPanel(IGameInfoManager gameInfoManager) { + this.gameInfoManager = gameInfoManager; setLayout(new GridLayout()); - timeLabel = new JLabel("Time: " + game.getBoard().getTime()); + timeLabel = new JLabel("Time: " + gameInfoManager.getTime()); timeLabel.setForeground(Color.white); timeLabel.setHorizontalAlignment(JLabel.CENTER); - pointsLabel = new JLabel("Points: " + game.getBoard().getPoints()); + pointsLabel = new JLabel("Points: " + gameInfoManager.getPoints()); pointsLabel.setForeground(Color.white); pointsLabel.setHorizontalAlignment(JLabel.CENTER); @@ -46,9 +48,9 @@ public void setPoints(int t) { pointsLabel.setText("Score: " + t); } - public void setItemTime(int t) { + public void renderItemTime() { String label = ""; - List items = game.getBoard().getActiveItems(); + List items = gameInfoManager.getActiveItems(); for (int i = 0; i < items.size(); i++) { Item item = items.get(i); if ((item.getDuration()) == 0) { From f705f8dc323adfcbe68082d6408f50c700788aba Mon Sep 17 00:00:00 2001 From: 21522098_HuyHoang <21522098@gm.uit.edu.vn> Date: Sat, 18 May 2024 14:38:45 +0700 Subject: [PATCH 27/93] Fixed Error --- src/uet/oop/bomberman/Board.java | 9 +- src/uet/oop/bomberman/Game.java | 49 ++++--- src/uet/oop/bomberman/input/Keyboard.java | 27 ++-- .../oop/bomberman/screen/SelectOption.java | 128 ++++++++++++++++++ src/uet/oop/bomberman/utils/EGameControl.java | 3 +- src/uet/oop/bomberman/utils/EScreenName.java | 1 + 6 files changed, 170 insertions(+), 47 deletions(-) create mode 100644 src/uet/oop/bomberman/screen/SelectOption.java diff --git a/src/uet/oop/bomberman/Board.java b/src/uet/oop/bomberman/Board.java index a38a6dd..1260bb1 100644 --- a/src/uet/oop/bomberman/Board.java +++ b/src/uet/oop/bomberman/Board.java @@ -13,6 +13,8 @@ import uet.oop.bomberman.input.Keyboard; import uet.oop.bomberman.level.FileLevelLoader; import uet.oop.bomberman.level.LevelLoader; +import uet.oop.bomberman.utils.EScreenName; +import uet.oop.bomberman.utils.Global; import java.awt.*; import java.util.ArrayList; @@ -129,10 +131,9 @@ public boolean GameNotOver(){ return GameOver = false; } public void endGame() { - _screenToShow = 1; - GameOver = true; - _game.resetScreenDelay(); - _game.pause(); + + Global.currentScreen = EScreenName.END_GAME_SCREEN; + } public boolean detectNoEnemies() {// phat hien enemies diff --git a/src/uet/oop/bomberman/Game.java b/src/uet/oop/bomberman/Game.java index 382b8ae..3c4b5f7 100644 --- a/src/uet/oop/bomberman/Game.java +++ b/src/uet/oop/bomberman/Game.java @@ -7,7 +7,7 @@ import uet.oop.bomberman.screen.SelectLevelScreen; import uet.oop.bomberman.utils.EScreenName; import uet.oop.bomberman.utils.Global; - +import uet.oop.bomberman.screen.SelectOption; import java.awt.*; import java.awt.image.BufferStrategy; import java.awt.image.BufferedImage; @@ -43,12 +43,13 @@ public class Game extends Canvas { protected static double bomberSpeed = BOMBERSPEED; protected int _screenDelay = SCREENDELAY; - private Keyboard _input; + private Keyboard _input1; private boolean _running = false; private boolean _paused = true; private static Board _board; + private Screen screen; private Frame _frame; private BufferedImage image = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_RGB); @@ -61,7 +62,7 @@ public class Game extends Canvas { // game screens private SelectLevelScreen selectLevelScreen; - + private SelectOption selectOption; public Game(Frame frame) { _frame = frame; @@ -69,9 +70,11 @@ public Game(Frame frame) { screen = new Screen(WIDTH, HEIGHT); _input = new Keyboard(); - + _input1 = new Keyboard(); _board = new Board(this, _input, screen); + addKeyListener(_input); + addKeyListener(_input1); initScreen(); } @@ -97,8 +100,8 @@ private void renderScreen(Graphics g) { private void initScreen() { Global.currentScreen = EScreenName.SELECT_LEVEL_SCREEN; - this.selectLevelScreen = new SelectLevelScreen(_input); + this.selectOption = new SelectOption(_input1, this); } private void update() { @@ -110,23 +113,10 @@ private void update() { case SELECT_LEVEL_SCREEN: selectLevelScreen.update(); break; + case END_GAME_SCREEN: + selectOption.update(); + break; } - - // Check if the game is over - if (_board.isGameOver()) { - if (_input.restart) { - restartGame(); - } else if (_input.backhome) { - _board.setShow(-1); - _paused = false; - initScreen(); - _board.GameNotOver(); - resetGameParams(); - startNewGame(); - - } - } - } private void resetGameParams() { @@ -134,18 +124,22 @@ private void resetGameParams() { bombRadius = BOMBRADIUS; bomberSpeed = BOMBERSPEED; } - private void restartGame() { + public void restartGame() { Global.currentScreen = EScreenName.GAME_PLAY_SCREEN; screen = new Screen(WIDTH, HEIGHT); - _input.restart = false; _board = new Board(this, _input, screen); } - private void startNewGame() { + + public void startNewGame() { + _board.setShow(-1); + _paused = false; initScreen(); - _input.backhome = false; + _board.GameNotOver(); + resetGameParams(); + initScreen(); screen = new Screen(WIDTH, HEIGHT); _board = new Board(this, _input, screen); - resetGameParams(); + resetGameParams(); } private void showScreen() { @@ -187,6 +181,9 @@ private void showScreen() { // TODO: render select level screen selectLevelScreen.drawScreen(g); break; + case END_GAME_SCREEN: + selectOption.drawScreen(g); + break; } g.dispose(); diff --git a/src/uet/oop/bomberman/input/Keyboard.java b/src/uet/oop/bomberman/input/Keyboard.java index e375db2..9fb8b29 100644 --- a/src/uet/oop/bomberman/input/Keyboard.java +++ b/src/uet/oop/bomberman/input/Keyboard.java @@ -17,8 +17,6 @@ public interface KeyboardInputCallback { private boolean[] keys = new boolean[120]; //120 is enough to this game public boolean up, down, left, right, space; - public boolean restart,backhome = false; - public Optional keyboardInputCallback; public void update() { @@ -26,9 +24,7 @@ public void update() { down = keys[KeyEvent.VK_DOWN] || keys[KeyEvent.VK_S]; left = keys[KeyEvent.VK_LEFT] || keys[KeyEvent.VK_A]; right = keys[KeyEvent.VK_RIGHT] || keys[KeyEvent.VK_D]; - space = keys[KeyEvent.VK_SPACE] || keys[KeyEvent.VK_X]; - restart = keys[KeyEvent.VK_R]; - backhome = keys[KeyEvent.VK_B]; + space = keys[KeyEvent.VK_SPACE]; } private EGameControl keyToGameControl(int keyCode) { @@ -48,29 +44,30 @@ private EGameControl keyToGameControl(int keyCode) { return EGameControl.RIGHT; } - if (keyCode == KeyEvent.VK_SPACE || keyCode == KeyEvent.VK_X) { + if (keyCode == KeyEvent.VK_SPACE) { return EGameControl.SPACE; } if (keyCode == KeyEvent.VK_ENTER) { return EGameControl.ENTER; } + if (keyCode == KeyEvent.VK_X) { + return EGameControl.X; + } return EGameControl.NONE; } - @Override public void keyTyped(KeyEvent e) {} @Override public void keyPressed(KeyEvent e) { - keys[e.getKeyCode()] = true; - - if (keyboardInputCallback.isPresent()) { - KeyboardInputCallback callback = keyboardInputCallback.get(); - callback.onKeyPressed(keyToGameControl(e.getKeyCode())); - } - } + keys[e.getKeyCode()] = true; + if (keyboardInputCallback.isPresent()) { + KeyboardInputCallback callback = keyboardInputCallback.get(); + callback.onKeyPressed(keyToGameControl(e.getKeyCode())); + } + } @Override public void keyReleased(KeyEvent e) { @@ -78,4 +75,4 @@ public void keyReleased(KeyEvent e) { } -} +} \ No newline at end of file diff --git a/src/uet/oop/bomberman/screen/SelectOption.java b/src/uet/oop/bomberman/screen/SelectOption.java new file mode 100644 index 0000000..bce7c24 --- /dev/null +++ b/src/uet/oop/bomberman/screen/SelectOption.java @@ -0,0 +1,128 @@ +package uet.oop.bomberman.screen; +import uet.oop.bomberman.Game; +import uet.oop.bomberman.gui.GameScreen; +import uet.oop.bomberman.input.Keyboard; +import uet.oop.bomberman.sound.Sound; +import uet.oop.bomberman.utils.EGameControl; +import uet.oop.bomberman.utils.EScreenName; +import uet.oop.bomberman.utils.Global; +import java.awt.*; +import java.util.ArrayList; + +public class SelectOption extends GameScreen { + ArrayList options = new ArrayList(); + int selectorIndex = 0; + private Game game; + private Keyboard _input; + public SelectOption(Keyboard input, Game game) { + _input = input; + this.game = game; + options.add("Restart"); + options.add("Back Home"); + + _input.keyboardInputCallback = java.util.Optional.of(new Keyboard.KeyboardInputCallback() { + @Override + public void onKeyPressed(EGameControl gameControl) { + switch (gameControl) { + case LEFT: + selectorIndex--; + break; + case RIGHT: + selectorIndex++; + break; + case X: + if (selectorIndex == 0) { + game.restartGame(); + } else if (selectorIndex == 1) { + game.startNewGame(); + } + break; + } + + if (selectorIndex < 0) { + selectorIndex = options.size() - 1; + } else if (selectorIndex > options.size() - 1) { + selectorIndex = 0; + } + } + }); + } + + @Override + public void drawScreen(Graphics g) { + g.setColor(Color.black); + g.fillRect(0, 0, Global.screenWidth, Global.screenHeight); + drawTitle(g); + drawPOINTS(g, game.getBoard().getPoints()); + drawOptions(g); + drawSelector(g); + } + + private void drawTitle(Graphics g) { + String title = "GAME OVER"; + Font font = new Font("Arial", Font.BOLD, 20 * Game.SCALE); + g.setFont(font); + g.setColor(Color.white); + + FontMetrics fm = g.getFontMetrics(); + int x = (Global.screenWidth - fm.stringWidth(title)) / 2; + int marginTop = 20; + int y = marginTop + fm.getAscent(); + + g.drawString(title, x, y); + } + private void drawPOINTS(Graphics g,int points) + { + String Point = "POINTS: " + points; + Font font = new Font("Arial", Font.BOLD, 10 * Game.SCALE); + g.setFont(font); + g.setColor(Color.yellow); + + FontMetrics fm = g.getFontMetrics(); + int textWidth = fm.stringWidth(Point); + int x = (Global.screenWidth - textWidth) / 2; // Vị trí x để chuỗi ở giữa màn hình + int marginTop = 100; + int y = marginTop + fm.getAscent(); + + g.drawString(Point, x, y); + + } + private void drawOptions(Graphics g) { + Font font = new Font("Arial", Font.PLAIN, 10 * Game.SCALE); + g.setFont(font); + g.setColor(Color.white); + + int w = Global.screenWidth; + int h = Global.screenHeight; + FontMetrics fm = g.getFontMetrics(); + int textHeight = fm.getAscent() + fm.getDescent(); + int marginTop = (h - options.size() * textHeight) / 2; + + for (int i = 0; i < options.size(); i++) { + String option = options.get(i); + int x = (w - fm.stringWidth(option)) / 2; + int y = marginTop + fm.getAscent() + textHeight * i; + + g.drawString(option, x, y); + } + } + + private void drawSelector(Graphics g) { + String option = this.options.get(selectorIndex); + int w = Global.screenWidth; + int h = Global.screenHeight; + FontMetrics fm = g.getFontMetrics(); + int textHeight = fm.getAscent() + fm.getDescent(); + int marginTop = (h - options.size() * textHeight) / 2; + + int x = (w - fm.stringWidth(option)) / 2 - 30; + int y = marginTop + fm.getAscent() + textHeight * selectorIndex; + + g.drawString(">", x, y); + } + + @Override + public void update() { + // No need to update anything in this screen + } +} diff --git a/src/uet/oop/bomberman/utils/EGameControl.java b/src/uet/oop/bomberman/utils/EGameControl.java index 9400a1d..4d1e3f8 100644 --- a/src/uet/oop/bomberman/utils/EGameControl.java +++ b/src/uet/oop/bomberman/utils/EGameControl.java @@ -8,6 +8,5 @@ public enum EGameControl { RIGHT, ENTER, SPACE, - RESTART, - BACK + X, } diff --git a/src/uet/oop/bomberman/utils/EScreenName.java b/src/uet/oop/bomberman/utils/EScreenName.java index 515a6e8..93d27af 100644 --- a/src/uet/oop/bomberman/utils/EScreenName.java +++ b/src/uet/oop/bomberman/utils/EScreenName.java @@ -3,4 +3,5 @@ public enum EScreenName { SELECT_LEVEL_SCREEN, GAME_PLAY_SCREEN, + END_GAME_SCREEN, } From 1eecfdddf0cf3e99f0048e99e663b41dfbd7e9db Mon Sep 17 00:00:00 2001 From: 21522098_HuyHoang <21522098@gm.uit.edu.vn> Date: Sun, 19 May 2024 18:17:24 +0700 Subject: [PATCH 28/93] . --- src/uet/oop/bomberman/Game.java | 2 +- src/uet/oop/bomberman/screen/SelectLevelScreen.java | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/uet/oop/bomberman/Game.java b/src/uet/oop/bomberman/Game.java index ab50be3..eac0821 100644 --- a/src/uet/oop/bomberman/Game.java +++ b/src/uet/oop/bomberman/Game.java @@ -108,7 +108,7 @@ private void renderScreen(Graphics g) { private void initScreen() { Global.currentScreen = EScreenName.SELECT_LEVEL_SCREEN; this.selectLevelScreen = new SelectLevelScreen(_input); - this.selectOption = new SelectOption(_input1, this); + this.selectOption = new SelectOption(_input, this); } private void update() { diff --git a/src/uet/oop/bomberman/screen/SelectLevelScreen.java b/src/uet/oop/bomberman/screen/SelectLevelScreen.java index 4b14b14..d8fd07a 100644 --- a/src/uet/oop/bomberman/screen/SelectLevelScreen.java +++ b/src/uet/oop/bomberman/screen/SelectLevelScreen.java @@ -59,7 +59,6 @@ public void drawScreen(Graphics g) { drawOptions(g); drawSelector(g); } - private void drawTitle(Graphics g) { String title = "SELECT LEVEL"; Font font = new Font("Arial", Font.BOLD, 20 * Game.SCALE); From 0320c2d117a6fb0f7743a8741cb29f34710722c2 Mon Sep 17 00:00:00 2001 From: Hang Le Thi Bich <21522041@gm.uit.edu.vn> Date: Sun, 19 May 2024 20:09:42 +0700 Subject: [PATCH 29/93] update selected level --- src/uet/oop/bomberman/Board.java | 3 ++- src/uet/oop/bomberman/Game.java | 2 +- src/uet/oop/bomberman/screen/SelectLevelScreen.java | 7 ++++++- src/uet/oop/bomberman/utils/Global.java | 3 +++ 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/uet/oop/bomberman/Board.java b/src/uet/oop/bomberman/Board.java index 5e09cfd..7e133cd 100644 --- a/src/uet/oop/bomberman/Board.java +++ b/src/uet/oop/bomberman/Board.java @@ -16,6 +16,7 @@ import uet.oop.bomberman.input.Keyboard; import uet.oop.bomberman.level.FileLevelLoader; import uet.oop.bomberman.level.LevelLoader; +import uet.oop.bomberman.utils.Global; import java.awt.*; import java.util.ArrayList; @@ -55,7 +56,7 @@ public Board(Game game, Keyboard input, Screen screen) { _input = input; _screen = screen; - loadLevel(1); // start in level 1 + loadLevel(Global.gameLevel); // start in level 1 } private void snapCameraToPlayer() { diff --git a/src/uet/oop/bomberman/Game.java b/src/uet/oop/bomberman/Game.java index 15c16a3..4cefe1b 100644 --- a/src/uet/oop/bomberman/Game.java +++ b/src/uet/oop/bomberman/Game.java @@ -93,7 +93,7 @@ private void renderScreen(Graphics g) { private void initScreen() { Global.currentScreen = EScreenName.SELECT_LEVEL_SCREEN; - this.selectLevelScreen = new SelectLevelScreen(_input); + this.selectLevelScreen = new SelectLevelScreen(_input, _board); } private void update() { diff --git a/src/uet/oop/bomberman/screen/SelectLevelScreen.java b/src/uet/oop/bomberman/screen/SelectLevelScreen.java index 33fb2a1..8813815 100644 --- a/src/uet/oop/bomberman/screen/SelectLevelScreen.java +++ b/src/uet/oop/bomberman/screen/SelectLevelScreen.java @@ -1,5 +1,6 @@ package uet.oop.bomberman.screen; +import uet.oop.bomberman.Board; import uet.oop.bomberman.Game; import uet.oop.bomberman.gui.GameScreen; import uet.oop.bomberman.input.Keyboard; @@ -16,9 +17,11 @@ public class SelectLevelScreen extends GameScreen { ArrayList levels = new ArrayList(); int selectorIndex = 0; private Keyboard _input; + private Board _board; - public SelectLevelScreen(Keyboard input) { + public SelectLevelScreen(Keyboard input, Board board) { _input = input; + _board = board; levels.add(EGameLevel.EASY.getStringLevel()); levels.add(EGameLevel.MEDIUM.getStringLevel()); @@ -36,6 +39,8 @@ public void onKeyPressed(EGameControl gameControl) { break; case ENTER: Global.currentScreen = EScreenName.GAME_PLAY_SCREEN; + Global.gameLevel = selectorIndex + 1; + _board.loadLevel(Global.gameLevel); break; } diff --git a/src/uet/oop/bomberman/utils/Global.java b/src/uet/oop/bomberman/utils/Global.java index 623e0a6..9c3329c 100644 --- a/src/uet/oop/bomberman/utils/Global.java +++ b/src/uet/oop/bomberman/utils/Global.java @@ -5,4 +5,7 @@ public class Global { public static int screenHeight; public static EScreenName currentScreen; + + // GAME PLAY + public static int gameLevel = 1; } From 35a14321c246596a180ae3c45b91cd66273c1058 Mon Sep 17 00:00:00 2001 From: Hang Le Thi Bich <21522041@gm.uit.edu.vn> Date: Mon, 20 May 2024 01:14:07 +0700 Subject: [PATCH 30/93] select game mode screen --- src/uet/oop/bomberman/Game.java | 30 +++-- src/uet/oop/bomberman/gui/GameScreen.java | 1 + .../screen/SelectGameModeScreen.java | 124 ++++++++++++++++++ .../bomberman/screen/SelectLevelScreen.java | 19 ++- src/uet/oop/bomberman/utils/EGameMode.java | 16 +++ src/uet/oop/bomberman/utils/EScreenName.java | 1 + src/uet/oop/bomberman/utils/Global.java | 4 +- 7 files changed, 181 insertions(+), 14 deletions(-) create mode 100644 src/uet/oop/bomberman/screen/SelectGameModeScreen.java create mode 100644 src/uet/oop/bomberman/utils/EGameMode.java diff --git a/src/uet/oop/bomberman/Game.java b/src/uet/oop/bomberman/Game.java index 4cefe1b..3d050c0 100644 --- a/src/uet/oop/bomberman/Game.java +++ b/src/uet/oop/bomberman/Game.java @@ -4,6 +4,7 @@ import uet.oop.bomberman.graphics.Screen; import uet.oop.bomberman.gui.Frame; import uet.oop.bomberman.input.Keyboard; +import uet.oop.bomberman.screen.SelectGameModeScreen; import uet.oop.bomberman.screen.SelectLevelScreen; import uet.oop.bomberman.utils.EScreenName; import uet.oop.bomberman.utils.Global; @@ -56,6 +57,7 @@ public class Game extends Canvas { // game screens private SelectLevelScreen selectLevelScreen; + private SelectGameModeScreen selectGameModeScreen; public Game(Frame frame) { _frame = frame; @@ -91,26 +93,30 @@ private void renderScreen(Graphics g) { } private void initScreen() { - Global.currentScreen = EScreenName.SELECT_LEVEL_SCREEN; + Global.currentScreen = EScreenName.SELECT_GAME_MODE; - this.selectLevelScreen = new SelectLevelScreen(_input, _board); + this.selectGameModeScreen = new SelectGameModeScreen(); + this.selectLevelScreen = new SelectLevelScreen(_board); } private void update() { _input.update(); switch (Global.currentScreen) { case GAME_PLAY_SCREEN: - _board.update(); - if (_input.pause) { // Kiểm tra nếu phím "p" được nhấn - _board.setShow(3); // Hiển thị màn hình tạm dừng - _paused = true; // Đặt trạng thái game là tạm dừng - return; - } + _board.update(); + if (_input.pause) { // Kiểm tra nếu phím "p" được nhấn + _board.setShow(3); // Hiển thị màn hình tạm dừng + _paused = true; // Đặt trạng thái game là tạm dừng + return; + } break; case SELECT_LEVEL_SCREEN: // TODO: call select level screen update selectLevelScreen.update(); break; + case SELECT_GAME_MODE: + selectGameModeScreen.update(); + break; } } @@ -155,8 +161,16 @@ private void showScreen() { break; case SELECT_LEVEL_SCREEN: // TODO: render select level screen + if (Global.currentScreen != Global.previousScreen) { + selectLevelScreen.setInput(_input); + } selectLevelScreen.drawScreen(g); break; + case SELECT_GAME_MODE: + if (Global.currentScreen != Global.previousScreen) { + selectGameModeScreen.setInput(_input); + } + selectGameModeScreen.drawScreen(g); } g.dispose(); diff --git a/src/uet/oop/bomberman/gui/GameScreen.java b/src/uet/oop/bomberman/gui/GameScreen.java index 93a79c1..a473496 100644 --- a/src/uet/oop/bomberman/gui/GameScreen.java +++ b/src/uet/oop/bomberman/gui/GameScreen.java @@ -5,4 +5,5 @@ public abstract class GameScreen { public abstract void drawScreen(Graphics g); public abstract void update(); + public abstract void onDestroy(); } diff --git a/src/uet/oop/bomberman/screen/SelectGameModeScreen.java b/src/uet/oop/bomberman/screen/SelectGameModeScreen.java new file mode 100644 index 0000000..fce9572 --- /dev/null +++ b/src/uet/oop/bomberman/screen/SelectGameModeScreen.java @@ -0,0 +1,124 @@ +package uet.oop.bomberman.screen; + +import uet.oop.bomberman.Game; +import uet.oop.bomberman.gui.GameScreen; +import uet.oop.bomberman.input.Keyboard; +import uet.oop.bomberman.utils.*; + +import java.awt.*; +import java.util.ArrayList; +import java.util.Optional; + +public class SelectGameModeScreen extends GameScreen { + ArrayList gameModes = new ArrayList(); + int selectorIndex = 0; + private Optional _input; + + public SelectGameModeScreen() { + gameModes.add(EGameMode.ONE_PLAYER.getStringLevel()); + gameModes.add(EGameMode.TWO_PLAYER.getStringLevel()); + } + + public void setInput(Keyboard input) { + _input = Optional.ofNullable(input); + + _input.get().keyboardInputCallback = Optional.of(new Keyboard.KeyboardInputCallback() { + @Override + public void onKeyPressed(EGameControl gameControl) { + switch (gameControl) { + case UP: + selectorIndex--; + break; + case DOWN: + selectorIndex++; + break; + case ENTER: + Global.currentScreen = EScreenName.SELECT_LEVEL_SCREEN; + if (selectorIndex == 1) { + Global.gameMode = EGameMode.TWO_PLAYER; + } else { + Global.gameMode = EGameMode.ONE_PLAYER; + } + break; + } + + if (selectorIndex < 0) { + selectorIndex = gameModes.size() - 1; + } else if (selectorIndex > gameModes.size() - 1) { + selectorIndex = 0; + } + } + }); + } + + @Override + public void drawScreen(Graphics g) { + // set background + g.setColor(Color.black); + g.fillRect(0, 0, Global.screenWidth, Global.screenHeight); + + drawTitle(g); + drawOptions(g); + drawSelector(g); + } + + private void drawTitle(Graphics g) { + String title = "SELECT GAME MODE"; + Font font = new Font("Arial", Font.BOLD, 20 * Game.SCALE); + g.setFont(font); + g.setColor(Color.white); + + FontMetrics fm = g.getFontMetrics(); + int x = (Global.screenWidth - fm.stringWidth(title)) / 2; + int marginTop = 20; + int y = marginTop + fm.getAscent(); + + g.drawString(title, x, y); + } + + private void drawOptions(Graphics g) { + Font font = new Font("Arial", Font.PLAIN, 10 * Game.SCALE); + g.setFont(font); + g.setColor(Color.white); + + int w = Global.screenWidth; + int h = Global.screenHeight; + FontMetrics fm = g.getFontMetrics(); + int textHeight = fm.getAscent() + fm.getDescent(); + int boxHeight = textHeight * this.gameModes.size(); + int marginTop = (h - boxHeight) / 2; + + for (int i=0; i < this.gameModes.size(); i++) { + String level = this.gameModes.get(i); + int x = (w - fm.stringWidth(level)) / 2; + int y = marginTop + fm.getAscent() + textHeight*i; + + g.drawString(level, x, y); + } + } + + private void drawSelector(Graphics g) { + String level = this.gameModes.get(selectorIndex); + int w = Global.screenWidth; + int h = Global.screenHeight; + FontMetrics fm = g.getFontMetrics(); + int textHeight = fm.getAscent() + fm.getDescent(); + int boxHeight = textHeight * this.gameModes.size(); + int marginTop = (h - boxHeight) / 2; + + int x = (w - fm.stringWidth(level)) / 2 - 30; + int y = marginTop + fm.getAscent() + textHeight*selectorIndex; + + g.drawString(">", x, y); + } + + @Override + public void update() { + + } + + @Override + public void onDestroy() { + this._input = null; + } +} diff --git a/src/uet/oop/bomberman/screen/SelectLevelScreen.java b/src/uet/oop/bomberman/screen/SelectLevelScreen.java index 8813815..716c860 100644 --- a/src/uet/oop/bomberman/screen/SelectLevelScreen.java +++ b/src/uet/oop/bomberman/screen/SelectLevelScreen.java @@ -10,24 +10,27 @@ import uet.oop.bomberman.utils.Global; import java.awt.*; -import java.awt.event.KeyEvent; import java.util.ArrayList; +import java.util.Optional; public class SelectLevelScreen extends GameScreen { ArrayList levels = new ArrayList(); int selectorIndex = 0; - private Keyboard _input; + private Optional _input; private Board _board; - public SelectLevelScreen(Keyboard input, Board board) { - _input = input; + public SelectLevelScreen(Board board) { _board = board; levels.add(EGameLevel.EASY.getStringLevel()); levels.add(EGameLevel.MEDIUM.getStringLevel()); levels.add(EGameLevel.HARD.getStringLevel()); + } + + public void setInput(Keyboard input) { + _input = Optional.ofNullable(input); - _input.keyboardInputCallback = java.util.Optional.of(new Keyboard.KeyboardInputCallback() { + _input.get().keyboardInputCallback = java.util.Optional.of(new Keyboard.KeyboardInputCallback() { @Override public void onKeyPressed(EGameControl gameControl) { switch (gameControl) { @@ -41,6 +44,7 @@ public void onKeyPressed(EGameControl gameControl) { Global.currentScreen = EScreenName.GAME_PLAY_SCREEN; Global.gameLevel = selectorIndex + 1; _board.loadLevel(Global.gameLevel); + onDestroy(); break; } @@ -116,4 +120,9 @@ private void drawSelector(Graphics g) { @Override public void update() {} + + @Override + public void onDestroy() { + this._input = null; + } } diff --git a/src/uet/oop/bomberman/utils/EGameMode.java b/src/uet/oop/bomberman/utils/EGameMode.java new file mode 100644 index 0000000..9efd976 --- /dev/null +++ b/src/uet/oop/bomberman/utils/EGameMode.java @@ -0,0 +1,16 @@ +package uet.oop.bomberman.utils; + +public enum EGameMode { + ONE_PLAYER("1 Player"), + TWO_PLAYER("2 Players"); + + private final String mode; + + EGameMode(String level) { + this.mode = level; + } + + public String getStringLevel() { + return this.mode; + } +} diff --git a/src/uet/oop/bomberman/utils/EScreenName.java b/src/uet/oop/bomberman/utils/EScreenName.java index 515a6e8..be8c6be 100644 --- a/src/uet/oop/bomberman/utils/EScreenName.java +++ b/src/uet/oop/bomberman/utils/EScreenName.java @@ -1,6 +1,7 @@ package uet.oop.bomberman.utils; public enum EScreenName { + SELECT_GAME_MODE, SELECT_LEVEL_SCREEN, GAME_PLAY_SCREEN, } diff --git a/src/uet/oop/bomberman/utils/Global.java b/src/uet/oop/bomberman/utils/Global.java index 9c3329c..ff4616e 100644 --- a/src/uet/oop/bomberman/utils/Global.java +++ b/src/uet/oop/bomberman/utils/Global.java @@ -4,8 +4,10 @@ public class Global { public static int screenWidth; public static int screenHeight; - public static EScreenName currentScreen; + public static EScreenName currentScreen = EScreenName.SELECT_GAME_MODE; + public static EScreenName previousScreen = EScreenName.GAME_PLAY_SCREEN; // GAME PLAY public static int gameLevel = 1; + public static EGameMode gameMode; } From ef3a9884a382465105f66eee078712ffef3210be Mon Sep 17 00:00:00 2001 From: phuonnngminh Date: Mon, 20 May 2024 15:59:23 +0000 Subject: [PATCH 31/93] refactor collision logic: split into collide and canBePassedThroughBy --- res/levels/Level3.txt | 2 +- src/uet/oop/bomberman/Board.java | 18 ++++ .../oop/bomberman/base/IEntityManager.java | 1 + src/uet/oop/bomberman/entities/Entity.java | 16 +++- .../oop/bomberman/entities/LayeredEntity.java | 23 +++-- src/uet/oop/bomberman/entities/Message.java | 5 ++ src/uet/oop/bomberman/entities/bomb/Bomb.java | 34 ++++---- .../oop/bomberman/entities/bomb/Flame.java | 33 ++++++-- .../bomberman/entities/bomb/FlameSegment.java | 8 +- .../bomberman/entities/character/Bomber.java | 64 +++----------- .../entities/character/Character.java | 83 +++++++++++++++++-- .../entities/character/enemy/Enemy.java | 73 ++++------------ .../oop/bomberman/entities/tile/Grass.java | 7 +- .../entities/tile/NonDestroyableTile.java | 16 ++++ .../oop/bomberman/entities/tile/Portal.java | 24 ++++-- src/uet/oop/bomberman/entities/tile/Tile.java | 8 ++ src/uet/oop/bomberman/entities/tile/Wall.java | 2 +- .../tile/destroyable/DestroyableTile.java | 10 +++ .../bomberman/entities/tile/item/Item.java | 10 ++- src/uet/oop/bomberman/sound/Sound.java | 4 +- 20 files changed, 282 insertions(+), 159 deletions(-) create mode 100644 src/uet/oop/bomberman/entities/tile/NonDestroyableTile.java diff --git a/res/levels/Level3.txt b/res/levels/Level3.txt index 40a9bf4..5a6ca2f 100644 --- a/res/levels/Level3.txt +++ b/res/levels/Level3.txt @@ -11,4 +11,4 @@ # **** *2 # # # # # # # # # # #*# # # # #*# # ** ** * 5 # -############################### \ No newline at end of file +############################### diff --git a/src/uet/oop/bomberman/Board.java b/src/uet/oop/bomberman/Board.java index 5e09cfd..71415c4 100644 --- a/src/uet/oop/bomberman/Board.java +++ b/src/uet/oop/bomberman/Board.java @@ -16,6 +16,7 @@ import uet.oop.bomberman.input.Keyboard; import uet.oop.bomberman.level.FileLevelLoader; import uet.oop.bomberman.level.LevelLoader; +import uet.oop.bomberman.sound.Sound; import java.awt.*; import java.util.ArrayList; @@ -431,4 +432,21 @@ public void setPlayer(Character character) { this.player = character; } + @Override + public void handleOnDeath(Character character, Character killer) { + if (character.isPlayer()) { + // TODO: handle player death + Sound.play("endgame3"); + } else { + // TODO: document how to calculate message coord + double messageX = (character.getX() * Game.SCALE) + (character.getSprite().SIZE / 2 * Game.SCALE); + double messageY = (character.getY() * Game.SCALE) - (character.getSprite().SIZE / 2 * Game.SCALE); + int points = character.getPoints(); + addPoints(points); + Message msg = new Message("+" + points, messageX, messageY, 2, Color.white, 14); + addMessage(msg); + Sound.play("AA126_11"); + } + } + } diff --git a/src/uet/oop/bomberman/base/IEntityManager.java b/src/uet/oop/bomberman/base/IEntityManager.java index 46f23ce..de47e76 100644 --- a/src/uet/oop/bomberman/base/IEntityManager.java +++ b/src/uet/oop/bomberman/base/IEntityManager.java @@ -25,5 +25,6 @@ public interface IEntityManager extends IActiveItemManager { public Character getPlayer(); public boolean isEnemyCleared(); + public void handleOnDeath(Character character, Character killer); } \ No newline at end of file diff --git a/src/uet/oop/bomberman/entities/Entity.java b/src/uet/oop/bomberman/entities/Entity.java index c1021cb..6e9317a 100644 --- a/src/uet/oop/bomberman/entities/Entity.java +++ b/src/uet/oop/bomberman/entities/Entity.java @@ -40,13 +40,27 @@ public Sprite getSprite() { return _sprite; } + public double getCenterX() { + return _x + _sprite.SIZE / 2; + } + + public double getCenterY() { + return _y - _sprite.SIZE / 2; + } + /** * Phương thức này được gọi để xử lý khi hai entity va chạm vào nhau * @param e * @return */ public abstract boolean collide(Entity e); - //xu li 2 entity va cham + + /** + * Check if other Entity can pass through this + * @param other + * @return + */ + public abstract boolean canBePassedThroughBy(Entity other); public double getX() { return _x; diff --git a/src/uet/oop/bomberman/entities/LayeredEntity.java b/src/uet/oop/bomberman/entities/LayeredEntity.java index e183f24..7d824a3 100644 --- a/src/uet/oop/bomberman/entities/LayeredEntity.java +++ b/src/uet/oop/bomberman/entities/LayeredEntity.java @@ -1,5 +1,6 @@ package uet.oop.bomberman.entities; +import uet.oop.bomberman.entities.tile.Tile; import uet.oop.bomberman.entities.tile.destroyable.DestroyableTile; import uet.oop.bomberman.graphics.Screen; @@ -9,11 +10,12 @@ * Chứa và quản lý nhiều Entity tại cùng một vị trí * Ví dụ: tại vị trí dấu Item, có 3 Entity [Grass, Item, Brick] */ -public class LayeredEntity extends Entity { +public class LayeredEntity extends Tile { - protected LinkedList _entities = new LinkedList<>(); + protected LinkedList _entities = new LinkedList<>(); - public LayeredEntity(int x, int y, Entity ... entities) { + public LayeredEntity(int x, int y, Tile ... entities) { + super(x, y, null); _x = x; _y = y; @@ -38,7 +40,7 @@ public void render(Screen screen) { getTopEntity().render(screen); } - public Entity getTopEntity() { + public Tile getTopEntity() { return _entities.getLast(); } @@ -51,15 +53,24 @@ private void clearRemoved() { } } - public void addBeforeTop(Entity e) { + public void addBeforeTop(Tile e) { _entities.add(_entities.size() - 1, e); } @Override public boolean collide(Entity e) { // TODO: lấy entity trên cùng ra để xử lý va chạm - return getTopEntity().collide(e); } + @Override + public boolean canBePassedThroughBy(Entity other) { + return getTopEntity().canBePassedThroughBy(other); + } + + @Override + public boolean isDestroyable() { + return getTopEntity().isDestroyable(); + } + } diff --git a/src/uet/oop/bomberman/entities/Message.java b/src/uet/oop/bomberman/entities/Message.java index 4bfab68..74cc779 100644 --- a/src/uet/oop/bomberman/entities/Message.java +++ b/src/uet/oop/bomberman/entities/Message.java @@ -65,6 +65,11 @@ public void render(Screen screen) { public boolean collide(Entity e) { return true; } + + @Override + public boolean canBePassedThroughBy(Entity other) { + return true; + } } diff --git a/src/uet/oop/bomberman/entities/bomb/Bomb.java b/src/uet/oop/bomberman/entities/bomb/Bomb.java index 69fe8f1..8863a87 100644 --- a/src/uet/oop/bomberman/entities/bomb/Bomb.java +++ b/src/uet/oop/bomberman/entities/bomb/Bomb.java @@ -83,9 +83,9 @@ protected void explode() {//nổ _allowedToPassThru = true; // TODO: xử lý khi Character đứng tại vị trí Bomb Character x = _board.getCharacterAtExcluding((int)_x, (int)_y, null); - if(x != null){ - x.kill(); - } + if(x != null){ + x.handleOnDeath(); + } // TODO: tạo các Flame _flames = new Flame[4]; for (int i = 0; i < _flames.length; i++) { @@ -93,7 +93,7 @@ protected void explode() {//nổ } Sound.play("BOM_11_M"); } - public void time_explode() { + public void handleChainExplode() { _timeToExplode = 0; } public FlameSegment flameAt(int x, int y) { @@ -110,11 +110,20 @@ public FlameSegment flameAt(int x, int y) { @Override public boolean collide(Entity e) { - // TODO: xử lý khi Bomber đi ra sau khi vừa đặt bom (_allowedToPassThru) - - if(e instanceof Bomber) { - double diffX = e.getX() - Coordinates.tileToPixel(getX()); - double diffY = e.getY() - Coordinates.tileToPixel(getY()); + // Xử lý va chạm với Flame của Bomb khác: chain explosion + if(e instanceof Flame) { + handleChainExplode(); + return true; + } + return false; + } + + @Override + public boolean canBePassedThroughBy(Entity other) { + // Xử lý khi Bomber đi ra sau khi vừa đặt bom (_allowedToPassThru) + if(other instanceof Bomber) { + double diffX = other.getX() - Coordinates.tileToPixel(getX()); + double diffY = other.getY() - Coordinates.tileToPixel(getY()); if(!(diffX >= -10 && diffX < 16 && diffY >= 1 && diffY <= 28)) { // differences to see if the player has moved out of the bomb, tested values _allowedToPassThru = false; @@ -122,11 +131,8 @@ public boolean collide(Entity e) { return _allowedToPassThru; } - // TODO: xử lý va chạm với Flame của Bomb khác - if(e instanceof Flame ) { - time_explode(); - return true; - } + return false; } + } diff --git a/src/uet/oop/bomberman/entities/bomb/Flame.java b/src/uet/oop/bomberman/entities/bomb/Flame.java index f009521..4e2ac84 100644 --- a/src/uet/oop/bomberman/entities/bomb/Flame.java +++ b/src/uet/oop/bomberman/entities/bomb/Flame.java @@ -3,11 +3,13 @@ import uet.oop.bomberman.base.IEntityManager; import uet.oop.bomberman.entities.Entity; import uet.oop.bomberman.entities.character.Character; +import uet.oop.bomberman.entities.tile.Tile; +import uet.oop.bomberman.entities.tile.destroyable.DestroyableTile; import uet.oop.bomberman.graphics.Screen; public class Flame extends Entity { - protected IEntityManager _board; + protected IEntityManager entityManager; protected int _direction; private int _radius; protected int xOrigin, yOrigin; @@ -20,14 +22,14 @@ public class Flame extends Entity { * @param direction là hướng của Flame * @param radius độ dài cực đại của Flame */ - public Flame(int x, int y, int direction, int radius, IEntityManager board) { + public Flame(int x, int y, int direction, int radius, IEntityManager entityManager) { xOrigin = x; yOrigin = y; _x = x; _y = y; _direction = direction; _radius = radius; - _board = board; + this.entityManager = entityManager; createFlameSegments(); } @@ -59,6 +61,10 @@ private void createFlameSegments() { case 3: x--; break; } _flameSegments[i] = new FlameSegment(x, y, _direction, last); + Entity entity = entityManager.getEntity(x, y, null); + if (entity!=null) { + entity.collide(this); + } } } @@ -77,17 +83,26 @@ private int calculatePermitedDistance() { if(_direction == 2) y++; if(_direction == 3) x--; - Entity a = _board.getEntity(x, y, null); + Entity a = entityManager.getEntity(x, y, null); if(a instanceof Bomb) ++radius; //explosion has to be below the bom - if(a.collide(this) == false) //cannot pass thru + if(!canSpawnFlameOn(a)) break; ++radius; } return radius; } + + private boolean canSpawnFlameOn(Entity entity) { + if (entity.canBePassedThroughBy(this)) return true; + if (entity instanceof Tile) { + Tile tile = (Tile) entity; + if (tile.isDestroyable()) return true; + } + return false; + } public FlameSegment flameSegmentAt(int x, int y) { for (int i = 0; i < _flameSegments.length; i++) { @@ -110,8 +125,14 @@ public void render(Screen screen) { @Override public boolean collide(Entity e) { if (e instanceof Character) { - ((Character)e).kill(); + ((Character)e).handleOnDeath(); } return true; } + + @Override + public boolean canBePassedThroughBy(Entity other) { + return true; + } + } diff --git a/src/uet/oop/bomberman/entities/bomb/FlameSegment.java b/src/uet/oop/bomberman/entities/bomb/FlameSegment.java index 4adf084..cbbb2a5 100644 --- a/src/uet/oop/bomberman/entities/bomb/FlameSegment.java +++ b/src/uet/oop/bomberman/entities/bomb/FlameSegment.java @@ -68,9 +68,13 @@ public void update() {} @Override public boolean collide(Entity e) { - if (e instanceof Character) ((Character)e).kill(); + if (e instanceof Character) ((Character)e).handleOnDeath(); + return true; + } + + @Override + public boolean canBePassedThroughBy(Entity other) { return true; } - } \ No newline at end of file diff --git a/src/uet/oop/bomberman/entities/character/Bomber.java b/src/uet/oop/bomberman/entities/character/Bomber.java index 2d6bd58..af2572a 100644 --- a/src/uet/oop/bomberman/entities/character/Bomber.java +++ b/src/uet/oop/bomberman/entities/character/Bomber.java @@ -29,7 +29,6 @@ public class Bomber extends Character { protected int bombCooldown = 0; private final int baseBombRadius; - private int bombRadius; public int getBombCooldown() { return bombCooldown; @@ -47,16 +46,10 @@ public Bomber(int x, int y, double baseSpeed, int baseBombLimit, int baseBombRad } @Override - public void update() { - clearBombs(); - if (!_alive) { - afterKill(); - return; - } - + public void handleUpdate() { + clearExpiredBombs(); if (bombCooldown < -7500) bombCooldown = 0; else bombCooldown--; - animate(); } @@ -108,7 +101,7 @@ public void placeBomb(int x, int y) { Sound.play("BOM_SET"); } - private void clearBombs() { + private void clearExpiredBombs() { Iterator bs = _bombs.iterator(); Bomb b; @@ -122,18 +115,8 @@ private void clearBombs() { } @Override - public void kill() { - if (!_alive) return; - _alive = false; - Sound.play("endgame3"); - } - - @Override - protected void afterKill() { - if (_timeAfter > 0) --_timeAfter; - else { - _board.endGame(); - } + protected void handleAfterDeath() { + _board.endGame(); } @Override @@ -149,7 +132,7 @@ public boolean canMove(double x, double y) { Entity a = entityManager.getEntity(xt, yt, this); - if(!a.collide(this)) + if(!a.canBePassedThroughBy(this)) return false; } @@ -157,37 +140,9 @@ public boolean canMove(double x, double y) { //return false; } - @Override - public void move(double xa, double ya) { - // TODO: sử dụng canMove() để kiểm tra xem có thể di chuyển tới điểm đã tính toán hay không và thực hiện thay đổi tọa độ _x, _y - // TODO: nhớ cập nhật giá trị _direction sau khi di chuyển - if(xa > 0) _direction = 1; - if(xa < 0) _direction = 3; - if(ya > 0) _direction = 2; - if(ya < 0) _direction = 0; - - if(canMove(0, ya)) { //separate the moves for the player can slide when is colliding - _y += ya; - } - - if(canMove(xa, 0)) { - _x += xa; - } - } - @Override public boolean collide(Entity e) { - // TODO: xử lý va chạm với Flame - // TODO: xử lý va chạm với Enemy - if(e instanceof Flame){ - this.kill(); - return false; - } - if(e instanceof Enemy){ - this.kill(); - return true; - } - if( e instanceof LayeredEntity) return(e.collide(this)); + if (!super.collide(e)) return false; return true; } @@ -226,4 +181,9 @@ private void chooseSprite() { break; } } + + @Override + public int getPoints() { + return 0; + } } diff --git a/src/uet/oop/bomberman/entities/character/Character.java b/src/uet/oop/bomberman/entities/character/Character.java index 75191db..a630f79 100644 --- a/src/uet/oop/bomberman/entities/character/Character.java +++ b/src/uet/oop/bomberman/entities/character/Character.java @@ -7,20 +7,24 @@ import uet.oop.bomberman.Game; import uet.oop.bomberman.base.IEntityManager; import uet.oop.bomberman.entities.AnimatedEntitiy; +import uet.oop.bomberman.entities.Entity; +import uet.oop.bomberman.entities.LayeredEntity; +import uet.oop.bomberman.entities.bomb.Flame; import uet.oop.bomberman.entities.tile.item.Item; import uet.oop.bomberman.entities.tile.item.SpeedItem; import uet.oop.bomberman.graphics.Screen; +import uet.oop.bomberman.level.Coordinates; /** * Bao gồm Bomber và Enemy */ public abstract class Character extends AnimatedEntitiy { - protected IEntityManager entityManager; + protected final IEntityManager entityManager; protected int _direction = -1; protected boolean _alive = true; protected boolean _moving = false; - public int _timeAfter = 40; + protected int timerDeathAnimation = 40; private final double baseSpeed; @@ -34,7 +38,19 @@ public Character(int x, int y, double baseSpeed, IEntityManager entityManager) { } @Override - public abstract void update(); + public final void update() { + if (!_alive) { + if (timerDeathAnimation > 0) { + timerDeathAnimation -= 1; + } else { + handleAfterDeath(); + } + return; + } + handleUpdate(); + }; + + protected abstract void handleUpdate(); @Override public abstract void render(Screen screen); @@ -44,17 +60,44 @@ public Character(int x, int y, double baseSpeed, IEntityManager entityManager) { */ protected abstract void calculateMove(); - public abstract void move(double xa, double ya); + /** Check if can be moved with vector (xa, ya). + * @param xa + * @param ya + */ + public void move(double xa, double ya) { + if(xa > 0) _direction = 1; + if(xa < 0) _direction = 3; + if(ya > 0) _direction = 2; + if(ya < 0) _direction = 0; + + if(canMove(0, ya)) _y += ya; + if(canMove(xa, 0)) _x += xa; + + Entity collidingEntity = entityManager.getEntity( + Coordinates.pixelToTile(getCenterX()), + Coordinates.pixelToTile(getCenterY()), + this + ); + if (collidingEntity != null) { + this.collide(collidingEntity); + collidingEntity.collide(this); + } + } /** * Được gọi khi đối tượng bị tiêu diệt */ - public abstract void kill(); + public final void handleOnDeath() { + if(!_alive) return; + _alive = false; + // TODO: determine killer + entityManager.handleOnDeath(this, null); + } /** * Xử lý hiệu ứng bị tiêu diệt */ - protected abstract void afterKill(); + protected abstract void handleAfterDeath(); /** * Kiểm tra xem đối tượng có di chuyển tới vị trí đã tính toán hay không @@ -104,4 +147,32 @@ public double getSpeed() { return speedMultiplier * this.baseSpeed; } + public abstract int getPoints(); + + @Override + public boolean collide(Entity e) { + if(e instanceof Flame){ + this.handleOnDeath(); + return false; + } + if (e instanceof Character) { + Character other = (Character) e; + if (this.isPlayer() && !other.isPlayer()) { + this.handleOnDeath(); + return false; + } + if (other.isPlayer() && !this.isPlayer()) { + other.handleOnDeath(); + return false; + } + } + if( e instanceof LayeredEntity) return(e.collide(this)); + return true; + } + + @Override + public boolean canBePassedThroughBy(Entity other) { + return true; + } + } diff --git a/src/uet/oop/bomberman/entities/character/enemy/Enemy.java b/src/uet/oop/bomberman/entities/character/enemy/Enemy.java index 56e05a1..adb5562 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/Enemy.java +++ b/src/uet/oop/bomberman/entities/character/enemy/Enemy.java @@ -1,19 +1,14 @@ package uet.oop.bomberman.entities.character.enemy; -import uet.oop.bomberman.Board; import uet.oop.bomberman.Game; +import uet.oop.bomberman.base.IEntityManager; import uet.oop.bomberman.entities.Entity; -import uet.oop.bomberman.entities.Message; -import uet.oop.bomberman.entities.bomb.Flame; import uet.oop.bomberman.entities.character.Character; import uet.oop.bomberman.entities.character.enemy.ai.AI; import uet.oop.bomberman.graphics.Screen; import uet.oop.bomberman.graphics.Sprite; import uet.oop.bomberman.level.Coordinates; -import java.awt.*; -import uet.oop.bomberman.sound.Sound; - public abstract class Enemy extends Character { protected int _points; @@ -28,13 +23,9 @@ public abstract class Enemy extends Character { protected int _finalAnimation = 30; protected Sprite _deadSprite; - private Board _board; - - public Enemy(int x, int y, Board board, Sprite dead, double speed, int points) { - super(x, y, speed, board); + public Enemy(int x, int y, IEntityManager entityManager, Sprite dead, double speed, int points) { + super(x, y, speed, entityManager); - this._board = board; - _points = points; _speed = speed; @@ -42,21 +33,14 @@ public Enemy(int x, int y, Board board, Sprite dead, double speed, int points) { rest = (MAX_STEPS - (int) MAX_STEPS) / MAX_STEPS; _steps = MAX_STEPS; - _timeAfter = 20; + timerDeathAnimation = 20; _deadSprite = dead; } @Override - public void update() { + public void handleUpdate() { animate(); - - if(!_alive) { - afterKill(); - return; - } - - if(_alive) - calculateMove(); + calculateMove(); } @Override @@ -65,7 +49,7 @@ public void render(Screen screen) { if(_alive) chooseSprite(); else { - if(_timeAfter > 0) { + if(timerDeathAnimation > 0) { _sprite = _deadSprite; _animate = 0; } else { @@ -104,13 +88,6 @@ public void calculateMove() { } } - @Override - public void move(double xa, double ya) { - if(!_alive) return; - _y += ya; - _x += xa; - } - @Override public boolean canMove(double x, double y) { double xr = _x, yr = _y - 16; //subtract y to get more accurate results @@ -127,44 +104,24 @@ public boolean canMove(double x, double y) { Entity a = entityManager.getEntity(xx, yy, this); //entity of the position we want to go - return a.collide(this); + return a.canBePassedThroughBy(this); } @Override public boolean collide(Entity e) { - if(e instanceof Flame){ - this.kill(); - return false; - } - if(e instanceof Character && ((Character)e).isPlayer()){ - ((Character) e).kill(); - return false; - } + if (!super.collide(e)) return false; return true; } @Override - public void kill() { - if(!_alive) return; - _alive = false; - - _board.addPoints(_points); - - Message msg = new Message("+" + _points, getXMessage(), getYMessage(), 2, Color.white, 14); - _board.addMessage(msg); - Sound.play("AA126_11"); + protected void handleAfterDeath() { + remove(); } - + protected abstract void chooseSprite(); + @Override - protected void afterKill() { - if(_timeAfter > 0) --_timeAfter; - else { - if(_finalAnimation > 0) --_finalAnimation; - else - remove(); - } + public int getPoints() { + return _points; } - - protected abstract void chooseSprite(); } diff --git a/src/uet/oop/bomberman/entities/tile/Grass.java b/src/uet/oop/bomberman/entities/tile/Grass.java index 6046143..acd57c0 100644 --- a/src/uet/oop/bomberman/entities/tile/Grass.java +++ b/src/uet/oop/bomberman/entities/tile/Grass.java @@ -4,7 +4,7 @@ import uet.oop.bomberman.entities.Entity; import uet.oop.bomberman.graphics.Sprite; -public class Grass extends Tile { +public class Grass extends NonDestroyableTile { public Grass(int x, int y, Sprite sprite) { super(x, y, sprite); @@ -19,4 +19,9 @@ public Grass(int x, int y, Sprite sprite) { public boolean collide(Entity e) { return true; } + + @Override + public boolean canBePassedThroughBy(Entity other) { + return true; + } } diff --git a/src/uet/oop/bomberman/entities/tile/NonDestroyableTile.java b/src/uet/oop/bomberman/entities/tile/NonDestroyableTile.java new file mode 100644 index 0000000..53b7101 --- /dev/null +++ b/src/uet/oop/bomberman/entities/tile/NonDestroyableTile.java @@ -0,0 +1,16 @@ +package uet.oop.bomberman.entities.tile; + +import uet.oop.bomberman.graphics.Sprite; + +public abstract class NonDestroyableTile extends Tile { + + public NonDestroyableTile(int x, int y, Sprite sprite) { + super(x, y, sprite); + } + + @Override + public boolean isDestroyable() { + return false; + } + +} diff --git a/src/uet/oop/bomberman/entities/tile/Portal.java b/src/uet/oop/bomberman/entities/tile/Portal.java index 0b42570..6a5d13e 100644 --- a/src/uet/oop/bomberman/entities/tile/Portal.java +++ b/src/uet/oop/bomberman/entities/tile/Portal.java @@ -6,7 +6,7 @@ import uet.oop.bomberman.graphics.Sprite; import uet.oop.bomberman.sound.Sound; -public class Portal extends Tile { +public class Portal extends NonDestroyableTile { protected Board _board; public Portal(int x, int y, Board board, Sprite sprite) { @@ -21,18 +21,28 @@ public boolean collide(Entity e) {// xu li khi 2 entity va cham // TODO: xử lý khi Bomber đi vào if (e instanceof Character && ((Character)e).isPlayer()) { + if (canBePassedThroughBy(e)) { + _board.nextLevel(); + Sound.play("CRYST_UP"); + } + + } + + return true; + } + + @Override + public boolean canBePassedThroughBy(Entity other) { + if (other instanceof Character && ((Character)other).isPlayer()) { + if (!_board.isEnemyCleared()) return false; - if (e.getXTile() == getX() && e.getYTile() == getY()) { - if (_board.isEnemyCleared()) { - _board.nextLevel(); - Sound.play("CRYST_UP"); - } + if (other.getXTile() == getX() && other.getYTile() == getY()) { + return true; } } - return true; } diff --git a/src/uet/oop/bomberman/entities/tile/Tile.java b/src/uet/oop/bomberman/entities/tile/Tile.java index 33f9272..f2036c9 100644 --- a/src/uet/oop/bomberman/entities/tile/Tile.java +++ b/src/uet/oop/bomberman/entities/tile/Tile.java @@ -26,6 +26,12 @@ public boolean collide(Entity e) { return false;//khong cho di qua } + + @Override + public boolean canBePassedThroughBy(Entity other) { + return false; + } + @Override public void render(Screen screen) { screen.renderEntity( Coordinates.tileToPixel(_x), Coordinates.tileToPixel(_y), this); @@ -33,4 +39,6 @@ public void render(Screen screen) { @Override public void update() {} + + public abstract boolean isDestroyable(); } diff --git a/src/uet/oop/bomberman/entities/tile/Wall.java b/src/uet/oop/bomberman/entities/tile/Wall.java index 3af3dad..4404dc1 100644 --- a/src/uet/oop/bomberman/entities/tile/Wall.java +++ b/src/uet/oop/bomberman/entities/tile/Wall.java @@ -3,7 +3,7 @@ import uet.oop.bomberman.graphics.Sprite; -public class Wall extends Tile { +public class Wall extends NonDestroyableTile { public Wall(int x, int y, Sprite sprite) { super(x, y, sprite); diff --git a/src/uet/oop/bomberman/entities/tile/destroyable/DestroyableTile.java b/src/uet/oop/bomberman/entities/tile/destroyable/DestroyableTile.java index 5148855..6c2683f 100644 --- a/src/uet/oop/bomberman/entities/tile/destroyable/DestroyableTile.java +++ b/src/uet/oop/bomberman/entities/tile/destroyable/DestroyableTile.java @@ -42,6 +42,11 @@ public boolean collide(Entity e) { return false; } + @Override + public boolean canBePassedThroughBy(Entity other) { + return false; + } + public void addBelowSprite(Sprite sprite) { _belowSprite = sprite; } @@ -59,5 +64,10 @@ protected Sprite movingSprite(Sprite normal, Sprite x1, Sprite x2) { return x2; } + + @Override + public boolean isDestroyable() { + return true; + } } diff --git a/src/uet/oop/bomberman/entities/tile/item/Item.java b/src/uet/oop/bomberman/entities/tile/item/Item.java index 3f78feb..a028765 100644 --- a/src/uet/oop/bomberman/entities/tile/item/Item.java +++ b/src/uet/oop/bomberman/entities/tile/item/Item.java @@ -3,11 +3,11 @@ import uet.oop.bomberman.Game; import uet.oop.bomberman.entities.Entity; import uet.oop.bomberman.entities.character.Character; -import uet.oop.bomberman.entities.tile.Tile; +import uet.oop.bomberman.entities.tile.NonDestroyableTile; import uet.oop.bomberman.graphics.Sprite; import uet.oop.bomberman.sound.Sound; -public abstract class Item extends Tile { +public abstract class Item extends NonDestroyableTile { protected int _duration = 30 * Game.TICKS_PER_SECOND; // 30s protected boolean _active = false; @@ -23,6 +23,7 @@ public Item(int x, int y, Sprite sprite) { @Override public boolean collide(Entity e) { + if (isRemoved()) return false; if (e instanceof Character && ((Character)e).isPlayer()) { Character player = (Character) e; Sound.play("Item"); @@ -34,6 +35,11 @@ public boolean collide(Entity e) { return false; } + @Override + public boolean canBePassedThroughBy(Entity e) { + return (e instanceof Character && ((Character)e).isPlayer()); + } + @Override public void update() { if (!_active) diff --git a/src/uet/oop/bomberman/sound/Sound.java b/src/uet/oop/bomberman/sound/Sound.java index efafdc1..1993f37 100644 --- a/src/uet/oop/bomberman/sound/Sound.java +++ b/src/uet/oop/bomberman/sound/Sound.java @@ -18,7 +18,7 @@ public void run() { clip.open(inputStream); clip.start(); } catch (Exception e) { - System.err.println(e.getMessage()); + System.err.println("Failed playing sound '" + sound + "': " + e.getMessage()); } } }).start(); @@ -34,7 +34,7 @@ public void run() { clip.open(inputStream); clip.stop(); } catch (Exception e) { - System.err.println(e.getMessage()); + System.err.println("Failed stopping sound '" + sound + "': " + e.getMessage()); } } }).start(); From cd226421f2177c0ddeb4f03a2216b7fb5ba768d4 Mon Sep 17 00:00:00 2001 From: 21522098_HuyHoang <21522098@gm.uit.edu.vn> Date: Tue, 21 May 2024 06:41:32 +0700 Subject: [PATCH 32/93] DeadScreen --- res/menu/icons8-menu-50.png | Bin 0 -> 138 bytes res/menu/icons8-restart-50.png | Bin 0 -> 870 bytes src/uet/oop/bomberman/Board.java | 2 +- src/uet/oop/bomberman/BombermanGame.java | 1 - src/uet/oop/bomberman/Game.java | 18 +-- src/uet/oop/bomberman/gui/InfoPanel.java | 2 +- src/uet/oop/bomberman/input/Keyboard.java | 2 +- .../{SelectOption.java => DeadScreen.java} | 107 +++++++++++++----- src/uet/oop/bomberman/utils/Global.java | 1 - 9 files changed, 89 insertions(+), 44 deletions(-) create mode 100644 res/menu/icons8-menu-50.png create mode 100644 res/menu/icons8-restart-50.png rename src/uet/oop/bomberman/screen/{SelectOption.java => DeadScreen.java} (51%) diff --git a/res/menu/icons8-menu-50.png b/res/menu/icons8-menu-50.png new file mode 100644 index 0000000000000000000000000000000000000000..5a897f72fbb530ca88681e6afd3bcacbf3cd9f6c GIT binary patch literal 138 zcmeAS@N?(olHy`uVBq!ia0vp^Mj*_=1|;R|J2nC-&H|6fVg?3oVGw3ym^DWNC}`v9 z;uumf=k2wPoD2p$%#LsOmoUAHX$@g3W|wlftIptH={?QVoq^#&=B}vJniLxbhW*Pv hM;~)P#_TYQJM+KRlQs73r-0@#c)I$ztaD0e0su}qCRP9d literal 0 HcmV?d00001 diff --git a/res/menu/icons8-restart-50.png b/res/menu/icons8-restart-50.png new file mode 100644 index 0000000000000000000000000000000000000000..a206a9ba3e1fe7b0aa8d19914d24797b76227f8b GIT binary patch literal 870 zcmV-s1DX7ZP)B5>zw_qeO>F@ z!VdmFJOx&PU%&@o9Jm8q0GdfyAVGm=9hd~J0*xd9d(`{KfL`Dx@EG{*1oaij0qJV@ z-o~dAI0#$=UOM0X1av1Y5Eos*Yv=o8l^Puv8DOT$ff#lJH-Nm_m;>4?_3RUn4F&Xk_p?wYyh z46UsZ>JW&b)tP3t0hEQaz+dh2of~Ym4kTPN;Ray4TS;he7WYtuy&i!W2AvsF(i9ug z3-5rGM}ee(H)`90+A@{+Cg<)VhvpONgKlwK-YPfiljB?b#4g~KI9@L1_)t!k|M-f2 zahxdRZ~*uNta)B1G^@Tbo=s5>mlWv~{$om9&qo<=%Q%exxFxP5QO0o@v-pp!xZaO4 zF3NZm|8ZPgEur0n?=rf1m9J{-HuYWXpQyRZHSB8dt=gk)T{_>;q=S zVKz>Qk=byqkg4&(_uRRTi+$nK;S8-!vs2V&O)RO+MO`*k1ntf=%S(HW(uLz9rQK=8 znNEi)-ALNm00Ifhv2S0U6Wgvb!gC^A*i|jNyPRPUq{a4cQ=M#4?i8jSfu>T~TWp-s z8FbQ_KpE+@1iq}QxK?QZ4f=gTMbWT)L!BT@I|k|{el$uIpHK-9l=-YFi|zACy=el@ wscL(mf1vrHUSHMk_bN|E keyboardInputCallback; diff --git a/src/uet/oop/bomberman/screen/SelectOption.java b/src/uet/oop/bomberman/screen/DeadScreen.java similarity index 51% rename from src/uet/oop/bomberman/screen/SelectOption.java rename to src/uet/oop/bomberman/screen/DeadScreen.java index bce7c24..98c5601 100644 --- a/src/uet/oop/bomberman/screen/SelectOption.java +++ b/src/uet/oop/bomberman/screen/DeadScreen.java @@ -8,17 +8,31 @@ import uet.oop.bomberman.utils.Global; import java.awt.*; import java.util.ArrayList; +import javax.imageio.ImageIO; +import java.awt.image.BufferedImage; +import java.io.IOException; -public class SelectOption extends GameScreen { - ArrayList options = new ArrayList(); +public class DeadScreen extends GameScreen { + ArrayList options = new ArrayList<>(); int selectorIndex = 0; private Game game; private Keyboard _input; - public SelectOption(Keyboard input, Game game) { + private BufferedImage restartIcon; + private BufferedImage homeIcon; + + public DeadScreen(Keyboard input, Game game) { _input = input; this.game = game; options.add("Restart"); options.add("Back Home"); + try { + restartIcon = ImageIO.read(getClass().getResource("/menu/icons8-restart-50.png")); + homeIcon = ImageIO.read(getClass().getResource("/menu/icons8-menu-50.png")); + restartIcon = colorizeIcon(restartIcon, Color.YELLOW); + homeIcon = colorizeIcon(homeIcon, Color.YELLOW); + } catch (IOException e) { + e.printStackTrace(); + } _input.keyboardInputCallback = java.util.Optional.of(new Keyboard.KeyboardInputCallback() { @Override @@ -30,7 +44,7 @@ public void onKeyPressed(EGameControl gameControl) { case RIGHT: selectorIndex++; break; - case X: + case ENTER: if (selectorIndex == 0) { game.restartGame(); } else if (selectorIndex == 1) { @@ -47,6 +61,22 @@ public void onKeyPressed(EGameControl gameControl) { } }); } + + // Rest of the class remains unchanged + private BufferedImage colorizeIcon(BufferedImage icon, Color color) { + BufferedImage newIcon = new BufferedImage(icon.getWidth(), icon.getHeight(), BufferedImage.TYPE_INT_ARGB); + for (int x = 0; x < icon.getWidth(); x++) { + for (int y = 0; y < icon.getHeight(); y++) { + int argb = icon.getRGB(x, y); + if ((argb >> 24) != 0x00) { // Check if pixel is not transparent + newIcon.setRGB(x, y, color.getRGB()); + } else { + newIcon.setRGB(x, y, argb); + } + } + } + return newIcon; + } @Override public void drawScreen(Graphics g) { @@ -54,6 +84,7 @@ public void drawScreen(Graphics g) { g.fillRect(0, 0, Global.screenWidth, Global.screenHeight); drawTitle(g); drawPOINTS(g, game.getBoard().getPoints()); + drawTIMES(g, game.getBoard().getTime()); drawOptions(g); drawSelector(g); } @@ -66,7 +97,7 @@ private void drawTitle(Graphics g) { FontMetrics fm = g.getFontMetrics(); int x = (Global.screenWidth - fm.stringWidth(title)) / 2; - int marginTop = 20; + int marginTop = 100; int y = marginTop + fm.getAscent(); g.drawString(title, x, y); @@ -81,48 +112,64 @@ private void drawPOINTS(Graphics g,int points) FontMetrics fm = g.getFontMetrics(); int textWidth = fm.stringWidth(Point); int x = (Global.screenWidth - textWidth) / 2; // Vị trí x để chuỗi ở giữa màn hình - int marginTop = 100; + int marginTop = 190; int y = marginTop + fm.getAscent(); g.drawString(Point, x, y); } - private void drawOptions(Graphics g) { - Font font = new Font("Arial", Font.PLAIN, 10 * Game.SCALE); + private void drawTIMES(Graphics g,int times) + { + String Point = "TIME : " + times; + Font font = new Font("Arial", Font.BOLD, 10 * Game.SCALE); g.setFont(font); - g.setColor(Color.white); + g.setColor(Color.yellow); - int w = Global.screenWidth; - int h = Global.screenHeight; FontMetrics fm = g.getFontMetrics(); - int textHeight = fm.getAscent() + fm.getDescent(); - int marginTop = (h - options.size() * textHeight) / 2; + int textWidth = fm.stringWidth(Point); + int x = (Global.screenWidth - textWidth) / 2; // Vị trí x để chuỗi ở giữa màn hình + int marginTop = 230; + int y = marginTop + fm.getAscent(); - for (int i = 0; i < options.size(); i++) { - String option = options.get(i); - int x = (w - fm.stringWidth(option)) / 2; - int y = marginTop + fm.getAscent() + textHeight * i; + g.drawString(Point, x, y); - g.drawString(option, x, y); - } } - + private void drawOptions(Graphics g) { + int w = Global.screenWidth; + int h = Global.screenHeight; + int iconHeight = restartIcon.getHeight(); + int marginTop = (h - iconHeight) / 2; + + int spacing = 100; + int totalOptionsWidth = restartIcon.getWidth() + spacing + homeIcon.getWidth(); + + int startX = (w - totalOptionsWidth) / 2; + + g.drawImage(restartIcon, startX, marginTop, null); + + int homeIconX = startX + restartIcon.getWidth() + spacing; + g.drawImage(homeIcon, homeIconX, marginTop, null); + } + private void drawSelector(Graphics g) { - String option = this.options.get(selectorIndex); int w = Global.screenWidth; int h = Global.screenHeight; - FontMetrics fm = g.getFontMetrics(); - int textHeight = fm.getAscent() + fm.getDescent(); - int marginTop = (h - options.size() * textHeight) / 2; - - int x = (w - fm.stringWidth(option)) / 2 - 30; - int y = marginTop + fm.getAscent() + textHeight * selectorIndex; - - g.drawString(">", x, y); + int iconHeight = restartIcon.getHeight(); + int marginTop = (h - iconHeight) / 2; + + int spacing = 90; + int totalOptionsWidth = restartIcon.getWidth() + spacing + homeIcon.getWidth(); + + int startX = (w - totalOptionsWidth) / 2; + + int selectorX = selectorIndex == 0 ? startX - 40 : startX + restartIcon.getWidth() + spacing - 40; + int y = marginTop + (iconHeight / 2) + 10; + + g.drawString(">", selectorX, y); } + @Override public void update() { - // No need to update anything in this screen } } diff --git a/src/uet/oop/bomberman/utils/Global.java b/src/uet/oop/bomberman/utils/Global.java index 623e0a6..eab41c0 100644 --- a/src/uet/oop/bomberman/utils/Global.java +++ b/src/uet/oop/bomberman/utils/Global.java @@ -3,6 +3,5 @@ public class Global { public static int screenWidth; public static int screenHeight; - public static EScreenName currentScreen; } From f277c5e59c51deb5faf3ba1411d5676a85a5785f Mon Sep 17 00:00:00 2001 From: phuonnngminh Date: Tue, 21 May 2024 06:21:09 +0000 Subject: [PATCH 33/93] rename Board.getPlayerActiveItems() --- src/uet/oop/bomberman/Board.java | 2 +- src/uet/oop/bomberman/base/IActiveItemManager.java | 2 +- src/uet/oop/bomberman/gui/InfoPanel.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/uet/oop/bomberman/Board.java b/src/uet/oop/bomberman/Board.java index 08fcfd9..d5f4018 100644 --- a/src/uet/oop/bomberman/Board.java +++ b/src/uet/oop/bomberman/Board.java @@ -43,7 +43,7 @@ public class Board implements IRender, IEntityManager, IMessageManager, IGameInf private Character player; @Override - public List getActiveItems() { + public List getPlayerActiveItems() { return getPlayer().getActiveItems().collect(Collectors.toList()); } diff --git a/src/uet/oop/bomberman/base/IActiveItemManager.java b/src/uet/oop/bomberman/base/IActiveItemManager.java index dc86201..5d5a988 100644 --- a/src/uet/oop/bomberman/base/IActiveItemManager.java +++ b/src/uet/oop/bomberman/base/IActiveItemManager.java @@ -6,7 +6,7 @@ public interface IActiveItemManager { - public List getActiveItems(); + public List getPlayerActiveItems(); public void addActiveItem(Item item); } \ No newline at end of file diff --git a/src/uet/oop/bomberman/gui/InfoPanel.java b/src/uet/oop/bomberman/gui/InfoPanel.java index b6eb091..ad9e5b5 100644 --- a/src/uet/oop/bomberman/gui/InfoPanel.java +++ b/src/uet/oop/bomberman/gui/InfoPanel.java @@ -50,7 +50,7 @@ public void setPoints(int t) { public void renderItemTime() { String label = ""; - List items = gameInfoManager.getActiveItems(); + List items = gameInfoManager.getPlayerActiveItems(); for (int i = 0; i < items.size(); i++) { Item item = items.get(i); if ((item.getDuration()) == 0) { From d2d0208969e8e4c9ecb51e485f58faa4b3c9d4e3 Mon Sep 17 00:00:00 2001 From: Hang Le Thi Bich <21522041@gm.uit.edu.vn> Date: Wed, 22 May 2024 00:11:59 +0700 Subject: [PATCH 34/93] edit text --- src/uet/oop/bomberman/utils/EGameMode.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/uet/oop/bomberman/utils/EGameMode.java b/src/uet/oop/bomberman/utils/EGameMode.java index 9efd976..d45b474 100644 --- a/src/uet/oop/bomberman/utils/EGameMode.java +++ b/src/uet/oop/bomberman/utils/EGameMode.java @@ -2,7 +2,7 @@ public enum EGameMode { ONE_PLAYER("1 Player"), - TWO_PLAYER("2 Players"); + TWO_PLAYER("2 Player"); private final String mode; From cbddb1488f538326ddeccc826ee7c45bc302f651 Mon Sep 17 00:00:00 2001 From: phuonnngminh Date: Tue, 21 May 2024 17:26:23 +0000 Subject: [PATCH 35/93] standardize character action --- src/uet/oop/bomberman/Board.java | 15 +++++-- .../bomberman/entities/character/Bomber.java | 31 +++++++++++-- .../entities/character/Character.java | 44 +++++++++++++++++- .../entities/character/action/Action.java | 4 ++ .../character/action/ActionConstants.java | 31 +++++++++++++ .../entities/character/action/ActionMove.java | 45 +++++++++++++++++++ .../character/action/ActionPlaceBomb.java | 21 +++++++++ .../exceptions/ActionOnCooldownException.java | 5 +++ .../exceptions/BombQuotaReachedException.java | 5 +++ .../CannotPerformActionException.java | 5 +++ .../exceptions/CharacterActionException.java | 5 +++ .../exceptions/InvalidActionException.java | 5 +++ src/uet/oop/bomberman/input/Keyboard.java | 2 +- 13 files changed, 210 insertions(+), 8 deletions(-) create mode 100644 src/uet/oop/bomberman/entities/character/action/Action.java create mode 100644 src/uet/oop/bomberman/entities/character/action/ActionConstants.java create mode 100644 src/uet/oop/bomberman/entities/character/action/ActionMove.java create mode 100644 src/uet/oop/bomberman/entities/character/action/ActionPlaceBomb.java create mode 100644 src/uet/oop/bomberman/entities/character/exceptions/ActionOnCooldownException.java create mode 100644 src/uet/oop/bomberman/entities/character/exceptions/BombQuotaReachedException.java create mode 100644 src/uet/oop/bomberman/entities/character/exceptions/CannotPerformActionException.java create mode 100644 src/uet/oop/bomberman/entities/character/exceptions/CharacterActionException.java create mode 100644 src/uet/oop/bomberman/entities/character/exceptions/InvalidActionException.java diff --git a/src/uet/oop/bomberman/Board.java b/src/uet/oop/bomberman/Board.java index d5f4018..081cc99 100644 --- a/src/uet/oop/bomberman/Board.java +++ b/src/uet/oop/bomberman/Board.java @@ -9,6 +9,9 @@ import uet.oop.bomberman.entities.bomb.FlameSegment; import uet.oop.bomberman.entities.character.Bomber; import uet.oop.bomberman.entities.character.Character; +import uet.oop.bomberman.entities.character.action.ActionConstants; +import uet.oop.bomberman.entities.character.action.ActionMove; +import uet.oop.bomberman.entities.character.exceptions.CharacterActionException; import uet.oop.bomberman.entities.tile.item.Item; import uet.oop.bomberman.exceptions.LoadLevelException; import uet.oop.bomberman.graphics.IRender; @@ -94,8 +97,11 @@ private void processPlayerInput() { processPlayerInputMove(player); if (player instanceof Bomber) { - Bomber bomber = (Bomber) player; - if(_input.space) bomber.placeBomb(); + if(_input.space) { + try { + player.performAction(ActionConstants.PLACE_BOMB); + } catch (CharacterActionException ignored) {} + } } } @@ -107,7 +113,10 @@ private void processPlayerInputMove(Character player) { if(_input.right) xa++; if(xa != 0 || ya != 0) { - player.move(xa * player.getSpeed(), ya * player.getSpeed()); + ActionMove actionMove = new ActionMove(xa, ya); + try { + player.performAction(actionMove); + } catch (CharacterActionException ignored) {} player.setMoving(true); } else { player.setMoving(false); diff --git a/src/uet/oop/bomberman/entities/character/Bomber.java b/src/uet/oop/bomberman/entities/character/Bomber.java index af2572a..d10fb08 100644 --- a/src/uet/oop/bomberman/entities/character/Bomber.java +++ b/src/uet/oop/bomberman/entities/character/Bomber.java @@ -6,14 +6,18 @@ import uet.oop.bomberman.base.IEntityManager; import uet.oop.bomberman.entities.Entity; import uet.oop.bomberman.entities.bomb.Bomb; +import uet.oop.bomberman.entities.character.action.Action; +import uet.oop.bomberman.entities.character.action.ActionConstants; +import uet.oop.bomberman.entities.character.action.ActionPlaceBomb; +import uet.oop.bomberman.entities.character.exceptions.ActionOnCooldownException; +import uet.oop.bomberman.entities.character.exceptions.BombQuotaReachedException; +import uet.oop.bomberman.entities.character.exceptions.CannotPerformActionException; +import uet.oop.bomberman.entities.character.exceptions.InvalidActionException; import uet.oop.bomberman.graphics.Screen; import uet.oop.bomberman.graphics.Sprite; import java.util.Iterator; import java.util.List; -import uet.oop.bomberman.entities.LayeredEntity; -import uet.oop.bomberman.entities.bomb.Flame; -import uet.oop.bomberman.entities.character.enemy.Enemy; import uet.oop.bomberman.entities.tile.item.BombItem; import uet.oop.bomberman.entities.tile.item.FlameItem; import uet.oop.bomberman.entities.tile.item.Item; @@ -186,4 +190,25 @@ private void chooseSprite() { public int getPoints() { return 0; } + + private static final List VALID_ACTIONS = new ArrayList(){{ + addAll(ActionConstants.LIST_ACTION_MOVE); + add(ActionConstants.PLACE_BOMB); + }}; + @Override + protected List getValidActions() { + return VALID_ACTIONS; + } + + @Override + protected void performAction(Action action, boolean isDryRun) + throws InvalidActionException, CannotPerformActionException { + super.performAction(action, isDryRun); + if (action instanceof ActionPlaceBomb) { + if (getBombRemainingQuota() < 0) throw new BombQuotaReachedException(); + if (bombCooldown > 0) throw new ActionOnCooldownException(); + if (!isDryRun) placeBomb(); + } + } + } diff --git a/src/uet/oop/bomberman/entities/character/Character.java b/src/uet/oop/bomberman/entities/character/Character.java index a630f79..2be4a31 100644 --- a/src/uet/oop/bomberman/entities/character/Character.java +++ b/src/uet/oop/bomberman/entities/character/Character.java @@ -2,6 +2,7 @@ import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; import java.util.stream.Stream; import uet.oop.bomberman.Game; @@ -10,6 +11,12 @@ import uet.oop.bomberman.entities.Entity; import uet.oop.bomberman.entities.LayeredEntity; import uet.oop.bomberman.entities.bomb.Flame; +import uet.oop.bomberman.entities.character.action.Action; +import uet.oop.bomberman.entities.character.action.ActionConstants; +import uet.oop.bomberman.entities.character.action.ActionMove; +import uet.oop.bomberman.entities.character.exceptions.CannotPerformActionException; +import uet.oop.bomberman.entities.character.exceptions.CharacterActionException; +import uet.oop.bomberman.entities.character.exceptions.InvalidActionException; import uet.oop.bomberman.entities.tile.item.Item; import uet.oop.bomberman.entities.tile.item.SpeedItem; import uet.oop.bomberman.graphics.Screen; @@ -59,7 +66,42 @@ public final void update() { * Tính toán hướng đi */ protected abstract void calculateMove(); - + + protected List getValidActions() { return ActionConstants.LIST_ACTION_MOVE; } + + public boolean isValidAction(Action action) { + return getValidActions().contains(action); + } + + public final void performAction(Action action) throws InvalidActionException, CannotPerformActionException { + performAction(action, false); + } + + protected void performAction(Action action, boolean isDryRun) throws InvalidActionException, CannotPerformActionException { + if (!isValidAction(action)) throw new InvalidActionException(); + if (action instanceof ActionMove) { + ActionMove actionMove = (ActionMove) action; + double dx = actionMove.getDx() * getSpeed(); + double dy = actionMove.getDy() * getSpeed(); + if (!isDryRun) move(dx, dy); + } + }; + + public final boolean canPerformAction(Action action) { + try { + performAction(action, true); + return true; + } catch (CharacterActionException ex) { + return false; + } + }; + + public List getPerformableActions() { + return getValidActions().stream() + .filter(this::canPerformAction) + .collect(Collectors.toList()); + } + /** Check if can be moved with vector (xa, ya). * @param xa * @param ya diff --git a/src/uet/oop/bomberman/entities/character/action/Action.java b/src/uet/oop/bomberman/entities/character/action/Action.java new file mode 100644 index 0000000..13b7f5a --- /dev/null +++ b/src/uet/oop/bomberman/entities/character/action/Action.java @@ -0,0 +1,4 @@ +package uet.oop.bomberman.entities.character.action; + +public abstract class Action { +} diff --git a/src/uet/oop/bomberman/entities/character/action/ActionConstants.java b/src/uet/oop/bomberman/entities/character/action/ActionConstants.java new file mode 100644 index 0000000..eac2a3c --- /dev/null +++ b/src/uet/oop/bomberman/entities/character/action/ActionConstants.java @@ -0,0 +1,31 @@ +package uet.oop.bomberman.entities.character.action; + +import java.util.Arrays; +import java.util.List; + +public interface ActionConstants { + + public static final ActionMove MOVE_UP = new ActionMove(0, -1); + public static final ActionMove MOVE_DOWN = new ActionMove(0, +1); + public static final ActionMove MOVE_LEFT = new ActionMove(-1, 0); + public static final ActionMove MOVE_RIGHT = new ActionMove(+1, 0); + + public static final ActionMove MOVE_UP_LEFT = new ActionMove(-1, -1); + public static final ActionMove MOVE_UP_RIGHT = new ActionMove(+1, -1); + public static final ActionMove MOVE_DOWN_LEFT = new ActionMove(-1, +1); + public static final ActionMove MOVE_DOWN_RIGHT = new ActionMove(+1, +1); + + public static final List LIST_ACTION_MOVE = Arrays.asList(new ActionMove[] { + MOVE_UP, + MOVE_DOWN, + MOVE_LEFT, + MOVE_RIGHT, + MOVE_UP_LEFT, + MOVE_UP_RIGHT, + MOVE_DOWN_LEFT, + MOVE_DOWN_RIGHT, + }); + + public static final ActionPlaceBomb PLACE_BOMB = new ActionPlaceBomb(); + +} diff --git a/src/uet/oop/bomberman/entities/character/action/ActionMove.java b/src/uet/oop/bomberman/entities/character/action/ActionMove.java new file mode 100644 index 0000000..38ed878 --- /dev/null +++ b/src/uet/oop/bomberman/entities/character/action/ActionMove.java @@ -0,0 +1,45 @@ +package uet.oop.bomberman.entities.character.action; + +import java.util.Objects; + +public class ActionMove extends Action { + + private final double dx; + private final double dy; + + public ActionMove(double dx, double dy) { + this.dx = dx; + this.dy = dy; + } + + public double getDx() { + return dx; + } + + public double getDy() { + return dy; + } + + @Override + public int hashCode() { + return Objects.hash(dx, dy); + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + ActionMove other = (ActionMove) obj; + if (Double.doubleToLongBits(dx) != Double.doubleToLongBits(other.dx)) + return false; + if (Double.doubleToLongBits(dy) != Double.doubleToLongBits(other.dy)) + return false; + return true; + } + + +} diff --git a/src/uet/oop/bomberman/entities/character/action/ActionPlaceBomb.java b/src/uet/oop/bomberman/entities/character/action/ActionPlaceBomb.java new file mode 100644 index 0000000..93b6556 --- /dev/null +++ b/src/uet/oop/bomberman/entities/character/action/ActionPlaceBomb.java @@ -0,0 +1,21 @@ +package uet.oop.bomberman.entities.character.action; + +public class ActionPlaceBomb extends Action { + + protected ActionPlaceBomb() {} + + @Override + public boolean equals(Object obj) { + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + return true; + } + + @Override + public int hashCode() { + return 0; + } + +} diff --git a/src/uet/oop/bomberman/entities/character/exceptions/ActionOnCooldownException.java b/src/uet/oop/bomberman/entities/character/exceptions/ActionOnCooldownException.java new file mode 100644 index 0000000..665dc0c --- /dev/null +++ b/src/uet/oop/bomberman/entities/character/exceptions/ActionOnCooldownException.java @@ -0,0 +1,5 @@ +package uet.oop.bomberman.entities.character.exceptions; + +public class ActionOnCooldownException extends CannotPerformActionException { + +} diff --git a/src/uet/oop/bomberman/entities/character/exceptions/BombQuotaReachedException.java b/src/uet/oop/bomberman/entities/character/exceptions/BombQuotaReachedException.java new file mode 100644 index 0000000..6d263d8 --- /dev/null +++ b/src/uet/oop/bomberman/entities/character/exceptions/BombQuotaReachedException.java @@ -0,0 +1,5 @@ +package uet.oop.bomberman.entities.character.exceptions; + +public class BombQuotaReachedException extends CannotPerformActionException { + +} diff --git a/src/uet/oop/bomberman/entities/character/exceptions/CannotPerformActionException.java b/src/uet/oop/bomberman/entities/character/exceptions/CannotPerformActionException.java new file mode 100644 index 0000000..eea7279 --- /dev/null +++ b/src/uet/oop/bomberman/entities/character/exceptions/CannotPerformActionException.java @@ -0,0 +1,5 @@ +package uet.oop.bomberman.entities.character.exceptions; + +public class CannotPerformActionException extends CharacterActionException { + +} diff --git a/src/uet/oop/bomberman/entities/character/exceptions/CharacterActionException.java b/src/uet/oop/bomberman/entities/character/exceptions/CharacterActionException.java new file mode 100644 index 0000000..7ce9a17 --- /dev/null +++ b/src/uet/oop/bomberman/entities/character/exceptions/CharacterActionException.java @@ -0,0 +1,5 @@ +package uet.oop.bomberman.entities.character.exceptions; + +public class CharacterActionException extends Exception { + +} diff --git a/src/uet/oop/bomberman/entities/character/exceptions/InvalidActionException.java b/src/uet/oop/bomberman/entities/character/exceptions/InvalidActionException.java new file mode 100644 index 0000000..43dc374 --- /dev/null +++ b/src/uet/oop/bomberman/entities/character/exceptions/InvalidActionException.java @@ -0,0 +1,5 @@ +package uet.oop.bomberman.entities.character.exceptions; + +public class InvalidActionException extends CharacterActionException { + +} diff --git a/src/uet/oop/bomberman/input/Keyboard.java b/src/uet/oop/bomberman/input/Keyboard.java index f1828aa..33ac503 100644 --- a/src/uet/oop/bomberman/input/Keyboard.java +++ b/src/uet/oop/bomberman/input/Keyboard.java @@ -15,7 +15,7 @@ public interface KeyboardInputCallback { void onKeyPressed(EGameControl gameControl); } - private boolean[] keys = new boolean[120]; //120 is enough to this game + private boolean[] keys = new boolean[65536]; public boolean up, down, left, right, space,pause,resume; public Optional keyboardInputCallback; From 4c1e2d21bbcac9de4349ea11787b0d922adc759f Mon Sep 17 00:00:00 2001 From: Hang Le Thi Bich <21522041@gm.uit.edu.vn> Date: Wed, 22 May 2024 00:31:13 +0700 Subject: [PATCH 36/93] fix enter input --- src/uet/oop/bomberman/screen/SelectGameModeScreen.java | 2 +- src/uet/oop/bomberman/screen/SelectLevelScreen.java | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/uet/oop/bomberman/screen/SelectGameModeScreen.java b/src/uet/oop/bomberman/screen/SelectGameModeScreen.java index fce9572..42ede6d 100644 --- a/src/uet/oop/bomberman/screen/SelectGameModeScreen.java +++ b/src/uet/oop/bomberman/screen/SelectGameModeScreen.java @@ -119,6 +119,6 @@ public void update() { @Override public void onDestroy() { - this._input = null; + this._input.get().keyboardInputCallback = Optional.ofNullable(null); } } diff --git a/src/uet/oop/bomberman/screen/SelectLevelScreen.java b/src/uet/oop/bomberman/screen/SelectLevelScreen.java index 716c860..5b03e68 100644 --- a/src/uet/oop/bomberman/screen/SelectLevelScreen.java +++ b/src/uet/oop/bomberman/screen/SelectLevelScreen.java @@ -44,9 +44,10 @@ public void onKeyPressed(EGameControl gameControl) { Global.currentScreen = EScreenName.GAME_PLAY_SCREEN; Global.gameLevel = selectorIndex + 1; _board.loadLevel(Global.gameLevel); - onDestroy(); +// onDestroy(); break; } + onDestroy(); if (selectorIndex < 0) { selectorIndex = levels.size() - 1; @@ -123,6 +124,6 @@ public void update() {} @Override public void onDestroy() { - this._input = null; + this._input.get().keyboardInputCallback = Optional.ofNullable(null);; } } From fc08d3444a8d622033383f15daf9356492c0babd Mon Sep 17 00:00:00 2001 From: Hang Le Thi Bich <21522041@gm.uit.edu.vn> Date: Wed, 22 May 2024 00:32:39 +0700 Subject: [PATCH 37/93] fix enter input --- src/uet/oop/bomberman/screen/SelectLevelScreen.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/uet/oop/bomberman/screen/SelectLevelScreen.java b/src/uet/oop/bomberman/screen/SelectLevelScreen.java index 5b03e68..7a7ea8f 100644 --- a/src/uet/oop/bomberman/screen/SelectLevelScreen.java +++ b/src/uet/oop/bomberman/screen/SelectLevelScreen.java @@ -44,10 +44,9 @@ public void onKeyPressed(EGameControl gameControl) { Global.currentScreen = EScreenName.GAME_PLAY_SCREEN; Global.gameLevel = selectorIndex + 1; _board.loadLevel(Global.gameLevel); -// onDestroy(); + onDestroy(); break; } - onDestroy(); if (selectorIndex < 0) { selectorIndex = levels.size() - 1; From 561fd77d2a4a01af225e07f79bbf40533b5f4051 Mon Sep 17 00:00:00 2001 From: phuonnngminh Date: Wed, 22 May 2024 06:40:36 +0000 Subject: [PATCH 38/93] make player move 1 tile at a time --- src/uet/oop/bomberman/Board.java | 8 +- src/uet/oop/bomberman/Game.java | 2 +- .../bomberman/entities/character/Bomber.java | 27 +---- .../entities/character/Character.java | 109 ++++++++++++++++-- .../entities/character/enemy/Balloon.java | 2 +- .../entities/character/enemy/Doll.java | 6 +- .../entities/character/enemy/Enemy.java | 62 ++++------ .../entities/character/enemy/Kondoria.java | 4 +- .../entities/character/enemy/Minvo.java | 4 +- .../entities/character/enemy/Oneal.java | 6 +- 10 files changed, 140 insertions(+), 90 deletions(-) diff --git a/src/uet/oop/bomberman/Board.java b/src/uet/oop/bomberman/Board.java index 081cc99..c969b62 100644 --- a/src/uet/oop/bomberman/Board.java +++ b/src/uet/oop/bomberman/Board.java @@ -117,9 +117,6 @@ private void processPlayerInputMove(Character player) { try { player.performAction(actionMove); } catch (CharacterActionException ignored) {} - player.setMoving(true); - } else { - player.setMoving(false); } } @@ -204,6 +201,11 @@ public Entity getEntity(double x, double y, Character m) { Entity res = null; + if (x < 0) return null; + if (y < 0) return null; + if (x >= _levelLoader.getWidth()) return null; + if (y >= _levelLoader.getHeight()) return null; + res = getFlameSegmentAt((int) x, (int) y); if (res != null) return res; diff --git a/src/uet/oop/bomberman/Game.java b/src/uet/oop/bomberman/Game.java index 4cefe1b..c65f9e5 100644 --- a/src/uet/oop/bomberman/Game.java +++ b/src/uet/oop/bomberman/Game.java @@ -30,7 +30,7 @@ public class Game extends Canvas { public static final int BOMBRATE = 1; public static final int BOMBRADIUS = 1; - public static final double BOMBERSPEED = 1.0;// toc do bomber + public static final double BOMBERSPEED = 4.0;// toc do bomber public static final int TIME = 200; public static final int POINTS = 0; diff --git a/src/uet/oop/bomberman/entities/character/Bomber.java b/src/uet/oop/bomberman/entities/character/Bomber.java index d10fb08..427b1ab 100644 --- a/src/uet/oop/bomberman/entities/character/Bomber.java +++ b/src/uet/oop/bomberman/entities/character/Bomber.java @@ -127,23 +127,6 @@ protected void handleAfterDeath() { protected void calculateMove() { } - @Override - public boolean canMove(double x, double y) { - // TODO: kiểm tra có đối tượng tại vị trí chuẩn bị di chuyển đến và có thể di chuyển tới đó hay không - for (int c = 0; c < 4; c++) { //colision detection for each corner of the player - double xt = ((_x + x) + c % 2 * 9) / Game.TILES_SIZE; //divide with tiles size to pass to tile coordinate - double yt = ((_y + y) + c / 2 * 10 - 13) / Game.TILES_SIZE; //these values are the best from multiple tests - - Entity a = entityManager.getEntity(xt, yt, this); - - if(!a.canBePassedThroughBy(this)) - return false; - } - - return true; - //return false; - } - @Override public boolean collide(Entity e) { if (!super.collide(e)) return false; @@ -155,31 +138,31 @@ private void chooseSprite() { switch (_direction) { case 0: _sprite = Sprite.player_up; - if (_moving) { + if (moving) { _sprite = Sprite.movingSprite(Sprite.player_up_1, Sprite.player_up_2, _animate, 20); } break; case 1: _sprite = Sprite.player_right; - if (_moving) { + if (moving) { _sprite = Sprite.movingSprite(Sprite.player_right_1, Sprite.player_right_2, _animate, 20); } break; case 2: _sprite = Sprite.player_down; - if (_moving) { + if (moving) { _sprite = Sprite.movingSprite(Sprite.player_down_1, Sprite.player_down_2, _animate, 20); } break; case 3: _sprite = Sprite.player_left; - if (_moving) { + if (moving) { _sprite = Sprite.movingSprite(Sprite.player_left_1, Sprite.player_left_2, _animate, 20); } break; default: _sprite = Sprite.player_right; - if (_moving) { + if (moving) { _sprite = Sprite.movingSprite(Sprite.player_right_1, Sprite.player_right_2, _animate, 20); } break; diff --git a/src/uet/oop/bomberman/entities/character/Character.java b/src/uet/oop/bomberman/entities/character/Character.java index 2be4a31..de1daff 100644 --- a/src/uet/oop/bomberman/entities/character/Character.java +++ b/src/uet/oop/bomberman/entities/character/Character.java @@ -1,7 +1,9 @@ package uet.oop.bomberman.entities.character; import java.util.ArrayList; +import java.util.LinkedList; import java.util.List; +import java.util.Queue; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -14,6 +16,7 @@ import uet.oop.bomberman.entities.character.action.Action; import uet.oop.bomberman.entities.character.action.ActionConstants; import uet.oop.bomberman.entities.character.action.ActionMove; +import uet.oop.bomberman.entities.character.exceptions.ActionOnCooldownException; import uet.oop.bomberman.entities.character.exceptions.CannotPerformActionException; import uet.oop.bomberman.entities.character.exceptions.CharacterActionException; import uet.oop.bomberman.entities.character.exceptions.InvalidActionException; @@ -30,10 +33,31 @@ public abstract class Character extends AnimatedEntitiy { protected final IEntityManager entityManager; protected int _direction = -1; protected boolean _alive = true; - protected boolean _moving = false; + protected boolean moving = false; protected int timerDeathAnimation = 40; private final double baseSpeed; + private Queue waypoints = new LinkedList<>(); + + private class Waypoint { + private double moveX; + private double moveY; + private double moveDuration; + private double moveDx; + private double moveDy; + + public boolean started = false; + public double moveDestX; + public double moveDestY; + + public Waypoint(double moveX, double moveY, double moveDuration) { + this.moveX = moveX; + this.moveY = moveY; + this.moveDuration = moveDuration; + this.moveDx = moveX / moveDuration; + this.moveDy = moveY / moveDuration; + } + } private List activeItems = new ArrayList<>(); @@ -54,6 +78,7 @@ public final void update() { } return; } + updateMove(); handleUpdate(); }; @@ -81,8 +106,9 @@ protected void performAction(Action action, boolean isDryRun) throws InvalidActi if (!isValidAction(action)) throw new InvalidActionException(); if (action instanceof ActionMove) { ActionMove actionMove = (ActionMove) action; - double dx = actionMove.getDx() * getSpeed(); - double dy = actionMove.getDy() * getSpeed(); + double dx = actionMove.getDx(); + double dy = actionMove.getDy(); + if (!waypoints.isEmpty()) throw new ActionOnCooldownException(); if (!isDryRun) move(dx, dy); } }; @@ -107,13 +133,64 @@ public List getPerformableActions() { * @param ya */ public void move(double xa, double ya) { - if(xa > 0) _direction = 1; - if(xa < 0) _direction = 3; - if(ya > 0) _direction = 2; - if(ya < 0) _direction = 0; + xa *= Game.TILES_SIZE; + ya *= Game.TILES_SIZE; + double moveDurationBase = Game.TICKS_PER_SECOND / getSpeed(); + Waypoint waypointX = new Waypoint( + xa, + 0, + moveDurationBase + ); + Waypoint waypointY = new Waypoint( + 0, + ya, + moveDurationBase + ); + if (xa != 0 && ya != 0 && canMove(xa, ya) && canMove(xa, 0)) { + waypoints.add(waypointX); + waypoints.add(waypointY); + } else if (xa != 0 && ya != 0 && canMove(xa, ya) && canMove(0, ya)) { + waypoints.add(waypointY); + waypoints.add(waypointX); + } else if (xa != 0 && canMove(xa, 0)) { + waypoints.add(waypointX); + } else if (ya != 0 && canMove(0, ya)) { + waypoints.add(waypointY); + } else { + return; + } + moving = true; + } + + private void updateMove() { + if (waypoints.isEmpty()) { + moving = false; + return; + } + Waypoint waypoint = waypoints.peek(); + if (!waypoint.started) { + waypoint.started = true; + waypoint.moveDestX = _x + waypoint.moveX; + waypoint.moveDestY = _y + waypoint.moveY; + } + + waypoint.moveDuration -= 1; + if (waypoint.moveDuration > 0) { + _x += waypoint.moveDx; + _y += waypoint.moveDy; + } else { + // Correct rounding errors by force teleporting to destination + _x = waypoint.moveDestX; + _y = waypoint.moveDestY; + // Remove waypoint + waypoints.poll(); + } - if(canMove(0, ya)) _y += ya; - if(canMove(xa, 0)) _x += xa; + // Adjust direction + if(waypoint.moveDx > 0) _direction = 1; + if(waypoint.moveDx < 0) _direction = 3; + if(waypoint.moveDy > 0) _direction = 2; + if(waypoint.moveDy < 0) _direction = 0; Entity collidingEntity = entityManager.getEntity( Coordinates.pixelToTile(getCenterX()), @@ -147,7 +224,17 @@ public final void handleOnDeath() { * @param y * @return */ - protected abstract boolean canMove(double x, double y); + public boolean canMove(double dx, double dy) { + double x = getCenterX() + dx; + double y = getCenterY() + dy; + Entity a = entityManager.getEntity( + Coordinates.pixelToTile(x), + Coordinates.pixelToTile(y), + this + ); + if (a==null) return true; + return a.canBePassedThroughBy(this); + } protected double getXMessage() { return (_x * Game.SCALE) + (_sprite.SIZE / 2 * Game.SCALE); @@ -166,7 +253,7 @@ public boolean isAlive() { } public void setMoving(boolean moving) { - this._moving = moving; + this.moving = moving; } public Stream getActiveItems() { diff --git a/src/uet/oop/bomberman/entities/character/enemy/Balloon.java b/src/uet/oop/bomberman/entities/character/enemy/Balloon.java index f8a3ab1..70af410 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/Balloon.java +++ b/src/uet/oop/bomberman/entities/character/enemy/Balloon.java @@ -11,7 +11,7 @@ public class Balloon extends Enemy { public Balloon(int x, int y, Board board) { - super(x, y, board, Sprite.balloom_dead, 0.5, 100); + super(x, y, board, Sprite.balloom_dead, Game.BOMBERSPEED / 2, 100); _sprite = Sprite.balloom_left1; diff --git a/src/uet/oop/bomberman/entities/character/enemy/Doll.java b/src/uet/oop/bomberman/entities/character/enemy/Doll.java index bc60e2c..ed430ba 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/Doll.java +++ b/src/uet/oop/bomberman/entities/character/enemy/Doll.java @@ -18,7 +18,7 @@ public class Doll extends Enemy{ public Doll(int x, int y, Board board) { - super(x, y, board, Sprite.balloom_dead, 0.8, 100); + super(x, y, board, Sprite.balloom_dead, Game.BOMBERSPEED, 100); _sprite = Sprite.balloom_left1; @@ -32,7 +32,7 @@ protected void chooseSprite() { switch (_direction) { case 0: case 1: - if (_moving) { + if (moving) { _sprite = Sprite.movingSprite(Sprite.doll_right1, Sprite.doll_right2, Sprite.doll_right3, _animate, Game.TICKS_PER_SECOND); } else { _sprite = Sprite.doll_left1; @@ -40,7 +40,7 @@ protected void chooseSprite() { break; case 2: case 3: - if (_moving) { + if (moving) { _sprite = Sprite.movingSprite(Sprite.doll_left1, Sprite.doll_left2, Sprite.doll_left3, _animate, Game.TICKS_PER_SECOND); } else { _sprite = Sprite.doll_left1; diff --git a/src/uet/oop/bomberman/entities/character/enemy/Enemy.java b/src/uet/oop/bomberman/entities/character/enemy/Enemy.java index adb5562..65c5f51 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/Enemy.java +++ b/src/uet/oop/bomberman/entities/character/enemy/Enemy.java @@ -4,10 +4,11 @@ import uet.oop.bomberman.base.IEntityManager; import uet.oop.bomberman.entities.Entity; import uet.oop.bomberman.entities.character.Character; +import uet.oop.bomberman.entities.character.action.ActionConstants; import uet.oop.bomberman.entities.character.enemy.ai.AI; +import uet.oop.bomberman.entities.character.exceptions.CharacterActionException; import uet.oop.bomberman.graphics.Screen; import uet.oop.bomberman.graphics.Sprite; -import uet.oop.bomberman.level.Coordinates; public abstract class Enemy extends Character { @@ -63,48 +64,25 @@ public void render(Screen screen) { @Override public void calculateMove() { - // TODO: Tính toán hướng đi và di chuyển Enemy theo _ai và cập nhật giá trị cho _direction - // TODO: sử dụng canMove() để kiểm tra xem có thể di chuyển tới điểm đã tính toán hay không - // TODO: sử dụng move() để di chuyển - // TODO: nhớ cập nhật lại giá trị cờ _moving khi thay đổi trạng thái di chuyển - int xa = 0, ya = 0; - if(_steps <= 0){ - _direction = _ai.calculateDirection(); - _steps = MAX_STEPS; - } - - if(_direction == 0) ya--; - if(_direction == 2) ya++; - if(_direction == 3) xa--; - if(_direction == 1) xa++; - - if(canMove(xa, ya)) { - _steps -= 1 + rest; - move(xa * _speed, ya * _speed); - _moving = true; - } else { - _steps = 0; - _moving = false; - } - } - - @Override - public boolean canMove(double x, double y) { - double xr = _x, yr = _y - 16; //subtract y to get more accurate results - - //the thing is, subract 15 to 16 (sprite size), so if we add 1 tile we get the next pixel tile with this - //we avoid the shaking inside tiles with the help of steps - if(_direction == 0) { yr += _sprite.getSize() -1 ; xr += _sprite.getSize()/2; } - if(_direction == 1) {yr += _sprite.getSize()/2; xr += 1;} - if(_direction == 2) { xr += _sprite.getSize()/2; yr += 1;} - if(_direction == 3) { xr += _sprite.getSize() -1; yr += _sprite.getSize()/2;} - - int xx = Coordinates.pixelToTile(xr) +(int)x; - int yy = Coordinates.pixelToTile(yr) +(int)y; - - Entity a = entityManager.getEntity(xx, yy, this); //entity of the position we want to go + int direction = _ai.calculateDirection(); + try { + switch (direction) { + case 0: + performAction(ActionConstants.MOVE_UP); + break; + case 1: + performAction(ActionConstants.MOVE_DOWN); + break; + case 2: + performAction(ActionConstants.MOVE_LEFT); + break; + case 3: + performAction(ActionConstants.MOVE_RIGHT); + break; + default: + } + } catch (CharacterActionException ignored) {} - return a.canBePassedThroughBy(this); } @Override diff --git a/src/uet/oop/bomberman/entities/character/enemy/Kondoria.java b/src/uet/oop/bomberman/entities/character/enemy/Kondoria.java index 478c97b..7baf76b 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/Kondoria.java +++ b/src/uet/oop/bomberman/entities/character/enemy/Kondoria.java @@ -21,7 +21,7 @@ protected void chooseSprite() { switch (_direction) { case 0: case 1: - if (_moving) + if (moving) _sprite = Sprite.movingSprite(Sprite.kondoria_right1, Sprite.kondoria_right2, Sprite.kondoria_right3, _animate, Game.TICKS_PER_SECOND); else @@ -29,7 +29,7 @@ protected void chooseSprite() { break; case 2: case 3: - if (_moving) + if (moving) _sprite = Sprite.movingSprite(Sprite.kondoria_left1, Sprite.kondoria_left2, Sprite.kondoria_left3, _animate, Game.TICKS_PER_SECOND); else diff --git a/src/uet/oop/bomberman/entities/character/enemy/Minvo.java b/src/uet/oop/bomberman/entities/character/enemy/Minvo.java index 677f3ba..c259186 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/Minvo.java +++ b/src/uet/oop/bomberman/entities/character/enemy/Minvo.java @@ -22,7 +22,7 @@ protected void chooseSprite() { switch (_direction) { case 0: case 1: - if (_moving) + if (moving) _sprite = Sprite.movingSprite(Sprite.minvo_right1, Sprite.minvo_right2, Sprite.minvo_right3, _animate, Game.TICKS_PER_SECOND); else @@ -30,7 +30,7 @@ protected void chooseSprite() { break; case 2: case 3: - if (_moving) + if (moving) _sprite = Sprite.movingSprite(Sprite.minvo_left1, Sprite.minvo_left2, Sprite.minvo_left3, _animate, Game.TICKS_PER_SECOND); else diff --git a/src/uet/oop/bomberman/entities/character/enemy/Oneal.java b/src/uet/oop/bomberman/entities/character/enemy/Oneal.java index 608255f..c14b596 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/Oneal.java +++ b/src/uet/oop/bomberman/entities/character/enemy/Oneal.java @@ -11,7 +11,7 @@ public class Oneal extends Enemy { //private Random random = new Random(); public Oneal(int x, int y, Board board) { - super(x, y, board, Sprite.balloom_dead, 0.8 , 100); + super(x, y, board, Sprite.balloom_dead, Game.BOMBERSPEED, 100); _sprite = Sprite.balloom_left1; @@ -26,14 +26,14 @@ protected void chooseSprite() { switch(_direction) { case 0: case 1: - if(_moving) + if(moving) _sprite = Sprite.movingSprite(Sprite.oneal_right1, Sprite.oneal_right2, Sprite.oneal_right3, _animate, Game.TICKS_PER_SECOND); else _sprite = Sprite.oneal_left1; break; case 2: case 3: - if(_moving) + if(moving) _sprite = Sprite.movingSprite(Sprite.oneal_left1, Sprite.oneal_left2, Sprite.oneal_left3, _animate, Game.TICKS_PER_SECOND); else _sprite = Sprite.oneal_left1; From fa67ef902a008e2f96dd5b3e83a89601a6b7c385 Mon Sep 17 00:00:00 2001 From: phuonnngminh Date: Wed, 22 May 2024 06:54:05 +0000 Subject: [PATCH 39/93] remove moving state in Character --- src/uet/oop/bomberman/Game.java | 2 +- .../oop/bomberman/entities/character/Bomber.java | 10 +++++----- .../oop/bomberman/entities/character/Character.java | 13 ++++--------- .../bomberman/entities/character/enemy/Doll.java | 4 ++-- .../entities/character/enemy/Kondoria.java | 4 ++-- .../bomberman/entities/character/enemy/Minvo.java | 4 ++-- .../bomberman/entities/character/enemy/Oneal.java | 4 ++-- 7 files changed, 18 insertions(+), 23 deletions(-) diff --git a/src/uet/oop/bomberman/Game.java b/src/uet/oop/bomberman/Game.java index c65f9e5..7fb6813 100644 --- a/src/uet/oop/bomberman/Game.java +++ b/src/uet/oop/bomberman/Game.java @@ -30,7 +30,7 @@ public class Game extends Canvas { public static final int BOMBRATE = 1; public static final int BOMBRADIUS = 1; - public static final double BOMBERSPEED = 4.0;// toc do bomber + public static final double BOMBERSPEED = 3.0;// toc do bomber public static final int TIME = 200; public static final int POINTS = 0; diff --git a/src/uet/oop/bomberman/entities/character/Bomber.java b/src/uet/oop/bomberman/entities/character/Bomber.java index 427b1ab..f42ab0c 100644 --- a/src/uet/oop/bomberman/entities/character/Bomber.java +++ b/src/uet/oop/bomberman/entities/character/Bomber.java @@ -138,31 +138,31 @@ private void chooseSprite() { switch (_direction) { case 0: _sprite = Sprite.player_up; - if (moving) { + if (isMoving()) { _sprite = Sprite.movingSprite(Sprite.player_up_1, Sprite.player_up_2, _animate, 20); } break; case 1: _sprite = Sprite.player_right; - if (moving) { + if (isMoving()) { _sprite = Sprite.movingSprite(Sprite.player_right_1, Sprite.player_right_2, _animate, 20); } break; case 2: _sprite = Sprite.player_down; - if (moving) { + if (isMoving()) { _sprite = Sprite.movingSprite(Sprite.player_down_1, Sprite.player_down_2, _animate, 20); } break; case 3: _sprite = Sprite.player_left; - if (moving) { + if (isMoving()) { _sprite = Sprite.movingSprite(Sprite.player_left_1, Sprite.player_left_2, _animate, 20); } break; default: _sprite = Sprite.player_right; - if (moving) { + if (isMoving()) { _sprite = Sprite.movingSprite(Sprite.player_right_1, Sprite.player_right_2, _animate, 20); } break; diff --git a/src/uet/oop/bomberman/entities/character/Character.java b/src/uet/oop/bomberman/entities/character/Character.java index de1daff..5bbbb09 100644 --- a/src/uet/oop/bomberman/entities/character/Character.java +++ b/src/uet/oop/bomberman/entities/character/Character.java @@ -33,7 +33,6 @@ public abstract class Character extends AnimatedEntitiy { protected final IEntityManager entityManager; protected int _direction = -1; protected boolean _alive = true; - protected boolean moving = false; protected int timerDeathAnimation = 40; private final double baseSpeed; @@ -108,7 +107,7 @@ protected void performAction(Action action, boolean isDryRun) throws InvalidActi ActionMove actionMove = (ActionMove) action; double dx = actionMove.getDx(); double dy = actionMove.getDy(); - if (!waypoints.isEmpty()) throw new ActionOnCooldownException(); + if (isMoving()) throw new ActionOnCooldownException(); if (!isDryRun) move(dx, dy); } }; @@ -159,14 +158,10 @@ public void move(double xa, double ya) { } else { return; } - moving = true; } private void updateMove() { - if (waypoints.isEmpty()) { - moving = false; - return; - } + if (waypoints.isEmpty()) return; Waypoint waypoint = waypoints.peek(); if (!waypoint.started) { waypoint.started = true; @@ -252,8 +247,8 @@ public boolean isAlive() { return _alive; } - public void setMoving(boolean moving) { - this.moving = moving; + public boolean isMoving() { + return waypoints.size() > 0; } public Stream getActiveItems() { diff --git a/src/uet/oop/bomberman/entities/character/enemy/Doll.java b/src/uet/oop/bomberman/entities/character/enemy/Doll.java index ed430ba..64b7754 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/Doll.java +++ b/src/uet/oop/bomberman/entities/character/enemy/Doll.java @@ -32,7 +32,7 @@ protected void chooseSprite() { switch (_direction) { case 0: case 1: - if (moving) { + if (isMoving()) { _sprite = Sprite.movingSprite(Sprite.doll_right1, Sprite.doll_right2, Sprite.doll_right3, _animate, Game.TICKS_PER_SECOND); } else { _sprite = Sprite.doll_left1; @@ -40,7 +40,7 @@ protected void chooseSprite() { break; case 2: case 3: - if (moving) { + if (isMoving()) { _sprite = Sprite.movingSprite(Sprite.doll_left1, Sprite.doll_left2, Sprite.doll_left3, _animate, Game.TICKS_PER_SECOND); } else { _sprite = Sprite.doll_left1; diff --git a/src/uet/oop/bomberman/entities/character/enemy/Kondoria.java b/src/uet/oop/bomberman/entities/character/enemy/Kondoria.java index 7baf76b..5037323 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/Kondoria.java +++ b/src/uet/oop/bomberman/entities/character/enemy/Kondoria.java @@ -21,7 +21,7 @@ protected void chooseSprite() { switch (_direction) { case 0: case 1: - if (moving) + if (isMoving()) _sprite = Sprite.movingSprite(Sprite.kondoria_right1, Sprite.kondoria_right2, Sprite.kondoria_right3, _animate, Game.TICKS_PER_SECOND); else @@ -29,7 +29,7 @@ protected void chooseSprite() { break; case 2: case 3: - if (moving) + if (isMoving()) _sprite = Sprite.movingSprite(Sprite.kondoria_left1, Sprite.kondoria_left2, Sprite.kondoria_left3, _animate, Game.TICKS_PER_SECOND); else diff --git a/src/uet/oop/bomberman/entities/character/enemy/Minvo.java b/src/uet/oop/bomberman/entities/character/enemy/Minvo.java index c259186..d200b5a 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/Minvo.java +++ b/src/uet/oop/bomberman/entities/character/enemy/Minvo.java @@ -22,7 +22,7 @@ protected void chooseSprite() { switch (_direction) { case 0: case 1: - if (moving) + if (isMoving()) _sprite = Sprite.movingSprite(Sprite.minvo_right1, Sprite.minvo_right2, Sprite.minvo_right3, _animate, Game.TICKS_PER_SECOND); else @@ -30,7 +30,7 @@ protected void chooseSprite() { break; case 2: case 3: - if (moving) + if (isMoving()) _sprite = Sprite.movingSprite(Sprite.minvo_left1, Sprite.minvo_left2, Sprite.minvo_left3, _animate, Game.TICKS_PER_SECOND); else diff --git a/src/uet/oop/bomberman/entities/character/enemy/Oneal.java b/src/uet/oop/bomberman/entities/character/enemy/Oneal.java index c14b596..2ee0db3 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/Oneal.java +++ b/src/uet/oop/bomberman/entities/character/enemy/Oneal.java @@ -26,14 +26,14 @@ protected void chooseSprite() { switch(_direction) { case 0: case 1: - if(moving) + if(isMoving()) _sprite = Sprite.movingSprite(Sprite.oneal_right1, Sprite.oneal_right2, Sprite.oneal_right3, _animate, Game.TICKS_PER_SECOND); else _sprite = Sprite.oneal_left1; break; case 2: case 3: - if(moving) + if(isMoving()) _sprite = Sprite.movingSprite(Sprite.oneal_left1, Sprite.oneal_left2, Sprite.oneal_left3, _animate, Game.TICKS_PER_SECOND); else _sprite = Sprite.oneal_left1; From 28e2755fa8a4a162a1532e82247562430fa93289 Mon Sep 17 00:00:00 2001 From: phuonnngminh Date: Wed, 22 May 2024 06:57:16 +0000 Subject: [PATCH 40/93] chore --- src/uet/oop/bomberman/entities/character/Character.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/uet/oop/bomberman/entities/character/Character.java b/src/uet/oop/bomberman/entities/character/Character.java index 5bbbb09..02804df 100644 --- a/src/uet/oop/bomberman/entities/character/Character.java +++ b/src/uet/oop/bomberman/entities/character/Character.java @@ -105,8 +105,8 @@ protected void performAction(Action action, boolean isDryRun) throws InvalidActi if (!isValidAction(action)) throw new InvalidActionException(); if (action instanceof ActionMove) { ActionMove actionMove = (ActionMove) action; - double dx = actionMove.getDx(); - double dy = actionMove.getDy(); + double dx = actionMove.getDx() * Game.TILES_SIZE; + double dy = actionMove.getDy() * Game.TILES_SIZE; if (isMoving()) throw new ActionOnCooldownException(); if (!isDryRun) move(dx, dy); } @@ -132,8 +132,6 @@ public List getPerformableActions() { * @param ya */ public void move(double xa, double ya) { - xa *= Game.TILES_SIZE; - ya *= Game.TILES_SIZE; double moveDurationBase = Game.TICKS_PER_SECOND / getSpeed(); Waypoint waypointX = new Waypoint( xa, From f106af938a4f322afca4e2c8627339b25e7c4b0f Mon Sep 17 00:00:00 2001 From: phuonnngminh Date: Wed, 22 May 2024 07:21:33 +0000 Subject: [PATCH 41/93] init code for agent --- src/uet/oop/bomberman/Board.java | 18 ++++++++++ src/uet/oop/bomberman/agent/Agent.java | 17 ++++++++++ src/uet/oop/bomberman/agent/IAgent.java | 9 +++++ src/uet/oop/bomberman/agent/MovingAgent.java | 34 +++++++++++++++++++ .../bomberman/entities/character/Bomber.java | 5 --- .../entities/character/Character.java | 11 +++--- .../character/action/ActionConstants.java | 1 + .../entities/character/action/ActionNoop.java | 5 +++ .../entities/character/enemy/Balloon.java | 6 ---- .../entities/character/enemy/Doll.java | 5 --- .../entities/character/enemy/Enemy.java | 28 --------------- .../entities/character/enemy/Kondoria.java | 4 --- .../entities/character/enemy/Minvo.java | 7 ---- .../entities/character/enemy/Oneal.java | 9 ----- .../entities/character/enemy/ai/AIMedium.java | 33 ++++++++++-------- .../oop/bomberman/level/FileLevelLoader.java | 27 ++++++++++----- 16 files changed, 126 insertions(+), 93 deletions(-) create mode 100644 src/uet/oop/bomberman/agent/Agent.java create mode 100644 src/uet/oop/bomberman/agent/IAgent.java create mode 100644 src/uet/oop/bomberman/agent/MovingAgent.java create mode 100644 src/uet/oop/bomberman/entities/character/action/ActionNoop.java diff --git a/src/uet/oop/bomberman/Board.java b/src/uet/oop/bomberman/Board.java index c969b62..72b3920 100644 --- a/src/uet/oop/bomberman/Board.java +++ b/src/uet/oop/bomberman/Board.java @@ -1,5 +1,6 @@ package uet.oop.bomberman; +import uet.oop.bomberman.agent.Agent; import uet.oop.bomberman.base.IEntityManager; import uet.oop.bomberman.base.IGameInfoManager; import uet.oop.bomberman.base.IMessageManager; @@ -9,6 +10,7 @@ import uet.oop.bomberman.entities.bomb.FlameSegment; import uet.oop.bomberman.entities.character.Bomber; import uet.oop.bomberman.entities.character.Character; +import uet.oop.bomberman.entities.character.action.Action; import uet.oop.bomberman.entities.character.action.ActionConstants; import uet.oop.bomberman.entities.character.action.ActionMove; import uet.oop.bomberman.entities.character.exceptions.CharacterActionException; @@ -42,6 +44,7 @@ public class Board implements IRender, IEntityManager, IMessageManager, IGameInf protected List _bombs = new ArrayList<>(); private List _messages = new ArrayList<>(); private List _activeItems = new ArrayList<>(); + private List agents = new ArrayList<>(); private Character player; @@ -80,6 +83,8 @@ public void update() { updateActiveItems(); detectEndGame(); + processAgentAction(); + snapCameraToPlayer(); processPlayerInput(); @@ -90,6 +95,19 @@ public void update() { } } + public void addAgent(Agent agent) { + agents.add(agent); + } + + private void processAgentAction() { + for (Agent agent: agents) { + Action action = agent.getNextAction(); + try { + agent.getCharacter().performAction(action); + } catch (CharacterActionException ignored) {} + } + } + private void processPlayerInput() { Character player = getPlayer(); if (!player.isAlive()) return; diff --git a/src/uet/oop/bomberman/agent/Agent.java b/src/uet/oop/bomberman/agent/Agent.java new file mode 100644 index 0000000..b0cb681 --- /dev/null +++ b/src/uet/oop/bomberman/agent/Agent.java @@ -0,0 +1,17 @@ +package uet.oop.bomberman.agent; + +import uet.oop.bomberman.entities.character.Character; + +public abstract class Agent implements IAgent { + + private Character character; + + public Agent(Character character) { + this.character = character; + } + + public Character getCharacter() { + return character; + } + +} diff --git a/src/uet/oop/bomberman/agent/IAgent.java b/src/uet/oop/bomberman/agent/IAgent.java new file mode 100644 index 0000000..be1bb34 --- /dev/null +++ b/src/uet/oop/bomberman/agent/IAgent.java @@ -0,0 +1,9 @@ +package uet.oop.bomberman.agent; + +import uet.oop.bomberman.entities.character.action.Action; + +public interface IAgent { + + public Action getNextAction(); + +} diff --git a/src/uet/oop/bomberman/agent/MovingAgent.java b/src/uet/oop/bomberman/agent/MovingAgent.java new file mode 100644 index 0000000..cb16965 --- /dev/null +++ b/src/uet/oop/bomberman/agent/MovingAgent.java @@ -0,0 +1,34 @@ +package uet.oop.bomberman.agent; + +import uet.oop.bomberman.entities.character.Character; +import uet.oop.bomberman.entities.character.action.Action; +import uet.oop.bomberman.entities.character.action.ActionConstants; +import uet.oop.bomberman.entities.character.enemy.ai.AI; + +public class MovingAgent extends Agent { + + private AI ai; + + public MovingAgent(Character character, AI ai) { + super(character); + this.ai = ai; + } + + @Override + public Action getNextAction() { + int direction = ai.calculateDirection(); + switch (direction) { + case 0: + return ActionConstants.MOVE_UP; + case 1: + return ActionConstants.MOVE_DOWN; + case 2: + return ActionConstants.MOVE_LEFT; + case 3: + return ActionConstants.MOVE_RIGHT; + default: + return ActionConstants.DO_NOTHING; + } + } + +} diff --git a/src/uet/oop/bomberman/entities/character/Bomber.java b/src/uet/oop/bomberman/entities/character/Bomber.java index f42ab0c..8c93d40 100644 --- a/src/uet/oop/bomberman/entities/character/Bomber.java +++ b/src/uet/oop/bomberman/entities/character/Bomber.java @@ -2,7 +2,6 @@ import java.util.ArrayList; import uet.oop.bomberman.Board; -import uet.oop.bomberman.Game; import uet.oop.bomberman.base.IEntityManager; import uet.oop.bomberman.entities.Entity; import uet.oop.bomberman.entities.bomb.Bomb; @@ -123,10 +122,6 @@ protected void handleAfterDeath() { _board.endGame(); } - @Override - protected void calculateMove() { - } - @Override public boolean collide(Entity e) { if (!super.collide(e)) return false; diff --git a/src/uet/oop/bomberman/entities/character/Character.java b/src/uet/oop/bomberman/entities/character/Character.java index 02804df..eed69e4 100644 --- a/src/uet/oop/bomberman/entities/character/Character.java +++ b/src/uet/oop/bomberman/entities/character/Character.java @@ -86,12 +86,11 @@ public final void update() { @Override public abstract void render(Screen screen); - /** - * Tính toán hướng đi - */ - protected abstract void calculateMove(); - - protected List getValidActions() { return ActionConstants.LIST_ACTION_MOVE; } + private static final List VALID_ACTIONS = new ArrayList(){{ + addAll(ActionConstants.LIST_ACTION_MOVE); + add(ActionConstants.DO_NOTHING); + }}; + protected List getValidActions() { return VALID_ACTIONS; } public boolean isValidAction(Action action) { return getValidActions().contains(action); diff --git a/src/uet/oop/bomberman/entities/character/action/ActionConstants.java b/src/uet/oop/bomberman/entities/character/action/ActionConstants.java index eac2a3c..332f398 100644 --- a/src/uet/oop/bomberman/entities/character/action/ActionConstants.java +++ b/src/uet/oop/bomberman/entities/character/action/ActionConstants.java @@ -27,5 +27,6 @@ public interface ActionConstants { }); public static final ActionPlaceBomb PLACE_BOMB = new ActionPlaceBomb(); + public static final Action DO_NOTHING = new ActionNoop(); } diff --git a/src/uet/oop/bomberman/entities/character/action/ActionNoop.java b/src/uet/oop/bomberman/entities/character/action/ActionNoop.java new file mode 100644 index 0000000..df0795b --- /dev/null +++ b/src/uet/oop/bomberman/entities/character/action/ActionNoop.java @@ -0,0 +1,5 @@ +package uet.oop.bomberman.entities.character.action; + +public class ActionNoop extends Action { + +} diff --git a/src/uet/oop/bomberman/entities/character/enemy/Balloon.java b/src/uet/oop/bomberman/entities/character/enemy/Balloon.java index 70af410..6c1d946 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/Balloon.java +++ b/src/uet/oop/bomberman/entities/character/enemy/Balloon.java @@ -1,10 +1,7 @@ package uet.oop.bomberman.entities.character.enemy; -import static java.lang.Math.random; -import java.util.Random; import uet.oop.bomberman.Board; import uet.oop.bomberman.Game; -import uet.oop.bomberman.entities.character.enemy.ai.AILow; import uet.oop.bomberman.graphics.Sprite; public class Balloon extends Enemy { @@ -15,9 +12,6 @@ public Balloon(int x, int y, Board board) { _sprite = Sprite.balloom_left1; - _ai = new AILow(); - _direction = _ai.calculateDirection(); - } @Override diff --git a/src/uet/oop/bomberman/entities/character/enemy/Doll.java b/src/uet/oop/bomberman/entities/character/enemy/Doll.java index 64b7754..6a7ea72 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/Doll.java +++ b/src/uet/oop/bomberman/entities/character/enemy/Doll.java @@ -7,8 +7,6 @@ import uet.oop.bomberman.Board; import uet.oop.bomberman.Game; -import uet.oop.bomberman.entities.character.enemy.ai.AILow; -import uet.oop.bomberman.entities.character.enemy.ai.AIMedium; import uet.oop.bomberman.graphics.Sprite; /** @@ -22,9 +20,6 @@ public Doll(int x, int y, Board board) { _sprite = Sprite.balloom_left1; - _ai = new AIMedium(entityManager.getPlayer(), this); - _direction = _ai.calculateDirection(); - } @Override diff --git a/src/uet/oop/bomberman/entities/character/enemy/Enemy.java b/src/uet/oop/bomberman/entities/character/enemy/Enemy.java index 65c5f51..144a507 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/Enemy.java +++ b/src/uet/oop/bomberman/entities/character/enemy/Enemy.java @@ -4,9 +4,6 @@ import uet.oop.bomberman.base.IEntityManager; import uet.oop.bomberman.entities.Entity; import uet.oop.bomberman.entities.character.Character; -import uet.oop.bomberman.entities.character.action.ActionConstants; -import uet.oop.bomberman.entities.character.enemy.ai.AI; -import uet.oop.bomberman.entities.character.exceptions.CharacterActionException; import uet.oop.bomberman.graphics.Screen; import uet.oop.bomberman.graphics.Sprite; @@ -15,7 +12,6 @@ public abstract class Enemy extends Character { protected int _points; protected double _speed; - protected AI _ai; protected final double MAX_STEPS; protected final double rest; @@ -41,7 +37,6 @@ public Enemy(int x, int y, IEntityManager entityManager, Sprite dead, double spe @Override public void handleUpdate() { animate(); - calculateMove(); } @Override @@ -62,29 +57,6 @@ public void render(Screen screen) { screen.renderEntity((int)_x, (int)_y - _sprite.SIZE, this); } - @Override - public void calculateMove() { - int direction = _ai.calculateDirection(); - try { - switch (direction) { - case 0: - performAction(ActionConstants.MOVE_UP); - break; - case 1: - performAction(ActionConstants.MOVE_DOWN); - break; - case 2: - performAction(ActionConstants.MOVE_LEFT); - break; - case 3: - performAction(ActionConstants.MOVE_RIGHT); - break; - default: - } - } catch (CharacterActionException ignored) {} - - } - @Override public boolean collide(Entity e) { if (!super.collide(e)) return false; diff --git a/src/uet/oop/bomberman/entities/character/enemy/Kondoria.java b/src/uet/oop/bomberman/entities/character/enemy/Kondoria.java index 5037323..143df1e 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/Kondoria.java +++ b/src/uet/oop/bomberman/entities/character/enemy/Kondoria.java @@ -2,7 +2,6 @@ import uet.oop.bomberman.Game; import uet.oop.bomberman.Board; -import uet.oop.bomberman.entities.character.enemy.ai.AIMedium; import uet.oop.bomberman.graphics.Sprite; public class Kondoria extends Enemy { @@ -11,9 +10,6 @@ public Kondoria(int x, int y, Board board) { _sprite = Sprite.kondoria_right1; - _ai = new AIMedium(entityManager.getPlayer(), this); - _direction = _ai.calculateDirection(); - // this._speed += random.nextDouble()/2; } @Override diff --git a/src/uet/oop/bomberman/entities/character/enemy/Minvo.java b/src/uet/oop/bomberman/entities/character/enemy/Minvo.java index d200b5a..c1c1704 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/Minvo.java +++ b/src/uet/oop/bomberman/entities/character/enemy/Minvo.java @@ -2,19 +2,12 @@ import uet.oop.bomberman.Board; import uet.oop.bomberman.Game; -import uet.oop.bomberman.entities.character.enemy.ai.AIMedium; import uet.oop.bomberman.graphics.Sprite; public class Minvo extends Enemy { - private Board _board; - public Minvo(int x, int y, Board board) { super(x, y, board, Sprite.minvo_dead, Game.BOMBERSPEED * 1.5, 800); - _board = board; _sprite = Sprite.minvo_right1; - - _ai = new AIMedium(_board.getPlayer(), this); - _direction = _ai.calculateDirection(); } @Override diff --git a/src/uet/oop/bomberman/entities/character/enemy/Oneal.java b/src/uet/oop/bomberman/entities/character/enemy/Oneal.java index 2ee0db3..be74bea 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/Oneal.java +++ b/src/uet/oop/bomberman/entities/character/enemy/Oneal.java @@ -1,11 +1,7 @@ package uet.oop.bomberman.entities.character.enemy; - -import java.util.Random; import uet.oop.bomberman.Board; import uet.oop.bomberman.Game; -import uet.oop.bomberman.entities.character.enemy.ai.AILow; -import uet.oop.bomberman.entities.character.enemy.ai.AIMedium; import uet.oop.bomberman.graphics.Sprite; public class Oneal extends Enemy { @@ -14,11 +10,6 @@ public Oneal(int x, int y, Board board) { super(x, y, board, Sprite.balloom_dead, Game.BOMBERSPEED, 100); _sprite = Sprite.balloom_left1; - - _ai = new AILow(); - _direction = _ai.calculateDirection(); - //this._speed += random.nextDouble()/2; - } @Override diff --git a/src/uet/oop/bomberman/entities/character/enemy/ai/AIMedium.java b/src/uet/oop/bomberman/entities/character/enemy/ai/AIMedium.java index 17a7bfc..e21f176 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/ai/AIMedium.java +++ b/src/uet/oop/bomberman/entities/character/enemy/ai/AIMedium.java @@ -1,23 +1,21 @@ package uet.oop.bomberman.entities.character.enemy.ai; +import uet.oop.bomberman.base.IEntityManager; import uet.oop.bomberman.entities.character.Character; -import uet.oop.bomberman.entities.character.enemy.Enemy; public class AIMedium extends AI { - Character player; - Enemy _e; + + private final Character character; + private final IEntityManager entityManager; - public AIMedium(Character player, Enemy e) { - this.player = player; - _e = e; + public AIMedium(Character character, IEntityManager entityManager) { + this.character = character; + this.entityManager = entityManager; } @Override public int calculateDirection() { - // TODO: cài đặt thuật toán tìm đường đi - if(player == null) - return random.nextInt(4); - + int vertical = random.nextInt(2); if(vertical == 1) { @@ -36,19 +34,24 @@ public int calculateDirection() { return calculateRowDirection(); } } - protected int calculateColDirection() { - if(player.getXTile() < _e.getXTile()) + + protected int calculateColDirection() { + Character player = entityManager.getPlayer(); + + if(player.getXTile() < character.getXTile()) return 3; - else if(player.getXTile() > _e.getXTile()) + else if(player.getXTile() > character.getXTile()) return 1; return -1; } protected int calculateRowDirection() { - if(player.getYTile() < _e.getYTile()) + Character player = entityManager.getPlayer(); + + if(player.getYTile() < character.getYTile()) return 0; - else if(player.getYTile() > _e.getYTile()) + else if(player.getYTile() > character.getYTile()) return 2; return -1; } diff --git a/src/uet/oop/bomberman/level/FileLevelLoader.java b/src/uet/oop/bomberman/level/FileLevelLoader.java index c14974f..3cadceb 100644 --- a/src/uet/oop/bomberman/level/FileLevelLoader.java +++ b/src/uet/oop/bomberman/level/FileLevelLoader.java @@ -6,11 +6,16 @@ import java.util.List; import uet.oop.bomberman.Board; import uet.oop.bomberman.Game; +import uet.oop.bomberman.agent.Agent; +import uet.oop.bomberman.agent.MovingAgent; import uet.oop.bomberman.entities.LayeredEntity; import uet.oop.bomberman.entities.character.Bomber; import uet.oop.bomberman.entities.character.enemy.Balloon; import uet.oop.bomberman.entities.character.enemy.Doll; +import uet.oop.bomberman.entities.character.enemy.Enemy; import uet.oop.bomberman.entities.character.enemy.Oneal; +import uet.oop.bomberman.entities.character.enemy.ai.AILow; +import uet.oop.bomberman.entities.character.enemy.ai.AIMedium; import uet.oop.bomberman.entities.tile.Grass; import uet.oop.bomberman.entities.tile.Portal; import uet.oop.bomberman.entities.tile.Wall; @@ -66,11 +71,8 @@ public void loadLevel(int level) { @Override public void createEntities() { - // TODO: tạo các Entity của màn chơi - // TODO: sau khi tạo xong, gọi _board.addEntity() để thêm Entity vào game - - // TODO: phần code mẫu ở dưới để hướng dẫn cách thêm các loại Entity vào game - // TODO: hãy xóa nó khi hoàn thành chức năng load màn chơi từ tệp cấu hình + Enemy enemy; + Agent agent; for (int y = 0; y < getHeight(); y++) { for (int x = 0; x < getWidth(); x++) { int pos = x + y * getWidth(); @@ -119,18 +121,27 @@ public void createEntities() { // Thêm balloon case '1': - _board.addCharacter(new Balloon(Coordinates.tileToPixel(x), Coordinates.tileToPixel(y) + Game.TILES_SIZE, _board)); + enemy = new Balloon(Coordinates.tileToPixel(x), Coordinates.tileToPixel(y) + Game.TILES_SIZE, _board); + _board.addCharacter(enemy); _board.addEntity(x + y * _width, new Grass(x, y, Sprite.grass)); + agent = new MovingAgent(enemy, new AILow()); + _board.addAgent(agent); break; // Thêm oneal case '2': - _board.addCharacter(new Oneal(Coordinates.tileToPixel(x), Coordinates.tileToPixel(y) + Game.TILES_SIZE, _board)); + enemy = new Oneal(Coordinates.tileToPixel(x), Coordinates.tileToPixel(y) + Game.TILES_SIZE, _board); + _board.addCharacter(enemy); _board.addEntity(pos, new Grass(x, y, Sprite.grass)); + agent = new MovingAgent(enemy, new AILow()); + _board.addAgent(agent); break; // Thêm doll case '3': - _board.addCharacter(new Doll(Coordinates.tileToPixel(x), Coordinates.tileToPixel(y) + Game.TILES_SIZE, _board)); + enemy = new Doll(Coordinates.tileToPixel(x), Coordinates.tileToPixel(y) + Game.TILES_SIZE, _board); + _board.addCharacter(enemy); _board.addEntity(x + y * _width, new Grass(x, y, Sprite.grass)); + agent = new MovingAgent(enemy, new AIMedium(enemy, _board)); + _board.addAgent(agent); break; // Thêm oneal // Thêm BomItem From 376abe16370bae84ed041c909eb878337a70adef Mon Sep 17 00:00:00 2001 From: phuonnngminh Date: Wed, 22 May 2024 07:43:20 +0000 Subject: [PATCH 42/93] fix: Doll not walking in right direction --- src/uet/oop/bomberman/agent/MovingAgent.java | 6 +++--- src/uet/oop/bomberman/entities/Entity.java | 4 ++-- src/uet/oop/bomberman/entities/character/Character.java | 5 ++++- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/uet/oop/bomberman/agent/MovingAgent.java b/src/uet/oop/bomberman/agent/MovingAgent.java index cb16965..22de0b5 100644 --- a/src/uet/oop/bomberman/agent/MovingAgent.java +++ b/src/uet/oop/bomberman/agent/MovingAgent.java @@ -21,11 +21,11 @@ public Action getNextAction() { case 0: return ActionConstants.MOVE_UP; case 1: - return ActionConstants.MOVE_DOWN; + return ActionConstants.MOVE_RIGHT; case 2: - return ActionConstants.MOVE_LEFT; + return ActionConstants.MOVE_DOWN; case 3: - return ActionConstants.MOVE_RIGHT; + return ActionConstants.MOVE_LEFT; default: return ActionConstants.DO_NOTHING; } diff --git a/src/uet/oop/bomberman/entities/Entity.java b/src/uet/oop/bomberman/entities/Entity.java index 6e9317a..c7ad8c8 100644 --- a/src/uet/oop/bomberman/entities/Entity.java +++ b/src/uet/oop/bomberman/entities/Entity.java @@ -71,11 +71,11 @@ public double getY() { } public int getXTile() { - return Coordinates.pixelToTile(_x + _sprite.SIZE / 2); + return Coordinates.pixelToTile(getCenterX()); } public int getYTile() { - return Coordinates.pixelToTile(_y - _sprite.SIZE / 2); + return Coordinates.pixelToTile(getCenterY()); } diff --git a/src/uet/oop/bomberman/entities/character/Character.java b/src/uet/oop/bomberman/entities/character/Character.java index eed69e4..9664c0f 100644 --- a/src/uet/oop/bomberman/entities/character/Character.java +++ b/src/uet/oop/bomberman/entities/character/Character.java @@ -153,7 +153,10 @@ public void move(double xa, double ya) { } else if (ya != 0 && canMove(0, ya)) { waypoints.add(waypointY); } else { - return; + System.out.println(String.format( + "Cannot move character %s to (%s, %s)", + getClass().getSimpleName(), xa, ya + )); } } From 54b28a9f5e809ba0a54343178443f957027154a9 Mon Sep 17 00:00:00 2001 From: phuonnngminh Date: Wed, 22 May 2024 11:51:03 +0000 Subject: [PATCH 43/93] refactor IEntityManager --- src/uet/oop/bomberman/Board.java | 32 ++++++++++++------- src/uet/oop/bomberman/base/Copyable.java | 7 ++++ src/uet/oop/bomberman/base/IBombManager.java | 15 +++++++++ .../oop/bomberman/base/ICharacterManager.java | 17 ++++++++++ .../oop/bomberman/base/IEntityManager.java | 27 ++++------------ src/uet/oop/bomberman/base/ITileManager.java | 10 ++++++ .../oop/bomberman/entities/bomb/Flame.java | 4 +-- .../entities/character/Character.java | 4 +-- .../entities/character/enemy/ai/AIMedium.java | 6 ++-- .../oop/bomberman/level/FileLevelLoader.java | 24 +++++++------- 10 files changed, 94 insertions(+), 52 deletions(-) create mode 100644 src/uet/oop/bomberman/base/Copyable.java create mode 100644 src/uet/oop/bomberman/base/IBombManager.java create mode 100644 src/uet/oop/bomberman/base/ICharacterManager.java create mode 100644 src/uet/oop/bomberman/base/ITileManager.java diff --git a/src/uet/oop/bomberman/Board.java b/src/uet/oop/bomberman/Board.java index 72b3920..3923e6c 100644 --- a/src/uet/oop/bomberman/Board.java +++ b/src/uet/oop/bomberman/Board.java @@ -1,6 +1,7 @@ package uet.oop.bomberman; import uet.oop.bomberman.agent.Agent; +import uet.oop.bomberman.base.Copyable; import uet.oop.bomberman.base.IEntityManager; import uet.oop.bomberman.base.IGameInfoManager; import uet.oop.bomberman.base.IMessageManager; @@ -14,6 +15,7 @@ import uet.oop.bomberman.entities.character.action.ActionConstants; import uet.oop.bomberman.entities.character.action.ActionMove; import uet.oop.bomberman.entities.character.exceptions.CharacterActionException; +import uet.oop.bomberman.entities.tile.Tile; import uet.oop.bomberman.entities.tile.item.Item; import uet.oop.bomberman.exceptions.LoadLevelException; import uet.oop.bomberman.graphics.IRender; @@ -33,13 +35,13 @@ /** * Quản lý thao tác điều khiển, load level, render các màn hình của game */ -public class Board implements IRender, IEntityManager, IMessageManager, IGameInfoManager { +public class Board implements Copyable, IRender, IEntityManager, IMessageManager, IGameInfoManager { protected LevelLoader _levelLoader; protected Game _game; protected Keyboard _input; protected Screen _screen; - public Entity[] _entities; + public Tile[] tiles; public List _characters = new ArrayList<>(); protected List _bombs = new ArrayList<>(); private List _messages = new ArrayList<>(); @@ -151,7 +153,7 @@ public void render(Screen screen) { for (int y = y0; y < y1; y++) { for (int x = x0; x < x1; x++) { - _entities[x + y * _levelLoader.getWidth()].render(screen); + tiles[x + y * _levelLoader.getWidth()].render(screen); } } @@ -175,7 +177,7 @@ public void loadLevel(int level) { try { _levelLoader = new FileLevelLoader(this, level); - _entities = new Entity[_levelLoader.getHeight() * _levelLoader.getWidth()]; + tiles = new Tile[_levelLoader.getHeight() * _levelLoader.getWidth()]; _levelLoader.createEntities(); } catch (LoadLevelException e) { @@ -215,7 +217,7 @@ public void drawScreen(Graphics g) { } @Override - public Entity getEntity(double x, double y, Character m) { + public Entity getEntityAtExcluding(double x, double y, Character m) { Entity res = null; @@ -236,7 +238,7 @@ public Entity getEntity(double x, double y, Character m) { if (res != null) return res; - res = getEntityAt((int) x, (int) y); + res = getTileAt((int) x, (int) y); return res; } @@ -301,8 +303,8 @@ public FlameSegment getFlameSegmentAt(int x, int y) { } @Override - public Entity getEntityAt(double x, double y) { - return _entities[(int) x + (int) y * _levelLoader.getWidth()]; + public Tile getTileAt(double x, double y) { + return tiles[(int) x + (int) y * _levelLoader.getWidth()]; } @Override @@ -311,8 +313,8 @@ public void addActiveItem(Item item) { } @Override - public void addEntity(int pos, Entity e) { - _entities[pos] = e; + public void addTile(int pos, Tile e) { + tiles[pos] = e; } @Override @@ -358,8 +360,8 @@ public void renderMessages(Graphics g) { protected void updateEntities() { if (_game.isPaused()) return; - for (int i = 0; i < _entities.length; i++) { - _entities[i].update(); + for (int i = 0; i < tiles.length; i++) { + tiles[i].update(); } } @@ -479,4 +481,10 @@ public void handleOnDeath(Character character, Character killer) { } } + @Override + public Board copy() { + // TODO Auto-generated method stub + return null; + } + } diff --git a/src/uet/oop/bomberman/base/Copyable.java b/src/uet/oop/bomberman/base/Copyable.java new file mode 100644 index 0000000..bd9721e --- /dev/null +++ b/src/uet/oop/bomberman/base/Copyable.java @@ -0,0 +1,7 @@ +package uet.oop.bomberman.base; + +public interface Copyable { + + public Copyable copy(); + +} diff --git a/src/uet/oop/bomberman/base/IBombManager.java b/src/uet/oop/bomberman/base/IBombManager.java new file mode 100644 index 0000000..676ddae --- /dev/null +++ b/src/uet/oop/bomberman/base/IBombManager.java @@ -0,0 +1,15 @@ +package uet.oop.bomberman.base; + +import java.util.List; + +import uet.oop.bomberman.entities.bomb.Bomb; +import uet.oop.bomberman.entities.bomb.FlameSegment; + +public interface IBombManager { + + public List getBombs(); + public Bomb getBombAt(double x, double y); + public void addBomb(Bomb e); + public FlameSegment getFlameSegmentAt(int x, int y); + +} \ No newline at end of file diff --git a/src/uet/oop/bomberman/base/ICharacterManager.java b/src/uet/oop/bomberman/base/ICharacterManager.java new file mode 100644 index 0000000..57e5a37 --- /dev/null +++ b/src/uet/oop/bomberman/base/ICharacterManager.java @@ -0,0 +1,17 @@ +package uet.oop.bomberman.base; + +import uet.oop.bomberman.entities.character.Character; + +public interface ICharacterManager { + + Character getCharacterAtExcluding(int x, int y, Character a); + + void addCharacter(Character e); + + void setPlayer(Character character); + + Character getPlayer(); + + void handleOnDeath(Character character, Character killer); + +} \ No newline at end of file diff --git a/src/uet/oop/bomberman/base/IEntityManager.java b/src/uet/oop/bomberman/base/IEntityManager.java index de47e76..226555b 100644 --- a/src/uet/oop/bomberman/base/IEntityManager.java +++ b/src/uet/oop/bomberman/base/IEntityManager.java @@ -1,30 +1,15 @@ package uet.oop.bomberman.base; -import java.util.List; - import uet.oop.bomberman.entities.Entity; -import uet.oop.bomberman.entities.bomb.Bomb; -import uet.oop.bomberman.entities.bomb.FlameSegment; import uet.oop.bomberman.entities.character.Character; -public interface IEntityManager extends IActiveItemManager { - - public List getBombs(); - - public Entity getEntity(double x, double y, Character m); - public Entity getEntityAt(double x, double y); - public Bomb getBombAt(double x, double y); - public Character getCharacterAtExcluding(int x, int y, Character a); - public FlameSegment getFlameSegmentAt(int x, int y); - - public void addEntity(int pos, Entity e); - public void addCharacter(Character e); - public void addBomb(Bomb e); - - public void setPlayer(Character character); - public Character getPlayer(); +public interface IEntityManager extends IActiveItemManager, IBombManager, ITileManager, ICharacterManager { + public Entity getEntityAtExcluding(double x, double y, Character m); + public default Entity getEntityAt(double x, double y) { + return getEntityAtExcluding(x, y, null); + }; + public boolean isEnemyCleared(); - public void handleOnDeath(Character character, Character killer); } \ No newline at end of file diff --git a/src/uet/oop/bomberman/base/ITileManager.java b/src/uet/oop/bomberman/base/ITileManager.java new file mode 100644 index 0000000..1b46ec3 --- /dev/null +++ b/src/uet/oop/bomberman/base/ITileManager.java @@ -0,0 +1,10 @@ +package uet.oop.bomberman.base; + +import uet.oop.bomberman.entities.tile.Tile; + +public interface ITileManager { + + public Tile getTileAt(double x, double y); + public void addTile(int pos, Tile e); + +} \ No newline at end of file diff --git a/src/uet/oop/bomberman/entities/bomb/Flame.java b/src/uet/oop/bomberman/entities/bomb/Flame.java index 4e2ac84..1635d39 100644 --- a/src/uet/oop/bomberman/entities/bomb/Flame.java +++ b/src/uet/oop/bomberman/entities/bomb/Flame.java @@ -61,7 +61,7 @@ private void createFlameSegments() { case 3: x--; break; } _flameSegments[i] = new FlameSegment(x, y, _direction, last); - Entity entity = entityManager.getEntity(x, y, null); + Entity entity = entityManager.getEntityAt(x, y); if (entity!=null) { entity.collide(this); } @@ -83,7 +83,7 @@ private int calculatePermitedDistance() { if(_direction == 2) y++; if(_direction == 3) x--; - Entity a = entityManager.getEntity(x, y, null); + Entity a = entityManager.getEntityAt(x, y); if(a instanceof Bomb) ++radius; //explosion has to be below the bom diff --git a/src/uet/oop/bomberman/entities/character/Character.java b/src/uet/oop/bomberman/entities/character/Character.java index 9664c0f..b945e24 100644 --- a/src/uet/oop/bomberman/entities/character/Character.java +++ b/src/uet/oop/bomberman/entities/character/Character.java @@ -187,7 +187,7 @@ private void updateMove() { if(waypoint.moveDy > 0) _direction = 2; if(waypoint.moveDy < 0) _direction = 0; - Entity collidingEntity = entityManager.getEntity( + Entity collidingEntity = entityManager.getEntityAtExcluding( Coordinates.pixelToTile(getCenterX()), Coordinates.pixelToTile(getCenterY()), this @@ -222,7 +222,7 @@ public final void handleOnDeath() { public boolean canMove(double dx, double dy) { double x = getCenterX() + dx; double y = getCenterY() + dy; - Entity a = entityManager.getEntity( + Entity a = entityManager.getEntityAtExcluding( Coordinates.pixelToTile(x), Coordinates.pixelToTile(y), this diff --git a/src/uet/oop/bomberman/entities/character/enemy/ai/AIMedium.java b/src/uet/oop/bomberman/entities/character/enemy/ai/AIMedium.java index e21f176..ef004d0 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/ai/AIMedium.java +++ b/src/uet/oop/bomberman/entities/character/enemy/ai/AIMedium.java @@ -1,14 +1,14 @@ package uet.oop.bomberman.entities.character.enemy.ai; -import uet.oop.bomberman.base.IEntityManager; +import uet.oop.bomberman.base.ICharacterManager; import uet.oop.bomberman.entities.character.Character; public class AIMedium extends AI { private final Character character; - private final IEntityManager entityManager; + private final ICharacterManager entityManager; - public AIMedium(Character character, IEntityManager entityManager) { + public AIMedium(Character character, ICharacterManager entityManager) { this.character = character; this.entityManager = entityManager; } diff --git a/src/uet/oop/bomberman/level/FileLevelLoader.java b/src/uet/oop/bomberman/level/FileLevelLoader.java index 3cadceb..4af5659 100644 --- a/src/uet/oop/bomberman/level/FileLevelLoader.java +++ b/src/uet/oop/bomberman/level/FileLevelLoader.java @@ -80,22 +80,22 @@ public void createEntities() { switch (c) { // Thêm grass case ' ': - _board.addEntity(pos, new Grass(x, y, Sprite.grass)); + _board.addTile(pos, new Grass(x, y, Sprite.grass)); break; // Thêm Wall case '#': - _board.addEntity(pos, new Wall(x, y, Sprite.wall)); + _board.addTile(pos, new Wall(x, y, Sprite.wall)); break; // Thêm Portal case 'x': - _board.addEntity(pos, new LayeredEntity(x, y, + _board.addTile(pos, new LayeredEntity(x, y, new Grass(x, y, Sprite.grass), new Portal(x, y, _board, Sprite.portal), new Brick(x, y, Sprite.brick))); break; // Thêm brick case '*': - _board.addEntity(x + y * _width, + _board.addTile(x + y * _width, new LayeredEntity(x, y, new Grass(x, y, Sprite.grass), new Brick(x, y, Sprite.brick) @@ -116,14 +116,14 @@ public void createEntities() { _board.addCharacter(bomber); _board.setPlayer(bomber); Screen.setOffset(0, 0); - _board.addEntity(x + y * _width, new Grass(x, y, Sprite.grass)); + _board.addTile(x + y * _width, new Grass(x, y, Sprite.grass)); break; // Thêm balloon case '1': enemy = new Balloon(Coordinates.tileToPixel(x), Coordinates.tileToPixel(y) + Game.TILES_SIZE, _board); _board.addCharacter(enemy); - _board.addEntity(x + y * _width, new Grass(x, y, Sprite.grass)); + _board.addTile(x + y * _width, new Grass(x, y, Sprite.grass)); agent = new MovingAgent(enemy, new AILow()); _board.addAgent(agent); break; @@ -131,7 +131,7 @@ public void createEntities() { case '2': enemy = new Oneal(Coordinates.tileToPixel(x), Coordinates.tileToPixel(y) + Game.TILES_SIZE, _board); _board.addCharacter(enemy); - _board.addEntity(pos, new Grass(x, y, Sprite.grass)); + _board.addTile(pos, new Grass(x, y, Sprite.grass)); agent = new MovingAgent(enemy, new AILow()); _board.addAgent(agent); break; @@ -139,7 +139,7 @@ public void createEntities() { case '3': enemy = new Doll(Coordinates.tileToPixel(x), Coordinates.tileToPixel(y) + Game.TILES_SIZE, _board); _board.addCharacter(enemy); - _board.addEntity(x + y * _width, new Grass(x, y, Sprite.grass)); + _board.addTile(x + y * _width, new Grass(x, y, Sprite.grass)); agent = new MovingAgent(enemy, new AIMedium(enemy, _board)); _board.addAgent(agent); break; @@ -150,7 +150,7 @@ public void createEntities() { new Grass(x, y, Sprite.grass), new BombItem(x, y, Sprite.powerup_bombs), new Brick(x, y, Sprite.brick)); - _board.addEntity(pos, layer); + _board.addTile(pos, layer); break; // Thêm SpeedItem case 's': @@ -158,7 +158,7 @@ public void createEntities() { new Grass(x, y, Sprite.grass), new SpeedItem(x, y, Sprite.powerup_speed), new Brick(x, y, Sprite.brick)); - _board.addEntity(pos, layer); + _board.addTile(pos, layer); break; // Thêm FlameItem case 'f': @@ -166,11 +166,11 @@ public void createEntities() { new Grass(x, y, Sprite.grass), new FlameItem(x, y, Sprite.powerup_flames), new Brick(x, y, Sprite.brick)); - _board.addEntity(pos, layer); + _board.addTile(pos, layer); break; default: - _board.addEntity(pos, new Grass(x, y, Sprite.grass)); + _board.addTile(pos, new Grass(x, y, Sprite.grass)); break; } From acc5cbb739c6fa881261eb35d63b45facce2c229 Mon Sep 17 00:00:00 2001 From: phuonnngminh Date: Wed, 22 May 2024 13:16:23 +0000 Subject: [PATCH 44/93] split CanUseItem from Character --- src/uet/oop/bomberman/Board.java | 4 ++- .../oop/bomberman/base/IEntityManager.java | 2 +- .../bomberman/entities/character/Bomber.java | 36 +++++++++++++++++-- .../entities/character/CanUseItem.java | 12 +++++++ .../entities/character/Character.java | 23 +++--------- .../bomberman/entities/tile/item/Item.java | 5 +-- .../oop/bomberman/level/FileLevelLoader.java | 1 + 7 files changed, 58 insertions(+), 25 deletions(-) create mode 100644 src/uet/oop/bomberman/entities/character/CanUseItem.java diff --git a/src/uet/oop/bomberman/Board.java b/src/uet/oop/bomberman/Board.java index 3923e6c..5a2dce7 100644 --- a/src/uet/oop/bomberman/Board.java +++ b/src/uet/oop/bomberman/Board.java @@ -10,6 +10,7 @@ import uet.oop.bomberman.entities.bomb.Bomb; import uet.oop.bomberman.entities.bomb.FlameSegment; import uet.oop.bomberman.entities.character.Bomber; +import uet.oop.bomberman.entities.character.CanUseItem; import uet.oop.bomberman.entities.character.Character; import uet.oop.bomberman.entities.character.action.Action; import uet.oop.bomberman.entities.character.action.ActionConstants; @@ -52,7 +53,8 @@ public class Board implements Copyable, IRender, IEntityManager, IMessageManager @Override public List getPlayerActiveItems() { - return getPlayer().getActiveItems().collect(Collectors.toList()); + if (!(getPlayer() instanceof CanUseItem)) return new ArrayList<>(); + return ((CanUseItem)getPlayer()).getActiveItems().collect(Collectors.toList()); } private int _screenToShow = -1; // 1:endgame, 2:changelevel, 3:paused diff --git a/src/uet/oop/bomberman/base/IEntityManager.java b/src/uet/oop/bomberman/base/IEntityManager.java index 226555b..73d7b96 100644 --- a/src/uet/oop/bomberman/base/IEntityManager.java +++ b/src/uet/oop/bomberman/base/IEntityManager.java @@ -3,7 +3,7 @@ import uet.oop.bomberman.entities.Entity; import uet.oop.bomberman.entities.character.Character; -public interface IEntityManager extends IActiveItemManager, IBombManager, ITileManager, ICharacterManager { +public interface IEntityManager extends IBombManager, ITileManager, ICharacterManager { public Entity getEntityAtExcluding(double x, double y, Character m); public default Entity getEntityAt(double x, double y) { diff --git a/src/uet/oop/bomberman/entities/character/Bomber.java b/src/uet/oop/bomberman/entities/character/Bomber.java index 8c93d40..f25110c 100644 --- a/src/uet/oop/bomberman/entities/character/Bomber.java +++ b/src/uet/oop/bomberman/entities/character/Bomber.java @@ -2,6 +2,7 @@ import java.util.ArrayList; import uet.oop.bomberman.Board; +import uet.oop.bomberman.base.IActiveItemManager; import uet.oop.bomberman.base.IEntityManager; import uet.oop.bomberman.entities.Entity; import uet.oop.bomberman.entities.bomb.Bomb; @@ -17,21 +18,26 @@ import java.util.Iterator; import java.util.List; +import java.util.stream.Stream; + import uet.oop.bomberman.entities.tile.item.BombItem; import uet.oop.bomberman.entities.tile.item.FlameItem; import uet.oop.bomberman.entities.tile.item.Item; +import uet.oop.bomberman.entities.tile.item.SpeedItem; import uet.oop.bomberman.level.Coordinates; import uet.oop.bomberman.sound.Sound; -public class Bomber extends Character { +public class Bomber extends Character implements CanUseItem { private List _bombs; - public static List _items = new ArrayList();//xu li Item + private List activeItems = new ArrayList<>(); private final int baseBombLimit; protected int bombCooldown = 0; private final int baseBombRadius; + + private final IActiveItemManager activeItemManager; public int getBombCooldown() { return bombCooldown; @@ -39,13 +45,14 @@ public int getBombCooldown() { private Board _board; - public Bomber(int x, int y, double baseSpeed, int baseBombLimit, int baseBombRadius, IEntityManager entityManager, Board board) { + public Bomber(int x, int y, double baseSpeed, int baseBombLimit, int baseBombRadius, IEntityManager entityManager, IActiveItemManager activeItemManager, Board board) { super(x, y, baseSpeed, entityManager); this.baseBombLimit = baseBombLimit; this.baseBombRadius = baseBombRadius; this._board = board; _bombs = entityManager.getBombs(); _sprite = Sprite.player_right; + this.activeItemManager = activeItemManager; } @Override @@ -189,4 +196,27 @@ protected void performAction(Action action, boolean isDryRun) } } + @Override + public Stream getActiveItems() { + return activeItems.stream().filter(Item::isActive); + } + + @Override + public void addActiveItem(Item item) { + this.activeItems.add(item); + activeItemManager.addActiveItem(item); + } + + @Override + protected double getSpeedMultiplier() { + double speedMultiplier = 1; + for (Item item: activeItems) { + if (!item.isActive()) continue; + if (item instanceof SpeedItem) { + speedMultiplier += SpeedItem.SPEED_MULTIPLIER; + } + } + return speedMultiplier; + } + } diff --git a/src/uet/oop/bomberman/entities/character/CanUseItem.java b/src/uet/oop/bomberman/entities/character/CanUseItem.java new file mode 100644 index 0000000..0d1103a --- /dev/null +++ b/src/uet/oop/bomberman/entities/character/CanUseItem.java @@ -0,0 +1,12 @@ +package uet.oop.bomberman.entities.character; + +import java.util.stream.Stream; + +import uet.oop.bomberman.entities.tile.item.Item; + +public interface CanUseItem { + + public Stream getActiveItems(); + public void addActiveItem(Item item); + +} \ No newline at end of file diff --git a/src/uet/oop/bomberman/entities/character/Character.java b/src/uet/oop/bomberman/entities/character/Character.java index b945e24..fdc5b9d 100644 --- a/src/uet/oop/bomberman/entities/character/Character.java +++ b/src/uet/oop/bomberman/entities/character/Character.java @@ -58,8 +58,6 @@ public Waypoint(double moveX, double moveY, double moveDuration) { } } - private List activeItems = new ArrayList<>(); - public Character(int x, int y, double baseSpeed, IEntityManager entityManager) { _x = x; _y = y; @@ -251,24 +249,13 @@ public boolean isMoving() { return waypoints.size() > 0; } - public Stream getActiveItems() { - return activeItems.stream().filter(Item::isActive); - } - - public void addActiveItem(Item item) { - this.activeItems.add(item); - entityManager.addActiveItem(item); + public final double getSpeed() { + double speedMultiplier = getSpeedMultiplier(); + return speedMultiplier * this.baseSpeed; } - public double getSpeed() { - double speedMultiplier = 1; - for (Item item: activeItems) { - if (!item.isActive()) continue; - if (item instanceof SpeedItem) { - speedMultiplier += SpeedItem.SPEED_MULTIPLIER; - } - } - return speedMultiplier * this.baseSpeed; + protected double getSpeedMultiplier() { + return 1; } public abstract int getPoints(); diff --git a/src/uet/oop/bomberman/entities/tile/item/Item.java b/src/uet/oop/bomberman/entities/tile/item/Item.java index a028765..365bea5 100644 --- a/src/uet/oop/bomberman/entities/tile/item/Item.java +++ b/src/uet/oop/bomberman/entities/tile/item/Item.java @@ -2,6 +2,7 @@ import uet.oop.bomberman.Game; import uet.oop.bomberman.entities.Entity; +import uet.oop.bomberman.entities.character.CanUseItem; import uet.oop.bomberman.entities.character.Character; import uet.oop.bomberman.entities.tile.NonDestroyableTile; import uet.oop.bomberman.graphics.Sprite; @@ -24,8 +25,8 @@ public Item(int x, int y, Sprite sprite) { @Override public boolean collide(Entity e) { if (isRemoved()) return false; - if (e instanceof Character && ((Character)e).isPlayer()) { - Character player = (Character) e; + if (e instanceof CanUseItem) { + CanUseItem player = (CanUseItem) e; Sound.play("Item"); handleItemActive(); _active = true; diff --git a/src/uet/oop/bomberman/level/FileLevelLoader.java b/src/uet/oop/bomberman/level/FileLevelLoader.java index 4af5659..773e6a3 100644 --- a/src/uet/oop/bomberman/level/FileLevelLoader.java +++ b/src/uet/oop/bomberman/level/FileLevelLoader.java @@ -111,6 +111,7 @@ public void createEntities() { Game.BOMBRATE, Game.BOMBRADIUS, _board, + _board, _board ); _board.addCharacter(bomber); From be1af54b88cc3a8c381af7798042d77b5a04ec51 Mon Sep 17 00:00:00 2001 From: phuonnngminh Date: Wed, 22 May 2024 14:39:07 +0000 Subject: [PATCH 45/93] reduce responsibility for Board by splitting into more Manager classes --- src/uet/oop/bomberman/Board.java | 231 ++---------------- src/uet/oop/bomberman/base/IBombManager.java | 3 +- .../oop/bomberman/base/ICharacterManager.java | 24 +- .../oop/bomberman/base/IEntityManager.java | 8 +- .../oop/bomberman/base/IGameInfoManager.java | 2 +- src/uet/oop/bomberman/base/ITileManager.java | 3 +- src/uet/oop/bomberman/entities/bomb/Bomb.java | 2 +- .../bomberman/entities/character/Bomber.java | 37 ++- .../entities/character/Character.java | 5 +- .../entities/character/enemy/Balloon.java | 6 +- .../entities/character/enemy/Doll.java | 6 +- .../entities/character/enemy/Kondoria.java | 6 +- .../entities/character/enemy/Minvo.java | 5 +- .../entities/character/enemy/Oneal.java | 6 +- .../entities/character/enemy/ai/AIMedium.java | 8 +- .../oop/bomberman/entities/tile/Portal.java | 2 +- .../oop/bomberman/level/FileLevelLoader.java | 105 ++++---- .../oop/bomberman/manager/BombManager.java | 72 ++++++ .../bomberman/manager/CharacterManager.java | 98 ++++++++ .../oop/bomberman/manager/EntityManager.java | 101 ++++++++ .../oop/bomberman/manager/TileManager.java | 52 ++++ 21 files changed, 464 insertions(+), 318 deletions(-) create mode 100644 src/uet/oop/bomberman/manager/BombManager.java create mode 100644 src/uet/oop/bomberman/manager/CharacterManager.java create mode 100644 src/uet/oop/bomberman/manager/EntityManager.java create mode 100644 src/uet/oop/bomberman/manager/TileManager.java diff --git a/src/uet/oop/bomberman/Board.java b/src/uet/oop/bomberman/Board.java index 5a2dce7..3241c88 100644 --- a/src/uet/oop/bomberman/Board.java +++ b/src/uet/oop/bomberman/Board.java @@ -4,11 +4,7 @@ import uet.oop.bomberman.base.Copyable; import uet.oop.bomberman.base.IEntityManager; import uet.oop.bomberman.base.IGameInfoManager; -import uet.oop.bomberman.base.IMessageManager; -import uet.oop.bomberman.entities.Entity; import uet.oop.bomberman.entities.Message; -import uet.oop.bomberman.entities.bomb.Bomb; -import uet.oop.bomberman.entities.bomb.FlameSegment; import uet.oop.bomberman.entities.character.Bomber; import uet.oop.bomberman.entities.character.CanUseItem; import uet.oop.bomberman.entities.character.Character; @@ -16,7 +12,6 @@ import uet.oop.bomberman.entities.character.action.ActionConstants; import uet.oop.bomberman.entities.character.action.ActionMove; import uet.oop.bomberman.entities.character.exceptions.CharacterActionException; -import uet.oop.bomberman.entities.tile.Tile; import uet.oop.bomberman.entities.tile.item.Item; import uet.oop.bomberman.exceptions.LoadLevelException; import uet.oop.bomberman.graphics.IRender; @@ -24,7 +19,7 @@ import uet.oop.bomberman.input.Keyboard; import uet.oop.bomberman.level.FileLevelLoader; import uet.oop.bomberman.level.LevelLoader; -import uet.oop.bomberman.sound.Sound; +import uet.oop.bomberman.manager.EntityManager; import uet.oop.bomberman.utils.Global; import java.awt.*; @@ -36,25 +31,23 @@ /** * Quản lý thao tác điều khiển, load level, render các màn hình của game */ -public class Board implements Copyable, IRender, IEntityManager, IMessageManager, IGameInfoManager { +public class Board implements Copyable, IRender, IGameInfoManager { protected LevelLoader _levelLoader; protected Game _game; protected Keyboard _input; protected Screen _screen; - public Tile[] tiles; - public List _characters = new ArrayList<>(); - protected List _bombs = new ArrayList<>(); private List _messages = new ArrayList<>(); private List _activeItems = new ArrayList<>(); private List agents = new ArrayList<>(); - private Character player; + private EntityManager entityManager; @Override public List getPlayerActiveItems() { - if (!(getPlayer() instanceof CanUseItem)) return new ArrayList<>(); - return ((CanUseItem)getPlayer()).getActiveItems().collect(Collectors.toList()); + Character player = entityManager.getPlayer(); + if (!(player instanceof CanUseItem)) return new ArrayList<>(); + return ((CanUseItem)player).getActiveItems().collect(Collectors.toList()); } private int _screenToShow = -1; // 1:endgame, 2:changelevel, 3:paused @@ -71,7 +64,7 @@ public Board(Game game, Keyboard input, Screen screen) { } private void snapCameraToPlayer() { - int xScroll = Screen.calculateXOffset(this, getPlayer()); + int xScroll = Screen.calculateXOffset(this, entityManager.getPlayer()); Screen.setOffset(xScroll, 0); } @@ -80,9 +73,7 @@ public void update() { if (_game.isPaused()) return; - updateEntities(); - updateCharacters(); - updateBombs(); + entityManager.update(); updateMessages(); updateActiveItems(); detectEndGame(); @@ -91,12 +82,6 @@ public void update() { snapCameraToPlayer(); processPlayerInput(); - - for (int i = 0; i < _characters.size(); i++) { - Character a = _characters.get(i); - if (a.isRemoved()) - _characters.remove(i); - } } public void addAgent(Agent agent) { @@ -113,7 +98,7 @@ private void processAgentAction() { } private void processPlayerInput() { - Character player = getPlayer(); + Character player = entityManager.getPlayer(); if (!player.isAlive()) return; processPlayerInputMove(player); @@ -146,22 +131,7 @@ private void processPlayerInputMove(Character player) { public void render(Screen screen) { if (_game.isPaused()) return; - - // only render the visible part of screen - int x0 = Screen.xOffset >> 4; // tile precision, -> left X - int x1 = (Screen.xOffset + screen.getWidth() + Game.TILES_SIZE) / Game.TILES_SIZE; // -> right X - int y0 = Screen.yOffset >> 4; - int y1 = (Screen.yOffset + screen.getHeight()) / Game.TILES_SIZE; // render one tile plus to fix black margins - - for (int y = y0; y < y1; y++) { - for (int x = x0; x < x1; x++) { - tiles[x + y * _levelLoader.getWidth()].render(screen); - } - } - - renderBombs(screen); - renderCharacter(screen); - + entityManager.render(screen); } public void nextLevel() { @@ -173,13 +143,10 @@ public void loadLevel(int level) { _screenToShow = 2; _game.resetScreenDelay(); _game.pause(); - _characters.clear(); - _bombs.clear(); - _messages.clear(); - + try { _levelLoader = new FileLevelLoader(this, level); - tiles = new Tile[_levelLoader.getHeight() * _levelLoader.getWidth()]; + entityManager = new EntityManager(_levelLoader, this); _levelLoader.createEntities(); } catch (LoadLevelException e) { @@ -198,12 +165,6 @@ public void endGame() { _game.pause(); } - @Override - public boolean isEnemyCleared() { - return !_characters.stream() - .anyMatch(character -> character != getPlayer()); - } - public void drawScreen(Graphics g) { switch (_screenToShow) { case 1: @@ -218,136 +179,16 @@ public void drawScreen(Graphics g) { } } - @Override - public Entity getEntityAtExcluding(double x, double y, Character m) { - - Entity res = null; - - if (x < 0) return null; - if (y < 0) return null; - if (x >= _levelLoader.getWidth()) return null; - if (y >= _levelLoader.getHeight()) return null; - - res = getFlameSegmentAt((int) x, (int) y); - if (res != null) - return res; - - res = getBombAt(x, y); - if (res != null) - return res; - - res = getCharacterAtExcluding((int) x, (int) y, m); - if (res != null) - return res; - - res = getTileAt((int) x, (int) y); - - return res; - } - - @Override - public List getBombs() { - return _bombs; - } - - @Override - public Bomb getBombAt(double x, double y) { - Iterator bs = _bombs.iterator(); - Bomb b; - while (bs.hasNext()) { - b = bs.next(); - if (b.getX() == (int) x && b.getY() == (int) y) - return b; - } - - return null; - } - - @Override - public Character getPlayer() { - return this.player; - } - - @Override - public Character getCharacterAtExcluding(int x, int y, Character a) { - Iterator itr = _characters.iterator(); - - Character cur; - while (itr.hasNext()) { - cur = itr.next(); - if (cur == a) { - continue; - } - - if (cur.getXTile() == x && cur.getYTile() == y) { - return cur; - } - - } - - return null; - } - - @Override - public FlameSegment getFlameSegmentAt(int x, int y) { - Iterator bs = _bombs.iterator(); - Bomb b; - while (bs.hasNext()) { - b = bs.next(); - - FlameSegment e = b.flameAt(x, y); - if (e != null) { - return e; - } - } - - return null; - } - - @Override - public Tile getTileAt(double x, double y) { - return tiles[(int) x + (int) y * _levelLoader.getWidth()]; - } - @Override public void addActiveItem(Item item) { _activeItems.add(item); } - @Override - public void addTile(int pos, Tile e) { - tiles[pos] = e; - } - - @Override - public void addCharacter(Character e) { - _characters.add(e); - } - - @Override - public void addBomb(Bomb e) { - _bombs.add(e); - } - @Override public void addMessage(Message e) { _messages.add(e); } - protected void renderCharacter(Screen screen) { - Iterator itr = _characters.iterator(); - - while (itr.hasNext()) - itr.next().render(screen); - } - - protected void renderBombs(Screen screen) { - Iterator itr = _bombs.iterator(); - - while (itr.hasNext()) - itr.next().render(screen); - } - public void renderMessages(Graphics g) { Message m; for (int i = 0; i < _messages.size(); i++) { @@ -359,32 +200,6 @@ public void renderMessages(Graphics g) { } } - protected void updateEntities() { - if (_game.isPaused()) - return; - for (int i = 0; i < tiles.length; i++) { - tiles[i].update(); - } - } - - protected void updateCharacters() { - if (_game.isPaused()) - return; - Iterator itr = _characters.iterator(); - - while (itr.hasNext() && !_game.isPaused()) - itr.next().update(); - } - - protected void updateBombs() { - if (_game.isPaused()) - return; - Iterator itr = _bombs.iterator(); - - while (itr.hasNext()) - itr.next().update(); - } - protected void updateActiveItems() { if (_game.isPaused()) return; @@ -461,26 +276,8 @@ public int getHeight() { return _levelLoader.getHeight(); } - @Override - public void setPlayer(Character character) { - this.player = character; - } - - @Override - public void handleOnDeath(Character character, Character killer) { - if (character.isPlayer()) { - // TODO: handle player death - Sound.play("endgame3"); - } else { - // TODO: document how to calculate message coord - double messageX = (character.getX() * Game.SCALE) + (character.getSprite().SIZE / 2 * Game.SCALE); - double messageY = (character.getY() * Game.SCALE) - (character.getSprite().SIZE / 2 * Game.SCALE); - int points = character.getPoints(); - addPoints(points); - Message msg = new Message("+" + points, messageX, messageY, 2, Color.white, 14); - addMessage(msg); - Sound.play("AA126_11"); - } + public IEntityManager getEntityManager() { + return entityManager; } @Override diff --git a/src/uet/oop/bomberman/base/IBombManager.java b/src/uet/oop/bomberman/base/IBombManager.java index 676ddae..24e321d 100644 --- a/src/uet/oop/bomberman/base/IBombManager.java +++ b/src/uet/oop/bomberman/base/IBombManager.java @@ -4,8 +4,9 @@ import uet.oop.bomberman.entities.bomb.Bomb; import uet.oop.bomberman.entities.bomb.FlameSegment; +import uet.oop.bomberman.graphics.IRender; -public interface IBombManager { +public interface IBombManager extends IRender { public List getBombs(); public Bomb getBombAt(double x, double y); diff --git a/src/uet/oop/bomberman/base/ICharacterManager.java b/src/uet/oop/bomberman/base/ICharacterManager.java index 57e5a37..6e5e74e 100644 --- a/src/uet/oop/bomberman/base/ICharacterManager.java +++ b/src/uet/oop/bomberman/base/ICharacterManager.java @@ -1,17 +1,17 @@ package uet.oop.bomberman.base; -import uet.oop.bomberman.entities.character.Character; - -public interface ICharacterManager { - - Character getCharacterAtExcluding(int x, int y, Character a); - - void addCharacter(Character e); +import java.util.List; - void setPlayer(Character character); - - Character getPlayer(); - - void handleOnDeath(Character character, Character killer); +import uet.oop.bomberman.entities.character.Character; +import uet.oop.bomberman.graphics.IRender; + +public interface ICharacterManager extends IRender { + + public List getCharacters(); + public Character getCharacterAtExcluding(int x, int y, Character a); + public void addCharacter(Character e); + public void setPlayer(Character character); + public Character getPlayer(); + public void handleOnDeath(Character character, Character killer); } \ No newline at end of file diff --git a/src/uet/oop/bomberman/base/IEntityManager.java b/src/uet/oop/bomberman/base/IEntityManager.java index 73d7b96..af5861f 100644 --- a/src/uet/oop/bomberman/base/IEntityManager.java +++ b/src/uet/oop/bomberman/base/IEntityManager.java @@ -2,8 +2,9 @@ import uet.oop.bomberman.entities.Entity; import uet.oop.bomberman.entities.character.Character; +import uet.oop.bomberman.graphics.IRender; -public interface IEntityManager extends IBombManager, ITileManager, ICharacterManager { +public interface IEntityManager extends IRender { public Entity getEntityAtExcluding(double x, double y, Character m); public default Entity getEntityAt(double x, double y) { @@ -11,5 +12,10 @@ public default Entity getEntityAt(double x, double y) { }; public boolean isEnemyCleared(); + public Character getPlayer(); + + public ITileManager getTileManager(); + public ICharacterManager getCharacterManager(); + public IBombManager getBombManager(); } \ No newline at end of file diff --git a/src/uet/oop/bomberman/base/IGameInfoManager.java b/src/uet/oop/bomberman/base/IGameInfoManager.java index ce0b57b..f4958ea 100644 --- a/src/uet/oop/bomberman/base/IGameInfoManager.java +++ b/src/uet/oop/bomberman/base/IGameInfoManager.java @@ -1,6 +1,6 @@ package uet.oop.bomberman.base; -public interface IGameInfoManager extends IActiveItemManager { +public interface IGameInfoManager extends IActiveItemManager, IMessageManager { public int subtractTime(); public int getTime(); diff --git a/src/uet/oop/bomberman/base/ITileManager.java b/src/uet/oop/bomberman/base/ITileManager.java index 1b46ec3..5b74d39 100644 --- a/src/uet/oop/bomberman/base/ITileManager.java +++ b/src/uet/oop/bomberman/base/ITileManager.java @@ -1,8 +1,9 @@ package uet.oop.bomberman.base; import uet.oop.bomberman.entities.tile.Tile; +import uet.oop.bomberman.graphics.IRender; -public interface ITileManager { +public interface ITileManager extends IRender { public Tile getTileAt(double x, double y); public void addTile(int pos, Tile e); diff --git a/src/uet/oop/bomberman/entities/bomb/Bomb.java b/src/uet/oop/bomberman/entities/bomb/Bomb.java index 8863a87..54bc39b 100644 --- a/src/uet/oop/bomberman/entities/bomb/Bomb.java +++ b/src/uet/oop/bomberman/entities/bomb/Bomb.java @@ -82,7 +82,7 @@ protected void explode() {//nổ _exploded = true; _allowedToPassThru = true; // TODO: xử lý khi Character đứng tại vị trí Bomb - Character x = _board.getCharacterAtExcluding((int)_x, (int)_y, null); + Character x = _board.getCharacterManager().getCharacterAtExcluding((int)_x, (int)_y, null); if(x != null){ x.handleOnDeath(); } diff --git a/src/uet/oop/bomberman/entities/character/Bomber.java b/src/uet/oop/bomberman/entities/character/Bomber.java index f25110c..af20df3 100644 --- a/src/uet/oop/bomberman/entities/character/Bomber.java +++ b/src/uet/oop/bomberman/entities/character/Bomber.java @@ -3,6 +3,7 @@ import java.util.ArrayList; import uet.oop.bomberman.Board; import uet.oop.bomberman.base.IActiveItemManager; +import uet.oop.bomberman.base.IBombManager; import uet.oop.bomberman.base.IEntityManager; import uet.oop.bomberman.entities.Entity; import uet.oop.bomberman.entities.bomb.Bomb; @@ -18,6 +19,7 @@ import java.util.Iterator; import java.util.List; +import java.util.stream.Collectors; import java.util.stream.Stream; import uet.oop.bomberman.entities.tile.item.BombItem; @@ -29,7 +31,7 @@ public class Bomber extends Character implements CanUseItem { - private List _bombs; + private List _bombs = new ArrayList<>(); private List activeItems = new ArrayList<>(); private final int baseBombLimit; @@ -37,22 +39,19 @@ public class Bomber extends Character implements CanUseItem { private final int baseBombRadius; - private final IActiveItemManager activeItemManager; - - public int getBombCooldown() { - return bombCooldown; - } - private Board _board; - public Bomber(int x, int y, double baseSpeed, int baseBombLimit, int baseBombRadius, IEntityManager entityManager, IActiveItemManager activeItemManager, Board board) { + private final IActiveItemManager activeItemManager; + private final IBombManager bombManager; + + public Bomber(int x, int y, double baseSpeed, int baseBombLimit, int baseBombRadius, IEntityManager entityManager, IActiveItemManager activeItemManager, IBombManager bombManager, Board board) { super(x, y, baseSpeed, entityManager); this.baseBombLimit = baseBombLimit; this.baseBombRadius = baseBombRadius; this._board = board; - _bombs = entityManager.getBombs(); _sprite = Sprite.player_right; this.activeItemManager = activeItemManager; + this.bombManager = bombManager; } @Override @@ -90,6 +89,10 @@ public int getBombRadius() { return this.baseBombRadius + bombRadiusBonus; } + public int getBombCooldown() { + return bombCooldown; + } + public boolean placeBomb() { if(getBombRemainingQuota() > 0 && bombCooldown < 0) { @@ -107,21 +110,15 @@ public boolean placeBomb() { public void placeBomb(int x, int y) { // TODO: thực hiện tạo đối tượng bom, đặt vào vị trí (x, y) Bomb b = new Bomb(x, y, getBombRadius(), entityManager); - entityManager.addBomb(b); + this._bombs.add(b); + bombManager.addBomb(b); Sound.play("BOM_SET"); } private void clearExpiredBombs() { - Iterator bs = _bombs.iterator(); - - Bomb b; - while (bs.hasNext()) { - b = bs.next(); - if (b.isRemoved()) { - bs.remove(); - } - } - + _bombs = _bombs.stream() + .filter(bomb -> !bomb.isRemoved()) + .collect(Collectors.toList()); } @Override diff --git a/src/uet/oop/bomberman/entities/character/Character.java b/src/uet/oop/bomberman/entities/character/Character.java index fdc5b9d..bb3f4b1 100644 --- a/src/uet/oop/bomberman/entities/character/Character.java +++ b/src/uet/oop/bomberman/entities/character/Character.java @@ -5,7 +5,6 @@ import java.util.List; import java.util.Queue; import java.util.stream.Collectors; -import java.util.stream.Stream; import uet.oop.bomberman.Game; import uet.oop.bomberman.base.IEntityManager; @@ -20,8 +19,6 @@ import uet.oop.bomberman.entities.character.exceptions.CannotPerformActionException; import uet.oop.bomberman.entities.character.exceptions.CharacterActionException; import uet.oop.bomberman.entities.character.exceptions.InvalidActionException; -import uet.oop.bomberman.entities.tile.item.Item; -import uet.oop.bomberman.entities.tile.item.SpeedItem; import uet.oop.bomberman.graphics.Screen; import uet.oop.bomberman.level.Coordinates; @@ -203,7 +200,7 @@ public final void handleOnDeath() { if(!_alive) return; _alive = false; // TODO: determine killer - entityManager.handleOnDeath(this, null); + entityManager.getCharacterManager().handleOnDeath(this, null); } /** diff --git a/src/uet/oop/bomberman/entities/character/enemy/Balloon.java b/src/uet/oop/bomberman/entities/character/enemy/Balloon.java index 6c1d946..9b74e2a 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/Balloon.java +++ b/src/uet/oop/bomberman/entities/character/enemy/Balloon.java @@ -1,14 +1,14 @@ package uet.oop.bomberman.entities.character.enemy; -import uet.oop.bomberman.Board; import uet.oop.bomberman.Game; +import uet.oop.bomberman.base.IEntityManager; import uet.oop.bomberman.graphics.Sprite; public class Balloon extends Enemy { - public Balloon(int x, int y, Board board) { - super(x, y, board, Sprite.balloom_dead, Game.BOMBERSPEED / 2, 100); + public Balloon(int x, int y, IEntityManager entityManager) { + super(x, y, entityManager, Sprite.balloom_dead, Game.BOMBERSPEED / 2, 100); _sprite = Sprite.balloom_left1; diff --git a/src/uet/oop/bomberman/entities/character/enemy/Doll.java b/src/uet/oop/bomberman/entities/character/enemy/Doll.java index 6a7ea72..ab107d9 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/Doll.java +++ b/src/uet/oop/bomberman/entities/character/enemy/Doll.java @@ -5,8 +5,8 @@ */ package uet.oop.bomberman.entities.character.enemy; -import uet.oop.bomberman.Board; import uet.oop.bomberman.Game; +import uet.oop.bomberman.base.IEntityManager; import uet.oop.bomberman.graphics.Sprite; /** @@ -15,8 +15,8 @@ */ public class Doll extends Enemy{ - public Doll(int x, int y, Board board) { - super(x, y, board, Sprite.balloom_dead, Game.BOMBERSPEED, 100); + public Doll(int x, int y, IEntityManager entityManager) { + super(x, y, entityManager, Sprite.balloom_dead, Game.BOMBERSPEED, 100); _sprite = Sprite.balloom_left1; diff --git a/src/uet/oop/bomberman/entities/character/enemy/Kondoria.java b/src/uet/oop/bomberman/entities/character/enemy/Kondoria.java index 143df1e..22fc86b 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/Kondoria.java +++ b/src/uet/oop/bomberman/entities/character/enemy/Kondoria.java @@ -1,12 +1,12 @@ package uet.oop.bomberman.entities.character.enemy; import uet.oop.bomberman.Game; -import uet.oop.bomberman.Board; +import uet.oop.bomberman.base.IEntityManager; import uet.oop.bomberman.graphics.Sprite; public class Kondoria extends Enemy { - public Kondoria(int x, int y, Board board) { - super(x, y, board, Sprite.balloom_dead, Game.BOMBERSPEED / 4, 1000); + public Kondoria(int x, int y, IEntityManager entityManager) { + super(x, y, entityManager, Sprite.balloom_dead, Game.BOMBERSPEED / 4, 1000); _sprite = Sprite.kondoria_right1; diff --git a/src/uet/oop/bomberman/entities/character/enemy/Minvo.java b/src/uet/oop/bomberman/entities/character/enemy/Minvo.java index c1c1704..f86b34d 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/Minvo.java +++ b/src/uet/oop/bomberman/entities/character/enemy/Minvo.java @@ -2,11 +2,12 @@ import uet.oop.bomberman.Board; import uet.oop.bomberman.Game; +import uet.oop.bomberman.base.IEntityManager; import uet.oop.bomberman.graphics.Sprite; public class Minvo extends Enemy { - public Minvo(int x, int y, Board board) { - super(x, y, board, Sprite.minvo_dead, Game.BOMBERSPEED * 1.5, 800); + public Minvo(int x, int y, IEntityManager entityManager) { + super(x, y, entityManager, Sprite.minvo_dead, Game.BOMBERSPEED * 1.5, 800); _sprite = Sprite.minvo_right1; } diff --git a/src/uet/oop/bomberman/entities/character/enemy/Oneal.java b/src/uet/oop/bomberman/entities/character/enemy/Oneal.java index be74bea..90af4b5 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/Oneal.java +++ b/src/uet/oop/bomberman/entities/character/enemy/Oneal.java @@ -1,13 +1,13 @@ package uet.oop.bomberman.entities.character.enemy; -import uet.oop.bomberman.Board; import uet.oop.bomberman.Game; +import uet.oop.bomberman.base.IEntityManager; import uet.oop.bomberman.graphics.Sprite; public class Oneal extends Enemy { //private Random random = new Random(); - public Oneal(int x, int y, Board board) { - super(x, y, board, Sprite.balloom_dead, Game.BOMBERSPEED, 100); + public Oneal(int x, int y, IEntityManager entityManager) { + super(x, y, entityManager, Sprite.balloom_dead, Game.BOMBERSPEED, 100); _sprite = Sprite.balloom_left1; } diff --git a/src/uet/oop/bomberman/entities/character/enemy/ai/AIMedium.java b/src/uet/oop/bomberman/entities/character/enemy/ai/AIMedium.java index ef004d0..9ad759f 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/ai/AIMedium.java +++ b/src/uet/oop/bomberman/entities/character/enemy/ai/AIMedium.java @@ -6,11 +6,11 @@ public class AIMedium extends AI { private final Character character; - private final ICharacterManager entityManager; + private final ICharacterManager characterManager; public AIMedium(Character character, ICharacterManager entityManager) { this.character = character; - this.entityManager = entityManager; + this.characterManager = entityManager; } @Override @@ -36,7 +36,7 @@ public int calculateDirection() { } protected int calculateColDirection() { - Character player = entityManager.getPlayer(); + Character player = characterManager.getPlayer(); if(player.getXTile() < character.getXTile()) return 3; @@ -47,7 +47,7 @@ else if(player.getXTile() > character.getXTile()) } protected int calculateRowDirection() { - Character player = entityManager.getPlayer(); + Character player = characterManager.getPlayer(); if(player.getYTile() < character.getYTile()) return 0; diff --git a/src/uet/oop/bomberman/entities/tile/Portal.java b/src/uet/oop/bomberman/entities/tile/Portal.java index 6a5d13e..8dfffd6 100644 --- a/src/uet/oop/bomberman/entities/tile/Portal.java +++ b/src/uet/oop/bomberman/entities/tile/Portal.java @@ -35,7 +35,7 @@ public boolean collide(Entity e) {// xu li khi 2 entity va cham public boolean canBePassedThroughBy(Entity other) { if (other instanceof Character && ((Character)other).isPlayer()) { - if (!_board.isEnemyCleared()) + if (!_board.getEntityManager().isEnemyCleared()) return false; if (other.getXTile() == getX() && other.getYTile() == getY()) { diff --git a/src/uet/oop/bomberman/level/FileLevelLoader.java b/src/uet/oop/bomberman/level/FileLevelLoader.java index 773e6a3..4716c70 100644 --- a/src/uet/oop/bomberman/level/FileLevelLoader.java +++ b/src/uet/oop/bomberman/level/FileLevelLoader.java @@ -73,6 +73,7 @@ public void loadLevel(int level) { public void createEntities() { Enemy enemy; Agent agent; + LayeredEntity layeredEntity; for (int y = 0; y < getHeight(); y++) { for (int x = 0; x < getWidth(); x++) { int pos = x + y * getWidth(); @@ -80,27 +81,30 @@ public void createEntities() { switch (c) { // Thêm grass case ' ': - _board.addTile(pos, new Grass(x, y, Sprite.grass)); + _board.getEntityManager().getTileManager().addTile(pos, new Grass(x, y, Sprite.grass)); break; // Thêm Wall case '#': - _board.addTile(pos, new Wall(x, y, Sprite.wall)); + _board.getEntityManager().getTileManager().addTile(pos, new Wall(x, y, Sprite.wall)); break; // Thêm Portal case 'x': - _board.addTile(pos, new LayeredEntity(x, y, - new Grass(x, y, Sprite.grass), - new Portal(x, y, _board, Sprite.portal), - new Brick(x, y, Sprite.brick))); + layeredEntity = new LayeredEntity( + x, y, + new Grass(x, y, Sprite.grass), + new Portal(x, y, _board, Sprite.portal), + new Brick(x, y, Sprite.brick) + ); + _board.getEntityManager().getTileManager().addTile(pos, layeredEntity); break; // Thêm brick case '*': - _board.addTile(x + y * _width, - new LayeredEntity(x, y, - new Grass(x, y, Sprite.grass), - new Brick(x, y, Sprite.brick) - ) + layeredEntity = new LayeredEntity( + x, y, + new Grass(x, y, Sprite.grass), + new Brick(x, y, Sprite.brick) ); + _board.getEntityManager().getTileManager().addTile(x + y * _width, layeredEntity); break; // Thêm Bomber player case 'p': @@ -110,68 +114,87 @@ public void createEntities() { Game.BOMBERSPEED, Game.BOMBRATE, Game.BOMBRADIUS, + _board.getEntityManager(), _board, - _board, + _board.getEntityManager().getBombManager(), _board ); - _board.addCharacter(bomber); - _board.setPlayer(bomber); + _board.getEntityManager().getCharacterManager().addCharacter(bomber); + _board.getEntityManager().getCharacterManager().setPlayer(bomber); Screen.setOffset(0, 0); - _board.addTile(x + y * _width, new Grass(x, y, Sprite.grass)); + _board.getEntityManager().getTileManager().addTile(x + y * _width, new Grass(x, y, Sprite.grass)); break; // Thêm balloon case '1': - enemy = new Balloon(Coordinates.tileToPixel(x), Coordinates.tileToPixel(y) + Game.TILES_SIZE, _board); - _board.addCharacter(enemy); - _board.addTile(x + y * _width, new Grass(x, y, Sprite.grass)); + enemy = new Balloon( + Coordinates.tileToPixel(x), + Coordinates.tileToPixel(y) + Game.TILES_SIZE, + _board.getEntityManager() + ); + _board.getEntityManager().getCharacterManager().addCharacter(enemy); + _board.getEntityManager().getTileManager().addTile(x + y * _width, new Grass(x, y, Sprite.grass)); agent = new MovingAgent(enemy, new AILow()); _board.addAgent(agent); break; // Thêm oneal case '2': - enemy = new Oneal(Coordinates.tileToPixel(x), Coordinates.tileToPixel(y) + Game.TILES_SIZE, _board); - _board.addCharacter(enemy); - _board.addTile(pos, new Grass(x, y, Sprite.grass)); + enemy = new Oneal( + Coordinates.tileToPixel(x), + Coordinates.tileToPixel(y) + Game.TILES_SIZE, + _board.getEntityManager() + ); + _board.getEntityManager().getCharacterManager().addCharacter(enemy); + _board.getEntityManager().getTileManager().addTile(pos, new Grass(x, y, Sprite.grass)); agent = new MovingAgent(enemy, new AILow()); _board.addAgent(agent); break; // Thêm doll case '3': - enemy = new Doll(Coordinates.tileToPixel(x), Coordinates.tileToPixel(y) + Game.TILES_SIZE, _board); - _board.addCharacter(enemy); - _board.addTile(x + y * _width, new Grass(x, y, Sprite.grass)); - agent = new MovingAgent(enemy, new AIMedium(enemy, _board)); + enemy = new Doll( + Coordinates.tileToPixel(x), + Coordinates.tileToPixel(y) + Game.TILES_SIZE, + _board.getEntityManager() + ); + _board.getEntityManager().getCharacterManager().addCharacter(enemy); + _board.getEntityManager().getTileManager().addTile(x + y * _width, new Grass(x, y, Sprite.grass)); + agent = new MovingAgent(enemy, new AIMedium(enemy, _board.getEntityManager().getCharacterManager())); _board.addAgent(agent); break; // Thêm oneal // Thêm BomItem case 'b': - LayeredEntity layer = new LayeredEntity(x, y, - new Grass(x, y, Sprite.grass), - new BombItem(x, y, Sprite.powerup_bombs), - new Brick(x, y, Sprite.brick)); - _board.addTile(pos, layer); + layeredEntity = new LayeredEntity( + x, y, + new Grass(x, y, Sprite.grass), + new BombItem(x, y, Sprite.powerup_bombs), + new Brick(x, y, Sprite.brick) + ); + _board.getEntityManager().getTileManager().addTile(pos, layeredEntity); break; // Thêm SpeedItem case 's': - layer = new LayeredEntity(x, y, - new Grass(x, y, Sprite.grass), - new SpeedItem(x, y, Sprite.powerup_speed), - new Brick(x, y, Sprite.brick)); - _board.addTile(pos, layer); + layeredEntity = new LayeredEntity( + x, y, + new Grass(x, y, Sprite.grass), + new SpeedItem(x, y, Sprite.powerup_speed), + new Brick(x, y, Sprite.brick) + ); + _board.getEntityManager().getTileManager().addTile(pos, layeredEntity); break; // Thêm FlameItem case 'f': - layer = new LayeredEntity(x, y, - new Grass(x, y, Sprite.grass), - new FlameItem(x, y, Sprite.powerup_flames), - new Brick(x, y, Sprite.brick)); - _board.addTile(pos, layer); + layeredEntity = new LayeredEntity( + x, y, + new Grass(x, y, Sprite.grass), + new FlameItem(x, y, Sprite.powerup_flames), + new Brick(x, y, Sprite.brick) + ); + _board.getEntityManager().getTileManager().addTile(pos, layeredEntity); break; default: - _board.addTile(pos, new Grass(x, y, Sprite.grass)); + _board.getEntityManager().getTileManager().addTile(pos, new Grass(x, y, Sprite.grass)); break; } diff --git a/src/uet/oop/bomberman/manager/BombManager.java b/src/uet/oop/bomberman/manager/BombManager.java new file mode 100644 index 0000000..096b63e --- /dev/null +++ b/src/uet/oop/bomberman/manager/BombManager.java @@ -0,0 +1,72 @@ +package uet.oop.bomberman.manager; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.stream.Collectors; + +import uet.oop.bomberman.base.IBombManager; +import uet.oop.bomberman.entities.bomb.Bomb; +import uet.oop.bomberman.entities.bomb.FlameSegment; +import uet.oop.bomberman.graphics.Screen; + +public class BombManager implements IBombManager { + + private List bombs = new ArrayList<>(); + + public BombManager() { + } + + @Override + public void addBomb(Bomb e) { + bombs.add(e); + } + + @Override + public List getBombs() { + return bombs; + } + + @Override + public Bomb getBombAt(double x, double y) { + Iterator bs = bombs.iterator(); + Bomb b; + while (bs.hasNext()) { + b = bs.next(); + if (b.getX() == (int) x && b.getY() == (int) y) + return b; + } + + return null; + } + + @Override + public FlameSegment getFlameSegmentAt(int x, int y) { + Iterator bs = bombs.iterator(); + Bomb b; + while (bs.hasNext()) { + b = bs.next(); + + FlameSegment e = b.flameAt(x, y); + if (e != null) { + return e; + } + } + + return null; + } + + @Override + public void update() { + bombs.forEach(Bomb::update); + bombs = bombs.stream() + .filter(bomb -> !bomb.isRemoved()) + .collect(Collectors.toList()); + } + + @Override + public void render(Screen screen) { + bombs.forEach(bomb -> bomb.render(screen)); + } + +} diff --git a/src/uet/oop/bomberman/manager/CharacterManager.java b/src/uet/oop/bomberman/manager/CharacterManager.java new file mode 100644 index 0000000..3d5bf6b --- /dev/null +++ b/src/uet/oop/bomberman/manager/CharacterManager.java @@ -0,0 +1,98 @@ +package uet.oop.bomberman.manager; + +import java.awt.Color; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.stream.Collectors; + +import uet.oop.bomberman.Game; +import uet.oop.bomberman.base.ICharacterManager; +import uet.oop.bomberman.base.IGameInfoManager; +import uet.oop.bomberman.entities.Message; +import uet.oop.bomberman.entities.character.Character; +import uet.oop.bomberman.graphics.Screen; +import uet.oop.bomberman.sound.Sound; + +public class CharacterManager implements ICharacterManager { + + private List characters = new ArrayList<>(); + private Character player; + + private final IGameInfoManager gameInfoManager; + + public CharacterManager(IGameInfoManager gameInfoManager) { + this.gameInfoManager = gameInfoManager; + } + + @Override + public Character getCharacterAtExcluding(int x, int y, Character a) { + Iterator itr = characters.iterator(); + + Character cur; + while (itr.hasNext()) { + cur = itr.next(); + if (cur == a) { + continue; + } + + if (cur.getXTile() == x && cur.getYTile() == y) { + return cur; + } + + } + + return null; + } + + @Override + public void addCharacter(Character e) { + characters.add(e); + } + + @Override + public void setPlayer(Character character) { + this.player = character; + } + + @Override + public Character getPlayer() { + return this.player; + } + + @Override + public void handleOnDeath(Character character, Character killer) { + if (character.isPlayer()) { + // TODO: handle player death + Sound.play("endgame3"); + } else { + // TODO: document how to calculate message coord + double messageX = (character.getX() * Game.SCALE) + (character.getSprite().SIZE / 2 * Game.SCALE); + double messageY = (character.getY() * Game.SCALE) - (character.getSprite().SIZE / 2 * Game.SCALE); + int points = character.getPoints(); + gameInfoManager.addPoints(points); + Message msg = new Message("+" + points, messageX, messageY, 2, Color.white, 14); + gameInfoManager.addMessage(msg); + Sound.play("AA126_11"); + } + } + + @Override + public void update() { + characters.forEach(Character::update); + characters = characters.stream() + .filter(character -> !character.isRemoved()) + .collect(Collectors.toList()); + } + + @Override + public void render(Screen screen) { + characters.forEach(character -> character.render(screen)); + } + + @Override + public List getCharacters() { + return characters; + } + +} diff --git a/src/uet/oop/bomberman/manager/EntityManager.java b/src/uet/oop/bomberman/manager/EntityManager.java new file mode 100644 index 0000000..31c041c --- /dev/null +++ b/src/uet/oop/bomberman/manager/EntityManager.java @@ -0,0 +1,101 @@ +package uet.oop.bomberman.manager; + +import uet.oop.bomberman.base.IBombManager; +import uet.oop.bomberman.base.ICharacterManager; +import uet.oop.bomberman.base.IEntityManager; +import uet.oop.bomberman.base.IGameInfoManager; +import uet.oop.bomberman.base.ITileManager; +import uet.oop.bomberman.entities.Entity; +import uet.oop.bomberman.entities.character.Character; +import uet.oop.bomberman.graphics.Screen; +import uet.oop.bomberman.level.LevelLoader; + +public class EntityManager implements IEntityManager { + + private ITileManager tileManager; + private ICharacterManager characterManager; + private IBombManager bombManager; + + private LevelLoader levelLoader; + + public EntityManager(LevelLoader levelLoader, IGameInfoManager gameInfoManager) { + this.levelLoader = levelLoader; + this.tileManager = new TileManager(levelLoader.getWidth(), levelLoader.getHeight()); + this.characterManager = new CharacterManager(gameInfoManager); + this.bombManager = new BombManager(); + } + + + @Override + public Entity getEntityAtExcluding(double x, double y, Character m) { + + Entity res = null; + + if (x < 0) return null; + if (y < 0) return null; + if (x >= levelLoader.getWidth()) return null; + if (y >= levelLoader.getHeight()) return null; + + res = bombManager.getFlameSegmentAt((int) x, (int) y); + if (res != null) + return res; + + res = bombManager.getBombAt(x, y); + if (res != null) + return res; + + res = characterManager.getCharacterAtExcluding((int) x, (int) y, m); + if (res != null) + return res; + + res = tileManager.getTileAt((int) x, (int) y); + + return res; + } + + @Override + public boolean isEnemyCleared() { + return !characterManager.getCharacters().stream() + .anyMatch(character -> character != characterManager.getPlayer()); + } + + + @Override + public void update() { + tileManager.update(); + characterManager.update(); + bombManager.update(); + } + + + @Override + public void render(Screen screen) { + tileManager.render(screen); + characterManager.render(screen); + bombManager.render(screen); + } + + @Override + public Character getPlayer() { + return characterManager.getPlayer(); + } + + + @Override + public ITileManager getTileManager() { + return tileManager; + } + + + @Override + public ICharacterManager getCharacterManager() { + return characterManager; + } + + + @Override + public IBombManager getBombManager() { + return bombManager; + } + +} diff --git a/src/uet/oop/bomberman/manager/TileManager.java b/src/uet/oop/bomberman/manager/TileManager.java new file mode 100644 index 0000000..5867774 --- /dev/null +++ b/src/uet/oop/bomberman/manager/TileManager.java @@ -0,0 +1,52 @@ +package uet.oop.bomberman.manager; + +import uet.oop.bomberman.Game; +import uet.oop.bomberman.base.ITileManager; +import uet.oop.bomberman.entities.tile.Tile; +import uet.oop.bomberman.graphics.Screen; + +public class TileManager implements ITileManager { + + private int width; + @SuppressWarnings("unused") private int height; + private final Tile[] tiles; + + public TileManager(int width, int height) { + this.width = width; + this.height = height; + tiles = new Tile[width * height]; + } + + @Override + public Tile getTileAt(double x, double y) { + return tiles[(int) x + (int) y * width]; + } + + @Override + public void addTile(int pos, Tile e) { + tiles[pos] = e; + } + + @Override + public void update() { + for (Tile tile: tiles) { + tile.update(); + } + } + + @Override + public void render(Screen screen) { + // only render the visible part of screen + int x0 = Screen.xOffset / Game.TILES_SIZE; // tile precision, -> left X + int x1 = (Screen.xOffset + screen.getWidth() + Game.TILES_SIZE) / Game.TILES_SIZE; // -> right X + int y0 = Screen.yOffset / Game.TILES_SIZE; + int y1 = (Screen.yOffset + screen.getHeight()) / Game.TILES_SIZE; // render one tile plus to fix black margins + + for (int y = y0; y < y1; y++) { + for (int x = x0; x < x1; x++) { + tiles[x + y * width].render(screen); + } + } + } + +} From 1585ee6f5601a95da4786076d8543a0ec2c480f1 Mon Sep 17 00:00:00 2001 From: Huy010302 <111289985+Huy010302@users.noreply.github.com> Date: Wed, 22 May 2024 23:21:24 +0700 Subject: [PATCH 46/93] fix move player 2 --- res/levels/Level1.txt | 2 +- res/levels/Level2.txt | 2 +- src/uet/oop/bomberman/Board.java | 73 ++++++++++++--- src/uet/oop/bomberman/entities/bomb/Bomb.java | 89 ++++++++++--------- src/uet/oop/bomberman/input/Keyboard.java | 28 ++++-- .../oop/bomberman/level/FileLevelLoader.java | 51 +++++++---- 6 files changed, 165 insertions(+), 80 deletions(-) diff --git a/res/levels/Level1.txt b/res/levels/Level1.txt index 6f00589..254063f 100644 --- a/res/levels/Level1.txt +++ b/res/levels/Level1.txt @@ -10,7 +10,7 @@ # # # # #*# # # #*#*# # # # # # #* ** * * # # #*# # # # # # #*# # # # # # # -# * * * # +#a * * * # ############################### diff --git a/res/levels/Level2.txt b/res/levels/Level2.txt index f76a558..b01dcf7 100644 --- a/res/levels/Level2.txt +++ b/res/levels/Level2.txt @@ -10,7 +10,7 @@ # # # # #*# # # # # # #*# #*# # # **** *1 # # # # # # # # # # #*# # # # #*# -# ** * * 3 # +#a ** * * 3 # ############################### diff --git a/src/uet/oop/bomberman/Board.java b/src/uet/oop/bomberman/Board.java index 08fcfd9..2cb6fd1 100644 --- a/src/uet/oop/bomberman/Board.java +++ b/src/uet/oop/bomberman/Board.java @@ -41,6 +41,7 @@ public class Board implements IRender, IEntityManager, IMessageManager, IGameInf private List _activeItems = new ArrayList<>(); private Character player; + private Character player2; @Override public List getActiveItems() { @@ -61,9 +62,9 @@ public Board(Game game, Keyboard input, Screen screen) { } private void snapCameraToPlayer() { - int xScroll = Screen.calculateXOffset(this, getPlayer()); - Screen.setOffset(xScroll, 0); - } + int xScroll = Screen.calculateXOffset(this, getPlayer()); + Screen.setOffset(xScroll, 0); + } @Override public void update() { @@ -79,6 +80,7 @@ public void update() { snapCameraToPlayer(); processPlayerInput(); + processPlayer2Input(); for (int i = 0; i < _characters.size(); i++) { Character a = _characters.get(i); @@ -89,24 +91,44 @@ public void update() { private void processPlayerInput() { Character player = getPlayer(); - if (!player.isAlive()) return; + if (!player.isAlive()) + return; processPlayerInputMove(player); if (player instanceof Bomber) { Bomber bomber = (Bomber) player; - if(_input.space) bomber.placeBomb(); + if (_input.player1_space) + bomber.placeBomb(); + } + } + + private void processPlayer2Input() { + Character player2 = getPlayer2(); + if (!player2.isAlive()) + return; + + processPlayer2InputMove(player2); + + if (player2 instanceof Bomber) { + Bomber bomber2 = (Bomber) player2; + if (_input.player2_space) + bomber2.placeBomb(); } } private void processPlayerInputMove(Character player) { int xa = 0, ya = 0; - if(_input.up) ya--; - if(_input.down) ya++; - if(_input.left) xa--; - if(_input.right) xa++; - - if(xa != 0 || ya != 0) { + if (_input.player1_up) + ya--; + if (_input.player1_down) + ya++; + if (_input.player1_left) + xa--; + if (_input.player1_right) + xa++; + + if (xa != 0 || ya != 0) { player.move(xa * player.getSpeed(), ya * player.getSpeed()); player.setMoving(true); } else { @@ -114,6 +136,25 @@ private void processPlayerInputMove(Character player) { } } + private void processPlayer2InputMove(Character player2) { + int xa = 0, ya = 0; + if (_input.player2_up) + ya--; + if (_input.player2_down) + ya++; + if (_input.player2_left) + xa--; + if (_input.player2_right) + xa++; + + if (xa != 0 || ya != 0) { + player2.move(xa * player2.getSpeed(), ya * player2.getSpeed()); + player2.setMoving(true); + } else { + player2.setMoving(false); + } + } + @Override public void render(Screen screen) { if (_game.isPaused()) @@ -173,7 +214,7 @@ public void endGame() { @Override public boolean isEnemyCleared() { return !_characters.stream() - .anyMatch(character -> character != getPlayer()); + .anyMatch(character -> character != getPlayer()); } public void drawScreen(Graphics g) { @@ -235,6 +276,10 @@ public Character getPlayer() { return this.player; } + public Character getPlayer2() { + return this.player2; + } + @Override public Character getCharacterAtExcluding(int x, int y, Character a) { Iterator itr = _characters.iterator(); @@ -433,6 +478,10 @@ public void setPlayer(Character character) { this.player = character; } + public void setPlayer2(Character character2) { + this.player2 = character2; + } + @Override public void handleOnDeath(Character character, Character killer) { if (character.isPlayer()) { diff --git a/src/uet/oop/bomberman/entities/bomb/Bomb.java b/src/uet/oop/bomberman/entities/bomb/Bomb.java index 8863a87..b2da0a2 100644 --- a/src/uet/oop/bomberman/entities/bomb/Bomb.java +++ b/src/uet/oop/bomberman/entities/bomb/Bomb.java @@ -10,18 +10,19 @@ import uet.oop.bomberman.entities.character.Character; import uet.oop.bomberman.level.Coordinates; import uet.oop.bomberman.sound.Sound; + public class Bomb extends AnimatedEntitiy { - protected double _timeToExplode = 120; //2 seconds - thoi gian phat no + protected double _timeToExplode = 120; // 2 seconds - thoi gian phat no public int _timeAfter = 20;// thoi gian de no - + protected IEntityManager _board; protected Flame[] _flames; protected boolean _exploded = false; protected boolean _allowedToPassThru = true; private final int bombRadius; - + public Bomb(int x, int y, int bombRadius, IEntityManager board) { _x = x; _y = y; @@ -29,89 +30,94 @@ public Bomb(int x, int y, int bombRadius, IEntityManager board) { _sprite = Sprite.bomb; this.bombRadius = bombRadius; } - + @Override public void update() { - if(_timeToExplode > 0) + if (_timeToExplode > 0) _timeToExplode--; else { - if(!_exploded) + if (!_exploded) explode(); else updateFlames(); - - if(_timeAfter > 0) + + if (_timeAfter > 0) _timeAfter--; else remove(); } - + animate(); } - + @Override public void render(Screen screen) { - if(_exploded) { - _sprite = Sprite.bomb_exploded2; + if (_exploded) { + _sprite = Sprite.bomb_exploded2; renderFlames(screen); } else _sprite = Sprite.movingSprite(Sprite.bomb, Sprite.bomb_1, Sprite.bomb_2, _animate, Game.TICKS_PER_SECOND); - - int xt = (int)_x << 4; - int yt = (int)_y << 4; - - screen.renderEntity(xt, yt , this); + + int xt = (int) _x << 4; + int yt = (int) _y << 4; + + screen.renderEntity(xt, yt, this); } - + public void renderFlames(Screen screen) { for (int i = 0; i < _flames.length; i++) { _flames[i].render(screen); } } - + public void updateFlames() { for (int i = 0; i < _flames.length; i++) { _flames[i].update(); } } - /** - * Xử lý Bomb nổ - */ - protected void explode() {//nổ + /** + * Xử lý Bomb nổ + */ + protected void explode() {// nổ _exploded = true; _allowedToPassThru = true; // TODO: xử lý khi Character đứng tại vị trí Bomb - Character x = _board.getCharacterAtExcluding((int)_x, (int)_y, null); - if(x != null){ + Character x = _board.getCharacterAtExcluding((int) _x, (int) _y, null); + if (x != null) { x.handleOnDeath(); } // TODO: tạo các Flame - _flames = new Flame[4]; - for (int i = 0; i < _flames.length; i++) { - _flames[i] = new Flame((int) _x, (int) _y, i, bombRadius, _board); - } - Sound.play("BOM_11_M"); + _flames = new Flame[4]; + for (int i = 0; i < _flames.length; i++) { + _flames[i] = new Flame((int) _x, (int) _y, i, bombRadius, _board); + } + Sound.play("BOM_11_M"); } + public void handleChainExplode() { _timeToExplode = 0; } + public FlameSegment flameAt(int x, int y) { - if(!_exploded) return null; - + if (!_exploded) + return null; + for (int i = 0; i < _flames.length; i++) { - if(_flames[i] == null) return null; + if (_flames[i] == null) + return null; FlameSegment e = _flames[i].flameSegmentAt(x, y); - if(e != null) return e; + if (e != null) + return e; } - + return null; } @Override public boolean collide(Entity e) { // Xử lý va chạm với Flame của Bomb khác: chain explosion - if(e instanceof Flame) { + if (e instanceof Flame) { handleChainExplode(); return true; } @@ -120,15 +126,16 @@ public boolean collide(Entity e) { @Override public boolean canBePassedThroughBy(Entity other) { - // Xử lý khi Bomber đi ra sau khi vừa đặt bom (_allowedToPassThru) - if(other instanceof Bomber) { + // Xử lý khi Bomber đi ra sau khi vừa đặt bom (_allowedToPassThru) + if (other instanceof Bomber) { double diffX = other.getX() - Coordinates.tileToPixel(getX()); double diffY = other.getY() - Coordinates.tileToPixel(getY()); - - if(!(diffX >= -10 && diffX < 16 && diffY >= 1 && diffY <= 28)) { // differences to see if the player has moved out of the bomb, tested values + + if (!(diffX >= -10 && diffX < 16 && diffY >= 1 && diffY <= 28)) { // differences to see if the player has + // moved out of the bomb, tested values _allowedToPassThru = false; } - + return _allowedToPassThru; } diff --git a/src/uet/oop/bomberman/input/Keyboard.java b/src/uet/oop/bomberman/input/Keyboard.java index f1828aa..ac42490 100644 --- a/src/uet/oop/bomberman/input/Keyboard.java +++ b/src/uet/oop/bomberman/input/Keyboard.java @@ -14,17 +14,32 @@ public class Keyboard implements KeyListener { public interface KeyboardInputCallback { void onKeyPressed(EGameControl gameControl); } - - private boolean[] keys = new boolean[120]; //120 is enough to this game - public boolean up, down, left, right, space,pause,resume; + + private boolean[] keys = new boolean[65536]; + public boolean up, down, left, right, space, pause, resume; + public boolean player1_up, player2_up, player1_down, player2_down, player1_left, player2_left, player1_right, + player2_right, player1_space, player2_space; public Optional keyboardInputCallback; - + public void update() { up = keys[KeyEvent.VK_UP] || keys[KeyEvent.VK_W]; down = keys[KeyEvent.VK_DOWN] || keys[KeyEvent.VK_S]; left = keys[KeyEvent.VK_LEFT] || keys[KeyEvent.VK_A]; right = keys[KeyEvent.VK_RIGHT] || keys[KeyEvent.VK_D]; space = keys[KeyEvent.VK_SPACE] || keys[KeyEvent.VK_X]; + + player1_up = keys[KeyEvent.VK_UP]; + player1_down = keys[KeyEvent.VK_DOWN]; + player1_left = keys[KeyEvent.VK_LEFT]; + player1_right = keys[KeyEvent.VK_RIGHT]; + player1_space = keys[KeyEvent.VK_SPACE]; + + player2_up = keys[KeyEvent.VK_W]; + player2_down = keys[KeyEvent.VK_S]; + player2_left = keys[KeyEvent.VK_A]; + player2_right = keys[KeyEvent.VK_D]; + player2_space = keys[KeyEvent.VK_X]; + pause = keys[KeyEvent.VK_ESCAPE]; resume = keys[KeyEvent.VK_ENTER]; } @@ -58,7 +73,8 @@ private EGameControl keyToGameControl(int keyCode) { } @Override - public void keyTyped(KeyEvent e) {} + public void keyTyped(KeyEvent e) { + } @Override public void keyPressed(KeyEvent e) { @@ -73,7 +89,7 @@ public void keyPressed(KeyEvent e) { @Override public void keyReleased(KeyEvent e) { keys[e.getKeyCode()] = false; - + } } diff --git a/src/uet/oop/bomberman/level/FileLevelLoader.java b/src/uet/oop/bomberman/level/FileLevelLoader.java index c14974f..da2285c 100644 --- a/src/uet/oop/bomberman/level/FileLevelLoader.java +++ b/src/uet/oop/bomberman/level/FileLevelLoader.java @@ -40,13 +40,13 @@ public void loadLevel(int level) { // TODO: cập nhật các giá trị đọc được vào _width, _height, _level, _map List list = new ArrayList<>(); try { - FileReader fr = new FileReader("res/levels/Level" + level + ".txt");//doc tep luu map + FileReader fr = new FileReader("res/levels/Level" + level + ".txt");// doc tep luu map BufferedReader br = new BufferedReader(fr); String line = br.readLine(); while (!line.equals("")) { list.add(line); line = br.readLine(); - //doc file txt luu vao list + // doc file txt luu vao list } } catch (Exception e) { e.printStackTrace(); @@ -61,7 +61,7 @@ public void loadLevel(int level) { _map[i][j] = list.get(i + 1).charAt(j); } } - //gan cac phan tu cho mang + // gan cac phan tu cho mang } @Override @@ -96,44 +96,57 @@ public void createEntities() { _board.addEntity(x + y * _width, new LayeredEntity(x, y, new Grass(x, y, Sprite.grass), - new Brick(x, y, Sprite.brick) - ) - ); + new Brick(x, y, Sprite.brick))); break; // Thêm Bomber player case 'p': Bomber bomber = new Bomber( - Coordinates.tileToPixel(x), - Coordinates.tileToPixel(y) + Game.TILES_SIZE, - Game.BOMBERSPEED, - Game.BOMBRATE, - Game.BOMBRADIUS, - _board, - _board - ); + Coordinates.tileToPixel(x), + Coordinates.tileToPixel(y) + Game.TILES_SIZE, + Game.BOMBERSPEED, + Game.BOMBRATE, + Game.BOMBRADIUS, + _board, + _board); _board.addCharacter(bomber); _board.setPlayer(bomber); Screen.setOffset(0, 0); _board.addEntity(x + y * _width, new Grass(x, y, Sprite.grass)); break; - + case 'a': + Bomber bomber2 = new Bomber( + Coordinates.tileToPixel(x), + Coordinates.tileToPixel(y) + Game.TILES_SIZE, + Game.BOMBERSPEED, + Game.BOMBRATE, + Game.BOMBRADIUS, + _board, + _board); + _board.addCharacter(bomber2); + _board.setPlayer2(bomber2); + Screen.setOffset(0, 0); + _board.addEntity(x + y * _width, new Grass(x, y, Sprite.grass)); + break; // Thêm balloon case '1': - _board.addCharacter(new Balloon(Coordinates.tileToPixel(x), Coordinates.tileToPixel(y) + Game.TILES_SIZE, _board)); + _board.addCharacter(new Balloon(Coordinates.tileToPixel(x), + Coordinates.tileToPixel(y) + Game.TILES_SIZE, _board)); _board.addEntity(x + y * _width, new Grass(x, y, Sprite.grass)); break; // Thêm oneal case '2': - _board.addCharacter(new Oneal(Coordinates.tileToPixel(x), Coordinates.tileToPixel(y) + Game.TILES_SIZE, _board)); + _board.addCharacter(new Oneal(Coordinates.tileToPixel(x), + Coordinates.tileToPixel(y) + Game.TILES_SIZE, _board)); _board.addEntity(pos, new Grass(x, y, Sprite.grass)); break; // Thêm doll case '3': - _board.addCharacter(new Doll(Coordinates.tileToPixel(x), Coordinates.tileToPixel(y) + Game.TILES_SIZE, _board)); + _board.addCharacter(new Doll(Coordinates.tileToPixel(x), + Coordinates.tileToPixel(y) + Game.TILES_SIZE, _board)); _board.addEntity(x + y * _width, new Grass(x, y, Sprite.grass)); break; // Thêm oneal - // Thêm BomItem + // Thêm BomItem case 'b': LayeredEntity layer = new LayeredEntity(x, y, new Grass(x, y, Sprite.grass), From 5a9950b3e5ac49383d6ca08c26040ee380e3d757 Mon Sep 17 00:00:00 2001 From: phuonnngminh Date: Wed, 22 May 2024 18:51:18 +0000 Subject: [PATCH 47/93] split Board into GameInfoManager --- src/uet/oop/bomberman/Board.java | 117 +++------------ src/uet/oop/bomberman/Game.java | 27 ++-- .../oop/bomberman/base/IGameInfoManager.java | 14 +- .../bomberman/entities/character/Bomber.java | 1 - .../entities/character/enemy/Minvo.java | 1 - src/uet/oop/bomberman/gui/Frame.java | 2 +- .../oop/bomberman/level/FileLevelLoader.java | 2 +- .../bomberman/manager/GameInfoManager.java | 138 ++++++++++++++++++ 8 files changed, 182 insertions(+), 120 deletions(-) create mode 100644 src/uet/oop/bomberman/manager/GameInfoManager.java diff --git a/src/uet/oop/bomberman/Board.java b/src/uet/oop/bomberman/Board.java index 3241c88..30f8239 100644 --- a/src/uet/oop/bomberman/Board.java +++ b/src/uet/oop/bomberman/Board.java @@ -4,15 +4,12 @@ import uet.oop.bomberman.base.Copyable; import uet.oop.bomberman.base.IEntityManager; import uet.oop.bomberman.base.IGameInfoManager; -import uet.oop.bomberman.entities.Message; import uet.oop.bomberman.entities.character.Bomber; -import uet.oop.bomberman.entities.character.CanUseItem; import uet.oop.bomberman.entities.character.Character; import uet.oop.bomberman.entities.character.action.Action; import uet.oop.bomberman.entities.character.action.ActionConstants; import uet.oop.bomberman.entities.character.action.ActionMove; import uet.oop.bomberman.entities.character.exceptions.CharacterActionException; -import uet.oop.bomberman.entities.tile.item.Item; import uet.oop.bomberman.exceptions.LoadLevelException; import uet.oop.bomberman.graphics.IRender; import uet.oop.bomberman.graphics.Screen; @@ -20,41 +17,29 @@ import uet.oop.bomberman.level.FileLevelLoader; import uet.oop.bomberman.level.LevelLoader; import uet.oop.bomberman.manager.EntityManager; +import uet.oop.bomberman.manager.GameInfoManager; import uet.oop.bomberman.utils.Global; import java.awt.*; import java.util.ArrayList; -import java.util.Iterator; import java.util.List; -import java.util.stream.Collectors; /** * Quản lý thao tác điều khiển, load level, render các màn hình của game */ -public class Board implements Copyable, IRender, IGameInfoManager { +public class Board implements Copyable, IRender { protected LevelLoader _levelLoader; protected Game _game; protected Keyboard _input; protected Screen _screen; - private List _messages = new ArrayList<>(); - private List _activeItems = new ArrayList<>(); private List agents = new ArrayList<>(); - private EntityManager entityManager; - - @Override - public List getPlayerActiveItems() { - Character player = entityManager.getPlayer(); - if (!(player instanceof CanUseItem)) return new ArrayList<>(); - return ((CanUseItem)player).getActiveItems().collect(Collectors.toList()); - } + private IEntityManager entityManager; + private IGameInfoManager gameInfoManager; private int _screenToShow = -1; // 1:endgame, 2:changelevel, 3:paused - private int _time = Game.TIME; - private int _points = Game.POINTS; - public Board(Game game, Keyboard input, Screen screen) { _game = game; _input = input; @@ -70,12 +55,11 @@ private void snapCameraToPlayer() { @Override public void update() { - if (_game.isPaused()) + if (gameInfoManager.isPaused()) return; entityManager.update(); - updateMessages(); - updateActiveItems(); + gameInfoManager.update(); detectEndGame(); processAgentAction(); @@ -129,7 +113,7 @@ private void processPlayerInputMove(Character player) { @Override public void render(Screen screen) { - if (_game.isPaused()) + if (gameInfoManager.isPaused()) return; entityManager.render(screen); } @@ -139,14 +123,15 @@ public void nextLevel() { } public void loadLevel(int level) { - _time = Game.TIME; _screenToShow = 2; _game.resetScreenDelay(); - _game.pause(); try { _levelLoader = new FileLevelLoader(this, level); - entityManager = new EntityManager(_levelLoader, this); + gameInfoManager = new GameInfoManager(); + entityManager = new EntityManager(_levelLoader, gameInfoManager); + gameInfoManager.setEntityManager(entityManager); + gameInfoManager.pause(); _levelLoader.createEntities(); } catch (LoadLevelException e) { @@ -155,20 +140,21 @@ public void loadLevel(int level) { } protected void detectEndGame() { - if (_time <= 0) + if (gameInfoManager.getTime() <= 0) { endGame(); + } } public void endGame() { _screenToShow = 1; _game.resetScreenDelay(); - _game.pause(); + gameInfoManager.pause(); } public void drawScreen(Graphics g) { switch (_screenToShow) { case 1: - _screen.drawEndGame(g, _points); + _screen.drawEndGame(g, gameInfoManager.getPoints()); break; case 2: _screen.drawChangeLevel(g, _levelLoader.getLevel()); @@ -179,60 +165,6 @@ public void drawScreen(Graphics g) { } } - @Override - public void addActiveItem(Item item) { - _activeItems.add(item); - } - - @Override - public void addMessage(Message e) { - _messages.add(e); - } - - public void renderMessages(Graphics g) { - Message m; - for (int i = 0; i < _messages.size(); i++) { - m = _messages.get(i); - - g.setFont(new Font("Arial", Font.PLAIN, m.getSize())); - g.setColor(m.getColor()); - g.drawString(m.getMessage(), (int) m.getX() - Screen.xOffset * Game.SCALE, (int) m.getY()); - } - } - - protected void updateActiveItems() { - if (_game.isPaused()) - return; - Iterator itr = _activeItems.iterator(); - - while (itr.hasNext()) - itr.next().update(); - } - - protected void updateMessages() { - if (_game.isPaused()) - return; - Message m; - int left; - for (int i = 0; i < _messages.size(); i++) { - m = _messages.get(i); - left = m.getDuration(); - - if (left > 0) - m.setDuration(--left); - else - _messages.remove(i); - } - } - - @Override - public int subtractTime() { - if (!_game.isPaused() && _time > 0) - return --_time; - else - return _time; - } - public Keyboard getInput() { return _input; } @@ -253,21 +185,6 @@ public void setShow(int i) { _screenToShow = i; } - @Override - public int getTime() { - return _time; - } - - @Override - public int getPoints() { - return _points; - } - - @Override - public void addPoints(int points) { - this._points += points; - } - public int getWidth() { return _levelLoader.getWidth(); } @@ -280,6 +197,10 @@ public IEntityManager getEntityManager() { return entityManager; } + public IGameInfoManager getGameInfoManager() { + return gameInfoManager; + } + @Override public Board copy() { // TODO Auto-generated method stub diff --git a/src/uet/oop/bomberman/Game.java b/src/uet/oop/bomberman/Game.java index 61bc077..0320ef8 100644 --- a/src/uet/oop/bomberman/Game.java +++ b/src/uet/oop/bomberman/Game.java @@ -42,7 +42,6 @@ public class Game extends Canvas { private Keyboard _input; private boolean _running = false; - private boolean _paused = true; private Board _board; private Screen screen; private Frame _frame; @@ -84,7 +83,7 @@ private void renderGame(Graphics g) { } g.drawImage(image, 0, 0, getWidth(), getHeight(), null); - _board.renderMessages(g); + _board.getGameInfoManager().render(screen, g); } private void renderScreen(Graphics g) { @@ -106,7 +105,7 @@ private void update() { _board.update(); if (_input.pause) { // Kiểm tra nếu phím "p" được nhấn _board.setShow(3); // Hiển thị màn hình tạm dừng - _paused = true; // Đặt trạng thái game là tạm dừng + _board.getGameInfoManager().pause(); // Đặt trạng thái game là tạm dừng return; } break; @@ -128,12 +127,13 @@ private void showScreen() { } Graphics g = bs.getDrawGraphics(); + IGameInfoManager gameInfoManager = _board.getGameInfoManager(); switch (Global.currentScreen) { case GAME_PLAY_SCREEN: - if (_paused) { + if (gameInfoManager.isPaused()) { if (_screenDelay <= 0) { _board.setShow(-1); - _paused = false; + gameInfoManager.unpause(); } renderScreen(g); @@ -142,13 +142,13 @@ private void showScreen() { } if (_input.resume) { - _paused = false; + gameInfoManager.unpause(); _board.setShow(-1); - } + } frames++; if (System.currentTimeMillis() - timer > 1000) { - _frame.setTime(_board.subtractTime()); - _frame.setPoints(_board.getPoints()); + _frame.setTime(gameInfoManager.subtractTime()); + _frame.setPoints(gameInfoManager.getPoints()); _frame.renderItemTime(); timer += 1000; _frame.setTitle(TITLE + " | " + updates + " rate, " + frames + " fps"); @@ -208,15 +208,8 @@ public void start() { public void resetScreenDelay() { _screenDelay = SCREENDELAY; } - public boolean isPaused() { - return _paused; - } - - public void pause() { - _paused = !_paused; - } - public IGameInfoManager getGameInfoManager() { + public Board getBoard() { return _board; } diff --git a/src/uet/oop/bomberman/base/IGameInfoManager.java b/src/uet/oop/bomberman/base/IGameInfoManager.java index f4958ea..4d94660 100644 --- a/src/uet/oop/bomberman/base/IGameInfoManager.java +++ b/src/uet/oop/bomberman/base/IGameInfoManager.java @@ -1,6 +1,11 @@ package uet.oop.bomberman.base; -public interface IGameInfoManager extends IActiveItemManager, IMessageManager { +import java.awt.Graphics; + +import uet.oop.bomberman.graphics.IRender; +import uet.oop.bomberman.graphics.Screen; + +public interface IGameInfoManager extends IActiveItemManager, IMessageManager, IRender { public int subtractTime(); public int getTime(); @@ -8,4 +13,11 @@ public interface IGameInfoManager extends IActiveItemManager, IMessageManager { public int getPoints(); public void addPoints(int points); + public boolean isPaused(); + public void pause(); + public void unpause(); + + public void setEntityManager(IEntityManager entityManager); + public void render(Screen screen, Graphics g); + } \ No newline at end of file diff --git a/src/uet/oop/bomberman/entities/character/Bomber.java b/src/uet/oop/bomberman/entities/character/Bomber.java index af20df3..a01489a 100644 --- a/src/uet/oop/bomberman/entities/character/Bomber.java +++ b/src/uet/oop/bomberman/entities/character/Bomber.java @@ -17,7 +17,6 @@ import uet.oop.bomberman.graphics.Screen; import uet.oop.bomberman.graphics.Sprite; -import java.util.Iterator; import java.util.List; import java.util.stream.Collectors; import java.util.stream.Stream; diff --git a/src/uet/oop/bomberman/entities/character/enemy/Minvo.java b/src/uet/oop/bomberman/entities/character/enemy/Minvo.java index f86b34d..74ff675 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/Minvo.java +++ b/src/uet/oop/bomberman/entities/character/enemy/Minvo.java @@ -1,6 +1,5 @@ package uet.oop.bomberman.entities.character.enemy; -import uet.oop.bomberman.Board; import uet.oop.bomberman.Game; import uet.oop.bomberman.base.IEntityManager; import uet.oop.bomberman.graphics.Sprite; diff --git a/src/uet/oop/bomberman/gui/Frame.java b/src/uet/oop/bomberman/gui/Frame.java index 99a635b..92f172f 100644 --- a/src/uet/oop/bomberman/gui/Frame.java +++ b/src/uet/oop/bomberman/gui/Frame.java @@ -20,7 +20,7 @@ public Frame() { _containerpane = new JPanel(new BorderLayout()); _gamepane = new GamePanel(this); - _infopanel = new InfoPanel(_gamepane.getGame().getGameInfoManager()); + _infopanel = new InfoPanel(_gamepane.getGame().getBoard().getGameInfoManager()); _containerpane.add(_infopanel, BorderLayout.PAGE_START); _containerpane.add(_gamepane, BorderLayout.PAGE_END); diff --git a/src/uet/oop/bomberman/level/FileLevelLoader.java b/src/uet/oop/bomberman/level/FileLevelLoader.java index 4716c70..dfbf7d0 100644 --- a/src/uet/oop/bomberman/level/FileLevelLoader.java +++ b/src/uet/oop/bomberman/level/FileLevelLoader.java @@ -115,7 +115,7 @@ public void createEntities() { Game.BOMBRATE, Game.BOMBRADIUS, _board.getEntityManager(), - _board, + _board.getGameInfoManager(), _board.getEntityManager().getBombManager(), _board ); diff --git a/src/uet/oop/bomberman/manager/GameInfoManager.java b/src/uet/oop/bomberman/manager/GameInfoManager.java new file mode 100644 index 0000000..47101c9 --- /dev/null +++ b/src/uet/oop/bomberman/manager/GameInfoManager.java @@ -0,0 +1,138 @@ +package uet.oop.bomberman.manager; + +import java.awt.Font; +import java.awt.Graphics; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.stream.Collectors; + +import uet.oop.bomberman.Game; +import uet.oop.bomberman.base.IEntityManager; +import uet.oop.bomberman.base.IGameInfoManager; +import uet.oop.bomberman.entities.Message; +import uet.oop.bomberman.entities.character.CanUseItem; +import uet.oop.bomberman.entities.character.Character; +import uet.oop.bomberman.entities.tile.item.Item; +import uet.oop.bomberman.graphics.Screen; + +public class GameInfoManager implements IGameInfoManager { + + private int time; + private int points; + private boolean paused; + private List messages = new ArrayList<>(); + private List activeItems = new ArrayList<>(); + + private IEntityManager entityManager; + + public GameInfoManager() { + this.time = Game.TIME; + this.points = Game.POINTS; + } + + public void setEntityManager(IEntityManager entityManager) { + this.entityManager = entityManager; + } + + @Override + public List getPlayerActiveItems() { + Character player = entityManager.getPlayer(); + if (!(player instanceof CanUseItem)) return new ArrayList<>(); + return ((CanUseItem)player).getActiveItems().collect(Collectors.toList()); + } + + @Override + public void addActiveItem(Item item) { + activeItems.add(item); + } + + @Override + public void addMessage(Message e) { + messages.add(e); + } + + @Override + public int subtractTime() { + if (!isPaused() && time > 0) + return --time; + else + return time; + } + + @Override + public int getTime() { + return time; + } + + @Override + public int getPoints() { + return points; + } + + @Override + public void addPoints(int points) { + this.points += points; + } + + @Override + public void update() { + updateActiveItems(); + updateMessages(); + } + + @Override + public void render(Screen screen) {} + + private void updateActiveItems() { + Iterator itr = activeItems.iterator(); + + while (itr.hasNext()) + itr.next().update(); + } + + private void updateMessages() { + Message m; + int left; + for (int i = 0; i < messages.size(); i++) { + m = messages.get(i); + left = m.getDuration(); + + if (left > 0) + m.setDuration(--left); + else + messages.remove(i); + } + } + + public void render(Screen screen, Graphics g) { + renderMessages(g); + } + + public void renderMessages(Graphics g) { + Message m; + for (int i = 0; i < messages.size(); i++) { + m = messages.get(i); + + g.setFont(new Font("Arial", Font.PLAIN, m.getSize())); + g.setColor(m.getColor()); + g.drawString(m.getMessage(), (int) m.getX() - Screen.xOffset * Game.SCALE, (int) m.getY()); + } + } + + @Override + public boolean isPaused() { + return paused; + } + + @Override + public void pause() { + paused = true; + } + + @Override + public void unpause() { + paused = false; + } + +} From 42e071b396cdad3f49a273188d64ca225e493b70 Mon Sep 17 00:00:00 2001 From: phuonnngminh Date: Thu, 23 May 2024 16:26:05 +0000 Subject: [PATCH 48/93] implement KeyboardAgent --- src/uet/oop/bomberman/Board.java | 39 ++------------- src/uet/oop/bomberman/agent/Agent.java | 2 +- src/uet/oop/bomberman/agent/IAgent.java | 4 +- .../oop/bomberman/agent/KeyboardAgent.java | 49 +++++++++++++++++++ src/uet/oop/bomberman/agent/MovingAgent.java | 11 ++++- .../oop/bomberman/level/FileLevelLoader.java | 3 ++ 6 files changed, 69 insertions(+), 39 deletions(-) create mode 100644 src/uet/oop/bomberman/agent/KeyboardAgent.java diff --git a/src/uet/oop/bomberman/Board.java b/src/uet/oop/bomberman/Board.java index 30f8239..3b971d2 100644 --- a/src/uet/oop/bomberman/Board.java +++ b/src/uet/oop/bomberman/Board.java @@ -4,11 +4,7 @@ import uet.oop.bomberman.base.Copyable; import uet.oop.bomberman.base.IEntityManager; import uet.oop.bomberman.base.IGameInfoManager; -import uet.oop.bomberman.entities.character.Bomber; -import uet.oop.bomberman.entities.character.Character; import uet.oop.bomberman.entities.character.action.Action; -import uet.oop.bomberman.entities.character.action.ActionConstants; -import uet.oop.bomberman.entities.character.action.ActionMove; import uet.oop.bomberman.entities.character.exceptions.CharacterActionException; import uet.oop.bomberman.exceptions.LoadLevelException; import uet.oop.bomberman.graphics.IRender; @@ -65,7 +61,6 @@ public void update() { processAgentAction(); snapCameraToPlayer(); - processPlayerInput(); } public void addAgent(Agent agent) { @@ -74,43 +69,15 @@ public void addAgent(Agent agent) { private void processAgentAction() { for (Agent agent: agents) { - Action action = agent.getNextAction(); - try { - agent.getCharacter().performAction(action); - } catch (CharacterActionException ignored) {} - } - } - - private void processPlayerInput() { - Character player = entityManager.getPlayer(); - if (!player.isAlive()) return; - - processPlayerInputMove(player); - - if (player instanceof Bomber) { - if(_input.space) { + List actions = agent.getNextActions(); + for (Action action: actions) { try { - player.performAction(ActionConstants.PLACE_BOMB); + agent.getCharacter().performAction(action); } catch (CharacterActionException ignored) {} } } } - private void processPlayerInputMove(Character player) { - int xa = 0, ya = 0; - if(_input.up) ya--; - if(_input.down) ya++; - if(_input.left) xa--; - if(_input.right) xa++; - - if(xa != 0 || ya != 0) { - ActionMove actionMove = new ActionMove(xa, ya); - try { - player.performAction(actionMove); - } catch (CharacterActionException ignored) {} - } - } - @Override public void render(Screen screen) { if (gameInfoManager.isPaused()) diff --git a/src/uet/oop/bomberman/agent/Agent.java b/src/uet/oop/bomberman/agent/Agent.java index b0cb681..9bad770 100644 --- a/src/uet/oop/bomberman/agent/Agent.java +++ b/src/uet/oop/bomberman/agent/Agent.java @@ -4,7 +4,7 @@ public abstract class Agent implements IAgent { - private Character character; + protected Character character; public Agent(Character character) { this.character = character; diff --git a/src/uet/oop/bomberman/agent/IAgent.java b/src/uet/oop/bomberman/agent/IAgent.java index be1bb34..8f5ffd2 100644 --- a/src/uet/oop/bomberman/agent/IAgent.java +++ b/src/uet/oop/bomberman/agent/IAgent.java @@ -1,9 +1,11 @@ package uet.oop.bomberman.agent; +import java.util.List; + import uet.oop.bomberman.entities.character.action.Action; public interface IAgent { - public Action getNextAction(); + public List getNextActions(); } diff --git a/src/uet/oop/bomberman/agent/KeyboardAgent.java b/src/uet/oop/bomberman/agent/KeyboardAgent.java new file mode 100644 index 0000000..864469d --- /dev/null +++ b/src/uet/oop/bomberman/agent/KeyboardAgent.java @@ -0,0 +1,49 @@ +package uet.oop.bomberman.agent; + +import java.util.ArrayList; +import java.util.List; + +import uet.oop.bomberman.entities.character.Bomber; +import uet.oop.bomberman.entities.character.Character; +import uet.oop.bomberman.entities.character.action.Action; +import uet.oop.bomberman.entities.character.action.ActionConstants; +import uet.oop.bomberman.entities.character.action.ActionMove; +import uet.oop.bomberman.input.Keyboard; + +public class KeyboardAgent extends Agent { + + private Keyboard keyboard; + + public KeyboardAgent(Character character, Keyboard keyboard) { + super(character); + this.keyboard = keyboard; + } + + @Override + public List getNextActions() { + List actions = getMoveActions(); + + if (character instanceof Bomber) { + if(keyboard.space) { + actions.add(ActionConstants.PLACE_BOMB); + } + } + return actions; + } + + private List getMoveActions() { + int xa = 0, ya = 0; + if(keyboard.up) ya--; + if(keyboard.down) ya++; + if(keyboard.left) xa--; + if(keyboard.right) xa++; + + List actions = new ArrayList<>(); + if(xa != 0 || ya != 0) { + ActionMove actionMove = new ActionMove(xa, ya); + actions.add(actionMove); + } + return actions; + } + +} diff --git a/src/uet/oop/bomberman/agent/MovingAgent.java b/src/uet/oop/bomberman/agent/MovingAgent.java index 22de0b5..0f4e6c2 100644 --- a/src/uet/oop/bomberman/agent/MovingAgent.java +++ b/src/uet/oop/bomberman/agent/MovingAgent.java @@ -1,5 +1,8 @@ package uet.oop.bomberman.agent; +import java.util.ArrayList; +import java.util.List; + import uet.oop.bomberman.entities.character.Character; import uet.oop.bomberman.entities.character.action.Action; import uet.oop.bomberman.entities.character.action.ActionConstants; @@ -14,7 +17,6 @@ public MovingAgent(Character character, AI ai) { this.ai = ai; } - @Override public Action getNextAction() { int direction = ai.calculateDirection(); switch (direction) { @@ -30,5 +32,12 @@ public Action getNextAction() { return ActionConstants.DO_NOTHING; } } + + @Override + public List getNextActions() { + List actions = new ArrayList<>(); + actions.add(getNextAction()); + return actions; + } } diff --git a/src/uet/oop/bomberman/level/FileLevelLoader.java b/src/uet/oop/bomberman/level/FileLevelLoader.java index dfbf7d0..988c31d 100644 --- a/src/uet/oop/bomberman/level/FileLevelLoader.java +++ b/src/uet/oop/bomberman/level/FileLevelLoader.java @@ -7,6 +7,7 @@ import uet.oop.bomberman.Board; import uet.oop.bomberman.Game; import uet.oop.bomberman.agent.Agent; +import uet.oop.bomberman.agent.KeyboardAgent; import uet.oop.bomberman.agent.MovingAgent; import uet.oop.bomberman.entities.LayeredEntity; import uet.oop.bomberman.entities.character.Bomber; @@ -123,6 +124,8 @@ public void createEntities() { _board.getEntityManager().getCharacterManager().setPlayer(bomber); Screen.setOffset(0, 0); _board.getEntityManager().getTileManager().addTile(x + y * _width, new Grass(x, y, Sprite.grass)); + agent = new KeyboardAgent(bomber, _board.getInput()); + _board.addAgent(agent); break; // Thêm balloon From 12c350ca7b1a06807f2fdeef9c7803cd352d6fab Mon Sep 17 00:00:00 2001 From: phuonnngminh Date: Fri, 24 May 2024 09:22:26 +0000 Subject: [PATCH 49/93] change Keyboard to singleton --- src/uet/oop/bomberman/Board.java | 9 +-------- src/uet/oop/bomberman/Game.java | 16 +++++++--------- src/uet/oop/bomberman/agent/KeyboardAgent.java | 15 ++++++--------- src/uet/oop/bomberman/input/Keyboard.java | 9 +++++++++ src/uet/oop/bomberman/level/FileLevelLoader.java | 2 +- 5 files changed, 24 insertions(+), 27 deletions(-) diff --git a/src/uet/oop/bomberman/Board.java b/src/uet/oop/bomberman/Board.java index 3b971d2..9fadbc7 100644 --- a/src/uet/oop/bomberman/Board.java +++ b/src/uet/oop/bomberman/Board.java @@ -9,7 +9,6 @@ import uet.oop.bomberman.exceptions.LoadLevelException; import uet.oop.bomberman.graphics.IRender; import uet.oop.bomberman.graphics.Screen; -import uet.oop.bomberman.input.Keyboard; import uet.oop.bomberman.level.FileLevelLoader; import uet.oop.bomberman.level.LevelLoader; import uet.oop.bomberman.manager.EntityManager; @@ -26,7 +25,6 @@ public class Board implements Copyable, IRender { protected LevelLoader _levelLoader; protected Game _game; - protected Keyboard _input; protected Screen _screen; private List agents = new ArrayList<>(); @@ -36,9 +34,8 @@ public class Board implements Copyable, IRender { private int _screenToShow = -1; // 1:endgame, 2:changelevel, 3:paused - public Board(Game game, Keyboard input, Screen screen) { + public Board(Game game, Screen screen) { _game = game; - _input = input; _screen = screen; loadLevel(Global.gameLevel); // start in level 1 @@ -132,10 +129,6 @@ public void drawScreen(Graphics g) { } } - public Keyboard getInput() { - return _input; - } - public LevelLoader getLevel() { return _levelLoader; } diff --git a/src/uet/oop/bomberman/Game.java b/src/uet/oop/bomberman/Game.java index 0320ef8..0a30923 100644 --- a/src/uet/oop/bomberman/Game.java +++ b/src/uet/oop/bomberman/Game.java @@ -40,7 +40,6 @@ public class Game extends Canvas { protected int _screenDelay = SCREENDELAY; - private Keyboard _input; private boolean _running = false; private Board _board; private Screen screen; @@ -63,10 +62,9 @@ public Game(Frame frame) { _frame.setTitle(TITLE); screen = new Screen(WIDTH, HEIGHT); - _input = new Keyboard(); - _board = new Board(this, _input, screen); - addKeyListener(_input); + _board = new Board(this, screen); + addKeyListener(Keyboard.i()); initScreen(); @@ -99,11 +97,11 @@ private void initScreen() { } private void update() { - _input.update(); + Keyboard.i().update(); switch (Global.currentScreen) { case GAME_PLAY_SCREEN: _board.update(); - if (_input.pause) { // Kiểm tra nếu phím "p" được nhấn + if (Keyboard.i().pause) { // Kiểm tra nếu phím "p" được nhấn _board.setShow(3); // Hiển thị màn hình tạm dừng _board.getGameInfoManager().pause(); // Đặt trạng thái game là tạm dừng return; @@ -141,7 +139,7 @@ private void showScreen() { renderGame(g); } - if (_input.resume) { + if (Keyboard.i().resume) { gameInfoManager.unpause(); _board.setShow(-1); } @@ -162,13 +160,13 @@ private void showScreen() { case SELECT_LEVEL_SCREEN: // TODO: render select level screen if (Global.currentScreen != Global.previousScreen) { - selectLevelScreen.setInput(_input); + selectLevelScreen.setInput(Keyboard.i()); } selectLevelScreen.drawScreen(g); break; case SELECT_GAME_MODE: if (Global.currentScreen != Global.previousScreen) { - selectGameModeScreen.setInput(_input); + selectGameModeScreen.setInput(Keyboard.i()); } selectGameModeScreen.drawScreen(g); } diff --git a/src/uet/oop/bomberman/agent/KeyboardAgent.java b/src/uet/oop/bomberman/agent/KeyboardAgent.java index 864469d..32a0117 100644 --- a/src/uet/oop/bomberman/agent/KeyboardAgent.java +++ b/src/uet/oop/bomberman/agent/KeyboardAgent.java @@ -12,11 +12,8 @@ public class KeyboardAgent extends Agent { - private Keyboard keyboard; - - public KeyboardAgent(Character character, Keyboard keyboard) { + public KeyboardAgent(Character character) { super(character); - this.keyboard = keyboard; } @Override @@ -24,7 +21,7 @@ public List getNextActions() { List actions = getMoveActions(); if (character instanceof Bomber) { - if(keyboard.space) { + if(Keyboard.i().space) { actions.add(ActionConstants.PLACE_BOMB); } } @@ -33,10 +30,10 @@ public List getNextActions() { private List getMoveActions() { int xa = 0, ya = 0; - if(keyboard.up) ya--; - if(keyboard.down) ya++; - if(keyboard.left) xa--; - if(keyboard.right) xa++; + if(Keyboard.i().up) ya--; + if(Keyboard.i().down) ya++; + if(Keyboard.i().left) xa--; + if(Keyboard.i().right) xa++; List actions = new ArrayList<>(); if(xa != 0 || ya != 0) { diff --git a/src/uet/oop/bomberman/input/Keyboard.java b/src/uet/oop/bomberman/input/Keyboard.java index 33ac503..b0f6a20 100644 --- a/src/uet/oop/bomberman/input/Keyboard.java +++ b/src/uet/oop/bomberman/input/Keyboard.java @@ -11,6 +11,15 @@ */ public class Keyboard implements KeyListener { + private static Keyboard INST = null; + public static Keyboard i() { + if (INST == null) { + INST = new Keyboard(); + } + return INST; + } + private Keyboard() {} + public interface KeyboardInputCallback { void onKeyPressed(EGameControl gameControl); } diff --git a/src/uet/oop/bomberman/level/FileLevelLoader.java b/src/uet/oop/bomberman/level/FileLevelLoader.java index 988c31d..9411fd0 100644 --- a/src/uet/oop/bomberman/level/FileLevelLoader.java +++ b/src/uet/oop/bomberman/level/FileLevelLoader.java @@ -124,7 +124,7 @@ public void createEntities() { _board.getEntityManager().getCharacterManager().setPlayer(bomber); Screen.setOffset(0, 0); _board.getEntityManager().getTileManager().addTile(x + y * _width, new Grass(x, y, Sprite.grass)); - agent = new KeyboardAgent(bomber, _board.getInput()); + agent = new KeyboardAgent(bomber); _board.addAgent(agent); break; From 1fd6a07d54e0685322e3be024ce42f2d842545cd Mon Sep 17 00:00:00 2001 From: phuonnngminh Date: Fri, 24 May 2024 15:06:33 +0000 Subject: [PATCH 50/93] fix: item not displaying because IGameInfoManager is outdated --- src/uet/oop/bomberman/Board.java | 13 +++++-------- src/uet/oop/bomberman/Game.java | 11 ++++++++--- src/uet/oop/bomberman/gui/Frame.java | 2 +- src/uet/oop/bomberman/gui/InfoPanel.java | 12 ++++++------ src/uet/oop/bomberman/screen/SelectLevelScreen.java | 4 +++- 5 files changed, 23 insertions(+), 19 deletions(-) diff --git a/src/uet/oop/bomberman/Board.java b/src/uet/oop/bomberman/Board.java index 9fadbc7..4d7e828 100644 --- a/src/uet/oop/bomberman/Board.java +++ b/src/uet/oop/bomberman/Board.java @@ -60,6 +60,10 @@ public void update() { snapCameraToPlayer(); } + private void clearAgents() { + agents.clear(); + } + public void addAgent(Agent agent) { agents.add(agent); } @@ -91,6 +95,7 @@ public void loadLevel(int level) { _game.resetScreenDelay(); try { + clearAgents(); _levelLoader = new FileLevelLoader(this, level); gameInfoManager = new GameInfoManager(); entityManager = new EntityManager(_levelLoader, gameInfoManager); @@ -129,14 +134,6 @@ public void drawScreen(Graphics g) { } } - public LevelLoader getLevel() { - return _levelLoader; - } - - public Game getGame() { - return _game; - } - public int getShow() { return _screenToShow; } diff --git a/src/uet/oop/bomberman/Game.java b/src/uet/oop/bomberman/Game.java index 0a30923..400345a 100644 --- a/src/uet/oop/bomberman/Game.java +++ b/src/uet/oop/bomberman/Game.java @@ -142,6 +142,7 @@ private void showScreen() { if (Keyboard.i().resume) { gameInfoManager.unpause(); _board.setShow(-1); + _screenDelay = 0; } frames++; if (System.currentTimeMillis() - timer > 1000) { @@ -194,12 +195,16 @@ public void start() { delta += (now - lastTime) / ns; lastTime = now; while (delta >= 1) { - update(); + synchronized (_board) { + update(); + } updates++; delta--; } - - showScreen(); + + synchronized (_board) { + showScreen(); + } } } diff --git a/src/uet/oop/bomberman/gui/Frame.java b/src/uet/oop/bomberman/gui/Frame.java index 92f172f..92d9c6a 100644 --- a/src/uet/oop/bomberman/gui/Frame.java +++ b/src/uet/oop/bomberman/gui/Frame.java @@ -20,7 +20,7 @@ public Frame() { _containerpane = new JPanel(new BorderLayout()); _gamepane = new GamePanel(this); - _infopanel = new InfoPanel(_gamepane.getGame().getBoard().getGameInfoManager()); + _infopanel = new InfoPanel(_gamepane.getGame()); _containerpane.add(_infopanel, BorderLayout.PAGE_START); _containerpane.add(_gamepane, BorderLayout.PAGE_END); diff --git a/src/uet/oop/bomberman/gui/InfoPanel.java b/src/uet/oop/bomberman/gui/InfoPanel.java index ad9e5b5..9e60fa9 100644 --- a/src/uet/oop/bomberman/gui/InfoPanel.java +++ b/src/uet/oop/bomberman/gui/InfoPanel.java @@ -15,16 +15,16 @@ public class InfoPanel extends JPanel { private JLabel pointsLabel; private JLabel itemTimeLabel; - private final IGameInfoManager gameInfoManager; + private final Game game; - public InfoPanel(IGameInfoManager gameInfoManager) { - this.gameInfoManager = gameInfoManager; + public InfoPanel(Game game) { + this.game = game; setLayout(new GridLayout()); - timeLabel = new JLabel("Time: " + gameInfoManager.getTime()); + timeLabel = new JLabel("Time: " + game.getBoard().getGameInfoManager().getTime()); timeLabel.setForeground(Color.white); timeLabel.setHorizontalAlignment(JLabel.CENTER); - pointsLabel = new JLabel("Points: " + gameInfoManager.getPoints()); + pointsLabel = new JLabel("Points: " + game.getBoard().getGameInfoManager().getPoints()); pointsLabel.setForeground(Color.white); pointsLabel.setHorizontalAlignment(JLabel.CENTER); @@ -50,7 +50,7 @@ public void setPoints(int t) { public void renderItemTime() { String label = ""; - List items = gameInfoManager.getPlayerActiveItems(); + List items = game.getBoard().getGameInfoManager().getPlayerActiveItems(); for (int i = 0; i < items.size(); i++) { Item item = items.get(i); if ((item.getDuration()) == 0) { diff --git a/src/uet/oop/bomberman/screen/SelectLevelScreen.java b/src/uet/oop/bomberman/screen/SelectLevelScreen.java index 7a7ea8f..51bd43d 100644 --- a/src/uet/oop/bomberman/screen/SelectLevelScreen.java +++ b/src/uet/oop/bomberman/screen/SelectLevelScreen.java @@ -43,7 +43,9 @@ public void onKeyPressed(EGameControl gameControl) { case ENTER: Global.currentScreen = EScreenName.GAME_PLAY_SCREEN; Global.gameLevel = selectorIndex + 1; - _board.loadLevel(Global.gameLevel); + synchronized (_board) { + _board.loadLevel(Global.gameLevel); + } onDestroy(); break; } From a82605e222d794a640141c05df5e69817b13980f Mon Sep 17 00:00:00 2001 From: HuyHoang-21522098 <21522098@gm.uit.edu.vn> Date: Sun, 26 May 2024 12:36:15 +0700 Subject: [PATCH 51/93] Deadscreen --- res/font/SuperPixel-m2L8j.ttf | Bin 0 -> 66716 bytes res/menu/7729559.svg | 1 + res/menu/9165683_home_house_icon.png | Bin 0 -> 18176 bytes res/menu/f15591389f71a57ec5e54ba0f48ed385.jpg | Bin 0 -> 39473 bytes ...forest_by_forheksed_d9q4k94-fullview 1.png | Bin 0 -> 973465 bytes res/menu/gameover.png | Bin 0 -> 49547 bytes res/menu/restart.png | Bin 0 -> 913 bytes src/uet/oop/bomberman/screen/DeadScreen.java | 63 +++++++++++------- 8 files changed, 41 insertions(+), 23 deletions(-) create mode 100644 res/font/SuperPixel-m2L8j.ttf create mode 100644 res/menu/7729559.svg create mode 100644 res/menu/9165683_home_house_icon.png create mode 100644 res/menu/f15591389f71a57ec5e54ba0f48ed385.jpg create mode 100644 res/menu/forest_by_forheksed_d9q4k94-fullview 1.png create mode 100644 res/menu/gameover.png create mode 100644 res/menu/restart.png diff --git a/res/font/SuperPixel-m2L8j.ttf b/res/font/SuperPixel-m2L8j.ttf new file mode 100644 index 0000000000000000000000000000000000000000..f7691c8d55c567739efaac6c168dacd842a71b62 GIT binary patch literal 66716 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 \ No newline at end of file diff --git a/res/menu/9165683_home_house_icon.png b/res/menu/9165683_home_house_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..df9e3c5990bbe988d22805eba6c32fb31cec5dcf GIT binary patch literal 18176 zcmaL9c{r4B^gsUC_f*!%l0=0lM2Vpg@9eTKW673XS;EX%B3YtMmP9FgCL;SVgvy>R z*+!DaI%+TtW4`y}^ZESuyMC^#tC~6Y**e)E!__Vk-uL)7@h^ysitZ4Wn)`~Uxw^Mx7zFD{=wKyXSm!iAJYID$`UY*vb} zAY~8~<0e_gInD?^kAC-(34*lE1$oe_lzRkK{IfVZR%VuS=FlZAN()jy^=g|K#k^x@vU9^%7ubpF&UGtMX_q8|8~cXz}fO1ocPWV}qaqO(U@> zsfdO*+mWqE)S`8Z>25z6R`C*rEVp!Vn%DX zqokEb*z36((1C|=9Pew4xbxxjviwdeh>nb-kL|;vE9p0_OtbvSqXadDkpeg>LBRpUvq_^gY&KW;p}^pWWIT&f0u)X88H$-_wU&Q)x&EekLQ%49D}}B?U{k4 zp;g&c?Fa!0?lT(Hd@kT7geT7nSE?cJY&j-w!}P5DL1wVfPJ^O2Y#OFsT`bDR#QodxKB%H&~18C$Vf8!`YnOpqEL^cojFWrCX zZ#7X?_Gl`GryrQ6RAVG`X@<;q_`pnYT)7AYaf_knge*AEf z+y~s)yeP<}E3p{5*w`v+fX$R^Pl=L1h|5%nK6-zf&E`M=-z6D}HsghlB=(*UC`L&8 znw@$?3sLsD4%LNJj2DRG+eF-@qr6FZhsRH3IOIiYRRAA(AH%WqB16k%b98kmMPp!=h3~cLph{i$^yz6FFO^Md+)VKHVnbNZntisDj>si;e<%xNt9y&O z4&da+U7i$bt6lv)bKYb(kMgSViZP;}R-gZ-b&nA$c-njP(m0tcv3V4o7)uSb)LRc7 z98(pApmSrKS{~HgXfZASiJ`_qF}y}^g?Mxq8B=_k8f%bWfdPr0n0~(Y@8;2F)wSNx z17_E<FtOyF@m!e9p1{HND+7(7<(5Sg;U~OzFu(<)C!45oFRIS9qj z_bjw#$!ZJe7OncAK6j?V`4pyZyAR);Y1@j+dHC&dEh$idT(b!sMXg7+3r)3lm}TGI z@hebwuvIpVBiC~O9n%8YcYj{Ct;Lg?8-&0KPZg}i#{O5~Z5OT=YW!r>flW~mF3FEN zTBpSWsG@+fxvk~(v{lE_bH1dD!{Y{a z`L!#Lg(2-_O0#Nf`D_n9ZCPBnL@ZDux{|p3rUI98W0QTJ0g}Y?{+SrgX|QOrMAp(? z0x$iT3k}aAE*DkMKdiVOfeMBqxTfTcF_x?2g>jZ+8Y)UqbS?pFghY63it#M#3G+fR zvG3wM#s~RF)=MVj5W(x2C~r=yIdgX;|*WmU$_+$llmTwEGrXKaHjb! zan=aav2qm|v)R|k#`?(Zl&@z;LHw!Nu%JQgcGZ%p4yiefz0x-kles+QE z{rmuX7X!PA9D2)aow2d~cAIwj#=V%?EL>R6l7@)qeI;>7=>}zQPYr-qUbc-|R1)}o zFV7g+?Xl@zJ}cp_1QpOIWj_jyFvpj>qv9nh?>M@s`~0}l7LWhu&dmzdJZp#>&)s7k zOUJ3+Oav}X%<)&ycyiTg(t|uU#?=Yj?k$nespU%*wXs5_%vS1SZzpw($FFDM`g zrsL0F`~tjOS^11KE2;*GDl9AB+!a zcT&fi{j0I|AI8|A#Dnyi^~s!^EwT5Oh|a(Xu(W`2*>+2*3@7u2qEF(2g@5ggO33%5 zikcy)cvQ<<;l+N#0SqhwYC#k+gtY7Rzw3`nBrc7zKp+;{&-6kINUr{i0SM@;n}I2uef@v+b9hiO|1p zJ^h>vF}k31w-5sbtv1ixM3#d+>Z{uZVYsMu=1ZhgP!U`}P}LSB!{J%!vL&yliZ(kX z(ChnwUZ^SZxRYH=?6;$bx|pETKiK9}RwW;qV9(*UJ4jU}9=y1vWo$*b-PVUg&|M?J zOH*XEyJ+%T{pj_3t{x8w?nSK!dZ_O_6gnBSV_FlNy2xsAWz_Axw>KpOVt&o>mFC|p z#mV$gbxDOVe|^_GJzJm310kzTg$bnMgw1lr}<=Oc=UiZf+6@!gw%y;5_pi=6~|v(~ATNnRt5AL??M zBjgpedY3Qt8D*9NoLs1c+M?F3@`xIbrYy*XSxX}NGg-*jO0jAs^aS(~FTuFyN%d_> zmKDxtX4qrHXntr?-HD>3yZE%)BuS=sZF2T(e2pN&VhEflw)50w9FKH z^%8fmJTf$B3#141h2URnsz##~B+vZxen7p)Eb0H@Lxo2Xm9b)}3V#aV43)$wR`@P? zeQc7~*ntW*DLvf;qoRghxWx@pFaPeb6R|k zZ@0`DVj4;JVvZYOuq8kE@aZF^W z;N0vEI9GI9jq)i>hA=~YZ9B=kW901zr*VfJ3ju+!JnrJQ*)Y<~YO_dpK2>}MGG6d1 zYE8dB6qQmT3hFUyTwO;?FImXK3RzR3a28U@4K8ZUzdkgZ6JSOUf<7*|XTH5@h19lc z(V)b_ez;EQ7u!U=Nd_HYDyY}y-=?YygGPl+tXj&y)xdpYiO*T6v+P=+y;8gSo28->Owsl?&ePYsU>I>wXR}4!1yv z2tTif%@)P5EO6b-p^EfreynEFg^jWUP<67Qv3}HNVDRI)@ewIJ6efS zPh5AmBC84afNoMrzT#-~S8{@*Rp8otUD$OUA79}yIeTbpJvu{8Bxnfzy_N~NMT&$n z=OfQ+;plR`F-IsYYQeAbwtP-Rn+*6{3X*>9BTdC>6| z7&jv#-V#%4%l5i{EW@~JcTM4=j4{~qACq0QL;5Z(J=PD(QfkU@_Ti&&U=Uh*1)HbI z+s$Pm&y||l5Q6VZQSY2`cAz%NjZM9}oV^*F(OHph4qi=k@)HD4SxS`z?NXc%DBw`c z*(`hx?K4^3{q4x$9~{A|NU^;v@>c$ITCpuOcoszx8J^`Wj|>R<0t7wk+U`R5QGb+| z<$v2;fF&1PnsMHB8=e&^UkW^{uIp_;DT6D6JN|?($jX={%9S>x5e8FHhV?24{4d1^ zv{ktZlZi}FhRDp71@7Tl+49I@4+s29kKUurAIU6Z>BYjcWss!549^Qs>W+uiI!8Z< zzZh=BSaqp_yc2Rot>1Qq4P=|mSiUzk%FAk9?SoYvBl6^S4w0*@3}-zjx9>4WnQG6v z>)Y`of)%LiE|N8KQLW)89E-q)1_>YB8w)`W&t3x+NK(;yr$qaD^od1}BE=Wz<{`=f z7HGBLGotIoyA|~t-cSmggbHeiJYU-7hJd_`35j#6u!ip+x?H%Io_iU!KJU0=yhLqvCIYI%Jla&MKjV(jgbtPF%1qg5{FNIkr`WAr>*77FX!_>N~sk-eJ$y;0Y@cOg1(blW~T>We-ZK#NEMo9 zL-IIFaU}>bA%Dt@sTTr@+5W*Z@IskJYe*Kd58GqVea$nwlh0Xc3oBCtwRZ2Iqc%~E z$+8YxVIorR%t->n^oKh`rdjs&url6}$_RaQiz5Vr%|UT_<}7O=55;o&P!XMJ zQ_dg70I_!T7qu=v8=CdQ3VBG2^nS$88`HaqR}uXo<*;gy{({3;g=yD-!`M%Dd54kU zG9vvX?Ki62rX04e;2>J6g3fL^z@pdk-CM}-G26gdnna<*I?tK?kkLLhR=X0Ty7}B} zMB?L-L{CE0McPm4O^KHhSoVHL7$ofzWAA=F7x=4Bat}^C=D(Xup8(2{=g;ClgU%3w zey0e?@AOx`IG!BQ#51>nzn6n1lrN#!nZ3YrswTK;8TQXbPt)y zsdLBA;Kd-A3U=9#r8amC+cFh&VJ__4H&|k*e1*vFvxSe@Z80Pn|D}c-@)BGoV!qJz z-hheHh$Z~nAD=Tf!DuhWbNKG27a}FI1)7x!Pb0F`R^Yy3czyq=9f4wwwXZLhN}O2X zVq8pnLT|h9k<4Uo9oYZw4(Plg=oI?DWrd=AFa5v2y(f4xc#IGk9-A-r%DX^24H?AU zi8IYcQr84#6fVjfh139`TOKcMnpD`%%3wP*$?x&9H9$7 zSA`Fx+K*N|s107yw7DC^h|+HN=R`JaDyDkH1)SQ2#do`Jen}aj^DAzuQ$Fh(Uwk}~ z56PyUI}ApJ7rE>k^B7SIZEhPDSRusFZ|h-R`$H{qBj>{WS{Q2G}UR>mXGd+~{F4 zC@Dey&zh+E@8ny^;>nN3+fHK=W|#Gv$ErPb0YLHXvW}a(DJ4Y)=MlsT{^V z`uzgHL!$JR-4Db?yd#}ooYwu0&SaX**Qco-QVG@_56%YPm>~F7C)>_(NE4~%Ny>Wg zDi`Sw$~4DsMC;&T)g5z2!^YXPypurdlfC}bhIhjqKZ<bvfuC1DY!Oai=aV_(>cGu8skh z6GYj)sbx25%Bf%rMdsrB4?)G!mhihty^q))B`}A|*56YvZCN$}vI0+Lv}Y{e56n0k@V^25bT*nSuZsdx8b-Ex+n?zfQkF2zbS6l9sn?BqzxCGI^Xdn$e+kG0UlRjc8^j$m zZiM)^c*gPS!%Bl6U-)YXNZ3~mB!2R_%z;(uM1MhZj@7k+2 z?5bK2V9J2aLH`LyuB$!l(2bQC4pE>yag1T#}4rGv82urA(GL;%giE}Ol z5=44$<2&Pg+3L901g8`uqDhB)#J}XTd1Pi@ib#%}+)4su=R5s?huwb|*8TXxvuqVeLn;=;4mzO9aIb{cK7 zVBh(nGFpee;j42eIq?ngkDvTI4(a|}E^74*sVmR<*!(JncGUfhr}sHN+b~*%$3!`$ zLt&?L=Ls>8-G6jlG@UJw`-Q-zla%81@yrl+|}CriO!_7+!CC1B zwQOvCTN3GWD*cbqD=ChKdg{W^NV-4k@SCcpw8@gRI zHvB6(R&gxC11p*SlkPvdb%=oqc9QIQ6*sAkz0=kIF$yKcX%_tVPKivhR#@j<&yyY% zI(i@xNAE$aD-bwX?VlSY?1dQ3_YR!vX&Anhn8ug{?J+JmJsGXekzpdd8;3(Obx=E5I$bfR4JX*xAb>$b9l_1a^L=zcYcIt$&9EPm|#nl#uBH_PJ7*UgeNg! z+8B9jEzN_e)t2A;O*~gYRj>Qe)s&6}A@0Nke`93e+7%Bb`umfEUckDvUnhr=M?1hh zYm@x)`W%&MPj6mxpgQpB@jC(C^sQGLbR<2H!eG43Cc&j86s;M1DVM;&+R;ue!m4e* zsgBK`exm)dDx%zIYu9FYHfPFr;zsoKpmo9-yh40FFZvRNq33{Q&O5?v;hCc9m7{FP zjWx|r2tmiw_4+}^J%Z5zho>%5Rtf!hqVZTC3zIn6Mz!aCJs*&JfvKyZ=4Ca_Ez(PGyl&?kGQ*C zKRPKnL`BZpy_+-PQ%8?Z;j2xOZf%~eBsuS{-a~Ll$T@G$HV&J18Hqe{^&B3zUyJr& zMEocGy8vm|PWbnNsFB>1Utz|iMjh?!2^~jDmK|wz1gr>O|6C3KR1L@H4_`N9SpN_}G zEH3c6ES%Gk6BRbHk}>l>TAs7#R&ovLIG@sZpw`cP@-W_TN%V9{wqiEU({Xn7as%Y8Jz?1Jq>tQS$)+Ao8T-k_$ulvsbil1tOi%=^dFhnJmh&BY~7=^bC>^dZPj zmHGD3{sRm6S-;c`ZT-Nu=YvtQne}YgqQh{soM`J*PFmoz>*J4`^nPAC#&g|xvvK-^ z(O?uiQ(mD_!Qjc9E$S?C6g?XuH!5Q>krNuUqI-D<3*pY~undonD^&3%NUOJ#Yk#fT$^2gDVsd&1^9umrDrL^(yA;|oL53uu z;qmP4OW7C0UP;P6?dV4%Wqyk##G(rTsc^LaJ#3B*lD&|)vuTs03T1GYPCc;!?dYc? zUet@X(iQn?{_q#_KI7mQiO-KK!m;ZQi-rxp^j9Y-^Nno&+LHuKy9b)g#uFOCCYsTZq3& z&jMMCQ?k@vr_ldckLUM@mW0hOCY1Qf*O6M*_}V4M6-1;}5|0}rcUyKHdS4&&(YisU z-kN1M5x-zFIM+Q{?kgX@_DTmU$sIy_rE}T6evsTb+k@-|`QT~MBZCa(X;jI-sfNwP zbxpNvhGp`zetwm;6?~7F()w)qBcST8(=YWMoIV9yy>MiBJj)^C-t@f$od9bU18;5| zqm|Qc%kxv7Uo$Svh+8?u(+B?h;FHib=Rg`!{Z;9tLeRUb6JQ5OnTNA*q^N(Fdtbji z^txJo^95{klQFQFRgdX~jquO&dhvJl3B?*^T&>TJc5{~cnQm6z9lqKxaC_T@F)`W!= z5Pf?z8;u6BNpY_=eVZt0FtZ*|v_#^!Z`#nl5i>(it$tio3H5I%e!@Y$V4kt_gyZm| zMYCZcw4%`cY!#Jc2V>Ajlmgv2a1;|KhqXH%acD>WpA4W#{=6_jPMGbnbC=;sYe%M) zEf1kihP)_n1*w@Cbtk((LXhQ7P`2c;J7<(obK4=+S%y~%DIbW-XTvi;HMA2ZX2_un zGiEZsqjYt|on;IRUibq4PvZnt-MvL-5=@;QH{?HfF30`idRWdBs06JkahHmWGBPgF z0lV;>fs!Lvh9g>uzURX0_St;|?6fRoyhj;WW%sQx2UgV4lXA|gq&=}`e1GsAs=}Ar z7?Q8RM-F`@*#Ld-R0aqHV3PsGLs4Vov$bhZdSd4_ua1N+;GAWC`|9buu!9x5jKd7qMdHPoqbow+y}XqNfZ2x-&6C%{9!X&&=t>-6P6yOU(S+0|fk zrrT53UE5xd_=kLdrBmLognQ>5GsxcD-O%{ENmKe}*P!nC^C+iZXw{HPC0i{QYR;Fu z7Vp6__j8J;L?opLUKc4+oYzE^eY~Yl(f%vcn(S;Y!j?|4B(tI#PPWMaXhZNB@2g)kxF0U#7y=Y3geyj}Y3e!I3I z@!sGcy?C50KVegk>F&>sb>pSD^@VL1RJ~eK!!u==U$=A-ws>kZg_R~`9-}6}bMTRu z_^?p4VyghqP5zXa0 z`^BlwyA31AV!PDFXpqC3jUz<;TL1y#J~2eD&29?+>FD~d8Tcba?X(E#&MRnL0cLg> zW>zT#%UsUIoxer2o;dSD1!dfjE5JiJY97NY2y1o$){G0o7XQ-CZg|{tjrQCRQZtA&Pel!+hO=_L69)Gga_lhC^ z7$@oeD~8K|UQ;2n2t|2r0Y27Q6%^_hT0NjqNqaAV8W|D}6ePZa@?pSC|0{M0ZHxdM zhc1D7*-MKC@W;FknIfOjW70C_C;Ww7Y&St>ne9n{J**$f9jO?e3S#NNdQf?#Z1^@1 zD#b~93Ja}pqXHzR&OT1mFZ@m$>7hw2a>mbF439tFNdaW1IZ3lHyMK3KVBhQZ9?9ve zD#8v-z2B!}1auDdt#_9g2&*tR%FU=y{B}qVoQ4115|@>?*I~Z|7ZH~~YZd@74zpg+ z8InBaW37w=bo<%*?;)TYN8Afh^kXYCU78lRP;nVO1BE{VCI2hsvn7a>6KYn%_dze2 zpVu#<<|KR&qk>XsxGKnF`wvp`fZ16@LlJTy(r-80G&bsMI9&vulRTgdsATy8RbO0S z%_`wB05)L4gR!tGk?31v8Ocx+A8&-bw&tV9WL?V`=527LeYCd{;i|TA=HZga>WD+(aDCao=sqBF#!`ila#sgk zp{N&>cxn>(yLz+il{+{U z=k@aegdpU3lvo4E6v|=O4Di6=;YXeg`eBf5>)#9QsqsT7@8YSEtfK#lRrP1IFovIKYW% zAPZ-r;iL#4hqOTJ6(Rxjd)h8(qX_U!%fC@{h7w>3%5M!rt6>=sjO_yH*JfXYJzhup z@U@jQ-tj$b@UC?czlWQN3PIVM|a{Cjs zhR1!15nuw!9dkYBm4Ft{rig3CGHmOw<8Y+$J^(UfF|cwpCx9#Ty7~mQ^A!V9?tj{u zuhHK?imvW~I(|N=9Cpe458x8Xr()(J z0vv(^4$(-^LBE0Z2N!$z@SPL@t*9A#Z)HIhoB%*pu8smaa}@#`=w-}d$LYa?7s`rF%eD6i!|4zSb(w9n>TRm$vKV1`U{1TXqq4*kraU zPR-vSv%v^?wSiBFgQDOXGxd5BA6=xl6;PK3LxoVh>{L8$0`N`hJ6eQ&Ic3<*8737R z(_G}w_BRLjt;qw$k=p44m<4!&&G)0H;PANFS{CnP%Vef0kKVbvG8tceu~U7oV5DvU zr0Ukw0a=#>VMO(bhSd^&&jlt@Dki41IOG`NZJ)!z7KR7z^8-^4o&^(S>v!){n0_)8 zh`lCH%RPHP>MH*Lws7YmOtV|t)R-7jEFt&pPA9`&PzChzP>Fh!VmOtg)snC9QknIzb zwuXVvf}EPg$uH)xh2syhmALP!86&T*8M(7G=BR6nL*HW&K4mE_lLGs($PQbGOwBpV z&4{>f>U4E2%i+IP$pb-kRo#b0VlciILQ!?suEPFzg&C>=A9Kfn>CM%(+kjz$dYeSr zg(ri|(Y2+G-wq?ktfN|6?lE=)N;p6 zdFuk9r2m0wWba&f?-^SqGB`s4|6>96@dR+9eW>v(xUDXUX$rMcb(fW3nzQ7#9@ZPL zmWSz_%aVU?NpKy{C1vONo6=85BUiRKXjZs}9`)M~n@`^ZiC^M~Jx~ zEi>O06MbtZufWI?#D~X+=%R9;IuEmFC@8M#I97~1{(~73fL3%6XZ}b)mCRuAyyJ|am)7d6;hn#xaFD?*zm(Lew>N< zyKkO8FwfVWCAMV{9ZG*X0YEL0cy(1$-qlS=(i8mvdK)eXS-hVDv6VESr zIXud0pCf=QG8kO>=V-^QnIt6g<-`a*Z+sD=n7&UZ0ab$P%*}{NvK$|}RmhU{<(Tl~ z|8UC!+!R5xR1<%FEk18g0S2>D2_>d^);?zO#KD4{w96eF#%=lPqnl5n0$~5Xra(cc zeW9Mziz2l`U#@U4|3<%UbGfV>F$PeGirhz`3q~PrABFn>g^$iBE$u`!peefC#a9`Z zz^Lyd`g3ZyPPF+6!0v}Eb~#lslH?u!<)OjF5sCX0$^OES*m)~`F6Hq7or z&t!}&pVk7$KVjxm(Fay1xE5}4Fpm*;u5q7!ZOm!f0=B9DO{;WJFIjasHO(I^34F7L ziBdbe`44xCnwBh|3ZH}nQ~eW+spWnFc|=_Po#7mdQjBf8m{$$!Mmbvq{5yU6e_av* zdW(a(9C4s=dvIVyV2bxJd&Thmvm>;WmG7wbb|1be&C5(}{z& zYZ@n51-{BAyj5%vg~{;iuo<|c@b>6fggv%x(-JqS8QT^zdm0$5^(-4#6mr3xF`3|{ zUjmYP9C*3P(4%WC}Dr4*d&fLxH7|KGONn`sxoUa6~HzT!QP*qNpbly;&2E>}c z)Bqo>UJ6jpgwxAqvGNF9lQ8>OgpH&gJFk%i#&}MVENW+f!5*S6QR=gBpxFO!Mi5L6 zD*GfQW1?)v)0-@@gfJrj2a)-kxP>~S^7cF|G^hj=oM$T!Zl0NmHFZL)sYSBX*)hh3 zHd<^1Cw#mx46`$W*&X!+akn51&L}00o>XdZ>xf+afXqSL;#>i7YlFOD*n27aZka2> zjyju&1Ib@nim(#f!!2<;5irZE`z$+QmbUvEQX!>KFme*XmC$AZW%xg5hBKKUtX?=p zcpnQjQ9)@goZ*K}zM6%zj=JCk)28I$!a{^r1qdo28cwkxYwpd%qHpbseh7>1hmG!v zEW+kZ`RH?=ODN>ja4Hxayu5T2Wb2naO*j-DsG#0%g=B&wl8S{-Exp%Ur)cE;^uq74 zu%IVI-&5g5^`)1useb{H)iWXWi+e*IPp+MxQMb=1Rfu*K1Fb=6rG7MxWe`8KFYyp8 z5!7q3ZPP-QhFgpbVbsQrzH*+|BQ|;d*Uj!;mw;?LzFum+^LW5x>3i_DxWeE_BtyMs zlb}wa0nvMuV?Pz&gv#ahgEMbZdwUT!cdG9y*N9Nou57HNMvH63P{Pj(gJ9na=~dxB zG0GOh0#23Y-@qv3annaz{LEABjOogY)`J-;JJ}#6Y{1;`?VRoKxbOaSM|Tby9#2~? zHhl1pL*)&NLxWJNfQob<4vyM?-|k=bRqrQne(&K0^SW0-kBQ4&w5tzYK-n&6aeQMy z%8-uA#-SZ^uIZRtpdd;RIQ52s$^LL*W55(bkVE|q3s)Z1lAo(S$ME!`3qnxC+?(fA zD0byZM@3Eo24_8P6fnoKxh;LrPqFS)4kX>FXoS>QV*(?Xv5f!bGXtK1nZ`(eWf3-e zDqWB#a)3E*bwRG{^f#G5%ERLiqHI=lU#h~_d#ejyLHK>YFiuvT$9dZ!;x5bQYPTJ~ zW0$Qf$bV=t^d?|xzcHY?6#04jjUTC0C6M?=P40Vv-(|_;PuE?>Kbr8{Un%2-^1+yF zB-ykP(9vus2+s^9e-A|~)Q3#G)^6uDLMpB;z!nAN5SMG8ErY4y%>{6RPuZ#W2;97O z>k1=2y+|$WRCD#A8_@&g+8=u-!d?xE0Dpc{@%(Bgy3U0IRWvxgGUsC^2Qwnm)IMQc zRLLyt94fDVu@h(zFOgeTIqn=FrtDLarfGzfYsiJKoO{q7<$S`|(t|t83@_gf1E<7# zFIeFYVi9)Sc@3mONx~`l<%?yN0^5CrRGRePN#;iVd900E&(+A0kg^R(?D5hoda1uje$44)4D5 z2#k-u)<6wJek?Cc{mA}0@`h&~RZb1j7qFJo%BO{U5+VuVQ@>bn%ze$kT;FxKXD+SHqUXx(6F zLE4cIp0y&)XXagBY7tngUJ=Lc?QG4z&&<Xb1@*8o$`c8 zcV4@^pNyc%t9^zAPoKRp@|*b463Cp+KI6Ii{QXv`Z`+r1mD)l6V=2U(jd{W%uhGPS z%ZH3nW4c<1*FK8ZU{J`&Qa=6OCZ1mRiMpMZI2+p!3l6mKl($&(3|iYp-0rY2!-2;$ ze!sDqp)dZf&kkEje7DYMXNsxo`uU!Rf8pHl_=%=&*+KR2-WVfvVlY>^uAzaIB@g&zV&wL2h@?BRP0Z%N> zsOb+J{(iUhqBT&YUsQ4RH$}65+(^NDf+NzGwUvMBe0{mcY?Ud8v+u-3xlLO&e9C_` z7O8o;xA*39uW=)5R)+ETOs9i#EX9gyyM{jkHAmc|&}8|S#*RMJ9I?;5z&U&f{ps;O zN;)5c+=Z;$QS4Kd->D(;ZsoGoajYHP&GuNVI4XE)qMG&>jrjXZZ<{S&;)HBPQ7em` z=W9ek@_@sZn4_k;|4^Mh6?dI}m*n4bMhi(gYdC~R%39AxbEiLeaiZpaxe@aHabjBS zZf(8kr=E!@*`LPo4s7A?{4BPZ-t8(Bwq8U?M>Mx+T-ecEV2uioL-$q({-&EqUX?G} zounI3eDlr+)EXFKKK03$Ups`p z_up7Y2W}x~p8B(QFy?uUntLH^o!2{&bm^ zgq9|QUQ89GSeWj(uxevkTVcJ+^VD<-Z5j2w`UTHYq>hmlrhIMOwvaU5ADE3M1*va} z322!cd-k;>-3JCcCKRH$=6`XuU$pUQ%KzYZI85z>UvSp4f_b?3dO#-a(blSs)>#Rk z38^Y&`P}CyjpvH|P17??W~q5vNg^H!n4M1K+`o2~O-O3%t8DF}{@{+o6!LL;8Yz$z zlbTdW)HpBlcd1nf=ig~sW5FveCFN#G{uP{J&qXQmm`xpJN={13YQ!b3ag9mM1Wv@A z-E5PRk}9fLkMt44#Ze4~dC!0)$&nIIt>@()+d&CQNt8;QXz?k9*&Vm11j{0cAYEPE zS{%>#>?2+tT=9g)P$`@Ep+n|x^4HJ3;W;*AAND*r_l9ZDAV2Xfxcn9LlNrhgtcZWA6 zxDFkvI)LTr_chBJV3s&flQ;lANS@j5O7Gs%TQ@t5;Q8G8j55c*gn;cdr;9s&DG2<< zE-nz=O~zc;)&2O8Jl};8em+uQoyq>fmx@pVWOcIMj;Tak|Jn}mzeXEFcNq^B~CGC@3OY8 z-+SDD^zVdq1&7ks8$suo3}WuYN5k2AuUYw^TBqo)RkeMx-n}#z@D=4{o>mYQGRtsZ|c%bWU6@iLh zx7`w3mhX9i2CtRtB`2w8;-Z!s2sHep{G@s4O_FvG8jn$~*9m$`XxI1BjJa&&J5i1e zjhnRl5I$;CM`a1adSJhd2qC13%GaZ|KmX(Ck@-ET;Ghy7Od7}(!>*+T9pG3K1HUrE zt7lC8U-%Z*_WT{pmul4Cy=hbxAsT-q4!n>3iFD@PUIyt%Poo$xC-_yJ_EyTYhEr+a ziq=RYtH6D*C-}3E{ zT`ZSxvfjUBw;(&cv%fF2(^lGR{|IA%(@Bn@Dk*{(11%(~* zy9AGAzFnEcCei+PEBe1%ZC_Nc2ozF1(>h*m6F$j$&_`E%Ju2(KR&d2}H+0K9)3~?w zz~0nM-V>V5`|!BGo9DGo?X){$@>Wq=(QaF6K6{_RGvJ&*G{km)R_MjcF^?YrPbHnF zTH$)>%nRV%I`LOtU0 zD7TrBYGm(B!Y$Pv8Bcn}0^eW1Oq$!)Meua3;9U3l)`9BWmRSnzS@yOiiNm#ru$5^n zsO59i#m+P^-)vVXA7SR`K5^sLGmppVrkAyj@Z9R|s_RaV-HB;wx;WWQT-ulqo1+Ai z{cZ21N;pW&OW19d|69gmAJ8=@xsvqJ=2VX+>x)Q__w3-UghwAGl%ikdbXVW++3d8q z_8=U*PFyz?s*p=|4Aia;)oq>H2n=luurZPg`?!2&xUr{Q?FC z8s_Com{+ifu&}RR!=k=Lc!P+6iiwGVijIzrM@oQ=LyU`#{*LAyF&Q}}6(tq{?R#2^ z_oNh*6i-5)y?pr+_7yA&EG!BIHaa%N|L^0m1%UMG*^g&uP|t_}&yk)%Aw7F+1KtCz$2hJ%jeOT+tdD3C#?=?5M?;Spe$YX3$_Vb=J@i+ zlcXoWPYQ{{-;Uzbh!#IDCuIn;nX-9H1nlUNOoZJ7DHWts2D`+zhFc>SvhwQzLZawrc#NcdO{u=zEJZYuZQ4r3W}n_6Cv2K^sK!g>!Y` zO;jcM(<{{C)|r}TV-{GnLZ3*jFVMs?q>e`NFeNc^B0d1i0(*0d%W1UVm&EGm+d$Kt zk7b3-^4Lm~i*^v1ydhG2kNyjAI7h%|uGLnKQJ<7$rwK8^=eL|Iw@6^Z{R40tM14n2 zG}KJcu2n_{K?%MS+Rpjfq`}a?!0X_W!Au74*gwQFwo%6Iz+sB%KKlRv4G& zmfKMn#lS;DKwEhjZGfhR8ID@q*E5J!Ht`liA$@+JAP16L2KE=Z5NwK>n$35D;6t)YtPbNSi$sPidOqh%wKsw?FZAHgMXm z`4YxTKHU2((EOB~Pn0KGaafUgVzeYQ%JEcZAyoN|yk!C>EZ-TZGO#48(sNfy1E?w@ z=Ns^=O+U9Xc0B(dz>Dtaffp^m0(6ZOB?f=^RQrm}T`gYJi*M0)FlU3M?!?{GgD#h|qk~$?Ge-t8#=vfovK~7HFU0&Gr zvf75=Bb{g<`P z-aUqp&X~kUFp~Wf%Qyp(p5$xq{|bCHvtul$t{%RfIP)NwKLQB%xGsl}oEt}eWO8e7 zH1PJ`M3ATSX0A3*ogbYwdO%G%H^40RaWh-pw07ooZ=dt5m>e#w8jFs z4m9ZT-*y)H75AOYxHqv@X2+O=cM!-kmM-=q4`crF$)DNzk35Yp!KN6u(+CZ_R{xOF zUj()5T=T`XF-tn(@B=rBYJ7=O!dBl%`f!S%QT(~Ys1tAciKX9;)faG8SaySqyQR?j zIis5gj??s3;#hlN{h+Wx%-i7GZP$+Vow<2c4UVBgiNWpj)Sz{q!>-090)nkSo^h~I zAAfr)zx2`&Zz{SwgA6xA+W_hIJEpu3mg!p5ieeCUjY zaL2%v;qXC-!Qlbx3}2{fs3;~+CHIatH*xr&<-sqd#5d6ttdzlCLXJLwrDHg&c|3P& zz84I?7CqnVa~DBUzFHjqgUM68QC82vC;I9-kAJ)-k@IBs3lJ>d6|+L5U70o4}Zjo zck)boB3Op3EWh+8IY#k%f$aF3<8N+vy~!F2m(2%GjlBGifQ+7@&NyB+c_uMRt?qM2 z&3CgegS_$IMYT!4K@?kg-b+~W`58`U|_0Kie)TsIQhvb zR{Re1%PA_eZZFnNVojzu8xu`Mno^(;*m7fLZBMg%rFf#I(^%ED1XU_j7MK;&_qf7T z?+L^b)cE&nu7}sN(!}-#6V1a!{D6l%J&mmHML%v|92TMx0K=v|4`$QwHC2tzQv0q; zS8j;QZ== zy_KxRNLlyY#b5VCJFE+6u%yK4xLA%1q;eHkrPxfXx|6k83V)Kcm7TPQFTz%0zD$g> z&F)1EJfI}WnlI|+r10%ZP{|BEd*_*i4|6KH<6TYs?G$b=l5is zRYm_3S~%WEXWjMwt*6CGnQ`MyMM>VK)TP*25{f=hm)7L^29@l9nl6Jboq#_2X&3KC3sVfa>Kp+bg$6XrZS^mm=+ z6mL`HZ73xw+4TBgi{$4c44(&DSOV<6=EYD9EeNwoKQqQGHq^#$tNl3M6K!NkjFSy0 zPg#1S%v2nrqw&sUU7VRMB4qS8Rp}!bnrA-RpEZ9xjp_gU;Q^U`(;-6U=78tVpFu&r zcn1A*5)LUNy+B4mC4@#KdPmGa@}B7&FtDFyaY`}9lG{hAJb;$haL=n}idm5DrdN(hCdOb^11(XdN#I0P zq$KU$rvfc4a)dkh5%8cMg*c`n$(B?nQtG(a&E@hg5K|NcXHay3tb-jy>3jOc=t2hP znmkMoN#HdqpV|0*?T#r7s9kl(6am_=z<77cdEy~=$MlujmV)UXTE36;-r|oj>Z-F0 zQmZECeq`IXpz`6=K|`b^8)P(e(1q>fB^|g6tjvz593Z z+DD9i<+PRbxsFuiGIx!O|3u>;mKqoU&`J|vjv!pY|l+ZN>C|^)7 zml&mV6zsLMBW1vsX7+wZe0i*k=k50iJ*G_R z0)|Bc^fU3|g2Nk22_pQI8Q%=2Amv4u?H?Hz+n4*NR@-~M>&F_#u94tbgh_g-CK|B& zFGR(=CWA>dr*gcc+DTD)T11~Odd<{$`SqUkZ2zg}3SpD@NN{(%54UsYN-Iid{`IX3 zdd$>$YI~+lF=EQ2?lSfh22A=u|<`+&#e|Fw>)BM zSxPdsklFfuVj;5={AK2M0ypsP3N6^2%NB03-8`?|vQ|)n#G25J(|eWF%>I4jjKoY> z6WA*G18D=)Fo93Njyh0ch7<)3snfT@F`rA2SGQ+Ai8s zZgs3~A4qRp-+I%Mr$T#S%$+D$TV;m7vunz}wT~+f3A&-p+_|SHp#>Jn z?yEy2G~|Vu99Aech*VfZ?mO#Ul<>zp-6!gR)He}2D!M^%I|}4@NX0w$5JfY~3$nqo zKnYo|Svj^6K0kTz*p5AIra8BGV6JK~{!Bze;2X{qiTs>eW9n$RcrA2vxk`KvpWT(p zwpF&9sn0>k<5TDO{hejjer48sbJ`kVvU_tbZ1~5AKPwk23dehH+3@>2(EdSoh=2S< zfOo69uU?1=;a?o3btGricEa_qk-J6Gyu~w(mg^RN-}>f%aPri?-^8~I$q5uA!S#8Bk+XP8`oi&oWzm7Wba)zhF}MGq5oi~Un+n>SQ_-Dz3Vt>e z2AhmCErW<_YxslI{uUcE-?G>d?(khmQ;^e>q|UiAwIJhr203=8l9+Jo8zj=%@#^TZ z&@metgS&igRf(Oz1ojEeT5(p)&rjO6M>iN?YWp~F>u5m63$cx<&!vdTx|LY8$+h{* z;#jOUE`|6f$-kdIb`5@c#=GbEwaZpQ0TyidvD9GGTL{u{dQ0SIH#0py`FB9b-BP_B zfLqlns>;se2(7{dVLEhw2>DYQq~Ix;K~DMY0=<>p$3I-#_qDx$V|!*SH$)%95@ROx zTwb9IDx5gPh2=d}da^E44k_{yWBo8lEU4_MO19^Q4Z8*UuD7vOyPyYkmtqgdiypqM z{!86oTl(KGV?6?X{Mr`n+umJe=L`Ib43a!;UpRr%n+f~|zXGFfs;S?}K7(l%Dj*f- zjQ=pjKXX7T;Uvmg=t?{l2b?b;cd(@+$%+w<+i<%Rv=n6*+n>*vg4+EpHA}M4(X})7 zN1C?`F@g{m8gwOTXj%nm7;nyFttVary&&;@6VJ-(| zEHM^JtCDz`o~%hD;CvqPzPJqjO>yt;gi5C}mwgapX>57OtC28qe3L=F(g}}|&@QKZ z>`5av4c%$(sDAB@;tLr@E)Qv)^u5&Xjp9>f7xDyr-fS#nLIXwBNuztwJ-@`}EL9Kj z4}=@VrW)zy_F;M#GAw?Htl~yS`qN@e1Oq=vwa|(*hcMP=#^c3v?B+%WS2q4eljf^O00yJ-C;{GH{?bW7MV{Enm+PBg z6%XoeqPpY-sr`$c3*~|tY&^44SHI_Nt3hq_g_pq@J_BJN@J7WLj$Oqxa2=qz78Nn`!u%aWWT?W2Szh`t zMlsj9N;HoEQk$+b8=dY^Ddtfrno?>_(nGg;cZqB56+?3@K4@onmNmTX`)r#MuNx}UUmjOK%C&nJM zR2*y#C0vtDq1GAc-FB%W<9OHuybNGfr(;`4_WhTDG0waz&skfzXgk$>U=JfM?|uZJ zRga#257Nv363I(^#k}Zm98l{(dchE#u|qE?GR9Fk=mCy9tr?qaVx)~MSrEMoTN-sI z%p%*KiklLNn9+L#1kUwSRe&uSYcFC`N$R=r-RlR0PJa)hw-1W$yzPCl%$=Ps)a+b& z<|ZSqDG%-$=vqA|qWPUn5w7>O4YAY?o+OKn4enI94WSrzn}#y zY)ev_$x1V;+d)EU*>I%0Nu!@_l43TBHfJ6c3UGk57(gU8o?xs~xuZGXb&dEhfj}A- zPhEw5UD}~8ca`+&8e;`3^pq?)U+>0^;LXVX=*7dFi&FkX^a%&*c`+z{YZQ6zPn>BB zScaMxsk#gwr!l#rN41ffB8wDTM=d5eO(tVGQKQy54JaHsdgebKVRUQw5iwI7J zwb#$g=7q;Np?37tmOBtXx8NF#3y+l8lW(9kPimA8jH1}T_E;sFrbe656N<|Y9pD;_ zT#Ju44gki6s#6V(S7o^|)_AWDO)}HRE{Mw%hw#t|&=bW5sBD%3+e>RwG3d~YOlC)U z64YC)jZbS;x_}#PYUY+qQbii)nRn70gO7mh+U!t*U&yvh6ES)%Ny(>#(=Z6*A|wR! zPp7F?rqu`G;$Wj0*|L${xUDI3&Evy}7YQ2RuiWM3MO11gb{+v5w)222K^)`9 z<9mg^`;&S34I<0uGuHLJlHo^7RdtIzuP* zp>h|gBKyQu($Mw|Y(pi6oQ<3fF+=m2L}Uzm!G-u$B}Pt~BBU-dM6M=-liq>nYLY_9 zZRuw2z*LD8gIVhII(vU&tOs-~Jdj^Z<0GKQ31!vSy`DrVcSeV1gA`8pB>zNxmvveL zem0*EozFg2<#ksIs2YSla1J77qn&Wv)w@Zl1$I>`(&z=ORxX+-miu^M4#HwvG&FHeaP@n{ zMF`ab)oIJ@D(Y27dJ@SX;{DT(r>|^O^;OjJe-~JyRLdsUJtY*U-(HH39cXx|aa%En zC2=MepQznrk{O3o8!O#HQ%6S|el#Y}TYETP=-8tLl587=zXj4%hm4gvAn8wAoB8>I z67DD6_ia1m?vV}1;w@*u`fV1OQN=-Yy+L|hEU1GAb(f~84B5hz?g30Fl5G15r7Qp5 zFy?3mYLj3>Ko;&`=pw}e2~}zl0b*I2V_LgM;B5Y8r)9JyGMbE1n7_(kz068eyZMCe zYE=(g0Bm+%XB*At0{OAlO64xc@$5QIn~(hX>I%B;A+OQjao>YHP&|+gmlnfD9|15A zB!kUO1lbSpcVcN??z}R0I9E};Fn8`vS8T^*?(kRl*1QDwmymTK1|-O$5a0zg6x4GV zsNa{8kRb16kqH@IAfgb-qQ2u})V6-l|4B|KqIsG4W695@A;^1N-e()$gf{$$K70I# z-h{9C5o?|=Q%k2+tQO%xH*VW&9y(8Kn)c9qloyumk23VvXm0l-!w=-}sEUOhEl#)D z2a&n$l|KB`<9xB9w#rgxQ`!Na3@2JYquUfN6|d0+mH=u=jSW!`-ftZY!Md1#bHN%f ziprBA(@s&n<}5!k!0cdR7|)KRIsY20%UN+^Z@kvW5Zq8eAT}N!k}%$$@~t3yP5)G8 zlw1bmI%sL}L>^|XgPGrpHhWjUnEWETxrQMG@msI)&GhzzDe3z|oT;zz5lK4lb=-3} zwZ=(|Pqdit8SRce;v3;1v#$3RlDdKvj5F?)&K`-~k{>!QP#*#B|3=BbRotgtlZ@Dr zJm5R9+k!2RVwpWjzRDH>zdDhR)qn2%y)^2I?Eb^sEHZpDjiue@ptc!(Nn-C6bLsg$ zF6R~F7c<1RW6f>W=!x6uzeqxN{_#iqEu|?UDCr^I6=1(_%^0} zK#KTX{FJOK$NO6r>df+?p#CbR%M3hBMfsc+yZ4stj0N0H*Ejb{-&3SeBi_3BC-#Hh zHBybh$PK5`@{;PK1Xp_H&4Lj(s{`_9h~QQV-sx|U*A3F;jYwykMEP}8;A1utAI85(j7O&eWw2G>cNFzJ8c!|jDVqz7S*xVy|KdB z{h>kD)Ky+*$gt99Opwfy{~9=nQoRzFB3ji9H2s1rM2(^Fvz{_Ko~RZ~G@J-g+cY*K z@)Tu$GY+^-=Em3!=}vH&kw1OFu`EOz`G$x~qyQILu|zUEX3?E5rEFtAnu9J?rO75* z6bn1v$onsJB|21xyv=qYJ|ITE07WrNZW%?SHAEzUl1}t zqY&}QB5GR?AEBasjYuz9CT7%Wes@d)Nt8bmmr$>dsULz>?L`lal5!4&-*R@-KNER;q ziAsov2<$|HNN+~@0#-(k@&()jqOV}N5dX4F0BL(mo_8uJT>T#hRd)pU3zF)e2QZ4r z`IVUU|K)Ik;2|F?@HA;l4Mswm+!zvK4O~!NZ}bACYXC%pn%8tB5ekD~V`Jll7lg(p zSQxNbdWd`pX}@0_)F~6F{%HPx;jb9U#jkdIDsw*>;g2&8`H#|{RsW$7{+(X$=>riG zp5+Z8q=cI$iDbo)Ljl7}DJZXrj$1N04pT9!hS2FmCVS^3x95y(P*Qd+2!k3LUXz%9 zQ*D6Xw8~{s>sw$J4?)k6i2t5V?1UY7aYiToB<}A|lH3;LCmfM@KHc2>-{1)7$+uZo`M5sy1gHvZy2Xv%|3`yugS?o%a^u%*hF<@Q09S*cS*uVOt8I?S) zfK+6n?t@*{Vo?=@8(5xrk*6LtM~0sQ1CkRJumg*)44~O;aR8wyfvT2lYVDyys!}e% zLa_rB1Zgi>N)p0ag-mPT8Ycb*a*o^_V$HD{_=4Xg<=M*RLwLZO_x8OH-aZc3_cG2ER>e!K+g{b?oOk~wvW1zlFsmy%XR zqYxLwAy&|s=#MpWW4!)lMT(bK81D(N;8 zq8>Ds)#J-Bp6=dp}1| zYsYxEljF@Jz+j+o-zi?*ez!iisYaVq20)HOQ>?%Di2q!9Yf50Y{>q4?+sgD zjT)!voKA|VTm?5luH)%})?uMRUx$kT?Uw@?`P28+F&?|TA~fWF$)O!ue&V##E~@c+>I3j+AKKeB z_$aDKfRnXuu5UCf4Kkf=)<}hk$5CRl2!{ex5_uJlH&=HVJxR@2_m#LtCx@n|3T|l~ zz&j%QJ(ILK5xezbiZfu!v_5r-)L?_0#hm!@tnu#&i%iEdj0GYMx-~dQG6On18SJ(9 zzBMRkJH~N~-Ab~gY9`;aJQ$|@6ikgzEXTwz+!GBQnvf2hx0jFjH51NnUq?=gg3p;SSPOOj3+AbRBHx>Z!m#4_&it=H>9e30~Q~z+RIX1!rk_kZK6VnCC_& z+_ksWY;~A~+yn&AgGM9|60Win6f@>Z<}I7K#rO_%h}EKHdg%%AFE%IlSY&ynvl86y zV(gKD#XtMP-+ayfAljA7&ss zHjxyAB19lo0zWpN7hxD4te_yBDJ-S3o?bgXc!VcqTqDaYdzOSaFEvwx?)0i%NN`6% zZ#-2Mr$GG?@a+GA+hQFFHK#j|tDH@><^c*^z(z$D$P=Z51Flmd8YINb$w`r#0};hw zu^7hsR3HY7WlB%WO{);cgGtL61$X4K&A?{)5q%1g(+NcOl=77dm5QPpRAOd*5uDNB zSt>PZ65G9hLT*lhNqZsR$h;sE3Sq>5OekKwgn9AeC1gec+4YKqObErmhzOZaq@%pk zw*LC!Jrh6iM>!i%$uYEmXGHT6>L(p5U9aI~5@z|&-jNyqcsCEj`+R&DW>mg@xS)Iw zO;_Y7U6XBDElY&wjtyOAp8q^lg}OA-hB0&cHo?MFNf1X$`c$}bv=|sd(Bk8`=wp$9 z`%nbm9(DPtK{r->?|X7E*uiaBdIt@+v4pn8>oPps9yU~K-{C071}M*mWi7oot&D4c z)&v5v)zES)G}$K)gU_8&1#s@<&qJ0!t>tEUGOnadmlm`4QF{mpTH2^OgWY#IGURv8 zD16zjvgZ?DwB!U4e~edEOwE%4W*0dQk)b5huxE(HpM2V*LGGeJ)Yg5E*(*cJAo7@$O+i45`UhdVkb_;?Z|oMGqnQkb9+_f&lUu9>_+br0VF< zPst1fP~E0m`2)FI_{4MvE^OA6xasUVJTD_BhgDL5LtMfda~BpXavc0tZLSEUMW8ay zJvy@I%(!Fa-D?4RmxEY0zL4(9nK@|)@@@F<-SYkDdpEMso3gIv7(5^v>v682qlL0} zqEOjdlQ?MMzRHq1ci&;kU9(?{$`dBWpVt`)o_03NtSR9BlrMNM;xra&61&oUo4X&? zZ@gPZx5hDfA{^BDW#s{_;ft-x7s7$2NM_9sO&CW7yLE}ZHE$u`FhR%jS4}>zxWBD1 zDy*=ksi@Y{PK>^I_&%d}E1xLWD9*YV@VPgV`|C%k;wLF#afGsp#RwIlQG;KInHTDL$F zdGeF4F?m`2keH~#lc?r|oo~yr4a*su8{UU@LvQq#Z5md&M|8(LpO#PYAWE;cavDF( zwJ^HyYz)#8q*&a_fAHsh(6F|-c; zxi$tzCH@By{S4n`<#;IzxZC$!q{7r>OlIlAr1;+Z&j!BR`n+Yq|DwwIZNs0t)i3by zeUMf0UCIYL`;Q;&Y_(88S1CxeZX(gNc(UIl-{I|ze@HRz?`YlYIwplB5J{)-txX?5 z39!R|&UE=3$5^OUdPl~RUV#N&<82j)kYNI6j{?Wv8H$ zWH+ha;$2}WR19%Nn5O71g_sphAf`t<_b|Wqc{`6gyw@fZnK|IKhTfP&Y2GtBF1L%8 zkvlx8{Y{d7*xf(OxXphVs{mr(z}Q;p9!LY?*+B((vf1bvkc~tru-UBh!^!~%ttq0L zuZFf_ia?X21`vBo`T7YyF$FE3Ya!%L4x4V}wWFOb`CFior)XT+f^nAxLPSy~LUXhH zxsR3ORh=_F224w&yzDmFUPKG<${>Tr=P1Q5 zSu+L{(6zqCNN8A+sBWrtV^3@46ADnAr(H_N&J}Pgrsl>e=O#|$o5U$!LM%8u4%;Sk zO-oy&>RiALq${~JEJNa1$$m{0yI!nFh8~(DTQd%cl^gIkNm_2D(YmsA;~3iZoRjQ% zg;8jU5P`_I7VwQH&@BkGG3*EF!k0o4#rqrS)t{Wk%YO#n_Wbloc@N|z-&Z-vz%bqN zG0=vLrpaNbpfGm@Dz$yqTgdRMo$+Hix`BA$ILC%RWFXI}N$etfUT$vUDMd<@0a+>) z>Uh>^`;B)JS8E-qMDvrYsjT0pXWvW60Hy5lS$`q$(IKxjVxV@Jq2$Ve4DV6$$l-AT zD=^p2w7k@Ckq0Onsd#jy33&VncsT|c2F5#$31c?p1#>D~;OY7u5$64aQ4sU1G;4XE zabjA}^!J$sP1WF*oru`xPY}PS3vUADlPn9zM(s=&w!m#>%thm{1WMU9v9${lT7uL} zuZDCK8~t(BO;0lA7LBUrp7K`LM!CJ}4ejcuH6NS?2v*Sm>04WY8zOu4Jp3#S4-f>RJ)f?A)lxh}eIvi1dma9mfDlxW?}8 zoE#ZBc9A4ZbCPxrAg`vB8E~#lk?i z{BNASBEXE?@nMs#a(h7?W%{RQVPr(2r}@K599OHz7+k7$#vQmCvtV&$TM){+QmVU) z{<~dEW((Db)2;8tVOD+tg^up>g?oR;DI9!F-y!H(^(@)i8pa5xw%jtBG1q;wZ7?8t zMLXmg#fm|#seQyBW_5QwwrhoyrHRQ_VN`k9(MR%=MWnGk|1$n_XvS4}QugWY5 zt*-l4{j2M02a$|?*;n;SW@dQJ9}rMvcoj5?UN7j-K$hb5E-WTr=-vEC<1g0qFdg;@ zVD?zfrWtQCmw~+9L@>Gt)6baJNF_Js=9<84yJCwTW_X=}+O?zzZ(z0fL7mC*TJiRK zaJcaUJzl(Hqe(3S`KfuD zt-x@a^cLR_>m^fIkh#V?lQM@H%0Qc;_%m5dx$b-G}WceB-c-JBzv3-{mDe zNWI-cnnbs6D6dkpDW=2xN2gqrgG~0C(!-1I>?^ zU@k6w&DH4DO}Ie&MG=gP^G5*4fA_qUVV9){AC%v|Bs{5^p#F1}t+3B;2VJ~rED+0gGqQs5CEof)VD-_uj z*bBd_R-2IbtB0-d?WlTnbNZ>X*KyjC_`-<_P|7NUJ4#QB0yi!82#~YlNRBI81>(gh z2Ct(xp}%?rh-nUoJdnAln)8)YT4-IuPT*kA5%2a35YVpb*N087&vzV**jnX!}R5Qlb{Zt#>m+B=Vvl8!;3i*B7^8ta4jdo0mYQuz=o zUyRZz9TUsQd43^6Y(eo<@ht$&SGgvZn#hP^sqttXINDAH8Bbd4^trbte%O95^@?YM z8m-A&;%9^{anb*CObMq`ztM5U=`o7;9uCyAqJ}ABw@mqNaNKNJE7}c{wsJhZTzTKM zT>2rhpv<}yY44cG73~cwN=Lh^$B%IYJCC-iwV;4F+(GV$R=qEzYKFeEV9OJ&_{~a8 z(gESDb68vo-D<;PrZ<*HAIIs|OZskMi?2N>_*$9b6@?=+H|C;~_(Li8EMo11Bvk}_ z-h6p;0izxA@CrL~t}(+kyww!snB_t-SEPkm@8jh=2!gRR6sPsrr?7ei{ML{h>~XB@ zIIbGVD0>cnsiMNiD4tA1-D=n$dXb0?g zA#d$gtQE!^dYBXk6H9Hy-&rjeAM_G*$bP}+l|``XcL-x5pwDe{V9IsNoST55o|VQw z!#AqAl3RTMHAEpy9W~;qRoI@&?4`WW*PmXw!T0!7*~8ZlYk_{kYZ&A<&pAP*zdin5qfp$qj3s3zR!^r}xTGxH5_-`~Jb>Vxr#dEhud*e(m^cn{P z9f;W}!3b91Y(gxVLX@?sr`< z3>EpOHecmz<+vUAGm!T`t}Rf_DA)=!TDZWa7?_#<2rL7#t9iz}>oY86r*Ie5d`YTZ z``bpEbnHf^C||Yt4PnZObaN}p&7ST2_qBrW20(VHK|<=1&&6F-f$%V-e3C7#<|!SD za6gI@9*o%Fn*^B}#irPGJTyXG%9CT&yyU`;njXG7SfJLee__Uz=R<}~FU%gwT3%)} z49+JPmRIr_vcPfoH*}3EwrYE*!@V@-pf<*ekw&rY65ms%VT1*F@dbR6e_uRnXdUBu zL__A02;XWs{N^yy;Vov`q;BdysTyH|tS{42DCTlxG(rz5?x-;X)powAnX4ksmF6c* z-K`GeDapo8?iuk)0mh6shRqIA%gy32Y$9kcnTKdU08GtNJKY1~^$db$7{}_kaD+vd z`yRkP`!eme`HKiI_8=R16n5B>21&gFhm(7BH{cv?rCZwGzi+f;zW8t^*-Ff;IUJig zUHXGcs2+&|L%;t6cHW0|=?tg(6TU|PLpQz=l-{p|OEZijZw=2S=}p|JQw**g$#wcu zPO@d|7o2Et6@xeA3Er!KAP-!i9s9qc_( zEQ{8`yQC^}91Bj!^ZYVH@d$AJ^tqb46wCTpy4C!*Zcz?$omK4JYsNGM+`A@HQx0Lm zMVmaf5V54WmF`8OjQe9g&!xgH{m%9e@Rd-c@75ChZ>#kdj5w~{#V2fn1sc~CEwLk_ zSgfRPg$ND<-(WyH2+;9RPMH^DQNASEQ`gn-Ad}zmN{d@7Fr;YvZ~!zo2CMh0qcjeS z+^%>*H%qlz`LU5a-}6;>l`o$C%qaI(bY&$m_uupp-!NH9xd`N4M8%|owZQS_sCkE> z$GEzZ;ye2+vQlicm1L7+w&18=VK+v?njC4dE^H^g1;6gyE^Z$^i)%O+j7fSs{vdx5 zrF1G5Imf`frLRf0dahakd+7a~2kZBtJIbg!IM<6E7HVG zUkJtpyty6tCOG0XO|B_l)iM7+QGdv}%4YGsZbAfGxZoqa30IUc>gFAmK}U_G&6M7F45cviV@B3&B%!quT-y-u#8C9i54E@nzwW+WxMbBb67XF(om%gdMwH+k zNz1-}6_%@zLH$MG^*JUv`Jv0)v|IXH9G5}eI6QVf$R0y+_q5%Uk6r87=3`Fp^h_T_ zWhQ5^zg)bycPl!9)PG}9#9ANrMyd^cC8VShGFrgX;@&d4F0WREY3 zh5ZPKL^;3kO}YQdt7Urspb(F9c@faq34Ok%2zL@cEn)uScbr*W3n<-sc?0tK)LAD&rwew;}@ zJF3?xlLtur`iH!h{PpXDhTfec?Iq?)IuXG%6p}{mXA^1K*>60R?qIeg&)CB2+Pk)* zR`lZf-f@oZF)xRULp(J9I@R|C!?6Yr*;O*~+WV!dn{P7XYpo-kbf)1RyjPattqt%m zHwD-DkkHC~!&bNu8UNZNLPnR44vU5>hl-(^1wLkQZa>jk`*AfiU&+&#q@XXI{ahmM zE!mye@GwUok~*OFkMG#XE+deYCle_uL68!z0Gmt%Ma&?xM8?909exiQiOCtR zfcK=k`?&GDqGTTv?P&96bB#CZ!y=oY+7cy2sY zS!9uuDL<5u9;oZzR)2RN=7Zq#qQNbrE9$vs<8XIqxu@RiZ2p;s+N@O5u4_#7r~~BF z(+gx?e?5KkQbcd;TJ?AeBfX}4X9ej$w%VwDb^K~L_4)MRJw&H>Jv?B!5E0kcdz?kD zAnzz(iHVE@Twtu&c^z-U=U#uf^v0B?yh52*!_Bqe+wAUqSQ8c;MZS2mWaWN*PFRin zNv?{z4nok^6BfU<5TN<^8OPRKF@q(ngVy7rbJ!miVF+-_3zI_iWj zejnZiQp2mId%C@r5baMsw>oY+_i(Vbekh58vOy=x3|=Xg7jeJ9Zgo z#Vz}vW+nC~z94*A)3;NldZNmLp3U(lM0nGe#gFLOq_E}}DU8Cy%)>%>3O)rRkOY&t z8bRO@06u-l?(pmIQ%+Pbnc6BdT86mgiQW_PrLRW|VlC@yj8(f`>S2;d?TjB#AHXJRDrMn{0|ld827(Qf*P0XCDc7~gwteExE@0`&aDazFb5d(3I2u=7eh`rD0-fxx^n-_DC!KXsS6H_SYf=Qz%9 zLlOPr4di$fxV)B#SGCd6M!c2;I?7(-+s8{@Ax302gnje=Q7fFnv)o{p7`Nxj3qE=m zdDBNKspfmr*vj)|apm~o+jD2rZ30dLPWbJha^kTYd&u94hiBX@XThT$&+N?enYx52 z$XyKMw&*VB=*an7UY+x#2srEPd;BINtuv(||Jq<>J0x}+Ck%sB zH?}Q-zKGzMMu@q5Am-BjuBVV-x65^7Ipmi>j79BM+nx=(jW5_K+SSy^M20i()**^v zQFQwe@_vmGdeoP4P~-Ul$RQ})hP=V>>cy0jI6?vfvZO#?6zX+&R7^wKH}95O;d`Ft zX{Yk+!J9NjScJC7Eci}0kv_iwGQth9K-Vs@o`u07er*k6_cW`$`WgAndzl32mn&lO zFsqH}Wz?3(9?L)eioSo8{u~MaIR-si0DuA)TiIh~*M0&hfmo8&yXO`A{UU9{r_8SK zZ2@_WCh&+{F3SP+S41`c94j2Z7$7w6S=t zc8&lCe@-$Tqi@8+-zm6}b%~QoYPc>Tk^2A%P;{B>wydT8I*E+THfmJgnT+2@vs8$FQ0(V=fIoYP~Kz!exxQeLu6Kn517 zwZ_u*kYP<7A->*TgWmPf_2>wx=?*8qwi{^3_sR=?e;P6E`sm*r@OuSB04^BnFK4Wa z{+}OO@A?)rTk?tSSaruVZvD~IKDG#ko>;)KFQsj~1YXP}O-42GrpOv=_*dA}R<+T$ z8gL6OR(~}^=WJhlj$`6n^Kn*ZW^P2I8 zC2uLMdtttshEV5ulUF1KF~Ct}Z*{TH#m$Lm_>0=zo8p#qz^vqFQe%HvGCMpfeCJaq zI{3cotmp>~oAKfg6(H};4*&p$1}Pur1!rgR91b4Bk{6fhP+1A{K6lpwqK3EfG~tfU zZb?GqggCCykhJh_zJhUi-A#bD@T&0l5T%bknnTq{>pdwFEFnD7&lGN_&9>cMiMCe; zHGHjF9OYL^3A8+lR`9tJ*PA&JKJwfn>gYz0$IuAwi!J@MLg#72rlFG|mAN=30n3Js zQ&>W;BeJH`jQ!)YK)wrnbIH)dDJ*`VvrzdrfIW%bQxl8KabNeJD=1=lkn&WjRi zAMwg9Z1N%hDy1Yel2GbG z=esQZrScug{jV~Tr&~JE#$)^%VwRz87KS=8 zmT!Y)%A>rw{Nw(=?%o2bt|eIjJ-EBOySuvuhv328-9vzbySqbh2@+g_LxO9t;O@bK z1;{@n_s+d@XXd>(PyYJrH_hI4x_4JsS65Z{ZrdkB*y%@f-@#OQdPcBVHiSnJl3d9P zE3E?~I?pq8Us}8ICU(geV#(`MiQ$;?Zha#WCoVMCI#s4YSw0|$&XM~k1enB{zA-HS z68zK^unR1f=&e-XHg%~q?1 zku5k}O5SYf`iW%bTC)1eQwi3iIeXZo%S&c3>TPDoY}Ffc0$f|OQ7?B);RkP)OtcZ| z7g?72v3cCWYaD#{aWEg-T)xNecugF8;}N8DrR}8f_?L(H>nIdl5hh0gWm^#fXfS;j zr3djBIf#j*U)9o3R|}+QLf4XJ=sZdsgzEWhFu6wVwj!n?;b^V3pO{(qV=Y!bq zsGDhowN}_I(`_x{J~}P+IOUTCW4`OL?Wpkw_j7!v(XW~FmU!cW>X)VDV>1NRWpW-z z*G}cq3zdDLbsv~Z#_W;P4!QknrYXr|&n7Tmf~m>jJS^jZZ(Y!?)lRDyWE zCzjC8tcj)m03ejt>q->g$K)MdMZgwzaQ+E>`Zjc@3O)=4GoMmNgnCsWw{!?Gps{G% zp>04qOTMct71Mzeq%{Wpai0bPxq#ha+Sdd@rUehEmNBofJ*aa^TM2p*YNH4!g%tEX z2+HlNlD)v^k`mgEu<-4fpWbS#woI>=Gu=VH zN-HUmk@|caai2|+ih;krGmM#wXYS{-wl7)rF6B=TqqBgcd+zgl)6?^L5)^NXk+WsT zyH80+o$K#>Pj(-`{dY7c=5-Iy=7@QZ2duN2`LT2`B3q-<|&Z_X;fXd^L<)D(Uh64osu=hm-XXOk+fM~@roO%(iLLJUC)SRIkVmxi$Qra%JKV zB6tPkC_Y_aaqz$-YbI&-vX$nf=jhvno^yxw{j!cci=^4k)5dtx+qS34FO56AL7y;DVoPE{F zzKb$?8+I9S$c0SW7)e@0!<7))s0vk2B`^pFf6+zu*cNmL3Fr0{5)ak7&?a7=j?kl< zG;Q3qabh(>BHbkBQNIb{axUd&Ey!pOo|W%1i@Y3uxU`G zi{K2B`vRrJhlw<$0e~rl4O4^%(b9bN>WkgRn6Z$qsnJ#1&D+fHyr;Y(jD_ysN2(AV z_fY6!k>3raS%_HXsb`jcsSK1BAecYp8S2xTD(&`1hJo2h{<=D10nIUNpoWj9t)-Fa zhRHISe7NDxRCwI;!e5nDGn_!ucTHSo(^tmJO1?VqkozTbumM)H#CW@3;VQ&QAYRvU z3Tq|&k_8uxbgj0EubH(n^Y&0-@4aMTW`-xuC4SB|hhV>^yX$`G_EA+~V&4KkO26Sk z+xr`*`-+Y@X03KS3=}Q)o?#cA2HYB?683tXR8A+9ahrv?cm@#Lp9KCyG z*~GZ&kBUP1uU*{=&U}d26mzBXn`KVfT2$m!b#8cUmt$tak18;+K<5|rQ<;9Y>A;b| zJsIQMGp&t~nKv!TofP70Q<;pmJ}#M{qRFq`A_#$&(8zP8^ufVv8)3t$IO9|Io}-&= z)Y2o{&y6acASal?AeKzgWp6`s7Wiyr;ofi%lhablQzw(@8jLnxO@VI(}tTgLH7B* z>pOlu>nJ25gUmDV#$4?a0|~q+KeHkj;Em5Dl0H z`zFeQVVXnZ4f~TVS&#DFp=W%SiP+pN$6TYa$T?@6_Z_C+W9Y4XraXvv_r?4Q?ul3J z-+2m%Nu7pLUVd`7%RW+yL5S#@?SOTJNcAQ&wT&Ho51AH(?<<|B747d_tcdcOxv!K6 zmSt8%tnZ6s?4A|vhspk2Z{&ALIo2~&0iN!2G+7%+e?ifz_dh{F2g>5J))hX#0v{HH#QvFy|2Smhk|}@6-G%j zcnPA%*V7}HB=IW@gV?=3w)%Ts;V!I(#*dopn=q?RtR>6OdOb>Jq>HgT@!;k3uwgZX zbE$Vho1MqGJbm3~tNVaNmOe1quUDAYMVnT3ejmZX8fdoez#$N5!eEVRQ|^a2v_-u0 zxHf5O`Wjz?Evf+csaKkOhw$-E@`Fs=tZYUw1`ULB#xe$)?u#G|`7;Y;+#8nDryv4? z$!WZ3eMD$!^j{=PDbG587-q(Si&0h@Mr?o{P5ZP$yVD<_!71So%hM{=yTMj|uqc)a zTui(pC?;%)r!NV&pBlWOZPBCV5)zF^Z7g-tM}qcM+j3(S)us6=E4zc|NU#)>f8+ZEyL|qhAFcv zRed4$w85^S4z0IC`)}J`o3q6D7yR81`5%C_F3_~Z&tqpn^B4dCYV9SX;AM5~<;3g0 zQP5TJ*^jsNP5i4%Aizc2xFd}!lwb%1bj5E_k_LiC z5GNE_=iqBhPK+w9m_dN)yn=|b9^Y3#cOQvguc*+7K9v6%!|I;;^ZB1Y@I!pY7V$ z=LCQJ{VLQyUT;WzZ&rkU&*f)!D9=}#ZGChWP`KBnqEKJ5@656w+p_G9I_pmi`(xSs z-`N9^MCxftdzF8(>mM=y3i-uC!iyk~M`Ru3jqgKbo1kUw>tSemxSa|C5QG50IVO&S zZj@tiRR9zs-@kVLQx8kl3kzcBuj?~kfAjG?P^=r>gfJnj8_V$=e^AkV!J=t!Kh5N* zX|UXV^Q(Z*R~xSy>u-ost)MHOjSo?u;u8VJ?v3Jw4`YyZtpXDkgmtZ)4|$-R(lQ7G zzS1aY2io^%E^eX9dHBaGXcCSdw0Rc{90~&J`CR4ScBuU}2?yGhc7|HlGxaX zj)xd3L6)eHVWP=cOFtI1R}wb`m4%i+bU#>}3^iPm zOeH%oRQgQ1D0RxxVoME!T~{h6UY(G+fAm)XZnCU+;W4K}5o98F3?7&%{Q6botJefb zp?$`+3wGS_8WE1*Y)(A+v+H);&!I-e+Noz0I1sOql%Rh-LVy%JgiiS)t?09hWCRFE zApdzwD=tw;pYk`bX(clvPzHyT!tdb|LJF;ZJBVH#!OHcbYB25RgOcIdc^l*6^!<;_ zk`#HeW*vBCN+vH-m1y>DFwzsLk|H8Hh8&I^VCV;4F&qs2SKX&2IbBYOmnq=ZCcFNd8y>mUBf~} z+$Lpj+u9r1)4~k|vQGXRd;*zwmJ2Px*GIR!sSS$P0U;QQdBflFDQ7^-#{vt{-#hNN z*jCmIIm4aIpE)yGWt~94Q)h{!Tyx5n5JX2`eFkOI-^8VhMdal}Kd2TT2FJ+x?=6A&WKbqI#PIO_kI=2^bXVaa~OFd^J`>8U?Z`IBV_k?Vuv{!;Y zacjcFlBG4KHMgb?@2zg%ty!6B5lhH|gJeR{O#;QfIoIwPdtTbw{;UUR`%>St>MpA{ z{{Wzz((C>J>^|F)?oP%U7ET0`KX6{_3JPMcD7*21CyFh6=Jag400dm6YvX?mvA9Z-Ym@j0~ajt4KgYW=ooa zwdc&uaIstpy?VK7Q^hdoUbe8rnfJoaD!AGuMPX*2Z8~~e9P_iH6o-9zX*xzmfA}k* zhzquWdb9XYe%0)7@yznF68lEZOK?}-NV5iOoNEFC>7)acG1P?Nm*tth&|1+AG(?qQhspemcP>S|Qu~ydRd8fe)EoLikCoiH| z+wikA!q~pUf+X&v0J^G<;TU>e;)Zwp&xuSt93J4&3TyBTHl$uNbEevY?p$=Kv zkq1sR!=&53SYNKabf5vlTHZhx#aJ#+#Lp-CEUQ8t^`G$aGo598mfWk01s{0zyYH84 zGe#@CRtq!^=peflJeOL3cd^B&P~1S_) zy3ZJoDjIq6Y@SCPH5Nt@?}o_g_XgybB|Shszp zO08TEP+VMEiVl6U-7+Ljkay7D78uYF3W&wYWiRYrQ>pFWr;guc@ zw43bL0k5Ez{@Lh&0eCJf~RSr+NYd?&D;lXUgCsEl7Nzer+~ z5g1(bTFNLVVRyOfUKGMaWrQCZew5+K2)e%@)eR9VUF(q)JN4Pc@E{!g1pc_h@GvYl zG_aItwahqmW>^oi;xF50C0AM`(#a(1ETiC{E$bFwc)CKr@R#cLSM(pd(g%`X-S+RELN8ZFE}52_T~0Jh65(X30aT-58s8)lwJxu*mX?bV*hhF*@7&nVv_ z%yzDM7@P^ooUnDFbclh{iDo-qUS=r81*#rh_S;(?+=|UTtUZl-XI$R`>9i)6xa+ST zNRRv+L0feNN58+3To*Qp6d|5sun-YjuW5Lj`h9-+;Zg{t2uDhccWrNvJ%$vFn_E|T`aM;T-9?gt?BnM^dI>bNTaxqv>&LpK0G6nR*wICsV= zfY;a-1I|4FtUmlY3w5}&PS^O3UkS+6?#%!#hhk-*TTfugxMGQE6&63_QwqhECum)u zbmq&nf3ZnTzoS@o;Wui|+koHoLUp|UYs%rfTbI#J?-iT?SL#lKx2Qx9h!c4EmF_W8At1rdT91p5RNnr_! zGT;-iWbMDLH?7mxux?w04m0I$R?U}QsKr{*zXyKM6Lm|Mfz1{<1we#&emtMicVKrb z$?Sc7>$hE_#?{#V^^!NePjPSS(x5glbC}VV-&X|BS*>S%vAJ==mBD$&kKOaA!iRK4 z?d#*``%P=U*dAj@r>|37cQ^lqWK_d-{`C)eeS{31BC(lA&Pm0ba~Sh|H#F(myeJ7D z`Srmve!6t86DJssXU7_bMngAuyrMQo*K9BYSJrF+6TSJNri<$&2fBGd746#>Bn|iZ z8TNQ_rt1$rE;muJVMJcxwple0eL3hL$=7V> zn_0YC_MPV=R0Nv8y#BuT>2)umWOk`;y}Pn@$%>DhysE=sSfsPTeBXBZ#{lnM%$dw_ z{I|p9iZaqQ#rh%oPh)g&B0V>+1zW=5Th(j?^Xl=Gn26QS;j66dIvw9ej%5zGYc&2Y zE9CZ3VEUie$`C$}u&UXtsLp&9F|Y1<7{nTa58=tvYWsJ6{gUeM z7lD5MYHWmrUuQ%*nkoPVl5|NfSGK91^ApYerJN?YsXX;NLAEx9W&h^+pe#<@5f-UFKW* z0k)exg1Vl z8g^Y>U?XcBxDW;$z{g_I(>42}uX$ugu+Hc%ISyl=g-o*CPiV8hLuB7?kSIUa*zI$5 z_J%V{FW3YX&#`YpVNS1ltU|2#E>RSGG@$T+nK(yc4_BNA-w(!|fBizc3fPUIe%mKYNA(Kda2wDzy_->WrFjz0bqIzcO^8D%GQv3fCp6zBE`@e z;cDYV=5RVgJ{10tRmqpbm`rojtZJw!Si0(~_&OahAa(hP^{eWtmum#t`G@zlhG6zO z9`I3qy`Smh30^x5Vc8_sTY=fGEZuisSMxK@0pYnE#0bWYaAnySewFIJoXpq-0{pgc zX}VEghpz736>?1_(-l)C<7)hJ2lnUqg0%X?6HF|m?3V5**ZQ3H**W;o(@FY=cQx+> znRLm=tNK$Oai`h`|bDD=0_c3p= zN)U@BLR*?@5;Hz#GqsXai93#j4v1^b9&05q&GDw1JbH!>yPVLOMH;JTL9af_RZp)n z&&bs+yd=gy?Rhg)Y!?0c)w!ZE3s#?o1R+A^wzso8?pbLCUE7;*n~^l+4N(sB^O#%4 zJtk29TudrNIZWUigw%qNtzr7IR(rtt_vrEZ0ooXL24IiWLF%tbhV9Gbeme2W_y!s{>e~w?nBlX-PQzN!F{%qa@VONoX(sX)0(iYCE8ovT} zU2mRZB&zIVh>)t{%(jH4UW+F@SQbmPV~-_213rY}OZu-~V((0gHLV?Stc$ge=}?e7 zt!VgVbts5aJJhu02XH^bn+CY*m8RjS(Z5b%PKArtYJzbV!GHZWtMt=-8lh@0(Bfi{ zXT3fL0}nz1GqQaZ)mHmJ!%KHy#adGUUZPKb32r=5^To&F8q7KLb7?N|bP!E+I|H-B zxyACufo51I0n5sRxn(5>7sACo^=vS*`zD~ZiM3;8IFVb1BK9MT#SB;V2RP6%w{610 zuJ}WJhvU8r;Jb=>b~V$F)T9SOh`L*jb9jy5=X$n#C#^o5#eS*2EZKi?%&>x+R~s@^4%CA zWN`bw?~=bt4=TE1bByWIwwOg2aIVQ~+Bu$1x!1Xh3X*=%Cn4cWUgo?fnf)ImGLE*K ztHxt^R7i4M=s72lC-kwr1L7nBw06l~d=3RI3s$52a?Scidio>r;*$~7b~n~tcp{f^ zV%O{t_hU2(T0`B(CjWFWZ&oNj6UrEEvzl-0ie08K{q~H`CwaR71BF7T|1gGh{sHH? zzYF@J!E=B2`EaIR!(U)%05Udb&=U0L!LPb0)SmMV&ncn z;VTH+nZ|jE9)HWVal)>T33mxu4D=oh)>NeCa`V5j8jSCLlW~BrRPnTFOOk?m;C+{3 zHU_X_7P(zXqJ&~?4aV!535V3eZH-08LJX1(8;f@S3QLq*Kc)me=Uj)Z($1>PI~h4t zG*}H1WfAr?;KEA2UIuLPZpHq+ zPertj4*3)(OTf1IsTc~J2}qNTg7%Tn`CoWdDa?Pz{{WmJ|DIojUpsF*Mk=F_wKo0t& zhqDI_BV%U|Ok6eihq=PHf@lX2BN&fz?n71LvN8vw$X(!vn2hhks*qV|-f53KK;;F) zmkp<$Qw}1Q|FkR7xjrrB1ruHUHj0I|GsL9uJw8HJR&X>tFPn0sF%l%}8%a*T_eqDx z2=%d>k+iVW3S!*v-{6ULnPo^ogL5XKDput|V@j_%m=fU3vvIK;qz?{!8~uZ)N(HzG zie}zy`cVfF>Kxu_lSJxobec@|p&c;Qqe*V%nC__qw^Wfxs*3L0!H>6E-bT_s`v|-; z$@Ec5pxHURRPt+JF;zcm7NWcJIb~8*y~Qr%;)sFM3+3kT!D=u#{;mx^Vq+gzDOwUT zgJq+8UqCCP7U{^8!N1fKgRA|hMS?EN+s^G^q?p~f2O0d`zeS4G+4Dv~rh)Lw47k9* zlaUkRsV^0nfw(#Rw{-jrdsB*`VQUwR1hTY`QiqR9d zO&d_5g!7L;$uO7%AcHUUSs->;NG)IFRI6rMWGK6RN6A^uDk9_>rQrH)iusr#doA_! zM}uyBlpOI-Uyeo*t+~mky@Vx~?76cPOJ=Ma{sx%tEDlUwr!E}fE9!3lJPz=Mz?6|dp<8|qn_LkC^PY~gpea+w~O3C2(4$w46 z$sN`k^fi0a{`z)oqPjKSVMqRhG#6Ey`*E^v?AmElMCwN?K?&=+HC9rshjH|{m}yc# zkd&s4)JN4ZS=(O-?6qi+y~J9{fBiR|L(t@u@ z3COb+Kc4gV8#8ewY(FC*^?|h9^%|+MHm)&B*NbC+#GlqsA&w6_j{7E@H-q3$_mr=+ zfDP(-8&E+%0yuH-pKIRAk{acs`Fz97EWCWT5uJg;0%qUl-w8$WqKPs4g^aV6#U)EV zf7#V9mKw`{-?T@)1KB;Y`_fMyZ~M^LFPTj@|7z#Oyko3Et)rNk3S+?kxiO-F2Yd8-I)s^Ho?FEt=4Tvn5}wKxK;Uqf+%H!TQ(j zg6PeQn$hzRgLC1u7XlT;lR`5rlJ#kRlSDxr=ZqVM9e*x>>c92y-|Nxe6zbmvB0V(r z(7kBtelLPpY1|fp4n-k-K$RM;3Jdk$nDZ9^Nzfm6X^03{RJCg@V;Dn2e*xYI&7@XR zRlc$vV1;fs2bNm3ThU&N*-buR6s|*UGE`5?dH!H(OX+5=!WC%_54Amj$^5;{M|jaC zgVsvx&HhXe5!|c^0m2ZQ^7gcm*tP zMm6(s5+pvAQAURkFasV8n*)rQ1O@?#up6TA?4_UaC8kQE!Z=O4Q)K?&DI}uya`SiT`uA$T09DNc6iq^`BS zTl_2A?=8Q(&{Dq!0(V$d)7&wAF?<>6rbSEpdj(Xhlt7E~Q-DWq*Db`dSU}1shBBlZ z8L9;;4N69m4oy8FSUrQ?u^J!>%qUzc^xhp(`*pWM2p|d%n1&J*5*lj`FC(R2rT@JJ?BVO z2~*MT0!|en?@)9mYZ4XBaz{&@YZcgx7;&Ms@7;M)9k~IM7Gp;8bFQi#3-HEKSV6Fq z3S#W`zo!nyI_m}#ZQf+HUphv{S19nMnJ?2&{C23*F~y1Z9vf1#HM!jbE|d`}h{1b5 z695lo1grW~jh3z7=%J|5{V{0sSzze=kCUDS#*rs$Y|pgQm?qE%!@FbE5s%rUP6L6* zpuT*KH}jKF#jX;X6fjEyHcNkF?IB&)2P;`k6$0k|7ng^G#BAUXKBT@Q6ynzZRHOp~ z?%_O>5l0O*h9pEbnE_P-Sibh*OU{K7+*)iz^1jE{L5xC1A7(G!DAV*`yiw`{!f>Qh z=fdubqmGgW1&qG3rMx!cL?Dur&cf`&2JZ>h_ODSf4+9;=paRSIhLp-57!ukFgjown zxGyCatL-f47s-{DL5(HQmXU4Ervme5?wHNV9*+hjyPA^ptGqQr!D>+(QNak1 zl!MHq4#Y$eM>(3~92x3J2YdBe3|=`r(@Pi zt?5!U=o6sXWw4X=F3@~CEJ-+TUZCD7Mi6W=N2gWtSs_Zlje6(|er$jOBG$WqQs~GU ziUz0-Ier5*%I9v@?ttiq&b)byPG718EKgRWMP#T<*RP12U&IPE5TGvq=zONZHi1my zL;$So)hYPa!E%{YEl9})@!X;$r=%l}<$`s=6xd9AKyo>~f!&RdxOhghS#v*V#LlZ) zx!yNUViZ6VY};AbSN)y=%Ps(s=U8M}mm(<|%`UKKQ=fc_Q}wM6dI5H~8lv`@1*p5* zBK0gTZ{Th#pX$4KNRxVmBA&azzZGgwSf6ku;E3S9b4r)8n&mxzOP>Nkm45M5mHLta z`6OMi)h!22MEZ_beT|jY*dkUW*fuO&{S~m?u*UVTN>?g=3f7p&&%Tp3pRV@EwMVaD z*%C5+5<7IbJ2eqzi6gspPZlK)t#bEt>$@MwAHq3A1$R2yHf2_GmlP+el0WxXotxYkuG|JVk%a zz*{Ruh{=Gb8*=mQRR!>OzNG4wpoS2pABN@T6qzxV7}=_3^`*@swMxDZ$6pEmySIWR zduDel%-%g$e!BPzBT!dbekA8-vBB!E5(JZI(8u+^Klgu(DvdI{De8se<^^DkrE_5d z_+gCA=46sU0c=M!S;Ujr0QMm*GWLr%>C?2kYljTmNltE3?f{pwdl5a=sZOW`;(A!7 z_;nqui4IW6F;NJ<7ct~MQAm;wu>vUIV^yx5kEk|agi0@XWaz^5MPZhI8K{NrnZlX{ z8|mABbe566#W8w4O4=k5V5TK}_EoC^Ur4;$@INcwACmZ=o4&v69{+_+|6M%)JGS&6 zb7u@mM8X=%(>l%bJk66i1@_h(si8c}`oE0$9R~!$5YS54^7Hr7sqdw(*-%yMcYm-( zp3E#r%H=t7IzJ15{w{VE^D4Wbb-)n0N|=m=6s3B5~^}N$4G&qf7rinwTk{X&Q!-?&mZ_^_96n zj^RoQH?Q~4xOzIUXN?36n`JvNlAxB$@{WYbM|{?Tu*F*jEv}O!alFg+@(N7c5e)lj z+ABK2=Qvug{UTIJdox)Am?=?Rnm^?^UJ9@6`sTfT_Fbc%8ET*2z<1~3641x55YEB< zt7r{4hN$C_gJ2cdTTHUV(J%uNx=qYj4 zq|T`N1CcfFFixH;l3y-c0hqQ`M=lA;WxI@ufRqv zq$Sh{GzKZ4-Hu6-fFvYBOROQL8K^xC7CDcz+ zjWa8YoFU0c`VT@1Jj%4iqw}3L;X%Fu%NjdF)$rkK{FAviXR$UXK1QTz1&O;N8dJq<|%>fy>4?4-;i)+aZ0=7CofE8qN z=CIicyQ6V<@40>wJ3zU9y`QXSfhHF>8^@wXOYGvn3!C}^4|th*247A{DFI|+ z&qdrbBGRfQ-?1oosf0^X<-AZBKG)B>vk92j>Me!%#CDsNGzja~*MET*DCUNRkS&OR z!Vea#r6QUR)4ybkfIGD=jgak&Ur4r&9Bh*4NzuG|xYQ3yUOvDu^hzv)FC_MuN99(bUr1-euH&~=c@FeqiC-_~6K7)SeZmtc4 zT#wrbbxr#%Q@*Nrbq|>Snys|O_UvGCuW!M->npEPsp7HS5!SQ82l&QnL_4`v8RK5~ z;_{L(Gh4n?rBfhc;6sEMyYIt|&Tw%QRpD^ML^kh0W^(po)ME=D3bK-TT{TVQ{jUp$ znb;CV+U(zK?AhT0Br6jV*+wcFBi@L+zQ1QT0O6ATY*R0Vy{sR1 zi5BHfg`{y7my)(22l`FAi&*TJ6ti4FJ3%$MEOnn1;6V|642@7rEuhLN0Rde}8MVrd za%U?IoG41H6@mtVHE^D}u(Vai=OZoH=NsJbkr@tpMt3P`fNocvsySP(%rT4l-vD!M zDk?mH3gmXg9}#WlMZ*9SN38DOkpQY25vOJNr*-Z zp$awv2tTcnl${9gfF8Mz84eK(!01pNCn3wgdIR!1)Z}dxKG-l=Oo-NF*Lp$pN{S~M z7^kW-h{oWRZa%`%u=r9qpKwA*%hr6Y-5x=lO^py8YA|dZNJSwSf2UROOD2(hvI5sK zu%&w9&$uxGT?{+J7yTXG>&2#{&63BW(h`g<#PvNoHE3_bI0gC&CD!IrQ27IWb= z5`F+Mf?71yJ>IYbmB6wHM@n8P=R6Y*q%6B0}In8}|q4vyBvQf&CJfz4i#+VtR4 zTc}En>f~d_;{ZslSE-X^i>9qPlhxGGGXN?mlnTP7c!XfEalKee$u7Ulle)NZMA5W| zs}2^~5-F*EKYKIoCokmSPnjQ*%brbKGsaI8nTj+F1YA313Zg(W!Qp9whK*U16_j(R zBs&TtmMOz!YHpIsmLtj=Q?uw95 zUF`xma`?qheQ0B&t%?JpQA|o4dNm5Bx8IDA>zJf&n4VT=qRGDDeR*b>&_#_2C;f&C zrOpH4kS)z&WANR}Hxk`f^I;z{h6l&IZ7@(t@led)`m{UBAhsf^ zbS~Hf<*qHPL@@!K8*y#%NKj5J<$YxFMasz4i9lNBpopT@o2kN2ta@AfpYc!tZWNeF zL0{ggI;T^hfx(V3D~pKxN{2QEGa{dsBAe^hWF_7~&lbQnw`w$+#SaQ0+m6B*rYEj<`rmV4Rr`Fvo#T6ZV6dh3NB36w@@}b z_U%<*zQsN*;fNREtIad*7E`n&=*iG;Iz{}KLUP~vx#b3Wm2KHbq3Qzqo!4=`XIsrw z`kY#S6yyWI){=TkuRFjBPKTT+fth6Q&gUBv(5A{12}cv6q~Y*GP{CQ4;CZV8y}PtQ zSeX^~;h`M@14f$z2C7-0qClCm#T!*|9O0sy-R4^F2FG-y2+oWNPLctvc1tt4p(kL< zcR}G15OrxPRcAZwZy64GF_+X@6(-CGe1mvq(RqqdjCu#{Z&RSLBY;wYwUWBT*`n;m zmV@J{(61QTEi=9I#Q{@e%A9scxhQI5Amr#Urp$%icJBqEgP@G_w7ZjN`Y)9^sl_mK z)XT*-YV2VxL|&<#8N+S&P)m)A?D`CkIOU+HCa@Ps7436u_a!2FELT#VK`pE}qswv= zh{9}IrCNn=wq+xk28U}Wx_E_{7SON|wxAxrLi&Wqs}qdf>P{pyEU?Naid@qY;7`}r z=N()trbPPRuc@;1gC95lM1le^CarVOz*TDiVB!Fj74U#q5^wjaOBnCvb%3b6=>Bc+SX$}{*avyzLXP`kR6vnbDdXQ3(rRt&RtXIv4cS=(6L5z!&^+EwoeF%>y zAS*uo0K{$l0QCExLveYEr@wI!xs7|G0DXJ#2VfK4_Ans-Zr1;tQ9!C5Cl@}nx~)drH`8=X?{dol%SOY+LA*&Fe)P%NJ*rHQx1t*2J+!T`g-CMzFLcS zxR0W0(}M|2zWf_5%+D+E#^)`de16Z8uBHMyXixRGd_Y;E2IJaP^%l57VfG^r94BAK zh%>bd-L!7+wb|yqDC#7n3mefAb}<%Bw(L_0$z5m`|1X$Xaj18$BC5=oS~KBO@({Sh z0}3m_l@i6D?ouV+4={~fF{it#E`|rh-Y212;%+uD+ zRQK~E>I9?7TUt&s73Ge{KT+2MZ}(+ts1Elb4otLo8o=^fW}yr}4r{dfu_3UcEh7@_ zUo$Ui=Z>PGIBC)nzRKFEr5g%-b zB`zRdl~-Jge3u*8RUO}vIMAlF&_t)8c@q^PAx$+u!O|$k@?6I7v#`XW zO+w3s=I(E!PV4(2Z^_ZTeLiFR|1#@6@}hjGcG}WdfnJugtFOm^B$CZy8~O=ij~`ti z_P8*v-czgGlffehUSEZzWs`k56ghULTmdVScn24{(&~gM3)*FLnIu4Q-i^-12)}a0 zxY!A@>>Q!=j3^j&vf?8Q?7XozCKybqcTap+`$)Z3*l0Ron$;XmPDZKXWpF!ANrXfg zfHOv;ZIH9#o26oGdCE(^LsY2H&=Db}0V)K>s!y8&E8z-F zx_h_VTKPP1`PxzzEU}ZCFwk&y{brN%3x+BZ=c?U6Q3f6sQ^zo4L0uGdtl$Jx3q+re zc%O&|#bS034s79bCm04l8k5A3R82EyqSJnAU8c(i7luiK;7LaEdgOO{7VGOhj3Fu* z!yDAR{M2CU+C8ngis{B2ox~U|>e^sEs-IM$H#6@V+6x%na%zlQ}CA2;r&uA7sUWFPeHl6vte!1}d1M;_94K+=lB zKf_LwCW8@P^p>zrkKHIK zlx4ygJ{0;Ac-v`T9=Ilygo)HhhybUcJbQ!OKmcYoQ6!MwED)f}J+7cCKFo4`>b!Zw zsSJ5dElpu+#u{EXYjUr=?k#|VhM5-3ieoZRcYrsR4jl^d2rD>+ZS{(jka#%Mb)zGm z-RCdZu{##m=adimFAA0eo9uH;}pbdwd15Su*4``;HX?NPNJeJ{@xMtKE8d5R)6cQf2i< zA;X>xp{ zNrBR^;l!bf8uAcv+AsCr&=h=2>D?A|HAM}tm-|4dBwy|eG3QYS%cIUHNRaLxk^*Gh zn(f^oyJH7+fDHgtla+w!G#Xh6Qg#Rv=;C^+f?L#b^XXVu%Jqama+rc9jhEe9bBLYh zSzXK3IAmK{xWQ7H8vC0r`ttk4^^M_TZ3V{b%Y9XhRbZCHB{*~_L-BmsaOT{o>TqB% zILu0kp`vEc{Ydf_@)BocFGq?AcV&AhASF>G>?(=_K335&cVbN54{x{-^VNk*>J%Hq z(ooHI1{?`!2NP6a6C;iC_YQYsJ0BXm#6M&}q;J#!(DyZf*78Y31@U-bbr3HX6DJ>F z)!!e;@FhCE=s|;+{6b%DHGn(C;hL|P;%3XFNlVPMiA zV0tA+>b231o!Cm@=5W_RCO^A&4K#nZrvm0mI;**r3Rl;qWDEm__+dJF9A@iD>60`~ z0Jq&TYaUg<8}I)iI%SjlO>{N3zREIa)1-t05k3X9lf7Fsr#`KM>;$?FIqCS|v2<8) zXk;V(g)0s&%#Y4x%6VS03LlZH^YLPpWQrbkSY?{?)}{K83_@KbOU~)=#WA>zNMUjL z0z6G8M`zWD1`C9JH>fxW`P+aNe0;=7m&rZEtNsBvh+MDnhS0P6i>zT47J)!gqg|+# zI0+6_1yB6oyPM$TQK!R0u=MTi*UIB+kUri|kb112_bn;q9MKbs$T%#}Ng)El$1wiq z2_M`-KRDh3-n4%c=>hCM4E_LsR>{}>&q8lsqS*Npk=5uv0Z5o1mCr=^y4bp&z<|l_ Mpfe&so5dFYA3hku9{>OV literal 0 HcmV?d00001 diff --git a/res/menu/forest_by_forheksed_d9q4k94-fullview 1.png b/res/menu/forest_by_forheksed_d9q4k94-fullview 1.png new file mode 100644 index 0000000000000000000000000000000000000000..b7fe19d4f6c1530a7fe4ff2c6c48eec71d2ef657 GIT binary patch literal 973465 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%0A{gOIWV4 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

    { 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

    ;JWtQUSC!A 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�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

    o*+TV}w;y|#HC4;y_+-)tWL=PTli`ZOsS1wB} z+!UG2UcGH6ry6zN&KdtWL=Ji1Y?fp{ZtzkDDrhqosJ)m;90cqk*#LiK+Y5L5IK zD(W0uxH_>5kRyHlEfDptGjW~F8mdtHL{bX`EOSwWjC3aZzy|t`tK@+mS~GZ#i+KdL zVirB{D~1PY?>TGU(N>ja&(VGfUX1~zWAw4oAJURvFfR@jxtnOx2U9Mftw{_%FsI-F zen*R|RTn7w(dyqnP;?ZDr`Nx!g0T$fDJ7dE6EtN*cjSo}3v`Ja5^;*D=*6v17jpde zJ5psM3iz$h77Uu$Vc1zz9wHmUN8e5iPVXK8!kqW!Tbxj2ETi-ck#ELXftCBDXEbSI z=M+W9>kUyc6~cf&^h00L>b@m(rB>@ccjG{g%ACxoO83JP+~*9)SjM*QkB#&`Y69rB z=rz&Dog{{{(Xz4kc>TZ%_?k6QG%iWrH!0urHh%}>k%w?B z>~K1;Fw#Zwxgd`|)jl&m&j@|tHKLnDJsk;4a-@skRo#b<{Fv)%iQ;d!kOk0RoO6f; zQ|sIH@qFWm^PB&SpF!2mB08ONU29x$!Hks;n(gMRY-@x23;dPaCzlux-rn+^iEoi9 zfjuvc3IYQn9@kfDE&#N2Vy+oB7M}Vs*4^rQT9BQFz4@VTq6?|zLI+yo^u5(cQ0~`= zXKIZRwRqTQ@juC93hd=ri~aA^YqEtV`XXkEFi%~^Yh$q=$+T_yPgIocq6P}mHev)F zx_C~-!k~*{nol`ejBz=MF^a_KVOn_}?8&)Bcmtmg8oKlYm3*5ER&Q>j;}{HJH% zpx5k75$I7?${V^NAI>H+*5EU1pMjlkm*FA;?yP^wJF_2fq3;WFCPJhuYUENPO?osC z2|m-q7=W<;O3lsgTh5pWn7?RN%UGLM1Bx)~&cO?dc{49y2 zG7a`MU^~!5_eCu}-O9&uLxYRb)#7vb<_4WRI)5~oTb-@sJ`zt&hT%*8jkCF~Fejy= zotYv$6?(dg*u~cx(vUeTa7y$RzGwgea}ty|&@*S~8D2GVa_?Ba@%w*FrEG}Oby`dd zRim#3%F+$b6zL0eyr#_Tt75_xd~Jea5)m!4OLI+O@I#kN<~1EnoV~>vEvMTUDLN!C}c_!=kR`c-6}3Vs2txM21CP zpH8J3=kyiMbuCVVQ3ov{P9o)R_jO1_T>m#3PpFb@s8FJ*B*$m zqQ~bNj|5=$^|!M_WO=4&I_Q}VnJ}+>{!{X?PruF}8$QMd*JhH8GA)Ky3=WC-^g>)= zn@Sxoz?}mHavL;l@Q;m;(I+=3COA`gGxmdz&%K2bUZK+K6Ccj#>y+ zckzC;k5KCSOxc+&8l4?dQ_o(vPuMHBZ)phfNUOoQ9s=TKBx&0GXVl%VF=vHB6epJ0 zcb)Zmv*#NPAi6%vER$>4hof-k8`VPIsxLM%Mr#K+0S3c!Jq2+I=o`4VcF1RI)T!>ti1Q5_MNadP^+X zs5&Z0XKl-#pF&@6*}0(#p9Lhvxh2iE_%G~C5>Fi z!I#lwK@SfoUH2N7o|N`>uS$I-29Y^>;hG{m)SDqoK6N9xso(pU{?25nNNb^m6ODW- zokI()jEud}6G27xMIj4auRwAN6jLSca0oskaqL*L<2ev#`O0(B-FYO zrlYBRD_?5?0xGI@Ew{BOvC!*XGa=T57W-xc-{_Qy0fOwDy?na`*+>R(=}Sel>*Ki` z%?@>K>vOH=@`|F<^~qfpzk=?qjXMWwywz9yosLQqpG9>>(Hy7mQ&wiWujlL>Z5FlE zSs+>qDr)A^_t2=fsnp_nI_a(#7yn=@m>hB&iS%hICR=htm2lS+A~uQn(;rqpMFYqe zh5gJ9jtmQ(pG;4*Nc%Cpw;$8bXSy!H5_l(>v#+15B?Dj0IuPPru}Bi4)mV_t`-i^KFt$p#whDAxtBl4gS& zb3=cYj5IOUz0NN?tER+a%d?PV_{eY?-p^R93*DppVDb#msV~RJSnMXE0-hELRV>$w z6LAM)X*A(z>LsNJ#_)`-cQ3B)_T=c}nCW5PP*GB!P@D!Wqe&_2#Ke|hl`-uyIU!c; z280*^6mA%;ElA7Li4KY=f_wxo8hpXSmdn&z{}F9EVtam!M z)ouaj3W=kltPsyhk%j9#L|-&0%#$u*&siKtv4$sMFaofpq2SN=xYvgH*IB->LId*9fsaRJw)CuXL2KG z0I!MnSntKnWGY{l7v&ShSSI>whxM84$Fo1GNhU?z$_=n9d@ApPzMFywZ7Q&LbuJ$i zj9oQZ(&SS2=KC6$YNjTKiXwT>#!1=?hrYJ;9>lDCe@3ab3c zIie321KK`8L7$k9iEGberAK#Vly5L1s2iuQEpAX8>3H`!@?kTwz+9rxhRNXOS#IDvN-l+!lif|n`=y{wf zqOQoN?nAd;e2oRbO7BfG)`Yp47)??4jatvid4r@6*oO(}mHOPLS`6$I^=3^=Q{YpG zK20Zf*5T}IKqWRSDV&>)n0Oe4aahuF^d*P)Gz%55t;6pD4L>Mll^F6C^gPBpp5-?r zJ?B}N>wcUzWl7<Ds7rCozDfg0=qVmdy!1!HI}XpDo)Ksj&CHZ0v? z(!u~wK(N33hVi@*@Wh^n#4$Bntwa~(lp<-yrv`&4@LUka5d&AkS*wQxYx7{Fg}6#@ z=vv=D#7c!mD=6?G`#96YBQ2a9>NTOTD$AA3@|m0}s$PLAom)Y{tv%agu%{JzT}b*` z3%6K!sK%XK^AL*EcubHepUJg6Co=4G?;h#J-W-i2U9#Cm)_Ro>Da55fz`+Elq3+MM zv|4~U&=)n+1q=inc*_0E(-Rqm)&l3uypnpBd{?Zu-fx&V;5K8(48hq&KU~x0mgv$r z|0I|iJkRX-GrV6R7P2mlO5HU&*}?wO1ODjxRKD-~Kd;qTHet!F+j_sb> zrJzN@>F-@%BBnlDj zx)OXMkIpd&`6N+jD542bqD3xxATUF_(t8X9*CB1`x<&<*~kzUBh2S%2rOuH`|s zl$CDqXA0-x-lnk_}_rD{yYJ*Pc_)f=m*(@rgwNG@-w87|=QltY_>MX<|uknwaOWbZxwZgoz{q z>b7gGN7QYQC5dQX7X#y-Drjet2}2@4V@i)c!Hm5iEZ*jXuQDpO<8#|pri%dtScAYb zMXi77|Nk%K5C3qcXmu;s^j`n;pZj4A$SnA}uGjQ&4NTj(9zpwN@DL1~=5@t32HG^m zdrQR3UY+@lGD8o8wITIn#85Jvw_RbaruX28 zmO2G{vz_-l?|ioRZ~iM`gZuTAX+yGNR1k*$Y{A1@*tThpAZy}G!X@<>X#D8vnu=RD= zo;R_rOX7L$HamhnzntT}43B^L=wEK{SDWvJA@1I`I6LonbX)CJ)i)w^+%qZ4X%u!O z#dF;U7qE>(!HEKi<|*x=){k}DHtgX=QjNlz*K=Z$nu<7_V&GmtbH2y&1{bfV=aK~O zak+e{xTf1NSQn+7=|1%kNioDfHJo_4DCH;_(Ryg91^D0+3!OGEcZmfLqiu&^ z^MP@Uo=LUFee>4nJXM=X2DDmZpB&l}dS;+??MzF#>}JtzU7z!X)%5Wzw-ja2D!NwuS_C8~XYpXSEC{Gq z+b71{7@b77OX;hAcEX!zf{&Fb+XPG{)rakVpqOy=y+;ux-ma+ihu5H5=$@X*v>%&+ zIRdXwR>0CeW7f@kHkMn(%M4zDjG%h>`~Uerkq4)zigp44N#%z=@k#d0VjiGW(k$09 z$)dS?VhYS1t!Orq_CS&0DQW?Bc*OSM!v+)qEjhLlDLeVnIBij#W>xjcY@%gn0q#QA zz)E1fqOV7*o=18qF91U>a=E3i3uw}@mRG;Fd?pN zIArmP(0`S*-Yk%CCLqXz9U*#bI}>=U(Xzq*;+SjkZ@oQcJS2edq*UJyM50ZhHDO>$ zeMr484bc=uVu7}#fXNdk#}%xh=r2y`XgSe>@Gt#~U(;k-12cWz8~S(O`-Lw`scZC_ zuBqEvtQzGdeb>FyT}|(2#;$Gay`*R$f?8ZJX^NIGrx5aLtw%ErTLp<2B(cjfH53$r zKR)(%Tdh&ozBig@5^0t`76EouuB8`s5{9HS*ZVco1N~Zyy*8D#2P>sDQNSH2q}z1l z(4XD*O#LrdKiw0kXg?wx7LgA2S@z%S1O0uxa5aYC2zGJaB{KL`Ke~@y{QLbuEdYIi zE^MLC=NgZ+6G*f^HQ_NI*_f!rb?9@}{SAU`-C_Mdeb;Cfh zt0*(}OBc*c1H~KJB4Zc3$sVW*Z~yXf?cC64?N&CDQ+>`#o>{T37@P_WTm8n1VP97K4rM)=Nc#kFjR;Iu{T? z>?|o;qUX3-%0pk#LT|QS%aJ0&Y!ct>}m8_N>D>viub-8up zC0SPYjP7wk0|~)WlN2ZjCg59~n%xo(X!@xpv69_|n7?i|0n)!+k0QG$t8O>3x2Z6w zJ_bc0(3{NnRf<^oj=A!qBZzE#59Mhpvh2t9z+wWenSv)m3!xR%Z}q($hH5Zm#YURO0^llqgWEq2>-@8eJqeGKAf^Tu(=G zM_=zkU(UNpD{pm6nd#3b5aj{}=pojq2Z_e@sN8mS(8IE!P#5}e%G~-Gmtjc{zyP}& zAcuR<_(}{Qma_yw%Tx|D_&LhQIw#JIdaplUrRH~>P|{ox0tnbat3;DGr+S*>t_reT zY7OZ~|F&Y{+xoHGe|Sd@#@9$Q4%L|!_cEDH3Jp|KeN0Ei?~x{yeX>u6OYEzp5^rDS z)xX5EA?Xfwmf|DZF(6<1 zHFY9rrHE^TI2ih^VFQNe1I5~z3ivLM*e3?!Hj29LebV$NCMx41i^+SVC2oPy+aLS! z><<@vX!~54fQ|IUkD(Uwx+ zh)MW~UgXf8fPj{TLf9`l7TEH_Q3!9$W@2OWApY>&MmIjn{Z;kXf~!HiGS(OkNvhY! zS%sCHbb8Jp4uhkCKaf)QjH&+n8rtjx0%?X!1HtXY`uf?n0mNIcc^ngC3M4ucBgH;f zIa9_ayOf2*L<_npW4hHy5#=&khT?!z056nd8SD9nxCkvKXcVi&S|^~DG0}as_2$gb zXg<^F_2>Ke=c7l@#OTLRxY=y1mxLH&Mbt8#&NR@$WI>>NQ|60zWTI7ndibcHNs)rv7jCou_**DFS^P6m|C(Y~px*4B80gbABk z7!4JE0$8~7pr>;%?(>mF6H8AFucAsh&=b&r zI^Ae*efA|ezW+d0tCe(L`KlbwYfa>!rmHgqmPWM((~8Qlj~ED)P8uY~Ntq0rIZV?L z5S2ub6QgkNFm4qoDX0iC3*A_8(2$4Wjp{=h_!By0u?`9%Xi&w)hMh2QM^&}bL*N9x zlv;KDhF;4FkUvG+k^CfCK~#L@4Hd(|GE?L|jJ%vdXbH{8x~2*sg_Wlj5Bf*JK0)$; zzMm7>pA66X$U6%K=UPm8XLTwI4GK=R&~v>uiX27OKv~x0hl!a6HgF3_G{F=kk<6+} z3%qEzX0*GD9DSdiZ2^vFN6!etI)><663>XbuBBa7a=n~N(V+z~;TgAFE;MOQM-Oi!X{EuyR}-3;i?8BYEMq>#`gtGS@`4R@8klU+5mv>isNbs;E8sqN}!v z;8pa_4gI+lgIy6OxGWw*#0d8V%KVyK_lPP;3@}xjwFN!g)alHyjeV=Bm_`p$g; zGl}Sf_ZNS1Zy04!i8{42CyoB^{dMh=<7a=AV2C-BlmzPo#bFE=*$<2>eczk>WZ&^V zncPlrG0vMXZz$Pu{g5FdOoFjtfEjj%rA(x^Axc=Rq-`3X#k0s^_HC9thj{-Skx6}=rZL75 z3YS@Kiq`r|aF)NXzmo$!CX=SM+MG9GH@^G&`x%R7nxr>&R_rr}4oZn#=#|=l`)*uyaL*mh$TBACvF<()UVH_=vV%;9$pn z#sDfse-?VMbaI1L<;iKavK$U~h!weBZr`{|b~uSuth_D|*kJgoVnU6CH`6K)dw&4Y z>j9RPdOV}b9?a(s3n!Iipi2kW_bJJKJR>7vLB*`$u`#9Wy-T+GXKZ8t!oTuq$=c7b z2NIOd-~P?tBH{`9el{7&r~lPIFDKQC?>&O}PElk8{S1B*i^TfsCK2j$cn!XC?U2DH zHcO|$Ec}xb+RFJzaTL-yFIuPp>*W3f)X_d^ur&mMq+`-cb**%Bd8=-zZo5KHF%n=6 zy4%*O!n9{WPqzMiN=l}W6iqFmfq|ii6Dp-xe`#!cu;rQUp_3~xAS8tz{D&Giyjh=V zQKXa6x|Po)Q@Me}25F_PK~U6~jDgLTLnu$zSr)7GsHFQYwzRklpB8Q1#6T-1M2Q>d ztxS%{6cQe`>*Hg&^TwOj&R)fsZ1d3%H1%v!@&aeO4&;C`p zelQ}X8wl>(r|-(T&Se5k0KLbr9~{`-L-9^gZ!oTyC~h%YtRO5b_TpsA&_`D!EMkS! zn;;RZ@EhTwxxTk^oS%s0LZrPXrRD#m!((GIXvxJQfb5ub0(XWtDEjXl_7qUT^)VU^ zn6a-wjW+K^40o9r&hB%s?92Ei*lX>R80q)@Conc=0Q#jJJ*HDDze_JDw2vRI#y}rG zflrcLjBVH#!y}>aQGetM9R34(iND=>%~cT|vnz|N53@NmXQV?rT%=RYvX7%(c-zeU%0S^R5MTVq-)h`g)C-nGU{W8Hg4x}V=J4`ix)W$7)B zYqDT|&HAW??sE`6Y%u zv^fL`s5GH>2`Cr-ou*t|s5XawGmE_yG=i6?ZoPG1Bp$r`+5L152CdGNNR6iBtbb4} zY4y_EB8a^7nHzFLgVa&b;z*s!FaE+WN#z|YqUq68GENK@|Ky+d5GMtM^5<4~nvOCLk6raH`=z06K%tMjRTM>FMbi=%_w@1_Z3t zHM3r$e8-9}65z3J_^Z&FQYCwipyH^=bB%+r)k8C|Z#!j06^gK0CDjMcOUQdAkv8S6 z&uBlM>4BuT%bh&XYWZA0PINjH%~EdaoSu~^WVS>GP+;QJrPYa}KuIsCWty_VSU%wi z?56z|9r}N6`aa13iXWhagW2%#n|DM`R$|bj;j1q8*9C9APt>StBg&v(!^#EMZz{yy zaHx}p*9TdlrzOGyEt3N+Fx^f^@}iax7KM`|6qqOh*wDim^0OJ2J=!ZOd0mUppL^}L zA`_Y@7h{<#>fSU6#7yY!g%qt1y3Rsp3mK;ui*&K?*~eaDBA6B!;%gSSoO!zXXrtBl z<{|(GB_7K7%hsFALphSE7LhXwl*Pc=Zx-`;Vsj{S=N$z3FqaaxSpdIh-#6Mi8c^?b zr_SAO4;@(8Z_xs+J7+{)ED3fThP}r-l zdqmK9c&jgdPqRnfMpXOne>=%>PfzXHZ#^B{)c4}v=gjo2Z{$>;3upgCV}z_U_0QBK8puM4xYp37*uPSI1_+^WmXr+?u2Z=# zr6R++!z#%2wfRFisWsXdX+e|z$mH)ZDW(oW8`r`MYcMDfD-hUb=uEv|@5e$v z+QJg$0{SU!h_-x|R3Gcvhj=N2eWkvTYoi0Xk-^RqR#3GYQW-&dI*UTk$tUpagh zYxXdBp4uqrG*K1LM>Nf9vgRS#uPFYkU!~qAy00t#oC!7(Bxh3UfeO@yB(Sp}(mJw1 zT0ZHu42}E{7i+H;d`XJy`?15w6b^+)-Qay1d(vA)X1mxA2lew5iKBv}{tSU!7wx}x9aADmCfx(k9S19jU`Pih z8hSAy=FmQgA`Aj#B*l#|IL&d0={2<2#MxJRqsAXg?3kt>J- zP>6y^vwqHV{u9?%B)Oe78i4h_r?LKO=K@fHxYso34^B;}kF+`zDLZxnIWmIs%=XNrGW~=kx(@KVn21{jg3Z5zN;lX)a4~7D z+SsBMMPGO3Y5t|aL4ng?za4zYFc8xmf{0JXc@+9QOl)pkj`$W1$8^T3G1|!$KGNA< znGneGSlZ<^(n(*q^_rZWEiSfi2eYOz0g@_MDLahK#v!;S^7MmkMzO**9E3rnPg~s( znDph`D4^t$s3K@(B+~h?L_q-wW+lNIJAE%L@axsEL#&d~6H@l$X&iWKEB1+7e49wJ zsX%3!^?aeHPQM=O8(u&(NRg0YG?L>=QJL9waig)6vxz3JsT^vB^W@}ImR(Ix)7f~U zn_$ae6my5Dl0IHb55sQf%5971g6b_d=$4*-Nj#JoY-h<6*+LP#U0=gSK@XP}6;;rc zV)6okEF=OB6tsfpmB9=7Ox3pHVf%?xOe5H^ETw(T}GZxx7n%OtzE$x+3EPUr~ob3x;JD?c($& zifZ_AA?>7;TA}EAGLq4JVLiR^OiH&C_W1f3Q*|+V_ol02Hhl?E?$9HXiTyoLY8bjF z5n*ny|Han1L4z?(>B4Y7?VwB{V_c&a_(n+MBU?r5l``iM;r9E$hmBYjVIu4;mKbPF z-eP1FtuLp?80Ov$dMO|(Qp?9b`J(*mKlhV*_FF}~)Fh%PCUXDoN|85zp@^~NEeWgc zsQSpkSVDa$r5@^Svyx7Ok>J`01bP{K3VGp{6em3$B(cW=LP3EoZ?+qry%5pYF8WvU z+)@Or)~a>ptN}BC*5$3zAGl(pAKE#DM)u>oJGcqKG9@(%wQXi0%D`K6;#u_23TQo( z3Vk1`C3s)>U;NLd9M2deF77>)-~RvoGgb-1IG54QBYEZ1pOo7ldxd?*K#xHg&UKNd zS-Ron_#Jn>#O#@jC!Medo~C}? zNL1~`x1RYymV_pTIn_#aj_CV;Q^SDC8VcnadKfIgUSzB#`upa>{TynLN=~EWbR*Iz8nzWbD5zu=!(KUXgiTxx^WB;{d9c-6zSFi2A zo4+H!-`tb0hlRX0eMR0_E;TqVWUBk=iJtFoh7(2A_5Pk??<2aC^(|P2HuTmkNu-Ki zbaLG5j|^KHtUUUob(Vhzry=<$u%vl=uCI5^Or(G9w!m7lQT(P5fV~vjK-dTrVTPYE z3j7*4a9ub}FwvfoFOJ!Mg|;iW*`pxuAnuu13xez6Vi6YM3k^b6=x2bQlgOjP!src6(p7Y z_@I%Ng%x}dqwD($kzBe&hz!D(`9&wjy=o#RmWfXpLIrwgsnv8S?Dl%|@F7cb7fsE) zR<1ShnH92FEtw#)nLUZ9?M0SAFhPknVRFLKVI+QZKxI21a;SqdD98V>SYomYZ$+ry z1)s3OWMK)!Jt6|k3QtP9_0WHXztaQ0^G$qWVSr#w1RLsw#0pf;YQ1V`F<(zS+<^?B zD%iiTQ08WVZ37Ej%5apviT!^rQuy@E$#vd#x)~)=EmC6tL2v19K*pnrp!RyBF+2S_ zJF*dqnFfKQlznf>dMwr1lA>IGp+UYb#zF(+6a8JRo1`;FLZ$a-tUm+2)J58VU&&?7 z6DJQuWyq&AbOk-jj&yCiDpHFi7HT90T2OW#`W-LwKDy20#^R-80&aaaNRF9M8~JFF#vf{CZ2Z_hqFyb1$t z31AjrE>nz7(bvR*Mh_}mCkMJt3tczM)C3Yy5Sg~tXO1-tr`@%#yD1Vy`b}Q^rdsP6 zLLX(UHx_z3YnuT*PEp^L7QT|>wb8xt^crYYv7H9w26z~Qx#Uy;+O*CoF(CDnMP$tVtR2ARP$4azQ~U=0>H*3v<%_aHUfBOsz}S4md4Ojun&yGEsJ zDv?5qbnEp4sh1~2XxH5_gSsRJu~5%HRTOv0U^eCc;|k9r0NaQ}XiGO|wcXkwP^bdQ z9M&sj)$|}!5K@@`uVte5SRg3#X!O&a<*mbvf zs5{Fy^);R;?)}a(+F>O^@xv;`J?bdVBRhnVAqMyC|Lg4aXB6#uO#JEzY(Hd`QQg)& zZMzhEp{FpDS*Z4+Z?Yd(V4#R>8Uoh3moUdltneO>xa5M1+5ITu97aOd2ER$lzwPG= z(G9=~nTgAJ-EAz4uk>f@#Duo23n8lO#0l*liL1=-myFIR&)f^+qUFMP90?hhCt|S@ zv=pZL?-Bd6a^5#2ws>xCD15DfdI+>Z)3uE-f~{GILC}5%>$wiCoh|iY>c|o-J1f?q zxYygEXQ6-BqLO(0572De=eAxCK{Epn3Vma9XskeqAM07;x3o2_4PqfU3tcIvjj8B^ zVvSv~#U2K~Wj*J>dug;V0IiMM+kHRK@2`9?_F>d*7{kX3Y^ULFKVO4t<-t_J9gEpr zWFJ`EkJg(ec>+{w8eQ{Xvm_bQ1ioTZMSJA_onvftcMSX5eqrkC_%G~>uMtg+0WI!(1iZIK(*{AG5ENl z|Jso5;hCaX4Q$LRx3)wc=pIN?x=)OPy`D}{FHk~XTpO(%hxN5EmeZ`&1UaR+j)75L z1Kk*xLda~N96$2|iE*Lx0|m^c1697EzxN_jlu--52hOZ^I{kMAv{dKD&1E800ajXq z<{ViF5~SRMuqQxqMPdx#8i7fvN#Ro0Ehzs$PP0)dUW;B3f#P{cC9RPx+YN0ORB9{E zre@U!8)GP+!Vj7IVPY-Gpjqo-jlibS#nKecoD_m3&)6}GHjs`C6axj^Lyg{=iICEb z01+M6rJ^%A?vFRm<+MW~Zlb|LNfq3VR38V)o4re`sI#Hc0WoY;;?Uurw~#w`N^sRbc(%)@7K3dxXP-|gw3t>dIaO$-tRZD7ko1&*V zCEH~YD(PL==*9L~RtOuZ1>)evl5uM)PRb=q;Y}wm6kq{ z6D~#;f3O0oTB1ZQ%76MikOVMl-18c<2iLQJ4b^0EBm*Tjp%*E3qdJO9p+a{l*NFe= zrkT6k6x_uEou)Nv4L;C2>>_Hs%jl*PNy?1o?%1d_^JQQbno0v;4c{k)G(NG7HdB=8 zodLsXEd=zz0S^1n<#XHVh)ttnJ9~)F3-ZqOlF75++h&v zk!bM%VXj237wAR?>J=0LM6lnHLe;Pz#Kk_Jg#WW*#4d6=`|&i7bg%-|4rHgY0>uQBU5>N;+MOO%^jM1CxJimXDgCbilQs|6RLl&ljJu2*`VW!VU+AWOyfyh*%P`mxlX zSD>==W^bZ2nO@(>T{SM%M~{q1o5dh`w0cao z;-MZm*!vh?jbV*X_D+J4fV~h&TNkm&LH&H!qRu6bB(7J)E~{v*hyv!GD85Dyo1h!yEMkj&A`B@&1_Ta#h2_}6SzZisYS@^d8zLKbdj{$h-R(M z`j?4?JJY*huP=zG5Eb4PaOhi2oU#5w?+MRq3ld>)evLg9+6}F<;svbdPSMVXvk-mO z`n?526@kR#9^<~F4JD*}ttc{c4k2j<8(_a#eCW8)#F!OJOvucd%~L?r@E3CxnhTj;Y22_h0S>EtTg zKslOe@@Jx2E`2rlk&@YnvbjI&aTN|CU4?#b`| z;;$GI9sP%U%K=}{<>Np8qjK|mKO>o5OAS^5q-XOsB&QU0jPygOxmx352xx4|N~Lo-^|1{dkchV^m~x zW>TNa%*r!Z<0tr@cDJEFewfxJI2U@Hy*gIY8HP6Y|Na(E_qFT(kXr4i0wZ1d@rkS;9Aa z{}j|hy^o-oe|)st>%K~(M4x$Tn_A*Fisd~uvv0}TXT?`z^oSx0M)VgZGYb`2bzgp|s0ec8&IP?T&8aEy4 z{xt*mC6*Awp#vHvD8P5T&p2~h8M}p zuxORq9bOJ%9#iZ$Rqd8ZtFd)TvO)r{(M9(gB;8G zM83Id!7dh%|{D_oJ1oJ@?Jy6{cd^knBG3i~e*73X|#<(}^h1CERy>^LJ>6i?$ zsl$ALgL86eYt@-p410GW>HyEqV5;G0#wU{D4LMGBL@u17y&)o6*pUiFUVx55Tmgt@ z&;)tS-_%NAp~pxUNXx7gQ6`%~*TpCs%UThfe57jvDzo~4YlsD)X&0L!dv0{ok5ojL z0*!w*CYrM*pC~M5zJ|U>kM&;TAUo9R?hO5sC|KyaDx(T-EB5;m#cx0%#Twn?#n1jo zMwy8cvK=LfE+394Fi=Dwi=aJ?pj-}rY#^JhkUonL5(QZV6a}n3KtUy4=VEsj27SSl z(*dG_jttSTGzwxdAjFww3XC85cvL*jtc}OSv`jz?ElHj32iOZJLRE}pHyvfOJ;Pdp z;3KMX@cc$A2G)(MG@(6xsAun5i++k0PZW{Ip69I)oigalSpD}G%c58wP0}7Uqk>$5AP|&#R5Q~KF`Ba-vm^{REX`rTW#VY*4)zc+; zUPs@DYJj1|reK1#L?zAOvt^PaPyOh1WU#Km2xN?(*a}CRL>3k2lP6$v=6dyE(2g~Z zYrVyH1(@7LP9~Cz!i@~!6H}Y^uHTQ0r2^D`BvCv|f3IZkvZueaBwOm!-Z&eyY3+7< zJ?v=)douP-hv;C_c`LXkkxoxw8Gs}1oinr-aT3M4q97kWLvOas|T;isthuT3gnMVo}ggn>X2Kr#T{cVms} zjv`)dq>NtRTgaq0Qn;`%oHwx}XF)YYv_uyUEN*Cb1LQa=^Rd_1`>3ODr%`Y0?V~tA zg4Y$3W=#4tG9pM5dp-eU>3Kg0d*IcH<~%HL_WnV&xHkGp8hg?&W$I__Lk-ZoF(K7rmzr2#^r4HSy2-t@c(n(bN z-GjzgYQ#6Vry4V1i%Btm92KIUg%RcHbS;|>f{#EE_H8o1Bs>x1lAskS%J6x2+)MFn z5M^w2ziyH!df1sIoGl<@HugRHiJ1R-FQ(dP>@k5Q6n0OSvS5Ws3o#*Dy;2t+L$)`y z4<5PL8CN=^MEB3*!?w0kY%xnrMAbkU6K2G5(M2WfHtNkR6Dt%$d!vsbW!NFCt%oSJ z-6h$N_a7IV7}L`)G0!fMA(>!e$+CJ)B&=I6rCOZno105Mp2*SBHLdI%Xq;Q?uPrzs zZ2`%}4`(zLRNu|V$`ChWXX;`t3k`OrtSTk3GQ;bpSXefw;xP%9I7#uExu(1ciuAn! zAy$Jpd!5l_5y>&cf6{YOIQQeJ9kqGivHqAvdU9$C5S$k*R6*p5!X%D8vPl$(>U91i zDfWH8mdFzkMZ(Bv-IGe0mr~um2L%}(56$tJ5m1Emb%X-i58zVNd_%1*lB|lTqbTVPKPGy5&HR3E7lZL&5&WMxj7)ts8afjC)lRK(P2kR}jyxYYf(V0T^ z^Ee`fE!aekZUpg1kybtQ96z^(_p39ge7=R|F;*298w_MfoH!w#^5d>g?>rUf&87`I zR~idCo22dHUkH`EQ?s}tpaBtF0p-}qip4uUUv%#)G*+4t$%^qqOl}#YQ8d&NXV+P( z0FU=0jloK1`};anEF2Qg!^4oLyxT$?CmB_j8&oe%{l$_%f@A?Pwx0M&Pj#Gr>3c~8>QM>>jnwfY!M zYp6vMb`KV=((vns>VGm$<>u{MGWm%w$&Fh#WTXXyH{D7W|K)GV^6T$Vku;r+Q&tcDORo0?iT83-U0h2*IsDAjIWxuYZ(+ge-puA7l~`~baYvDU}dEl(3< zc$xn2|MaiPSRWcb$!#pIfX36TD*5Bz{VjR(*M3v@gTt}B^yj}Mvlnm5L{aDKvzdJ6 z)tB_zK(kQVvbR zscSiVa3X*BkN*iIpT$(C^y6$LliM%RvlzW@A2m=+o)%*{8QU3w!YdR}%d(VD|HuzX zsgH}EHlP&0^8fgM%Pxa{jF}bRYS=tM+W~>pcq+5vNbY_84f*;1;O`5C4A9aPMVNh@F3tU8- zdY{neG%@aNx!$j~WAXF87bih{Ylw36F+mKJA5IGinM(-Hj|0M%tlQ z)i&Y6-I^}WH>@SDqlzEt$(?bAmI`v+ZO`O{44qc4DL^wBjd^Z_XdkzI{Um-z8>Up_ zv>WMICdr7A3zVx*G-how^EQSJX%=>_h0683kdNs(k|cUgl_PnmN%k>70KTm~D0Ul`$&pp@&(M=C-xK zE*@jgC3|728xQD!CyJ=tzxR$jY)<5?Ni+#`a_=xBg|8ToB-4#-x0LhZ2U$1pKAnvu znL^+y*UhvcEijNL7&rHG#AoZ}!oElh&02>hqMHz_$v8(Qx*^ijG=V*lm$Pm~YbbDQ zFelG+Vi_3vVCL=8rwVJ)%SnGKKc0GF6Tt?;57lZC8p&-rdqE)HSbZrB<9_d=Wc55bo zsKHV>$|#uEt!sTwC&#PB&OuV6XT?dS=S(q@MhgQF&cfU$>Y)iT5fA5Ld0@BELQx+{ ztR~m!J8RmtF|lCpq=jF1{kE>Z70>M!_fhw}yqxJ8gPmN%cA^Tc9r~Q3%zQw*W=R&6 zi;}G9sY5{-wj!`HXC?`BX1W^BMjUC0rN!42YAPogg?ix6eiWEh%n7jHgcrX6)t-n?e__m3*qm}9Uq(Z^USdStYFqr$+}g&TO&u}Fko@fVXi?=h zRu!QK+(SHAQCv%+r|Wadw!Ctq?x-fs_um;pg7?`}dF@xwv+r|r#$x~$(G*K0jDiU7 z#x{uy;iA_=8qYK!smR{W=9<7xP3Q|TR$fH%+io!|>BM>t!M-lZGxja}WN`5`Mua;b zx)MT9r|wA2ra)GfQ_}-17zBnyNe~7kB`MThM1gU?GqUh>U&+U$jH8bZqFcS5SP1c~ zOKo4L*D{L`LXobWhH-&oKx+FX?YbgeyN~v0|+kRYuVS+XB z%^fHh@lz}q`P~^AmpK@lL|SkXbst#w_F-@!3DVo$UGQ`F@uZKPjf|CS_cYb%z#nwx z7iCuw(-r6YWtPx!70k7c+6y)R00OCb>j-3oq<<`D_Q%=D0kNL zY()bX+eu=(X6IwzV|R^bT^a_b6vWS9@D$z<5fTRC3A?InaI!Ku-yn-YlcCggoZu`7-Sj+m|2i&YXScTm@(t?9yQjOb(q&iLPIx%mP*o#Xcu+T+oDr2hlq7w*= zli1(Kzw<_h>M0u+PG^i8ci0N}`*FWmLXB57>T$U(@Sd=wqI$A*X~+TNP&PjGV|dz+;6DtPTu^?VM<0s>UB|Uf zdNP}IeiUf2z`g@!lSHAZ9RZOLi+|j+!!Q%!Lw!n^-Yy?h~Cu zTr46E74l4N*3?orNSO8Bwg)kmd!jE_|BsFg&)LlouhrE4PGkca2GBo_X_w5bTB zC2>zY%0_yIw0!)PKF=KaOk&9>lGRyOQg;Y)%s#JCM6GK7i> zXv(nVY0$N<-TOx-JA0Il zb&}Y^vHKBi9k1OZb5593DBJSYJhwF0#0Ld)VvZX4YMSBbtZSH>W$d!#~z z5$d%p?|gG}gJv_4TepZRIMQYM&CG-Xf|$6BAq`h2HC`9?IcKX~A?^R?_Xf+6Jbw0W z69mBygq5?17(wbk*TfLWD&9p1GVN+vvh$$&S|&x2$s#Q2XH3=t#8`ud%Xohsh>W}I z+XniD3VY4*QTEF%M%(BiB-$0_Yx zaamYl%3I}rqMOjX)nG>V0k8KAYz5pySfvrw)OC#W;T!+t*QM5i-f+#+Ynz!D*GZz+ zl2x8G{}zk6s-zqrSOEieWW_{I=O^;&mwr%Q_}nM;d#%2tKntXr)`p128hPuNe_fh+ z&Ehhsa(>3jm%hJX0VWL03O(~s@IBV+|K)Bj$>L03SCBXK3=%z~{A412rR#oO8z?oI zX#ud7pZnRLkWYW=mhQ82y&s(%9+Xsluk_w7*LpuDH)IZ*CcXKk?pK1MVUi4mUKA0q zJ`wbliIAFz<-9Ym#y^^1_5wp)cyyobdK%W_!}VcwpRCKp5B5~IgZjPgJbtj$8B+Ej zJ1KE<1ZxcFe}51gbqT#)#hZdJD4VH|5B~T=Job5?Ab+=qu7NaX-1%^o>)DyhLEXq$ z3;u5xYx!8MvBU@p$T-h-ToFC0+86P}RN{?7+cLfm9as^M}`^SS+YKQ|NQm3jD1y-BUHj`%F>DXZ7)O z{oXwVQhs-RB5&wPFbAH53&UOBBfPt83keT#U zl>K<$aVh42n3!c!M#_L#V|kXCCs&jt2X(8+OIgg9CTIIG{?cGnNKy47@|HNf(h=(WH7cAZifDD+*It zq|n3O3+bsGEVA{8AVQ&dlo|jvx|eCNg|>|2^@3*zm{BXdUtEWtbmv@?_YuyzT3?qwhF`Q4y@J0m`j~mm zM0mWlE>R#x(F-knwV~34xmNUIBG>hd9O>V$8>0k5Q41)-vhC;!LG@Lfp;|oXs--5w zjr2&=s7UA}XFx9$< za9J+o2X+CIpy$-T`B@kNnjundM(Z^HuD-t0yH#Btjoi>C_1J8tW(AzWRM{dPF*yN>t94*B5Qa1 zqpx$MS^h*T^U$}M>HdGH`|Cjmy$bXZcaLD?nzG8wmytQDKhwg;jke?(&Ggz2+Em78 z9l;FPX&!0C@sC@|;&jyYH8IxCAY z)t={CbSfuB^lSDq9v4iId&((-VA99o>CHfHAEZ5vgKCxfeo_6OLMMUCh6sO>Y!%sp zT&2wgefzd4VAn`kwMX$1XmW_OVcZA=Em`Nt2%>GASYicra}*4W&S(1!`jQVck?fXh zMKoF|apow3jX;df7l|<$c5UZ?kd}i*5{{-upGOl<3Rh1@Oj5x{Y4kd4J>7CGdckv; zj}7`Yke21jY}r@@=oEF)ps8~k8mIJ>I;>H9-$(kNG48?XT)MM`z78NvBRg!;SjN@o zDGw(mlCOcF%S(z4=DD83q2+#o&tRJrMM=??urZB!Dn_3ihoRNu$t3M;L!gLF^h-~k zgcz8MN1Z9mA_*dL_^k9lJck2ps*!%YsC&-=SrjP~wHj+Bi#DFYoh!&TAMxY2dSFhtS61q)~7diwJY_q??pW#m#Qh*#Lhd)AdpW2>OIeZ}qf zmJb@2gcu9$Rw$f;Ag<5}aQ&KAP#TJsxXIXhwb*AEHgqXe+x1<)bN^T;K*hYoy@Xg?ksTngUkcC2o9)<;gIOg)s%%FsuI;R>xAXM%a`nHM)8zk!8ROJuQD ztZ&t^pC7@hC-p%CDBa(?*6QZmYm#2|*~$Ffhq8WfOse)+?;#$?6Af~tId{!RTQG^l za|lrzT5_DJ&ld+{nZ9=0`jGYg7+pW0u7=<0*LA@HWF$y8UVc%k(S*rtHX6&xAH8W0 zo*1?hqMS1tAjTReUf0LEhD2DC?`yiobA7!Ckk}FdlvojIws+{de&bKSBJ(p%p!N6K zW+7kv()VbAEQzY%ni#Kjvp_3}p4aXvnL6*KdOq1fD-GSH}{45N8f5y6`Usn_nabl%w^Ehect*)l1BtA+~gRM7qr-$T! z+Bzk(>|?)dAa6L|yo@L{lj2A@CNS+~U`hJnB0qX;gtcOyTud@U ztY!AaNE8$x>PL%4XU}1lRGtalSl7TvUvsHn=RSj7Jd6C;hj|aE9})3SCeypG8C*j{ z9UE(VYxD$IKnntFfNkC>I=1vSTw0ts-YIo5wyU?nBi zl5?ityNfm*Z>3cfYg6h!*ki9Xr|FuG$@fZ8;|IF`uB<{KLlxvB28#${C_46zntC!> z%shlzGq95VcDJnOWn2;jgi1=T=dG!}x#?IAUb-zy1mOtepaKm3rv~!t)iNrxp{J~o zGo2t`eQPD(`lc<`HXX^?$=a&#kI)U?Th(&zd{vTE6ZW8+9m@Rxj=f%=WGiu9V9?Mb zyu@ z!PnoC`)|BOhLEgk?m59U9m&LSb-EL3oPoNmPqt1P+ORoYW7l4ONj~<)?`2P7K+o=t zsdS@M*2|?)Xrp%}0>;s7BCmh{=Vc9hL#*xTRDOeraj>3R9F3s%!8%Gmjx_PTosHzh zT#=B21Nq9$yF|Sg)yfLF$hV4&>ZRhYn`fi6v&B^SYFehxQGitW1ts z3H~L2npuiAH zGXbm4_TL!ybl%Y2{?+1npcCU-ODu!#=XYZ%6{+U}t(AUBTRhYq!2~+h*H(bZqB=y55DF(%y^JR80BUcj?>1(HRc(7zPblNtg8I{AT!rSNgm%?0!Y zhQgv|KrvuVgeiV&7q=a}@~!HrH;UNOE~w=U6TDzR{0HiwUrSIXaqtWjzr(TG#yI|R0~3W@SH_LmLvmh*ax$8 zpcmE^87Zl)83pIiQw8)F6bbJW6KP>EhTtg?N^?0Az3LBzrOtVJh5Aj#H_^u$0a#t? zU#wag=VPK5MOK;>kvG(p)a6|QFH*Gu3skaBEpeaeSPLdm5jrON_zwgLr}`QXeJ(F(`1Xpv=DQkgEj9VA)_QKu zUSLtS?HXC1o(j2p`q<0$G5e>zA~C0$yz_p7aiaGIMKhq>@Ix+ie$5Uhva05C*~5Lv z`Dow2*rXYWLY5@MbMw)+p8g`AkqNRyc0&@js$To?v<^IXywB?xJ<+ltlnvrcAVPKbFyLWTbmJ1PvkH3qj&D{rxJ9@3HR9UW=tDrh=^^ z^M&j(JO!DYiA2KD1D2o!HXup~#m1ZkV`I+lG2;&!mqVpSMPpVP-##kIwFpx3oQWco zag%Z^YYhw9APFNyffjo3ww-NwvuhJcG(nbWA?<3;z#kRUc5$DpJJ*tSp$JgdDx#zn z?M@Nn^~T#|H#bfOqZG(`wHL-t5 zs~NNdLeCVnOOxn5ii@1q7;!>U+@Qz?oLuAv^{#$0e-ClH3pvXSBOi%mQgV z8WD|K&gXKVXb)Nu(ue|rm9(BO&04R_*~^A?u|7rN$b=FP^l|5YH`Ig*swl8RszQrX zuuTFjyCM~@kujb-H5(?st`#WASp+6(1GH&WN~LHq&Ov0xT`)?w^zL@C=dagmgmc15 z&n?jTaxI<#HTF6ed}je^AX=_B4DCu9D2=ATlOfUqMgAVW5%$Iv<6H~T1+@s)^?IY6 z{1gng#jJ8qnq?I>_3!WjNZf|{y6bgpD+xy-FK_&cWhoog{w`rY}*mi-2!CfK)zA8nfU%!J3q@OG=8*u~`d+epT@=eDy3 zcT3OvxU5e=cYH03X+hbk?H~d*_lQQjel1t3xHEtEg1WYFS^^mA-0b^e-Pxw7IZb zzw?BE6nYqZwO!me40#z2O1C4eM8sb6>da6JprSI06*93NiMYF6e9ik=85;|$O{LDW z`W3oft=m7h6?Co}Y^0-{qCv2Cp-_b$8bA1h->(UB#e42^a2B8tM}OZkZVv4^oj@K^Gfl5%Ewt%%Y(|Q^6=E0>%T!I zre|&}xH-9cEgC3tqRiQ9VA1Lxe}B0|ctWwp3KX^0?ulcuH8n{HP=hrAZI>%~=g+>P zC{ICZ99;tNph&a>*4S8H{>-N+JmvKF?|tK2vO1XqP7sem)VVmW7G#RwFqsg*0GSv; zN!yvdA^Odbc#{Ipz)q8BJsaQs%Gb2$)v!p5>yNtq_ON_36OCENKDPUs@cL#g>xZ4Z zdv>BofhQA-x*onUDnrw+7 zflY5w)a}UB*_u?3Fe74d#`dWGKU*_sD`*@j|NZamx>XSc4Z~w`{v}4M9+Kg6%tacx zpvb2&{h{uo-Wk)6ZHd_TV4tUR9hODcv^XzYVtOI-27<&s{DuDAx?Su3=1svrCc?cx zZ!ctvc&3%GJFr9-kLWcl#yW)t1egJUrw<+HgAN`aA5!)nn1KW}L zhwH5Ph4%$NXa2CUmc!%2TCwEwz+>KY3%~-Pu;w|~kwCAhHIXR74r;s>HZ#z&HSI?t z-ew8!|DbfcAMZOZr^gr*2xwFqX|V`Ys)vBLNUcr}W`-I=EGWs1S|LI~5U$$9lt*1^ zO_qp3=n zGggAC9{bng9_NzhS8T&J{xDQMnG~}rutUBUM>x;ke6^c~a5Mg#eila>7Z|Ls4LW?9n;CIj^rKHQo}WD_r+{rsopwbx!1D))eN zN`*$7(M4G*`n+IrMXQ+ocgNAw*Kfgz8h&wejs)iVla%jh2ET+ z5I^|iH>6g?T60rL>!=Lvw<2NmjV0EObfOXB+o6$TztY6`MDCoPu#b+;4|s*a_Eqc~ zP;U6b4}8CT>Ju+%@T4eqQ^|Bv8cPRrhb)B7G#-kK3HfDDpgs}a{=j&Wtw*G>%A*C_ zeuQuPFp8!)F?ZQ+`Erp;y(P`LA5Y=%J*oks324pE5527uv?e&S+ClP{?wZ?dA)g$B z(C9!}kSIkvB+BpGKF~i#aI)(RGBKB^g5fDWr71-=oh!WY`MnS z1+P<+>blV=J=yJL=Ts5RZE{9I0=xRS8F_2acN7@dVZ#8GOJ(7L^jZh{5X={e@6UZ*2p%1tH7T+tStW zJ-#NlZXHN{w$wRypi@vQ*~=t$!Azu?-zRe%D-5h@qn^J!qYQRwyK-^@$?N; zm{&}KMJ7l9vy$RHrS7A(B97RjlBlSAmAViz-J7XGt!u*RT3Dfvs*A}*u)gCG6gVV$ z8vGz+fHlVqB8^Ewhk>jZQ-CXVR#=7aXbZsEmXa6Q83% z#Qn<72K4A7a6xhmMQno3T^N#N7H$zR!IDXl{}O%TwZ4}7bIIq8j1+~M>b1U`2Sd2I zC1wmb0nfm{a+w9WqX%QE*FA#`$OwwLV+-i8p0S4jfzhwmCl7VqPvj7q1MPysUZ*Du zity!NZ$W{(t%xk6GFfYJ;4%%{wplCNiE;n^L9P0tE2mB#d7l3KCqfmkW&0X;8H3f- z*7s6pmN7|Ulz$iJZWpdpIqS-dF4l<Dy<%$w zv>|YRDFi9D?>n%a^f7==qX@}_-;*|tfqtrznJuWG-EuD7 z=tv{GsjQ1s){r$nJkknzXJS=4i>g?48)(*@WyY&$cAj)bm-eyh+A~h5I*Q6w6rS0Y zuYa2BBpd7GT*9Ba}7Is z=v~EudA-v4msY28fH?!SxM_3)EoH51sVJZ@(a?r-~}# zaM8f`@Y)Tzf9GAvriwBu6cyGBJ(x0?WMk6&SshIqdHdn9Cd?WrYZ9F`g|5qmWV)as zJ`|kI+r_-rp!%A=&6+^yb5FAMPOk^(HP#0TR`7cTJsf@1M8x&`EtMztoA*Z!^tPqu z+gpQ)gYW6vw_2_2=V`Cfd3oY#2=p_ZcZ^kk}j>Kq=Ardr8vNZH5tP}MFE0^fVQ z7R-(5^ng`-_%GsjFh?jBm!p4vBS_r{5rBkZSBScr6uy%pV~xUY zYOw%4`DhOiMTVQxx&Cp%{hWy^kYG)UJ5<+C&ZIyA>S!$Pa3*rL7N>R1u(Y+;Wmfek zc@n~B`uGUcQbG!jG~~Kllctwz;i=K}q?HTlU~~Z0Y<&&>#tlWV^(@r$Z9JOro?tC_ zeH{>`$#I+~dEml~>Ijp$i1(mkQl_u6Ryn(6u*<6{aD%be8k5h#l- zESYMGfqBZ3YJ#61X(2)P6zF)=uxkr4niZTp!7q7@hyoi$ty3*RjPsd3X2q7Eeh-Id zG7@-z9GSBK&z(b%62D3+q`p1~)1dDf8XO3qXIiN%BI9eK-v^qHw-m~}pr)cQf_vM= z!Z_Y%6vyxAKX4{bf$oD1kj*r}*5F)USK-!FwXNM$+>Vq>9P91l$*J4^`T46&v4zw8 ziX|{XzM!GlXTGLGDK+m;z%bI<#qb8$O+pZ%d z8wSLC=2fy`Eu{LOQm}v^WV1CLGRr}_xO1i z!Liv?UR@Qk)V%;ma)k}M$c+WlS<4-+?3#X$S`0hUTN1v`4#|bS#v<7MO-Y7e{=xlw zk%#25zZA16Hr6#QsfiZ}-9& z&asAPl0Kha|5OwFRnclrB{H9&KU-rzjpNvm23+&f#ypZ)1qwQ@5OGR3sYolYjQMlaVTA{-9z11y?2`GI5?;uS>zjWt8B z0Ys2A(ZFezBrz3_-p1RdK0ipnTM*!rNYCi0-objHeeCOCf5R1`RBwwqSj_lds|$YG zqQ$-6wmVEG_dH6I*+|I3&*l1bCSxE^_#RX-H8Dmt6-AYxRl_dxth}b<&{4VxhK;SMdte=@arVzagYx$|4`Ado- zrA$_EP>x18T-MmZ^=o|EZSK~MmC;Glf+*5>%&+_8fQU83=|rB}_xq}hj>%a!>}&md z-n1t822V)P>2eK(kN`v2HPs?wt_g0fiF1j)H)*VuKo`MyRLJKQ?H%i!?lej2w9xY( zul`i-YQd&P$fAFD=NEnhCH-jW5v0_!=G|4p__CNy(RYtBQv9t52A=|Zac zO1}Q(KeVFRlbuJW^n&<|dYc?0CeG<6uq1XjK@01>SS|HQ^R$vE}3X(Lz#8^W&(8xnCgd2=u zvGZ$>@nm!kCnzJarH{p_=oYh&Kc25~;fe9~1R@Q?St3L^4=B{>$7qzv4}bAgU;CpzYg?)GAYAgijb6DF!Q)hs zufuUEV^{_FWT>1=R zY>n}jtf3J3YB`o$K8MVv22nHlc}<*`c}F2Ch>V>5={KbT!v{2Kpl^yetaXlqPImP2 zZTaF)|7Gb8Ml!Ef+>eoXQ7q3pMM2#@}iBf7(cwVf$F;)v(!0+<}e#sH#%&tLt@SL98+8BHk% zTJ-(C&woiKdcA-#fnf}D#D~mJistokKlZ8n?Ts7)_#Nl9E_rcBJYc)qWV5m^*f3NTGIX$<-|6&sIn5z zf6{1sTf)R`^_T9)empkfJn046h?>e)K}EJ>rpp;jEOibaYjASh91|P^FXTntH-2<{ zjm5XIzJ`hJU!b0My6v=??FSv$Xc|jE<@r$eqH)0fTgW%HSO>f_qwY)>^%yol3X7oU z>dLiYHfd(*m#`=q=xz`q%W99UK40VF5#yoH$LgWj-%;U*#5oRjREE(QKhb}9_yg<2 z@5)40ddPJ;t3AYlqVi8d(sLn~HDJtL(=5D;J^1<`y}po|T4$&{X%L{$4au?FO5B1~ zos2GJXB`#pKp%}gL<#-c0t2l?5e-^3?O1JpRt5v5EsD-i1&Ty$Nd9zS&XhTm29^c{(7bd(O4h=Oa@yPUa*$&KKHb03PM3h zN)cepA&ODK(xdf}oo3cY@Z&~e3_s7Csd;y2bNwAAkB)N%)MNb#1#-Gp=jYm(4L&QS ztLL=%E3`0sPuC38oE>@u(Wkpu%8QdR&!A2VLU<0hP()UXJ)ua65a;lM)OFSMm0wK^ zQPiPaMtp4vyuV?8)>gVUH6hhxGar@uoVg;@n!qg=M0vrCpj8xGY3fHuT3^y%$fm;@>;8z*qJx(0x;S16)(Ld+)ai>Q| zx|3+p3%=)-lliIcAL*D#JqlCsG1pb8`$=kyDD=d2(LyL9{yF=hQ*(WYXya~7rE46iF+|MFLF8UR_y%+ zFa{RLXgot#iA;5!j&W@1xmhOFYNQ(;qU7x|k`5grL}w z$`9H!V?RA$;D=Xg&|c=CsFoC&ZiDq|);{BBqGB1ub{cjGNVX&@mEStjWVn)(cTd@u zm@1+?QnYw}|Gv#hs2ys6oEBrr6Rl`zdAA1TbrIz7@S4o$XL^0P+&nyxv*v84*W=>} z*7p?mea0vbjmnY%{d}=_>cF1;IR9WDdD}%MKrppzUFV~b`D7>QMtHDZRZLoIosSDm zRGIu~Viz>ogOCXjN>c1sV>w=H!lV=V==N>#%bC=Q?t0LrwP;zN%_SS_5jWCgdNPuC zmJdWG6aAP;cWo+52q7k#cxr(NMVb0+A!8=+LLv*4QRjNi<*P4}J(PittaHA(dn);n zrfyUk4WtV4?<)=Ev_K_TTNASql*5U1*JpC3>#$qH&$A?x1NUJ}U-8EFd-Os#M)Ss6 zDB!uA73M{KwxWk8`fHv3XEdJbV^sRL8a}QTGSc-|E#^cw@EGe=EjMq?G_f|%V)koy zf%a|C7f3YOtQ$q*A3P8@SyKpXa-bhm6tn;}w-$iv@A-J9fdRVgmcn1 zp3orcO!v&0uH4&eh!#TdsgoOeT{kLCmYcb>>y<1}xSVQ{us~Shr11%z2Cz03`cdni zhjxi1Z(uV|K{|2o!yI(6(3UWy+4=Q{@F>#WQ>l9g8Xt>&?kTXU+mG+gxX{Gds#Yc@ zfoR8I2wFlLdXY~3y~B~DiaL$;fF5ZeH2;$~G%(RaZaSeTO1L%E0A^&WDVM}! zs2~j=tm@7K4CdW>7^7MR=O}oO%{Ae0X-CSRi&QZ2y}(ppa@_SjP6%wg(P448w>aS0 zTb!`Uhvb=ue&{prt1&22u(gT#ZF<;NavWlB-G>EL+vxN2Hi)bNSpmAFhhYH}2Q;K4 z;~c|%!x}qVuSIK3OfH#hBpG`TfjE`=87i}NlG>)A&lG!Q?jw%8ETU(S*{kNZkcrrz~gE zXj1t*zw`U@l|OxxLQ$X=|5xLTEd_ZxlIFom{-8Qze=6qgN|V|z{Pn*g4+=w}OWmi} zr*oMd9a^6(#GVu(Ug|=@94i&oC^UfvT2Te-i{n7?2}PS~MX3o8bD@9@G`5S3AX+Oy z`4cF&CcA~6Tc7)jKP*iOVIKW^{rytUwKY^hJA34jCjLFMD#W&dUVscqD0a&cf?iFw z-}vn>>)E)1U8V+nMz`g;Aucj0G+CZOOsbWsCjNMAC`c2z4Tf~k{Q+zztZzlhotwz? z#tr$YpZytm@%EAK11-g^UwBa;Coz_Z_-I*z_rw`(x<vtb&UG(s$M$3*pfmW3%_G!AodtjEjnzI7{jK}7xn^p&)c|Q#JH~>`@zNlQua=( z-U>m9DZrT@;=F!Hs`5A+$u%@7YW2FPOFeiy+RdcyfC3}rOkGl0w~43*74cZvO-a*A zto4h&l4N^BlHd8^>_vfq3zYPZnDq5kJSQ;_(w{Z8^_amv3ik@O8pYK-411f4J}Djq zx!mv{iH3QDXq)T%$%aRXfBT%`hwR70oWxvnvA}{tjUJ9|NX4h7CJkj*mo==Ma)VD| z?;;c+@hCcn8y}Nd{flcir*cgTQ5^)3G>Er(uXU+|nH(&~*7BwYS_XJV!`T1&7yfHG zJ6Tf93m@=G&J|(CK{h)WMH!2a9;0$J1c*qI6821{OhoWHYb_5KML`;6w+|AZ`GIv^ zRckKuE~2KS1w%^{3d1O}Xu?auEhKiWu?e7N-L%P~(2siLwp62nTrpVz^9 zj!{t3b+``uTN6g+`TH6A#!%1c>ltNCtM>Ra`|v zK~@M+3-c?kx2(tdJswFi)*o}`ErWJ4xt%eH_!sE22Rdu~Vbi=wEHQRii@HuI1g~qb zQ?PiQAYVi{ypoECRJ zTd9j4{T#5a`KZ9_`X1vb)EQ*oYrG%tJCb-LqR0loCP*i4_+OtSUTz!-jK|R$uA}Bd zqsehccsG@~7T{Xy>v-<7WOu|Q6<@A{e zxUY$CNf9n4P5Ssno)G~=-=o03#&>&4;T0G}#q@n{+cD=c`qx3-zjNoF93EV=`76X<$d zt;HWsEjew#GgK72&RAUTTDo7#0?i3}0Vr?pV6XS5>Ew_mtHO^{lV{aR6R>+jCE9bxjUiz@OPlS6xKl^7G3J=o%&Si|P z^DT)VeV;X%K(ax=_PgJHyl2GT{(j!@V_Db(->~nv9t-sg5D%j8iIx_|1Vn~&8HX_-a_)I#{Pb~P%xS3$K|f>b2To;o zP3}IP9QK8{PYh!GVzIwGmr>{QIWD%xI5A%`u(7&`X05f74xh!h?>;c0DP0_6{k@l8 z`#7m#VN}R#U;Lc>@4obZl;vC}bbcgX`{rHwwcq(eSyVup!==qf2(henu>p-k?1G>Zwk zLuFT6g|}D#bCFheI!WFHq**!Um^*YGEBV16`l9^kkN&8< z^wLZ6&O7gLtpNe+ubVYC*^g&^z_WUxNnTNmIQQmf3pqJ?NB-~s;m^}k8xg+DX|>vJA}mhEl6j})x${^>2JC2Tdl6Q9>VLB*LBvXvaj20$0$b06Nl{3j+hz#55>U7DP>H8$G+A z71CS0Zzq7z9nKi+hY-9gXYz%A{jZ2$*Q6QF%CY>5pZ_m-fACm0Zr+r?`*;7YG*GQ> zDzdK*4o7nD-dmEDQ|__2_tXtYTMbZ0l1>$oUnFw(?p^tNfA8;+@>se<)Ys(S|J(md zx%C39RAyR)vwP1L7%0x`bMQR&j8Vn)yMQwhvL4+H!TJMt8GVq8g^sh*{E%bPO}T2@ z`NwI$pBXwPQ58Gw>C?fA=}^;8vhkqnL5<$t&sf3+l@hl>kS}Gp;Tn2tI=jS;aA^|V zEcOZu`| z=49Q<;`pvKBL&e4Cu`kvRvPC()jDI0;i-n7byjd} zh;3R_(B8tHw}o_Bj6*Dcg>--RNKS5QUong*aq!ttDDkCJPExFnM0 zOzu>#FQciv*UcHWT#0VhOGSus{a?yHFt8vlD^SsU0Qyl5yBM7p5DiLl);4iepg(_& zg9JiGMH;K1k=-y{v$ZOa_L$mVLJ-5_KBw?4PRWv})^jPeNHMuSX4RI|PKn;E&c}P8 zkCS;_+qzak?Sy3t7Dby8A+$qVhJ%I4fmja@5|8FYE5^x0pK~Us#}9SuSXr+!dyFj! zXFqgjO4ZYY16frog|}y#K$Q%n*UN<_GPnmVlWOzIja@>VYJo@>{d2uhM}g2$F>^mY zaA41~es&>R*wIyBE4c{fOYB_B-$g-mwNx~*oUjiS_j*;GDdJm-Yv56@DCQ(5yTC(L zU6Yrw{%+8qsmKqwzk@2LQ$Q0N6Ff|kf`U<9yOwrYGug@u;0u)&O%*}br1&5mu|RYh zYME%_w$%Ai!ADz@&ZX`pKtH<*0$N@Uz;4hzz^A4ck+$evZMpw|*%TlK7mGbZK&gmE z!Uo|;&(^;=*#|77aHmOs zti~20*?l-~mX36GaM9!;_+j7b5A)WUP2JFi%V0P$MoHA{Ks1}=@!Sa3p+rlY#BKJ% z&=*=m%qx=Eo??l8i05=-Z;&C-jFK*vTxXJHcHJHtCD_GdlOqvy3Gs}3oI151Ps=D; zdv7X@`xZ$h*TYCkEzGe6N%w`77K$h0IdiHDeh<6MMPGLlm5lM80ubPf~& z>&Xr9vz?(`OdPp3#Lm_}Y3zjudn?63@x5pCwWdjcn5v5!42;9zjgFX_9U&>dUF$yA z(fSViA4EX|W37tSMLoNbWTUkuwi^!p_+(cG#v@qYxF+=L?~E7IqDi>%a1U?>TE&pn zT1dE&%7qUfDI(rNDaJ*8(QaV5ICsG_=lLG6_v?GmvA6fv@xLx5*;HaL{^eVi`wv|&RVK*}nuu+LIr8N>R3%%ZICr{v%9dC@nD z#9~Bm+ESC&&JG z%IYDmFZP!M6M!vVk{Lx=tVP9wGfOCZS4#ykxn#s3@ibTf%0$@N^#Og5$jrfYjP-lR zuv02?&YcuVCFprcOtv~xP7U2=euNl^^#l78UNP2S%sdqlX()Ubdb<>TPFPJbI88Qx z{mA*_9z}9^uM;;E5pnq7jzFNYUv%tg?gO?yq3euolt7RJB72E>`9kg6#lXw{GGp5V z3ePA&SZfRN?vkiAm8+%KduUmBcFqb-AsE@0o}|)j?nlyl5KGUe-UP+x7>}P{kD#Re zaqc9Z!C@=OjSD@tZuOgsCB$1F{qJu*Ug(j0{C(;orQ1o*M~Vgs7WhA*R*ukLkK3x( zJCSW~*8O;TN8)YYKw+bn=*#XcVDr$+38tuSiSfk_w(|umEV-~n#drPsk#B1q_QI!O zSSS5jj7eK!g(vQ)alf-a7QSvPIE7)oxoF8~0F^|mwGiVmp^glTZ=kE-d_mE)b1Zu1 z8p}X{k3~5BIoe-B8-}OrUtj-v`~RK?Dsr2PAHEl4OQ6qfG*~WrY(J|d#R<=hWZ3EY z>)G!F7dJM=2D`833`BMF$k1VKAeS%@Agr}gou^}7MYRU{+sNrdtzN^bL#y$JiUMU& z-BdJhxu|8aY$!m&J}V3y{M>wWae@MxrSw|GA?aga;ecLg5RkNfi>4G``OeoW14S%} zr&oWV^80NR(1M6bZ2^YSg9`?O40g5@I;kBMHj^C{IE0S~Ry?R+=qYQB`j#Wn785Vq zzT*C0KtEmZS0~O#9tzY5hz)C1nFsadsiSYb6w;7VqQgNJP;N%HLHe}O(P87{DR{SA^3Egx2VQ0cf+QmI zv^&AUr1N@-zDoTG`hSVm$4WG;nShp!GV7zyob|{bUe5+^MLbjoOEYJdF}*rDi$Ljt zRCSPVym?n{y>O&R-B?zq6^jyhpMV^$;c2UnpDF_W;PkE>%#P%wYH2x>YZ9Cn2_K6% zxP$+3VLkdpl4Mw~q4Pt3BCFSXg7$}wE~5NQa^w0V2_MA``m$T%)m0tuHHwpXFOUn@ zTHJ$2JKn2z@7$ML@Eq2)bUI(jcrwv>T%4ATF!&{gR5fQr~c5nTT~)xrRv-u3ECZohI!HEtYC zWjWP^ex>&ae(5O-y{oz=izCwwqVrdeWnp2#CfM$UF|q%!?m=O%{a&#j?;T(?GLArC zjaZ@e7LO(*O=-NUXK@>%2%tRm!)^858%r~OUkn^#D}$G){2n=c%rG`->5#;oW8cGX z77*Jbm}P$LBY3#OgI)Kp+CdmJT)F*c1M>*uT_$4?IAp=E8}6sQA6F&Fzudt%P-4o| z8QX|vxv?N^s_yP`5@Q6&H(t0dRfWK!lRMwKC;#w2`G>k7theeDpZgy9OF#8Lkejc+ zBJVtSAbW9iJMZ3pzCC+nQV{5%f$IF$>YpB4k4QXPJW=BQIiLSrfhf|s4#%>so3;Fl{H~-e4 zUTe=01;3I_ae>Oj{!o77*MCd?lmF*`CaW`@{K$BKPUEKIa`Kc#3qhg<1YZOCzx22M zhIz|^odQK(AYc&fD@#_E9~__9Asz!-3io8T&4KnxmI|J~y=wAy7dx=$Kq!jEL@G9$ z)&o5}og-|g0cE)@)1?vo{dsujZMM3I7Gm5BH|3}QXa5F0H&=Rp7P^Ok{!GQ>fs^;)1M{`iISiq% z-s%W*bbYdvKmL_pm*#9Gx$cK!xBHPzO1QpnQ%&NRYuHY8Jg;c=q=@~&wW<6Y|D&Ik z*Iv7=g$PC9*Gsv5>pC|YC}vlB{Wx>;acWErJl++{jd`d09!;?}r!3C7j8>EBQ_slS zkINZNY98U3E7znnZ(%ZR(9+ae43T8fqVicgZ^E!`C9W@v2F4o3Ao0>|}_V3nO?u_n)ocUSYIChf=r zya^@-WgOU8$%&M9&}zDF=K`#kUcJ%r;7W;nbew|?f_x;B8WaZh8WvKw73s;_)x0b- z)P4|QxTNwgt_O%Q`q0!vc48+}Xqei!MbY<aYpx!2i=+!f9OQlsQPz}n5DAYDY2q3BU(t@rho^;7H6VEvb?VKG8H+| zGf#@?E|f@{P|d;`88q>{-6J;p@z`j@+BOQ8%Tx=0jk6Y#1cmlCm6Cf> z)~gf9(>@;YKDLUH3`Am{r&c)kVyy=*GAMiMe-C1umsiJb`e52YDfV+MkROaE^lYyJ z9BmphBNKPEWazBi(0{!_j_Fbp%*R~@D*Jw1#7LtcE$+6Du0bw|Z2~c$qm83n#@Ooh z%ry9hQYj*41Y%tUVUUWl?j3*b*lUnwy%c+Ef*7vlE1|My=QoKA^Myd#b>Dw6OgneJ zDpv2wxLsA~`@b0QgZ|uwDE5(9B9|8i(epx3p>Jec?`}Ywds;T1qVE&2$7Zz%hjQ#I z>(@-!`Y-RH4^OQB=`zMZ*9=jq8{Z5YDvygQHZCU1yFTXd^)|{L=)|i*cd5t{DxtdZ zPjXi1Kt~>skx0kvH>k_pr0}vC>?R=!umuW}VWjYT1$~)?CfT_UniO%jF(wE-HQyPP z8m||YPc=Rg6V*a8;;B}vKhrgfkH*>e*(TwQUWVRIkROV)_w9CDcMxkDlzA;qXi}k1 zAlc-QezqtOwXmYWxu6-iCpS$Wuhif}(d!~lXay(mx}~CSYDv9B`YiSm7YkFJ$=r0B zSY)(@%9vE`$A^z3BF3TC_hJQ=@Z9#Q#Fzx=XrT(TSZe}>=^85>m0YVC-z%s4VORh? zUQ-CF7-ifunQ=SoiRB#g)`ON||BPjHGBk94G&(c?u71W2%^M?{0GgeT8U!4>}iRl**~T zzO*RyIUReg*|A|tQae2!^LVTqoM*uTBOoLcwn7i=I0LDO)+gr~RJ}$aF&ndATOhmz zAvG-z0HKCYcv)B?tpJnm71eQ3HLj}NR9 ztKsYJ(rUrgTcPeqOpjqi;Z^KKPycx{^y|9E+6&?j(mn=`P_XNp_rnK2;I8F)?*EDP z);e!G4&Ir@1)N=wAa;n6)AVZ9r$X40Kr+ycVq!c`ErJ_#c+OjG*pK%eN!TiWQh#RC zCfT!x++|UzaS>T+m1jqkXC$wG@)KIMS5%={%Is(+bFEH8+^-euojf?4DUzsF?JAyB z`u8b%pY*VwpUove0nbO#0KYlhEO9ioy`e(9QQQ2rF1;!h*Wq*DP>7&{*g8g2Nol9WHM-08VTwjHV)!!uE=YWcLVhYpfr0mWvaliqf#U>L!ko5 zA*62=A8yCF+`n^2iy32HW24C~bOw+xlXQWA9xRKtBY%W1N56&=;i|1=s_%87i9ni| zqVIlu@IY}02lZO-@%-KUTHRRE_67+vsvSUd1A5xCr~nE^z}jfksTLp5+q#-B^`GCiCsO1$EGb?wF>y|}U7Ag&1Y(j+PMt*%+%K_Uz_>{ZnV_|0b_p%Qc(6C14Ej=lKaREAwbb@K{^N($Clwv#(6l-QoII}>DdG^Op4FLYjO zajnvV?Fb&qQ4kBP6Vm^~HV*m0qX)RLxM>0fAxeQDT_)v=*Cl82uD`Wd%h}rtIoCje zIY)({qB1`cV6-9S`n?Aa9?F|GR zRY3-Xjl-Gh^$-hfzpz+A+5kzr51&|EjQ_3l<3tPNzOG26UPmiDDD*=M;;M{35$nGu zFcdK#V@Qhhf}!plXVZRs@NjKJ;n~K$(JnFuaEPu1mzEeCwGu?7T7%%};Y9xCzxOxf zdK ze94)8OOLvqqvX{0V?`L6)Mn5MsjL^wFU^s9Y7}1>K_=4)X&(?1kSL~=kP^`veKfPG zSFlWZ*o;!Q;k@I2OqiY76LqmAoNr#g;V^0I1{CzF4E9wxLy38BzQdR1=q>6DrP9Zy zPp;U0o@r42(n~MEeV2(bBGY^nse&v{7!{rrQZZ4k8&~_4b4NJVu+8&$JC^1Rh`QBe*gE#pZnn-)H81+5AL55)x*0#(ggPC=unPN9>^%4 zfJ83eyn9#v{y+E!)^31)M@2JHh=Q$_M)mqVEkc3niOnyu&K;iOT6hD``}Su(!Nb*O z=;ypTl+Y(JDot{sZhZXBJMxV`_+!1l@Wz6+YOK~l^bN3R+t|GxO{hQ`@IDw#fcx}c z|GA%&Prv%AqLPU$suPM;<$CYaD1wJ1t<#_q)=k*^pcT;uV*;3#d0^o%Qv|vw74-z= z8CFCntZ49rd6sl3c#Ra+>e@g`Grk2Tk-2@O{3vv89L-85!^_h(55@*aHv8ENEBx$e zi4g1c=O`3JwhZpULtd5hkG#e@{vNF^nMkVRN3vSlkq8&yg4-pm19~6ZAQ&Tcdj5rt0%$K0Y=MQFvr!BkR)y z6`JO936p1_*^Y@B9w{-a3o9A%jp?El3cH$mx{63dy*B~}N%WC0#G|`X2R0^VO^;kL zHxk+S(V{OgwbIV{9y4q#yZS2UfEeq??D~P;dqcDMS&Twxq8iyytng0*{TA;%5IScF z8AM`$=&Ut~DN@)NwPqm(s_2g5Qhq4z8WW-yJHlYX?X3$QHc=CJJCmZCka`aE7ti;w zG0_aO#euz=Pzk=(`CoXWg0gShq}&a`f_m@lfXL(7dag;qJxzQv8BZAbls%E9*(8u4O+y zc#JjCO&W+v={=omLJX!((^-!WdQ`z#rrPt!*e-L32ZFMj(>BNh%^!QYet`LNES0_| zLEnSJ!x@VoumdC00sfU*a9J;xd|o84O$$%ol*oPp8D-iA8Mmg@;>YpvsepKvjZC?p zq*oxfxwS+Udn0iI5(Q*oJnJe#L>YS*-HhBvK^tFG3u3Lk)^?Z3(>X5=6^O z3?lZSPktj(90kt^x_zhU(0&X9){q1kt)zyM#dlsG}<^mJ*3{%0OwoTx$SQGWhKxt$6T(jK^6|12NiiI9KtvPoxH^ zdef#K#Jos<<6^dcI|HbUs@qAVSd)I}=y_)?XJJD%!HxjoB=#7a;87I8x8I4TWn>rYd5di-BInnVB}(7BXZ)NsX!r~ z=%Gp)Ez1Vx9~{`vncC*!BE>td70(S_uSG8|q=sHIPxVI6MDITZoTOwx4kW%*q#g(r z5+)X(^!HY}CyYi1x^{pHRutr75vdLIiyUQRO?W(698BMHqvV2eib4Uqj*-ZN=G*yL zppvJf$nlg9s{8jE2B4xZ+UC|08=2K_TV#3G@-^^X(C)n0-!#_e5|OM z;L@?IHGyQCi<8*HuInxBsfG}K(!Wb*B9THCf+=DnnZx@_8nv#^>GVLB{#4q;Q;ZJl zqQ?5AuWw@hyX=$gY))&@1bxKCIHPq`%Li|vHZ%m8OKvKifnS<@6XpT{AWM*V;EqD;Oz6drW~vc zvzB{7TGgCK#Y)$kHJ@^al$9FoQl)_j9|41Yg4k6 zbuWGdiAep{`_xw?WAFIRGcx8ttiNpwNW>yZiv&(AVGB`^+1?oU2*NyE#3kQryY%Rv zD2D1XPwA7r_f&X4>ha>b@n%(m6!TOMqjXuZShIwM6$?FaE%fRfPU3gmaFF&rM^vqL zW-+$V1opn7jkMy?#J$k@KP}+J+(luD*u$S$f{a=_l3OY=qUeNbyZ1x!>DH${u0cH# z3M>N@Nz-@MDq&Ga$X_s``1SKcC`*Q6I)!UuZ<57`tV z%eInljwe#18ssZUT5*@P=BaiCvk zU(`lX63WiHS10fx_9mE>PXg_Xe7f25m~_cj9vW;)CG7h(mFpzVtzjMq`vU{`ocSoj z^SFy@{*lfMv76Jj8IX&v$k z<9^5F7)URQ6xM?j+h$w&-p{{IZ)t_x^=$R}b?o&Ey-#UwElNZ#F0Y`p*5`iPgD-Eo z9Pn{(Y}1LqVTZzb*4FS2#XY`vv1Uvl66t2fWV)>JqTc%#)13YMSa5GOOL-V{ed+sn z&?K^Uwr{7-7<8oYkogmn9Q2Dj&-t501biQ7U(9GD@KNY}uk_|-6k-h&PYPsFWm_Q4 zGcX=647#l=4_iOqUUMRkd>yj}>17OedF8x~G15khWh$n~&%HRhAV_3rUbW$3T;Sqf zwte*U!hi1Sz3j^yMJ9v%YiiVLW8unBD8`YWg<$fTE>2HoT!Uc9cGh)q?@pr={C6Lo zFbHlmU|D?QzMTEiAIW_f`TAO3_}uIA>7V)w(wv>@3n?jX;B})JX;PT@RPMZUPww42 z)@nb5l3LO%GN!Rc2&kc3c45yoI9)F z_a~+wDh$bRd%!Ntp`KR*`GU}kCid0ZQV5^`y;?ATe}jr{4_r+uE9o>j33Fl3oI+2vUvM0-^W6K|LmLZ$o+4qPSpgnZ93bL-v9p=64_ zUXKDyD>uWK6ydp^AxK`^=|qyHUZECdy0b>U`s@Ev7fj2uB8f_rNZe)Kat%OpU_~#< z#EPWRqcg=^h4mly0?@yqgbpWyc5~0!?!m8;0USEdiHTFIXswk5J_hvB#W_-W`Py&% zj-G{}YU^{N$4=4RT_2S)E@Xjt&J*?u1BHi5wQJ;G`>`*|r#|`0Alx^+9*qksY`lu{ zvp$XU6!+nhf_$8yf7Gt6eMuY7J?8Jo%^HN*;6y4Cwb?To$rU7|oF(!#JQdmW(+->TA*>Bt+b>{%D8T znPB2&7kID2=u-3co#C&q0|e(lB^^PV!iggPflDYsIs%W&pMvlj>^`k$U{}PA;mPZJH+VOl%?zYoxCCF zE;HZoB&um6@vcChhibiE+X|0)!7awPrnb~VUx@-t^esx`W$%an|NVGA2DT|^kW*L@%o#Anw8)17so$!rv$&7= z4lxpHm`pM{YBR7yGqNo@IbW=_AN#Q%`|-SutcHrHVHwg>!rXuZx%fS~(1AF%snD~z z(!>}UUL&jKL=%rteDrbiRYg9liTJy?eWl2%2Y>UFS%V2=&BC0{! zh7EkHjgP|v2L_UjAChMu6X?)Wt^2;${&0#krM_pAj8i;DfdH$Fox`o{Y7;ZGN{jW? zp>K}DDc;A1eHS?vSG9(=AJ6J=&XVHLbE&d~{m5W9RJxiLu$qE5s{VYWh(?j;>|X{F zmqlI?dw~`G!}b7G_pYs^aV($_9F0mB9jdzK_ML}Gd{lE3_u z|C*d;@NF!mo{r_L(GWAuNdJXE+cpohv~sEH_&@~1iH61+K>Hs znns}5NQiyf(yLr6LJUN2rAhI_RZW{8P^7Q%M>+c^nK(vT3(-ml{}eXYyQs__U^z2% z`X^*f&>K89fkGfH@x9Y{^c#opQc=kG#T)u@Q^p!-`s8AJazmthLDAP~QExITWI8FS zP7Dz@{MsvRexlxS9^7Y^TGue;lV|=q+ z$!}uq!3xsla#v%B8j251Nw6bLS#^HUVAzlS*pL0# zkN1u&9jI9@2ALx7l?T7r8Y2SPvKRxe){1;(iSbYTxV+t-YA|^u-#9y!-}%82rrZk;u^&&@2m_>LZ2;I~(2oVh;AKN%vs8-M zj>VL}$LL*z5;b_z&XO&tQo<^?q-B<~0@hF;vwpx3*Ius&HZVDe5{J!N&S32`l7p9S z%dOA6F4wZLtR@$mNCvXPolGDs)>Lw1HkO;SsTBHpvczpMauN!YUF3N4Y$abiTgpX_ zWUc5VR6sSsA013(y_{Q7uCsfK0Nh=$DC2oY+gM@?HG+g*#W{sr0xi0{yiNaQ_3OFr$+?-L~#rik#ar?DbWcJc63FAV#GSR=ic>fi6p}Ijs z&$D=&O-AzKXFefy)$sm9C~Kb>KR@GZekE^d(wldgjMA~3c9k^2EP!B3cTMMY)&%zc zpG+{TI~EQ*lP;3Mf-17z*lxgfmHpU{{n(HFc)yWtDAT6Kg&w^gCGL^pToXKZp~yfW z6?(N?YB1c<3SzmMYw()L;`CIi)l$ZJCO0NCxmO+QrXOM@KZ=P+RA3Ad(e}ZT;+-xr zCa%Mk#Qq$&=_yVkEK7SJZ}?Pjk8+UuK-@j@ul{Gz_5t$qsTrI=@C%k1J6$1!p5Wcq zm=hBRG;;8N>%oZj0)s5P!y*1mWykI)au>?JPf|cNO;n+kjb?JDK#;^ z*FBVr9PDX^=$JrxTX&R9*X_tWbMx4`(JP$S^=_<@T}SO2S)>=6=-)g#kOW@3dhHF+ z)h<51@AVQ)OmOHUxrBjaw@7og)WF^^g|L(+#n>myL=oME-e(9D`a1TZJJXQsm8SZl zaL@MfR*7VLPh#|HAa!d^M%<(jKi04Hy+zOUC`sia)x~ioC55{ZTBJcFtI`i3)5UZo zew0xMW0hY~zoh+m-%;!PUF)1c$!A&Q+-GtK_-TAlxwY;!sf=`DKp?HAGQQ{D)3?Am z>09Hha1TkbTrO7QU_bU_KlbA)jm-O8Os(3*_`p#liXM%M;AHwmT{jnM*#w&2dUYzr zBxN7lNDu$Am`STa$845KqtAK2UCZ&EZ^`)jl(q~ty%@VFy5lG^fj~PA;arwQ=ExLr zUi2^XvCK0S)L?2I3 z1``P2R4culj>$3aL%y&3?#EL$NJ}lbW~lWFe?FkZy`2;lvoyfdH4llctSqI-N0N1* zO^@WHf!=`5b@aEQ?|<#-Sq_A*(nM(Otw?2S3hN_U<3wvM^Gr^dL?h8=a;%Ss-p$qg zOpfPsslrM|(~A``f<6H-y(%=iXH=S>WqREuud(hLs}CgBqJg5?0bD+&^3I#q_^OZ@M#`#8Vlk zt&DZmP)?~1@qWHAIyKlJyzh~kNwz>{n(F3NA}IP?pOdBeIi3>sVZBR znT)kcKAnx^qDi}WuJNQ)G{USua1HtQ3 zM;irOWJAABdey8Udv;NgHptE@VFJ8=b}JICI8rda~Y!?P52qN zwmDnLSHJuRGGCcRUY04stNSJVmoeW^j7X6zK*^ehh30Z#z0xu`_n_dKYO&_U*I$*R z+qXpP8(NI1j7D8RNqr^la<0ipaiNGYi#d9Y*w?B05!LIO#Y(>UM}MMwf6Fr|dMEA2 zb20!5fGCGKd#1p_fzI0r8EE=5EhzrL=(^l2bpO-1pvgKJD;f;XYM+|#JJzQswI=kE z504Yv_G3TxV?Xv|Yh=gAi$QS9vjW~qp6lj2Ex;m^sq~(S7Z?QKiL+p;pt?b?*Nyzi zm;YG&kv^AJ>%Yf&`P`rXq8yayAFla(YxKND@tT;X4oa}jyo+{%E=Wy=Pb!k*)B+(| zL{Z5$5G@8BPqT2U*ZPe-v{)Z@--EqPo!+KZzt5f8R?*sNM2F>=@ADNS7=<6Qvuk#F zK^u?%p1nV7mTk+}>u>N0cheVTi#>NeG(Pyhjx#SWy{*#spvGVPFLS+>J^l>dgG z{OAZjIl>VRKj_IJKRCiK4u>411Uf{DrU-%{NRS{2q5uM@=GLuyy4_^vYNy8cjWJi| zK6RTsxANT6<*3^CoU?cCY}T4{%+Y+~`ye9!y6706?A14eJ=;7y_gV;?F`h=-Gq#+Q zZwF(PCv!Bq!}^a)?T$TYdyWVU+U+ZKF9IG|QKLC(;v2L>T2OBeOucglBpIAJ7p(9) z(Lsdt50EZF@}bWY#`H`~_J@6L3p_*0is*1D_W4u(avq0cw^&(oJGKwVy4@%~4yGp= z993lZZKr7a!rV`A^pD=pQe*#z-}^wGfW1t>j>)O#y?tsoeNY<#CBgeN8W_<{}KN5xM*?9GP-_yju)qSA%1f63! zF5=*1FRvxa%|#ZXT3yh0^m_})v+37;-Jd^GEajU4qi%!zsOY2_YT1ApA4oI(IfzQR z2i*6@7f6`He#y zsn57K)3xcg+GVl%uvjdlIlHHhe>8Zdz9+x~r+zETOUu8Dtp zwm_4CP4f3bz0t_70!h3^BW?+Rb3$)4!!-RP=2wb2{7o_k`nNC8%oJqFZ4&DQrP0x0_ReZq-r3aGp~RaeHG>wGTIj-R*KJxHH$cR`i|BNNO?$F2h~U>@ zl42fLK}Qgf-J=?U=OgP0_gbL9eZsS%b63xMN&iG*4`fo*vkcnsnXCfgPvc>`F5IQ;6 z;^74fg(xIKVr|T%q;~TWbL2t`)^91N8TFHW!S*ryKOz4w!!8dzzV=Z%Gji19UY4Fw zXSr2tvX)ALlx31F>j6Jv0~F75JE1%ngRzR|5&ESK`=;aZwz$wZiMq^@MzYRK5? zo4BrIbN?Ng)|WQZrT?$ni9`{2KZ1@$cP01q2bkS^tii!LtfWK0q=8GDHU=xF}UnZwD<*3MFiE%+XD%_5D)d7H$sw8NS_cu6$T09wYQFg-DBJO zB<^C8k@cHT_9hreOR;vq@Qk&UI3Mbue_P_*qk*zT$D5VJnrkw(ZZHV*dT_ES$36qv z*XaAXUjlTU1U&8iowwx4&041VOe&~3X)+LzAOIBssVDU_L*L06GKB%}c@X~?f{!&H zvYNzARY@|gE`pfKx+M7giF|#S}kKmGbNF%avx_0XoQU-PPxZu5f7u&=GUW{qcP%_J+Qrvi< z8&yB{cvXrvh}FN1>SJ`RRIS_;yY9I`%eS(YT}j6A+Ob^Jh4Or;^1fc6BM;(pmk*+QjZkZw`R zkEd3~5~>9?n{FEH6LprGTm5r5k5Be;TCMjTN)(7IMvW(<=Amp@da)cMX^3dbx@pAt zt0E8lvdAUoB#T8&IN&s-TjX203v3Cok>7;ueZ>e`l0&lxeFHaRCqMk*1Dmg#3_iJB zRN9G{7@+p81}Sfy$?8i>sfG(V|LVJ%L~By60Sg#F@2!?{Z~0ZJG`M+i6Xiz_zNf#l z(GOR0Mz~pE4m!#axlo>qVRo(j(%X7Hds%4U*{!3=g@|Cqmg>AnCG?AhqLqgIf@|Mf#~Qv2de(Ja6B7UT z{`TLOkAC!s1;J8-o*)1CA(I+T%)^ou@sybtrmr+KCwgl zmL|jReC>T1Yds0?oJ(_lCQ%b{t&r*&G|-1~&-j@)9UW~E_}+=!N{Jj3y>_MVEF1YN zf9)^Im-P%>YJp-~4f0?9-+uML=QIsxoTG&n0qV1*{OLdQ@5rC}lYd;#9>`J+^6pp9 zb?@~r{n>f4lb!6 z{9LJDcVi>pxOiL6&hC*!_)-f+{gaR68sxoBCdqgjo#eS&c#1FH6dPJCk_<)$%S70@ zMkKEVM-PJx)?jfs?AJFkX)+AhZb}6eQxH(+!1R-nW1A85xk1eDqN|xo$^A>r7jAAw z20J`}5vbg3A;U+wBs!pSccq!TCgzy`t4jvRr3Uh~F78Gv=3vN1&tla8@`j3&uzEVM zkCEs4Uh>k9Cd08h(^6M!I>-7ayT39yJTSx1VGfD%0BqVH=nKZo%>*aI<;1!Sxhpqo zyQZD&*2{i*PIg2K4lM!{l>}JMN-9<`u?d1GL)e4wf58Tc9d!RTfCq+_ zRiFlBT)Kd++8aG#wCz@|3~o1|BdY~U6j$$E$lY&#l^r@9FwoQnc@bdoxl?ZI@cAr6 zLv;sP6n6d&3CU{5&+@ZB|5bTQ&%{DoE!V~2on2CL098~p)O?QGJ-(yo>^FYq9d?OB z(t=cRsh>`-6H5grJK4!jc098QCu``iLyJ5%YJ#j;a~~lsHZnFj6yOgP8B>ZepIjxv z;)q+^^@;4cVrQar>EAY+y~*YHvJ|twd1`2MF)gX3Q5u_EPkVGB!A81qeK{0 zwM1BAaQ-HneJuygof;bZ6d<6GmmDSpEo1HE0ZPivDLa-|ru7c{wC~%@C?SMfmwFw> z%*Y+G?9^nWMjlvNl5}zaZ;}m+ioFV^>#j`Ji6c1_lHw3%m9ry{h#qW{Gt5sZ&)es@ zRHBfIL^>L- zbkP3{6tYKf(<6CqD(NntNV(9*Hhi;krl&c&#cAkC9*vo>xNuhLmt4srOVi-`mELJ5 z)LF8_FkMaV{XJ+~<|l|OzeN)JK=X3yJ99RGPDg`YW1~~+m@-dzbm8~z*wDX|z07vg z8w<02VMg5|d7=}h3{M_eTzXM9V(+UDfFIz$hlx&W;9S7SE+HVahNw6)Vb#fATBA@v zjY4Tp7j*VJG6S%ZHCr5#?B&+Y?x3hk{KCM7uG1qyvju-;mDaWk1)(XrDQ0m zP_Wy(SpzB6Q0M!sK0EmN2>I6i1W5Mk;-0JrJxlfZO1*BE53l8X1%8Uk3g4%y>B&xZ zvSXT~8iiqDZ0|6oUnx>4D%u>Iu2r)VtGG~l&E@FQ7YhU}SE|{K` z7V5(5B7$TG^S5a-sgn$y&h6-;;P)+U)({>L$OGLRZLlEt*XlBloQFf`lLzn!%HbPOBwa7yZg>t^7Fs^D{}V!+w$}rCp+26 zPIeq4=_g%sV8I(TNOX7+sUtb9v}26&A`;_6IpHFt`J&|^Bgi$uqxyLGZEY4^ zeyBd%#%@~e5I@v20cS&{e=mcb5kg5xSCcsrwZAb|>HQ!5HAp%wqpY`y$u{0EnC+4##$$iY z>UwzD^&OLUf|GTJM{2P~OJJPw8cBhnpTpC?>bTd*VW%4Gg{?94j+G6JYmp;zZZxua zK9auPm{d>Q;y24GNiL5hPE;Xzx|l6F?o0fA>R(vaSrAH{$Zp)z*A$$c$Kf?OlBFMd zcJxjStvAP@VgPwA1VCj8cyp4bE@k`pMjm|c$1>>ogjrnp&!XlWke)3X_%K19$WV$- zGdjBkijNDhYL`SO6&c}#uJYS=q+M!JQH!)FMv|~=nr29qJuum55dIz=(S!N-qx;mr zA|@sIiexPEP+HKnfBEA}iJO7!?3-|SpPDEleg9zTuIh7?t@XO-e;?gwRcgyKbhCzo z(CZUUiSfx!cCzCc8a*R*vRsRN9r|#NE#+Ym0dVf>TyNz=Qwefyjhk}%ojADNZf9vevrg4ZMV zpD$zyV~cW7bs;zHMmA9crRq$kI!L=-Yi%2y=xAMR?EvCH9lt*JNUmdg`Qcy=U{9mn z5^)XITW>o!EBH_Rs?Q1slV4&UjieZxoU&5`sm9TLE*KAm%w0p6Njf=zH_B>|_lypk zCRRVr^NR@cSvW}<#Q$OvXaRgha07nZm*fWXCcR0=1se5@W2bD&`8Y`pMNoCQS$vtHYBf*h#ip z7zXbHj*mVVsf(R$F;hG+z{|!lqG`w5aBO41MmZAWmLPH{S}~cO4({9og^W|?1_8mP zqlO?u6|4xb;JB2{9EVfaxXsPrP#ljuUHz51SPOAQ6X2Wh99%2?S`@{G@xtTUn|Je?k^xy@qaBp@(fnQWTPUfWXAD3MTnv zl1hv#szTe^s3V!4WOz#}+S^v&6?CO^(`@trU+Q~X*0R-Z@uPO+f`4+om2E%TCTLsg zP? zHSj+@S5mi?`fGQkFM4&Em?4V%z1W-1HxStXG&N&wjQ{(b8aNXvJ!r}b(A0+9-ZA$L z{QRKrWmz=3Pc>lFWWCkmmS*zu*86Ws|M0P%p{>-~QNA1wBgz_y&?>dtzLM*!UP9eV z-9%ZgYVwJ!R=W3#4Oyv+6Q1y7Cp*~@4JG)}vutwyjv4Qj zSv8#xj#4OEATNLRXTN1oY3PY*k_iTBh#zAu*Ht6iZRc`MmKf(@_dIW$iBB#sFXiUC zm+kt;Qfeh=B>dV4fR>AuZ1rbly(IA#8Q0rRItJ)^V8>BbKl2VdTOe9NQa2{R)zCTa zw;**?=XZAhE%__|^Z!6D%SqOnU}DAJU!Ke3tH-j@CDtzVys45@-AMk1TLs{< zAPE=dmP`GrlXa<&If7uo9vd}6$Gg)aaGN@LdsWJR^q>4Sc}tV!qSRzrbK?Kg|Nj4e z;FIcS(u{w*?WqK@I$z3P{`dZz{K~KVd5K!Q4r!x%?20-NT7j06o$O>MJCG`_>Gh%6=mKYuhXhq4!Xe4kAnq#S)Sao8TS(Z{P@(m@(XKIJZ808J z`I#&Y7^30I?R(k*03lWa1qr$bTG*(!KVCl@HjdmkL+H+S!GQvqp*Jdbt)0V9Mr=n%wBv&8XBYk<#&!4jfL-}8Xv z2(Sire#A8KCad-Yhv;YMZI%V#^H8TZa8_V=1%^mU&YBm5e6~}kiGdb}`avCgC#z85&_6M!2WUF3Pja2n@RBQ*;A8iCdCs+PK5aCS z*8sR#E!E|X)M5uRDmugpqgmy^#U$HCKn8ei?M&CwrVO(f;>k{Svg6w@L#VAC z2UVssau7B0yP7j>LQOuS^Wt!BAozNddJ5*-fok>m7JNvM-&=#jsBn~|Cf-$PXqX`x zsbX^Og>tl5@pa0J@!60ERLLZBhgx$PWHm!4mF8g+xH{rEld`^PmYgY_At&MlbclTn zmw8v#G2Ri|gj)e<@D5|v)@6c5Ii`~10D!8Yv)r>56gd}G=mj6fJsiKk8YoJQh!>q2R;vHfw$RTFkj`2z$w~yfBFHvs!X8HLML(S1Zm1Pn<;$o-EjX zv{^|@fPFexyGjAcFAf0xccTko1^w@2LA@=dL|s2tSt$qRU0Lke7uGL!+k;8xd%B;h zXX3Dvz50gpf`p5q@=+blZ=frvYrm{&u4Bk1L5@kYS?dm$niP+k4B>G_qQnvqPE}pg z)lriWGGA4)qGvMx2Ed&YSgLX8HKnBUh4w|EVQjJt@Gtl`&X|gOBA9gEEt>W`$(Eiw z+%Eb1CIf)$Dk6vjS9BP3VtupN&0Cq8c+_prX06QwkE=q!E+3HY`*N|T26Md=VmrJm}IAbVKc$7 z>tG|6!l}V$7~{x6Ld?EdB$F0pUWg&bi0-#T*!l4}ZcGl)d<~J*aWe9v0N$n|I0JWJ z2Y*tZ*#T8GrlS{kUr9^(I_yQk;b0o);GLY{?9Y>ShkI$afI)9Lhs;i<+)jQ!@!4=F zL5@R=C<=1{{nZVLG1*1XASqr%GRhr&)gsYvs+?k3uz^l%=Tb@I zEII@%tU9y5ld9Z%|6LYN2klT7chB`aQ6GzcyBEPb0y+f=mNMU@b_wKd^K(G+MO ztqVv8^oVxZfAGBzWic8tW?LPe8FMxo#ch($)Fj$^_~5a8_xJulYX#?+XOeGz^PV)z z>gA6Pos%OG!Dd~527SrMQpBYWc^|z#%6Y;{!icCwS5?6oi}u=?Nm z-<-FV9AgDK%5u1q3c;t@L5cC`)mIqc(U|{w^5jY$Kf06w8jpIRyLRAVR2%?{Ko_VR zHl}BW8@Jg?_k#~f*^VxCJX=Z0jMr9UMb9h^viBVY2;W%5y;|*z?clu!L-9M>42gtQ;U8h_s*8`jkn&C3th(* zhyoUcJiY`;QRLboxtna|WG8!B49RCKDm^JY!+?N|WH<`mKK{fA8=8 zcQQR0q+YCK+6*#mdWq+6Nzp8voq6Jj4|MFS)tM%{rHuM~5nW?fS3u#jST*v?zw(zP z)ulYyT+8)#BgL{I30GucEzDymAzCLE=Ri@sAj!XA2|c>zh3@MSML*0)Z#((_{pvrE z?SqH9_qSRG!+i962R&u0#j<`h_&7%NJ3X&|{nvg&e&e71Gc6)Ca_`Pk{?q^TZ^$>k z`JUAE%Pn;XR9S&;|HP4T84G+(gjQwMwi57Zh+wGd>F(bAt-PIj`B zo$NKSGRYFo}HBjdq*;h6?8y?(XbaMT$?1WsdVoo&vvBADtYo4-nyhFR7PX|dBMi2`UK?wDUdM+#ClC4CbD~6)1S^@Ns|pcy>odIk zi7{s+fw0&QP;I(bHr!?0^45K z=2Z9v0X(o6^f4RRPFr??s?^A$(@t`=(1KD)gi?Frsyf+AWGMIyeJhK_!aA84!)e#j ztAD?H=WV&Ox+fQ_`*6-u)n`mpW3!Uw0&`@gkv@vSu9J74$0wI`cE-{lq-ttu2ThuF zZw%u`+B!-Po{GCGxqDX=@aToLX!EFRTF*S)`5CP*SCAM7?;`6SyWVQY6*J68I#Gn` z?fhX8u0Tif#dS?5R~KmXz4hGW!uL5%E$4%QChBkWngozno*(w4!RKy)!qU$AMmy(Y z+8SAnRtf5Q!J;?G9bW;(f(rB2$xZ{#i6bO~lBI!PZy{JQ`qwI46Jx!+dqL z(J3}0QvIkGYZ8$={!6XuKcTwLloQdh>oJwD^G=9^{*CdSsQV^vlI z7_dI(e}{Pv_}S8rA^!>>q>c78@0=Ta4n$b1rA&GQdnS&@Pi&q}nDX(MWz9sM&vBV~ zhWL62en4XnSu5=rkA-y$4GQsW&zc`UCxswc(xiBFvKD?84T2!!^s<|iZrj|jcY#AD z<6=8Mn07PT?lC9Edl&3uS-D_RVwU8E zUuwR;pl~5MQB+wr9IYYI6c9h^2!HO6eM{o|@9MSF_rHkpPyg}v4th@01Ru$6k8U$i zChxuXmb|CWRiuSJ{YXvY;Iw`(vt=(oIXNcf3=w}MB)U)V%%BBN`rMI%wQPpA(=7tE}e706H*(p#&9LOVbq|MugKZrj0~KZ89*=*eSQuQwX_cXAO*`I#@hEqBis znjA-IFopm`#>r0hl312J0{I~JY_HwgCyy@WSO4~}%J_IIi;K7QI9N%gUqp&jrRi8x zZmBUT!C(mvI;$X|BQ_dmMQt<1U;oY@lg0fDX=Bn(w02rCrn0?ev9$#0VKOcGBBxo7 z7GmKy#24-|@IE0eLL$b5g4b5gn<)S8|K!ifTZ@HMC>Ae+CdU8QgPsosY!XUp_q}M0 zr{O!_`9=Bbf9>B_Ke3YQCy%6V^bDFhBEeo}vtv3j?f_~4<5o5CR-hj&v&md*BC`cG42j_n8P$D#8?NDyc(l6Cp+26PIicmUgQO*2V5PzI?jO$JqrP_ ztj^A)ty^g?r&D75DRxj|Tva6#5(G89CR#mX!!75C(P=jk>~+LdleIHwH~v*HLK|mhJ%>_rCQQUz1xBD&M*n`AyTnxO z@Ox-*kyoQ>JOIWI5*d;rK#FOQay81TOtKhF$_cX}y3?pnH)`uU+JN zb)kQUj%%w=)yc_D_A(g`>Sfg!DrSn5TS_C)N0m%E_Tu#@Ey^8 z2*wv6TNs{)7QtZ#KUZUxT7#8E(~yOGGi_uGQp>w{q|-!yqn+PJ*Xx6yvsORRXh2k- zt%xRRw_EiutzL7?=5FNP-CDc$Pk0SNSjx+6*^Q%!QKXV*S}~%-Uupu}$hD@&AL!Eh zA=XLP%B7wUtzORs&vT=)obuQW>t!67j7+Q0L9Rf;t9e$bXCnj% zTK)b9#VZgPzd$=EG4Az126U;=K%KgidQAuY-h{3cq?Kau!&MG4q%F%>3ph3@TZF7f zgPp;%pX3m!LOTT^^>S3bt>7KHIY4sqqm=uSmRwQpM~-ZqB^~(rA*+LqCwRYVRQ7X{ zhY4sFat?cS&ZdgzjN)wCn3K*#V#!*`oZXg}+iu>UnloqZKp8Y3?Rum}ZWm z!Ycx$jt&PWtTUNTD~co~KVPpoL2Cl``mjd#U#0tE8d^;n@M{I<@vVCf$rA0T6xdfM z$)=ONJO=KGZs^HGJ#>S1L?^jfuVq+orD^W!c>+jtL0Ji$=t$_$9UOZ69UWt1vIguK z8pTMEk^FK~WFnEKBC+CF7{OMrN%697m;{Y^o>*j_D=vISe{`9r$fDxsC`ul|fc#l# zp=Gx^vL6n(rGUEkCdot{PEd#?AZfIqP*&1wv1D5d2|K~T5KusoI1_L2DD-pUxp9b` z>|`f9*$Xm~Acr_J^`p=_4#?H?3<2rZP)X>wBI8M}>C>zX(GH4UqwGfyA5%Y4QgHU^ zT9aZ_Ra?$^K?iFbCLZGJn~oE}W7hqBhC>EtQeS}`4ce1h0mcD-c}3V4UhVAdd-C=- zzA85bNHWf4bF-24)wKpxdSk14Ce6YED3f*;wk?xRrWd2LP3JciWCl!G@@P^W`;5gQ z&#Cdv?MS$eZhSihQ{xsyN@r(?&iI)tBx7lv|-fG372FbZJ(5M&`y7pzUOSD7Uby((C z2o{LOBg;Q!@~mWx0W1{s?4ko&8TpxJ>Xj7c05^A+=RcCeuG6all#5|OFlFrFae@YSJ30ps$sIb{*q`7tpE5i|TLy*O`y_p;Rj z*kaj`V2UHgh5G(>lz;MT-<7KEh#Kje!w=dN!026(gi6AK#k7C(yWf*``0uqMt_k+o z$)EYNKPUI^A4ul)0u6Tt5l0;>CuDR!iei)+MH9@G7fCM0N;(u3^oJ-S7PyvGuzQ?i zLG7dup_dc=%*jsnX4{$i#D%^dhhmbc*$&BRM@kV}}r(Ps;N2 zy-A5cQxl2t`31Y_Ns9vG^);(L0D)&Zo@PqZW zc8EG&uSK&sCB`TFLX77^G8B+zAVz8huMtLtObLA`j5UV?So4z_$>}+&YlqJF)^<7iY}$=uQW0K zzWkf-{y>}TD=lme^3893Q|{hf=)HKk$1f<>1+p+lS^+6T5`XQcS3nyi^?ka=?zURY z*L7DBJ8c>iV`b>6A|Dw=aB41Jw841kH-ynm8VmqJSL%Bs%Nja{MPU+A(O}0mS~^kpm!vLi3BTNj zoarY{oVSam1$jY?f0aC}UeqQFvE;>V46IqpIm3e||0?*qb2_=}qCTD2`uE8ATH(6a z)Vu}cZ0j8yfCY@zF3zt(dXtP$&hYbabXv08Z`LKKtdKBS=hxmMJ3#o%uM-dik}15u zqfmB+a$bOxf}s|mM@=}ULi;6gWKv;8D>uQ4d-$(t=jRY%wEh+^|z-e6r_n6Is(I zvcy-V`Zg`xKnf2&uGFMuwQ7W}Zn85)e=29orSw}Zj$W^2xKW>9ksi=s%vjn@W!+&T zeP9*8sLfwaj#9b0)FR*T`W)=k>DB#yb9L=n%Z3KhZ!w4|E1$8x)5zxG_MqqN+O72Z z1>MS_y^^ypovDAhksk6_dcV5uR_~MEGswZc3ecL9o$O>MJEA2PWw!$4EL90Yw8k4a zfP!T|KsaH{lcP5$dn2s8e7s@8*0#OIB{t`p=WtNHMD1|3M+QxqHqLAI=27CI+8ZYbC!Mx3Yv>p(d-F)XR2zBdLJ?@?%Nc&IlFbdj~xy z$hVe@M$Yy5t`OWYA;wtLpnhU2ckY58q~-TccCwS5>`gN?epU!|*)S?d_P8A}m;qF) z#?*Rd73FB7j;GO!H^#~b4<0iK8#F=fG!UOglPLnm9t@BnJcm+p0(5)QSjc3OiiLZ1lCi_rXWHK(&&iUF_|8YtY&BlblRQ_E2qqB~pRlxh<~ipqp;Jkx>)> zL4!V-dcvs5i5(3TKEsw}uj?ymH}4BV5lAzM!L&1sA{Z#z=5V9^4q&%TEpZL?IuDTg z>0Rp)32zPAlafhvnPzOEcjg_=EW4rvyF}smK(sWsF1*F<1rR35!9H8@n!(>j&SeJ9 z@K@SBM#pH~j`HKnjsCEgzFf*pZ-hl*+Oc+XmFRU@l$G3D)>1UusnaAH|32Btz6k4` z)Cx`r(n>(0p!yB~7m9Cnt;tt!;~yYX{9C{Jcccz@Oe5RPz>aaOm*(>(ljEtiV+`a9 zi+sW6=n1GG@nd2)b%6f6yhet7J(!FTi5RJIzm-)T(>6S{-3{o z&{Gy9C>*I@4EFCr@5^_7@fYM5e&OfT$Aclfl{-!-lJXhnzw0AksMn^%#^z1w0N!Voa7oAjNnLGP5&}&OXJ&*rACW34{i9x20|} z$vvSNI<53qN`o;Iq3EwCHWSYGvB&B;WABa$Ur#%tv?M>-k$zp#e%O2L@&`+Fkqm6r zAwOPsWQ2zV&34eP9Jb1Q5$rDo=Ir&hU1(>h(G`Ho=CX<;;X2vLp0`oz$dN1NnKH+L z`y7r$6jrpGD*2t?{$2GwfLt%70>g50UIZUAA$tU>^UfiF(T`FKhZq?En=;RgG#Hxc zHS!2K@n06sd??1HP?SM_?&rTHZ#50i%C#0o!R zj6xG5DE?udm&7UhKj;)sMhAQ}!(uF#jf|QEBe1gS_(*8o5M8bb(ZOOVTRqeP59L67 zh)mvPmhG{{%0H*425VnJ%guMjeHjLh89mZK=X6jkFoJ|rw9oAS^dNHb4z7@0GZRDO zpJQ;+tYAH3GH|ESyUWl3E%+p4fJI_Hc`*SnWze~k4Lb7Y!DpaTOwLxFIO~@o+$0Ap z4<~{-*c?8dB;KB@CPA8Ap)tJN_xYL4JMS@oeHWt(Nje0|fb@{uZqUxYv+JgU5Ym)O zCdt%l7MdNe^m{c3YIM(T`cq2p_;5jYM;lSKamh#GWw0r8LOpP}xTI+JCJ zu~PTdNLrQj|HGbS(x4T4B*K8VMfEX_cAYy->d4Md)HSq?2YH+BrtS;UzyhPj<4Co$Tl~ zX<$9or3_Uey~bai`pH($nXC;ndjBn0=zOv_#7YqVz(@)O80Un5+B&lcbe@M6EMUHy z{*qZ-t(~q?6Y}ADO&BPmC%{Sz47)bE8Z|LMR}92klyl;&n#{>W%1~Q*MQpMT36g(V zE;Jdv!=e5H!J&4@NhlMh9obb7@4W1@EE}8}YyrB(KqcGV2*rw#gsP&JMM3 zt)M{dY2=%PV(af|m5h&L_E|~+8I{rmPtctny-S=S+s`W`jW#Gv(yhrq1Bl9|vf%fi zQQEy`i81sxNqVOp{Jve=_yU*%bw9>f^WH_DrRVh^W4AH>_FCX5!Qcx)Y(VRE4NTf) zmgi8jIN8abwrO&di&xlDz=E%?HPHCdY9(pV1h{Fa9x!UB_}*LZ$mQcJ>25mdu63Pi zClkU}XV)O;dh$TZJ7*G>wG87%*Y~)qG`-pk3Lf);x3{y7b-@Qpr?__`RN>ekgCITMI38LmBwCz!pA$+V7h z$2@o^h_mHWaOtctlhLt=QJ$bbCwu;u$q&l{39$O2Xd^OxH_C_CkK|wc=5I^7+Nhs5 zNcH7Mk99vUH2JMfyITu#AR(-RDGmTO4TH}wAnjBYRtPHZ$)ET$e_Vd%+uzjvp#{|{ z$iLO!xslh$Qi1*K*MJ?0C_r@mcmMDo%JAgMI_u5hgkzm{n>#JGp}+``(B+-w5`+LI7ThE*S>EHYd^4@!2f^MUn>|`f9*_&i*^^e~huE=RPYD~Qyoj?-o)B;lC zjck+p&;WAN6A#0iVkNtZlXaTrL?>hjZ{c0!<4QIGroCEJ(r8jw^hvItT+8(Mi6%ZJ zlcTE9>bSlfG{iI`BBag|c<+p|<7v+|IcxH(V8O2|J`0GHL<69JAV@bOI>v;^Mw4Ia zj7HkYw6ZzrQnW5=t(};lNo4I#kL9BW zkL96u?9)(6t@o_$k`r&8+94-9*~#84gRburJ##wvUJWcqS9PhPAtN!;!nhgn=gTei zezGH4iEgoYSCUxUkQ~0780^HD<$-Lj6afn=`I)Vl#4EXjC_C0&AAM+9a|ArngN zF)BObQ=VBCXLUY4*L9#SE!CmPrX3jgVGcL|A5Q3oC7m*L{?>LRShD{e1W?+gi4}CH zdl^wYKthG*GrTrQY}jcRacPraSmnv&o`kpCuNr2IN7D>tSAH)epFA6^fBK_Y4_QPiUfz6F~8YT0jV;Z6BX5>8*v1`D(0ifonc%DcWh2G| z!#KwmB>TaVsDQ(s(j8OEyb3PKCi(t{9Z$fK4f_pilD-_TJ5IK4LYRFe&?Y53S};<- zad0^}eP1OQ)<@UqE^CAO= zr|LNu`}!1r=uHTFVcM6%jHrsdJ9OqUeE7x8stLv)(v<-QYDY0`98>%VkNsf-O(1F7VsBp z=n1uYu=R8v(>%JEa~hmqHHx$Gc@7Ys>}9h^ZCfB_F=sSv^dQB}?5v+xsmhX;1*}57blX}f*v@tLT z4HQV*&d!G=sKfI}0uU$+k;x7NS_FaUkU+W$QY1)%#>n|mY*Mm?L)%i{Sx=Uwi3+}G zyC8S%!$Jd2y)L*mq&C*qs24I-OBuB5(xDqLRf7MqTZ8{m|5pDu*eEj@V?pu)xJcCd zQcb)!b!`M}cuI~vYxk#&8bk%}-1di~2=b#Q$%P5)YA1(_=T10?*E-C`;&uJ{Fa~6d zIP%`IJ2f2cpyuKZ*TiUR!1b{4KM>m_e-A{Ld$EG=+htQKEk582OR4LQPij?hqTBvE zrds!*6$T(j+-UNO{nqJ4*i6`&NDK^OUq<_Rqxb4^dm~r+{i~{y%cjw5cSkQ;ZN(1~ ztquBok*^W~5@wOqGqR#0GJ+x5+!@*7_^U@&oC;Mb$VM6ayITljsJ=By& zHhS#_y#*`1e6`*imX$O~%!Rnm`a&XDsDmnXF;sdlYA+h;@(_4U&XB6l2;=b&?CGqO zO$lGDen}T1d_UG)fzJUx3T!D|FpII0v#ybPTgYN6Wu;%|>c|({QLcaZp`6{l$M=k) zDhhd%K97J|+0U4 zA2;2#`oY8kLZ#O+U5_~Qq-@mpvTK2})Ce&_#D~Xm+ZLG%!u=+GjbIz7ISexBb<_Wl ztDvA{AoR~GBVrs6?-mzhK|h7VI_W|zf%4k+`d(2$(Q{hQ_O>2&1?VGv;pATGYcEp6 z{Y4*z0tsrmkadr{bK+zt`$B9oWDGV`-Hld$ChD&wq0>j{iM-QqkVE3=4_ASfCH*BO(MxVC-I?}J$rx#lnY;yK62bOYT(cn+8Nj9ZuB*VCmIB8wz?TL{6mu1ZFHmd8jK#Egber$AmBQS z43e6{pxKat>d}EEB(JxqAs+C&xUWe5Pymsd-6ETL9@SBd^xf<{BBA`8GsaAADNAHY zC_ANo{W3PP)g>#d~i)>x}ikbK+70@43Fux7&~0!)61XuQ-4x^`QQE1 z>T3pRmYQ(iJ=3~EDeKMJnUr75K71aARfFq;BHrjyO_c`A%R80)$N$^EDHl!YXXYgT z#sB5M;+{sa0Sw--5h?+N`BHTEL28NhhU6985rv))&BdAg#lQ4tFpMXg(87 zldQ;D__^`=tcsJp%x1`iWX*+WWSGX$lZdQ1t29(6HJOKiA4fc9ZFrpvM zy#_;5W&b8_1Xu-O^=PdO6u;pAO5)*}p8J z5ppdw*u>1T79}RV=3o>U(OMq8OMGZal5o7lw^0zu9O%T&Wiz@bIzSGt&hJ4#`Iq3y zv2fi*e|HRY$0R%Lki9~MVO$&{E(hD_U3nflNFt&KQb_mg0Z!me{Xx=t&; zpV0}trZ32H!D!#9X$1zf5v*x0ZXFa7W?}9{Y^~Ic_N*dVB{Qz2Pghbaa~RN(!j$UojFw0 ztat3)K+K|z(Vr{&^JUocVPBMb{7Y;>6q!usXFH}gLd~~;j=Q(;)`4Zyv9CDUL&9$0I$wFW+HqwgC%6| zddU}1GkP5?dWx3`vVPm@Yb(V>I$a?l-aPfJB950?e@LdMj2djw4tBCX#1M z$g^PAETI?^TPaXSEk>LFN9GeoCf-vr)_x!yVtj#n@i|y_r`3#b8qD_sW;t2Gm;4@6 zOJ;7YqDqSs=(5k_LR4(9=SzMV6IFon3OEbYhY{_C(TduL|8SNc3Xb9w6YiY829y+v z$^LFdbxXBzei!>39!D@rGM2+G@r5sT%>}td!1=s(#K}(fl;s6JlW>UpeItmih-$Fi z45)SNv{MXJ(KJ|$>%VJBaY07Uw2RYjnIqC#7}>N{I5bNL)|gy|=qII~j!m!xv#z$0NO2|#^U|w@b$byZ zCiH*v?Cybwd$Qm;Xa4B!Am}8!s}trhfIN_+hY2aW{LsT~^(jE?gbriv!MMqIp~O+h zVG>!N79s^dNSKs40Yb<@o}Uqcp=-8a=2N zt20(k`W~9d{S1$v$@Eet{yGJlpJsDxgaV=%QDO1~F_|1YyRPtmnC(2oHj~YNVv8(F z??Q*&ga_fX@_cN)+30#u9{_^322xCwTwL7Y=ttMxaArE{nn~+czt@`2ud~dU>E5p!NQ>nBn#4bijG?=7T}t-iN` zdiSrSTrb#V0Jk(b$mX)m6H&T@t4=TAn zAopba9#*i1HuUP^uB?Yg9G9rdg|JD&$YRM}5Af%W2_kVRGz}fO;>t z`r?=BOgCDbeSaw6hK^>4QxFRjMtI?)QY26?v_>wY0+=w`YdHaBgDxz$>Oi!-*i$0I@!ryxRt;3Kl-NR#%WFhvY{J= zL}9xb#jvTF~9jUUnLVJ{$5p)(6ACx6Z)J; zuC9kmsrB$|v`akd^Y*{-&(vKsmW16sm*TxINx!OR38&9A#_qP(ddZ~f_);Wh;dbc%Jdz(&1S8sZnEdQyByxWGgeP~6K)3Y;h4jP-su_wQ303Uma3-%g{eXdUvo z_x_$C%lTq6QSAp7D{N*`IP)4(`ic9&z=uCOyaA4Yk|_n*z9zyGalM$V=yivFHp42A z9BFX*{`>E10KT$B81uWu$bCWBv3IqK;(4VbpKivISU9vhWu&>S^^EQ?sD}LifBTQ9 zeO&6zKhy5pAA9c|In#vfj_$>`mqFgqZ+4pWJQy2!q{+=kk00wkZ+VZ6od*PTqZOQr zc*=_pFcy>?ok8tb0Xa~Rc00P0<-#0yp~`3&M(Se`S*TBs;1@01G=Gr_xD=F zxx9JIViukgjoh86$c z?>8vz?L(ha^D zq3$_x8L-Jt>>yjp80G>=1 zLXRK~MrzKKl0ACrnAnoZ7r_mZhiICU2E(<=*VH;m&Qz!2>~Zt*ec9h^H8fFYSjQh}ro@*hFwS!r>? zC2uNP0wTvZpJ-*L5@=_1Vgd+~I!)H#Kq0@Rff1PT4xM6+J`+nQ9g7r^2`wFS!fbG0 zXPnpL!1x(Y$2nSdo$*VJ213S!oM&}YGM?*0GN%3RW40YyU+>vqbJe(Sm@(h)7<(Od z*EJ5|W8v?gX2}r|S&k_L@3d-Azgc&t>8y!yRTpHRUM!XxXm52 zo=n%(u6y1VNvuohfM|P6eWr=6cJsjMOX8ziYY*BT*Ps@}XGoeW{rt(J5B}dZ-pVyT#D>V8Ml<)M>jhn9L#g;L zleo|dNl28*SAg*gP4KsxU{iNn6Td=za=3p-{|?sc8yWg1nn?HR6K%(X6}|Vu>-pKa zwA%RuqyOT3rPox~@%2VTUfjI@Q7!m*PmAO@$r-K}X1R3@1zkABqxCApuefEYY#`P#CZS|$;~(4YMw-<*Z%`^pvf97-t zhd5YQd-WQerPD-t!Xb@7E1Hfg@rMVt1~X(j|9!TsyE)JOc}H^ZX?LvDa*LJt*sP~~ zHY02Wn%7v6dkq?$Ad7E~8TqqxtJAFKNdg@Hx(3T&s;0z{NoT}^KTFmq<}|p)Ym}54 ztuVr$yTp@>hXv(Nz4ktvbxwZsa1G{u4J7PZ%ex;*F0eieu$P_H$v;Q5q71cp0bvsH z1V69)XsD;YH-ezSy2xRk=M67*#@H?EEAy>nonc-O+h^FuQ&~9dJ(8Wg1FQBBsFOl*z}kTS(EID4=cL4b5Ao=>>~iD#|B9P~EBc93(3zG*Pmgj&D9ka0WA^Qwf7`|puu zK7@JZVRD^iB*~bCMKWAzGKYC<7G6NU)q-yrGESNR)&`ZG$T`4IPt*ds%t*e$n2w(n z!ABlm6XQfNy6G4rLOB|G<0_yayqvbxoIDK~gnzWqD5P>kd9*14L9aRhlphS;vog zf57+tP#s(2@TY}7e_fQj;;a{jDP4Awy*b$zV0m??J>?7QtT-Qwc(Ux1ZWdRINrX-| z0sx{x`pP1lP+2EC*-K*OExJR`gP%w0jx7yL$wq%`UkPF?;a&ozj z1D`Z{YB_-vYceSqLdx_WjSHjyhr|ZvOApoHWrrtOmkQSg5M<2%Autcf`d@N_woJdHf{m&luepzg`_8E&6lS|(4bz&wq%kpIQ0Wf!$!oY)TeX}795ppmn z6rF2#s)$)PbXSCUQI?b9oE#a!mfa)H&3ox-jK%<;s0*ItNu8 zbsO!(jg(ij>z(@8qO(#(cZlf0T0NWk+n6V)j zM}7#eV5RJoQDo$d{veC93ns=B3Qt`p-}vTNCAN=bT8Mo4t6$R3iR8a@B?Q~II4`Ix z=xZCi00+qny+Vfd)9LxUKxc`>kVuL*(rW_xm7n>toL}nM(1DMv*rjq`x-RQZaMTa~0&*c7Fcl2&9Wwp?IyaM0G243(p-y@Ee$GRSfD$!F4 zvdT}eF7$lCdw)!V&O*+09dxq0f5)(muKj=8u4UDcF;qL!6fCp+1TxAKQSc%YSIO^VN! zBt%()Tq78)67yY{X>88VWVJezJ9o}Z7NW@2U<*$0?{P@pH?Tx{xiaWx*KMWO0O;cU zF01_mbyp`109IOYMi)f`EG;qD-~5I~k7*{S8mSvw6Ha*0bZoGW4J^&6@nqaXc@`}g zLH2@mW``H&PBHV#=j)iJFfw7Os2{6=(ABjJj~=soHzX$5M32{*)0oTO4dA3gCemDNs zEW0ONRvbvVT`9+~(qaR7zZP+P3J3G_;&`7hW zW>_`4ST9nx=;6&wG z*i2~}rQ&EiSdkXoR|BJt>z8exRgpBBlIIel-Aiy<-ELH~%WBqE|foJ;id?|nKFaBBim0$Vu+TGPNK5g_mU+F9N zOrSr@HtI|M@znzvHT&%KEW@uX(T!e@glH!%XtZR{Uh4TaWz5e}Y@^-o-+K61?srjE zx`*DGR;)4I)uK9tryw6z>zZ9cI`SlWbFweMLN5BHG#4vT&?AHTWU&s5HrNy0B-M!6 zGipi76eBX|A8{eTk(e4hfgMhEvKMb<-&;2o^IxbyW5yE684_4X*&r#^daxaG5kU(A z?wX0)I0h!f=bAu_#g>pvRPvYF@!e`Clq|o+LOWD}T{s3i>I*a`*WX>M!ziWFE(#cP zyLPLc1k83Cd=4GUakC~I_|SNK?hNK{Jbf;ETNvbAQ4^ouyAY*z%UgYabzKwQjJY_> zZyi1C;^jhN07Ia*_ zTV8~vx%0g%O6_1=yNNy|D%pXu5}F+ zx@PN_oKOeXs^VMJ|J0G8`6FDjYGKy`9Cr98+I|O4LDt$CG`ZF!TP@7gx(=&|J+9Xk zNRtA@M>ix%JH)Vhd$3~b4Q*T_xz~iFT&cfqTdo_(cU8ge7v?%~D#*5D;#9eYJ??O$ z>t&-pn@q@r)M{CeQC)9Z_WJ#@8+adCNX27(B&S|Lw|!7wveECay#Nfj#}^!JSW6%8Xn|9`GJNp1H;rDLM|zH4>pAkfvOg;|hUT+%B zK@0UL`K|SF*IE>~8CrQ;AAeuJmYN{n)xB2gV}V9M;{GgM>g2BrSidHb&5wqtN_t0ijs*j zDCj{}#3WOlfhB2nY9_0X`}}8esB_@%WFkT);Lk@a^NCw0=Sa~PpLfDIla&)OkGS|= zrsJ+io7uDu9lJjWG&Lzlm$$^>d*4hx&}uUKidj;qF>|T>Z$O{B!L;b_%02c8alZl1*F_ zJrDvlrOgT!+iNLx&DUD^DYaS#R$j2PQyUdY5Hx$$dCz2NFR_JrU5e~RI`-h_L2e~` zhggNg6u*aLQ61BEfT}MFSb;v3sO)H?D~A}?Z&B<1ZU;jK=r!(hXAfu^=x*YO)`S+? z#IqC}ij%!Vw;k01wszbT_@W`%+;1|3tp!E&C6UR^B<9mAY%q`mZm)=WEz1S<+ZU@w z+OB0+c${q1jlvLQJi=S^Zd^e#`&h)&5k+Z#^NE$>Le?!zD6~elO5CMwPSyL(mI*X0x!nI z{O?_umHRd?%+k}*fWJj1#3@Jl<^$Ln_s^c=Dhaz7W=~BmBZ^#W$baXNooJ>>68vaCDO5=Sg`=M1!BnMKZq)PhKQLp<2Boypg`I z48HPF*}u72I~%pthOqdN7(>Gt5)kKiYLaY(kOLG;CeT$vHQxg5K=#nf%Nuss&^bUC zdh}{86EaAU++XlHk}n90b~41)j(4(D?InB1FmC-|J&2raS(4xfApRNSb6SqJ={ya2BuNWbiJiW@QfVO)HLM5!a0a8JPYSsPZ!mvuoNRtWc0ZXJQjM z=SMjnyf#?J!SESJ*QJbmg@V0X00{zgBU%lh#@3u723O14*g?_x4lW7|NaUQ{zubYW z=WgQdZU%ybCJ0yB*#uig)aYw@R#VF9bqmUmZPA#{*p0{fp{x)$7DE0>?rOAurk$r| z0)z}>6B-aNb^Txj7hydR?nnZ)8#HVt)@YKvIQaStvt&s~uNUB2eQKxI3x$Mb73CaA zhTxKO2Ns~-U=dx~e42&bALg`2`Y!%>(&F?s$OnJ)WBJX0{M))@ zZbWlS`QyLzC*{1Undo*yFORod$}de|#4ao9MH3dUH-0-EKP(N&I>aOeLm@u%8pOg1 zHb}hn^}%udwYZdXEhN`^#=NaRZ}@X!w<#$W$KsjE5pC)3&L}L~(V5>zFPdYCRxf#B z?qnxBy5+s(aUci%P%z5y@qN-U@#aZ*_7RsG^;7>UZRJJ_gPq2dDDktrs}!HW>$SkYs@ws-t}T#0C2HZQEjV)r*1Z_OJR?v{lIH-mP@ z9zT8}Po8)+h>}ec53IUg$elaqQa89z&Nj^^PBcZIvEy8E?)0Hs{NoQl(gYa?sdk67 z8#Fmd%aly#`2Jg8pYscgr=sZ*ip_zB@C*c0&tP0=*7}?)T#@tC#->V^PbB*3_*G)^ zALqmy^Ph{xVn+>v09_a~Fo~mg(pi1qk?Y`hN-Z$dO~W`C5cUCNX$&|&+X}oE7-8}E z5#V@q0ya`6(+f@cdVmOR%7XQ~Yi5;nu`V-U_HDj0epvwpJHpreoqEY}#H0Xl@x>46*s>xWO|_x|Z`W58K!U0S@< z;*hL2g#CqRuxTa@6MkOJFgqkPqx-H|XB&*}JX}#+?ezKA@|XVdUy$XhqNY8V;E)Gj zUq2y~8w8CgJZ;u%dDDz%0|*T@Fnn~QYhL|nzrL2J-ThzxZ~u{OAKmbtU>x|DfB749 zuDBB=S*$0*-{;zXvNK^CdqUTN4j8qNIXu3WfBBpLN`B{e|Fw4LAIRJH?&`Vz75Vzt z-`4^~k|%vDzu#WTwXV4qh@Yw^kr(fu?$lv~bl6gkYK{iMND;eR1W39^#`o_h96Z}uT4aw~QtNf54H25>2a2May zg3Za^6iZLVy!r1OU?Hkw+HsKVCC2vP&#%}4V!hw$HqvVIEp(lHB~)@pNRiF>49MxD6c6bz$VT6PQ{_e6ogRcS1AJ<2&5+mU! zJOL0$bgfrQDbE(17p(A^Z#H@$xAx#7e|{s^L3IbjESQJJ-^tott+XMqwa&n2*jNA} z-LU!{He0>ELAvcg(l7Ms21>v9Jg^71OoF`v$Vy;lz#ax;qXkp7Gtri3gXvMvGrb12 znE=f%!pwO5vKnEgfbU~X7j_jufYWX@QQq80Ul($IAw)o&?2`=#7z#Z71Q_&4D0R2( zb-(Ks9XigJ-YvBQ1ZKB>;%s2AU(>p!j{p%`z`S##j{ByS&GohPVEHK)@}^nIu9MoXMS?1d3+xgyUEQta-LHO0 zli(ZKcGuEvHuMXti!&|w*}UCmo2TC2EF&a+(BM!5!xqJ8_4CW~yV9INXIOprP#STh z7Ma&jiAaQd39c0h62tyrh*@1no@)rU`fikq_rImzZPoWb*1cKFj~`vh*eqmuc1IR^ z?zBL4wU6~YAM`bZgI0)@cs2(|{~Y<&Oj;3k`_h z*X}ny6Bw{@J|_I_C9}j??n#Cu36U=6XWhM=qJDJ>* z6Jtfp{}Rb5w@0$}q11EI91erwf^jF ztN!<3Fmq?Y{Gk0>F zD#MCxCJeA&LQ1vrjPF7AVN4yn0ewGl*0j_`jKdt9M#iy{NL&QwUd)go(T(^$bVZAT zHv=5Qmqv`(#Ne35$mO3SYkD z>oGOogSs2U!rmKYLW03CK?KGmD73uap};&`WrdKGLF+Gf)yWVIHd8S<=_D?k9&k}z;`UsIKD9wGyf@@7%8C20mMC0m+$m6$%piu(jUPLDv=K z!6ufg`8pLz^K6`_KQf#e+SWs>D`vfwduL0Iat)fG_wXAiTkAT4yv<6BY3u$*_kmuY z!sg%MJ8%_hu|U3J$tb#1)B(1Kii-Pt$j{W-<%H)L3!Lm^FNtOKj(y8hF(ydh!v<+@ zF!~4vLe8beSiSnD2F3FLLO-(c@aN>NNha_5I$78&HZtZJL)P`N7(0gB+$Bdelb6Kx z9f>+!RX~wNLvd+*F=~;qe;O6=23cvHUn6=#l9*fjsFnsMsH07zB}?W2$3t}%?7f>! zuZy~pwp|-E4u|w;?6c?+4P>l~PJ+BUtgr|kJ-jw8O8q$?*O*5RfCh3l(Gs%A`DQt) zg&Zi5yu^a^akCL)pV4cfofrh2e2g6T#SInhDK{$IWNp=e2f+bm@myBQVE^W%W(qFc z8|~0`(Yp1}L=Bp#g=ZoNv$=wx-J$aAjO?*sJ_W<{0KL`05CfBI_2!%#U-SF$neV{Z zINGc<+ap2wOvAp_C;0HY|5gj}0}ES$@;(C-p&C**H(PT+$veY% z9qk%(<~0~vg)S7ZH#}_2T?YOAMI&GS+ItetYE4cCSu9Jrzg)k)t&wcwn>4r-g?kr@~uFM}@UuyAXkXG--W4)(atO*dj zAu+~S(fs_!4@|*=3JIG^gW*56xTEWNV6hg7ajBnu+>A_&@9H_y5jG7@f?!P9rLRR4 z*QUsEBrxE2a(IU$ceaSq-1~kAduX*&VtleU!1h=9$H8~W;{Gup&bf0ehFsbGARV-K z7)z#t5|VDTlIP3j13^N2%t!`rB@Xlgh!8VnEXIq1Bo%2 ztpSH<&NSG8yn#VzbGLGwY;G2L(u0q#ghx8(luh3l5=y0$v4DTobS#e@B!zj_7fB@u zsD_)ht-hka7-xYCZ` zyLVQy(2ilDUC9b4$ifO}K%Jl}S_V!N61sk=e&Zue5Vo46jSS44$n6bm8Poru*a#vH zU6V*$IriveBt-J0!`tcbCxGKV`or(Z_M=OEuF1w_lFb&OAP5x!=4Hb;YvT%K&17aD zW)cDP55_r2uqgDGQ4{00zV@zE@7$GM8_sv`F6G;I@5tLg59!_1(wQdDT1dUwaPA!I zAQ;BPejl6(`uc7A<{>h0c5d1YS;KMe73>xivS=##nLqg*`LbTyCH9JT*Kb(sHv-A* z{{3jNm5?*$$);>rK+)<%(Dm}OniT(yzxF?-X7nRXivP`r59G&>AM$>QCZgAa&7GmN zRpv7=SzwyN(I=Z2m@U9Jq`W56|kP{WUsf~BGHm?t1UF=2ALe!kDPffd7r2&fBzYfOh6p+ za6(*Mj3i>Dl$93%84bT?Ihx60W0IZvCRyGk4(3%nK`t|KU==yT ze~96r1%z6_CDA2H;Xs2H5bYkttxi){I>t)My3~ZKq#vl7T3^Sc%HXqjW?&xw=Em57 zu|HCx^b=-A2kjJZ3N3`hjdt&9{gEXxwI<$|*H`pon4zuJ|BRlTcU{kf2xLlcV&Mr4 z(D#;aaZHAtUKF7Ftz18PB<0uN)qT-Pr~9cL*IGcnFn=zl5RsCk? zKoC-Cz6%E+ncwisMJV zH(M>r_PW=bc9ew{R#zbB)X$0kg;Ljs7Hlgd=~~3S*0=)@a2u+&&&aW^w$ta?s?UH# zWbsTP!>m6mK5q2X&p$7r(8*5rIvAs#oC`+}1SQPle%W%J#S0Y>;Vu85F`~I3RG3jvzE}5#WG?2#{0Gkj9D?Tn4bL=HfYRCJMZA z2)Y30Vi4yIAk3j6&_b60!QZIQhkz)S#*#+Bbvk~fBKce~Za1KNg$8!LGcjZ69bFVl z(#PZH`SYW5_Cjbj?l-ZPjVs!}}T+lF}Lkp52GErk3 zqmqMJD=E8!^$dw0B-e00np9NUm0UI}5*dMj3CXa@Mv$If#_dENgg{hFPybUjXZ#)u znDi-lFY1f%ei|*Bs?XX+Eu6-l2P|3l;U5C@iwlE=Ym$F;c_nx6y+vn)(HnzNzlp`C zzyiXP2iGiKG@7VhEH1QYxz?_+78~_C!uv0Dk96Ba=sSDuG0kVk{w5)tb2qZ9k280; zc_Ph4qXkvm%WM7lKm~#NY{{QrqcEs`?nXBqw2>R_-gNi^nVvfLt~6HKyWMfmFqV4>6@=-;^|MT@ca(;>?W#s*yI0iX&XlhN=l}FJVo|WhJ z8`v#|5jU4-UneKbF;QpJ5W^fWlCYbbt^DBoKPD`zEE{bO4xBIMV0;Fwlj&oWPAlCZ zjt;pswrA)fN`}m#TUi)PB6;u^qQjX6BNYKL3uirDR|^T+5PUG*pP6t%ygnd#qcJ`k z%s9@^jf6h62W+4jmSSc8Y1eiR25B$YD0dCy!UFAJ z?Et+$me7x!b@wi=Nmm}#a$uROb+fd(f8XEkGuh+>YBAH^2ZO24GdZ4U12PPMgzh_d zhoaSm^f1sh(d*-C%xc>{#Vp;+ZYYcab`E(lByQLJB+KQw&Bvn9Gfor>bGkD^s0d*% zY;8@0>ED(_m%M>GO>P-JMxJ=>*xrzpx8Su2>eJ3N3ApO7h}@~LDKt@NQP^@h4Q!Ni zjWqu7pZpeQhYR{F^%&cM2O?OdLmerXB}9`Ld<(aPR~^MqhlwOVz%i2y=E_l@Ptz>9 z^NZh-#k+5FT_dqd=hi)5jwNS{>x+v1xhLy#H=i|$#a3Y<3f)nQu{_ax0}cMI*QD_7 z`ATaQJ(*ZHD2Ps#{Qdv$KQ_rM^{s^#AO8A(^q1&o10u@N3cR%!O;LCqu(zNIT%76e zYh7=x&y5+rv5_BaOZoL1J-fAVy^bFlbef|KLXxxw_m}5Cey61~;w(5w#=TgY<^awi zf3A6N)EMT|sy?#7i%#>nC@A-^m`Y0dwVISSS}6YuXK%|?X}nPCT1HSdwDbz5kG;?W z5M+`Tj75km2+lj^1VDh}BTOMrff%X^MWfGS@sphUa~cEUbqvNG0HT{MViPeYdK9WL z(gg=OMVt3ubRZ-gjgGIZ$M#1gZ*k`Cd=(FI+;knXte67?&=S#&EVm?*l!X?X>osglhE2#E~9$H*ADsh^9YRjSNc|8>hSh@8MKh3!ohic$)9yRX`}z1LuGpqfq`8ai=-p5Dm%#d-=xXiouv?D0M9epEM@-P z&oaAbk?eXz=4$mntd^8B!OU@w&RN^Kit)&eiFG*!+pKtOg&9Eoe3;MN;t*w?`Ps=a zH+K$h^Of?76)SxUm%{-W*U&IQPfo_gLPpqw=&_3&?A|a*-XU!8H$XC_+sz4rBurfY z(q>fh`wjWF&;POl)igWY5YP<}BOI z^Lte=kL<8O!6J>bk+bj@K6K2Yd=X2j*Y76GqQ1k=5c`a7hA`9_|k&Zt1^1(2xk7pmA*Cg9>dI)P`Q&*Loz5kBf{rRsG z1`VWlXY627>DsME%$b|EIm3%-58LAV2ztuncp6U-7N$o{1i{80sWI6_D;WL$zxqSz z9$wkQmZkjF|0HnKXX3po>>j!nwfP#m2NV5R@-9H7*T0cRLm_|Is*l%ob$zqez%wxs zjz0HNxj&b^u@R6!7yce^+b2826pb+&i7-(FV=jaTY7{rR|G%aI*|IRylYoeP^kP}? zY7C^J@B;#;!aS2h{~7XX_rkt+SU9KgITZE6=lt1EYq-LYr^2;1m51Oy-eK~dK-XHU z-)b`aHI0kDqfLXNumZCk;fP31iSZj{oU4bbp2m&VN-`v2l9_wJcE{ns$CSI4{_k5P ze>~Td?XkjxaQWoD@l1Ord7P9vTCv_!!GGpDX+i=sJP+(fve(a7%kz^t{>&*$OwR{8 z;zfp^@TB{l7$@TeS#BIjiN$dj-mzf!qR0)aLk)#hcJ`ulRZ0H=0<_75ShVpb-q`YU zuc&vB@Q6L2w? z{yYiJXU;Czuy~f+aVD!>my=I161ovW?(tehe1YDVVAl=ZspOuv zm`utmguDh0d+9RDJiniIOM-!Nau#R?;+~9>rap%G`ZMSYlXYL&fjvGI0cPjLXX4Wo zo?4$loP$Q5vm(qb85p&1x!{Cg%!eDSG`{|AI-(@WuO;#rsY;81&%2itU zC@^n}!05cTNY|zCG{x0K)1p@dF}bKle}N>Ft)A#wiekx>yH=B^d$t?6e@@=|-rnEw zleTdm$Ev(`v9+*=g7C!oLG_2~4z^m0g+gRFs4kLBE@t;a^Xu79cS+*wW*)`ls_J|X zauTuY&7GX-$zDCPP$)AXdn}&EJFS%}&)4>X*?B8jkQVaSm|j?Io{3!TBafqXkW2OF z>#?`<*o$f4gy>{Ed4VI?fr+to@Q@S(K0P{>dJ4JyY(2G6yRGPY@(|8&is&*5RprlR z8pY3afQ9^@G#|XV8@DemKFt58W(RIeA?Vpr{FL=xW1rCs@lz>qp&=Z?$ zfZH2WFqtZls*s?~n5_%m8z*7I<3=N6OCfh|<)GJn7Q=iaXC{MnT_8sjy|B`goXtpr zLO8sFHo7qSoCBkHRFqa&aAT*yyZ$S^o`6bXtzkZptj(DAK#<#aHgj5kj&{fwXo%6j zf@Kj+2H>KCw&+CSw`{qqd9qJ8BQK05O@sShVJ3JZra+kF@xuq2TqH7iKY{d>{_nh5 zO2651WMqj1;aH2f}o>;FQ53o^oBy8k8L=s z8b}`w8(G~s(=Kb2&D6?zbFIE{Bi;0n#ShsgSzkYvvaIP#S}lHDQ){@E1+=LhR!#Qt zb}f(eOxfn*qNk5UA_XJtLgxW%VmNR=e%!g8zqijtakY6YD}CZSg>^RC%|z{g_pWVGHKhpCZ zxeS{&TRqz$dS8VX_C8-HJ1ojh7Oaa4LR%NpyLw{tMWc6Vo7K6`2u(AoSDaz76O&LR z)-nE+0ls5X!(IZ;1AfZnRl&&s3c|A4Kt|Guq+~Vth5+kj&ynKf@G)2>709y&tg_>I z0jbuYGlh;b##5}d60V1R84lC22$nGLbCt85RyNxWo4Y?RW%ecSKQ=FWga_KzI|FbOFuhwug?g>zUp=4CPGT#`w* z=D!bm&K#;G*U600J3&4JkA0ND0Gr4-eCPaJ&Q@RuPV(rQQ}!p0tJ@fEX(LInZq5|ivEIOZv2@x8<0>|w7U{c*@I zeD5oDBk$|id-`6NbACuOS@us@-shWST$cX2e!{g z+T?|qpMl0eZp{foDuWd`!i+#lBF75@PIj^{%$PQG z+1#*8zDv%2vZD8i&xd*C{5aQP1yp+iOj~24xTx)V`$Gzcjaz}hAju^C5qDA{9KGWh zy|{qe0tmCslpBveiV+|*GUn>Te>ubsD&M0V|y8@c@Oq3&5NwCRBvdYe@ZAw49F@k(o*MHfAEcOepT*QH4Al@T9hpz znT2As-jA)GUzhstD|8D|q@O9>*B0ux)eusNG70pMq1*2RmTl z`nq@2Wxc2G=0d-<)wO&c2qlq?`UK3&H^WFm&HlhQu%C$YGX#?ZEIp>kye6;L#Coy~ z7_4Yby>=1JeMk!vQ<|ABv)M;0uuu6LwLsA>SUj22PMW~55hX7-S_5BuowXbJH#N+V8>W? z7}DTE)$@Fk9Bg6lzn}DTbkxYC87zwS4bn>~iw09S@)HNAY20 zt4xcLi11VOqq9)$;g}BnEPKsQ&IY&~69Sezdzy()$RLMJI99=K}Z_r6JqSMryZkf0O1fw>WH+UR+x6v zjh!4BHLpMC;Y~uU^cm>q!vJwS!>3(vM!fKSXl#JH&d!Vll#_kBAu+DVxGR*kf{YkZ z8X)RxM_n%^=QAh$`?zVz3f+Lk9o0!=^&weT3Bs95~K(*#EcrPkRg**T?X_&)80)BBg7tT$$uRU+u}lD? zt`B<7T+h$NiyXwj#g_WHnlh4ww$$qhf%QT=g8gMDN$;&_A~fo2K}x4@krauMFO)C$ zj4?l`zTaHPATT5CWWC5$Ao5(04zHWFOfC`=BV51p)w#U2T*`T|)HN|_0b)hpb+-!g zwX=q^>YL3I{Y9WrMi%j)E6z&%IB`}fmWLx-`q5D=6=a@z7Uue?l?{^Zrk0CUE&WE* zkoIsC#mPS2a2!BSy6*?MZr5aTF3)PItEIFzy)4xy)aviQeD|)z?O;e2_`#777v87d ziO~{g;zn5kO#mNWF330vnZD?+g`{eflxZ9e0z5tK>oZBtzCSJsTdQrO3I0N3f(8;J zx@MY@V>xju$TN>Q^=%Atun6~4#@S+=RT$685_lr=xkx=0ZMAqCyrFpO@823*ReA z)tPKHHht1=-mQ*2=fb8Yh^sVsZ|X+w-Mc3% z4bINaN+!L*g=Rq@v{`TE!w)}_76Ft?v3y=jdvLA!{RAV%8j=m%6ohkI(142jw7n*) zD^prjrx`37xfA)IU92;DqGpm2CV?Zl(L|J!)~?I z#a>%tIF5wrhJLsO2V>O=Y|WaOhSeFnai~P}`aZe{NcbR}R>Ku4QS7F=lJQ zC|cv1;GTD_Y}eNk0P8*=GsnF_0foG}lg%l6Nlw4?lk}Ppf^4iXyxQ zOI=oSvY*ld(QxWtwNQppA27P>erdOp{H_1ySEYUQgy(Hv2l?~=;oo4;2A+u#-Q=QX z=QX-AMBouoI_jvTel=#*<6sCCo|kbCT76&~HNy)t*_QkMog}02j&NKA@=);UVj9+) zB2i7Cgl_WSIt)nKy(oRiiwA#w6NVTmWj0XiFi;N6SY+k(YM(lf2lb!zGp_-U53PRI zp65a1D1qWR5EGs3WM72gZ0f*cQ9$NZn*s0*rMDGAc)t5NOj_JTwXWkg;(|#^SP?elr4xP2gLmwT$ zUdF901O1I5ZfYG9)&yx18``^H3C{I%w}& zH`|_TK-X0-PSER=Mu!t$7YtaSXE=f#nX(<;X#?l179en4k)UI5Ab%{M2aF1i0KxWP zim1G<=vHfI0vfewUs9LyKt~b0qt9zrnDo*-M~(MCbWD)(SqaqyX;AE0#0W9X^W+)1 zV1qF*klj%A7j@OhgC9MV;mHlpfnHtD zgMw2SyzY@Q9i`OjpC>=JIF1sDuCsF%$uR0rv!0`HEtovYvvnJHJR!*w;#~lXH8}a2 zEl1O_t|ojXE4YG<8WEi$}U6YxggfoC6dF3c=I6{9jO|K^k#S>$k#E@g_ zNQ8+!jXf9*ZH6K?XW330@no-_8Pc@3u{uqTr=m2!l1G0%ih3RiUv6Dc3XxsniSbxZ zzY=bBjN=Q6S1=m0)xvbIMR0W0L!pf{FM=aRr&Y7g72CBZazF?QILfiUsK9GwB1wZoO3@=-m%e5765pcI*XUbF&Q)C^&a_pkSP%xhnnA`&sY<>6--ba_3*N7T_Z9W{JQim zb8>{54|Lh*%ZkN`#ex_OdNv}_#C0Kcc0rgmI>e(m^QMnrp_3ULf(*Hh6bCko!>x;% zub<5KLL@tv!!~xF7dMiue6Ij2H>f%*dicR;!s6DwpBSW|NP_M#$Y|2*i6Q@+9A1gxO~dPa{2RSIiL)=_BC6EV(*h1q<73W z2LWUe=ehUUNxI%wfgn}8F_g!N6$>lR!i>ndY#&-jw`AIzi$jI428+ATuFsMq`YQmY zQui41qrmia0K{)NY3)od`y-jJNTo6 z!5L4DHG|>~ieF@nw{<{bdZ0$qkqZp-Jk(r0+jZlf+Mlhyi3OlfgTX)x-80>2YfHVP z)bIh@o-EKrwdh5x^(U47H}->N1iBvk5o@L}lC0dx8*EG=&qPhG;GSI99V;zzU&J{X zqXbymb?zc3{zsxTppkpsZlx=YI0<_jg)0;m7g}T-1`F7CkfMA!qA3}85fy)6Cd%NT zqsatup9{|q76OG0PTljnxvyLl&6<|vka!IfAQJ4QFc&#+&q^eag%y#(abT4u4cb5s zSeS&Mu@pOsD>>0tvNNI3`xK$1P-2v6E3z<`89Vr*i9}yxdPW+>Kdz>S} ziFE97Cca=%<@s57=NEHw1EK%@fv>)c4-%7W0*5eJ5>Qyg+_t-Yf?{UY_ZqJ&3{^6U;9{BuY~>X&Zab|X+_0V-w5Sz(-FeH!-z zhLOPJa)KQkTL0}Q^u+xzuW3H-fG`P|&)`LI_^SPrxH&bdl>>?kmxiX9( zinE@PuM&->*By|PVNG`U!zL$!A>*wBoEcDHW|IkaP7@LUPe8E0iHf0Y833UzEv+s5^9GY_0ju!@|4^%==o&Hr%j~aA z#$ocp1l=+ccD;f{I)LPaW(5M{d$It#b<#1;D`J*Glbxtlz7kzs6c#|tGj{6BAR_}J zfPr)8m{aUyr}x1@z*8oX+7Wq?*_Ll@V%4x}bggV!&dQr^(OeKR=tVNE0&kbb@Ql?TNvDBzkgiK#Tm(XXNK z8N$SCdF(^!c^Ez>*t3UZP|u=Sa7T#}nq91ghQZpM>QByF}J&koc z%|i{JYQ`3&#VTDx`n%V2;_VD_L(k&H>`>JT9X$x6v=Ma1i)!X-E`@;_f zj$kg1(NQO7Qx|?-?h!)7CeM2#6D}}X0+rBWbmPq6)(C;HO-+=qmw4wwdi8COZm#6+ z#h2;JsprnFpC{FLSteHlzt8fecdMzL>qR`k=&_!sv}MsN=x4-NYLoqmxqf|PMXmm} z_XEE0KSM?XIkIBRGBqzbdg2)j*KHBKsOYj>D3XkQOR}>md9=0}c>nS^QX$52&zi5V zFUH^c_hvvC39U=`V+}R$uGDuHQg0K_)wkcikgMs2of1N?4=_G=-1(rLw4uxhCu7oI zORov>24`Gc%60-VoSjE8+FDzJM}ozY!+ct4bszO1B?H5azU4E0j%y~1r6$^u#oA}b z!F{^nDYx()qft=SA>JA%gFSO{oObCc;~z8*+<)aMqa16+oB*N0Kp8_HIRXMiA48Ex zy|!CD*X~wJBdZ)Oc*hovSk3swlL=SQVG_(4I^QzXuqc_aDfuyQ~ z7K}$W>n5p@B=>gySzImb@|IO0v)0;Yy+eISGd%s+$@aB#hVbv<(D?pjpJfM=Z)Kt_ zY7iH81ELdht=DV*`S4LMZFgyp(I5yjs(@5tF|2PoCWCxFJybw6GBYwK3;O%L`Qf>6 zrh(Z2=y0xtcz#6|YRUPo9vFj>WnuAHx6>*s<)W5FjS%CGRq?uwTtE7O24M?&I&=g} z4V1TKBs57ge9j{eV1V{uLvpv;89DKR*f|k95WB5D9UoRF7(q2_N*EW+O1aQsEsxn?Qy$>J$@B_j(6Yh}) z>-F1jk-a(XL9Ef;CQ?T96;m5 zLIeegu#Y=q=hmu$-WLrTl1=%Ca9AKW(vJ)*&Mj88y!T5#FZaLkRnBX-xc8MF__~Ik z++545K8!%^P(#5A8p7Bgg%?pu%#S-!TgpB||NI)dq)&S3*0#<{J^0^UEe+qY>E-6( zkK{N1+ke1WeqKcEWsY6cex1~JY&-g{h3>;x79?pyVvXlxa@C>uWBS9+hG@iXtA%t= zt_9S2*rUyRUy(okH~)$x{d)jO9^PlG&#lD;_%Uj%>mlA_#!-WT(aAm7nTm##Aqr*+ zOppgAb_k&cj!2B%xz?5@&PQJBzO2tncEVApBU?Gi8|^vRV(BIZ6$~r}?2@gK^&4JHZ-8qx@br0P8#`{L# zrqA0fmt?-4t}o?M&z_M-$MFNID_!@$r|bLi)dzCZucf}Xls{hIk#{t(U5pF;-XIU+ z$l6CK2fRMUZ0bOXs*$Jz%q8~f?lno!B6o*ADiZVh_<=k2Ro8V4h!IHymk*3yl-*B? z4~2W~KW_8_Ki4|^h{%irgYR0xmxybr2AN|E%s}Ey8ztRpUgU1{{%a*Kn&mOLlYNSX z@Kh4K>$u;#*K+$FQn|#5UxCCxGhv;2`p%I}mx7~rSid3VqDSsV8Y=GNEF%?Je&pJh zx$$8?Pfxx5a4R-?7R%=pcr6%{kK>GDko0`k4SZdxg=#s z7;gg7v&;w=IoV5Shs!m2A~GeDKFTCq#yH)}CU++R!y6oWf#9aJ?`3vngMJn4uFe|` zd(M-$;IGF-k6i~ZZ%&i!XLlK#koF)#2%OM~9=%951|vI~3WIqgVMM1`J(fP5b-Ig1 zu;ecobMl04VB8Jk8+1F(^M350`pjSQ${d^^k|%8eYB*rz?>@#^q)E1Z6rL|7fIPT`p4WXhANDD8i-LUgtES9p;=YG7Zm^A10QZi{sgx-uU zX;tApSG`y^Vb2KIAv%;fK*-hA3~#CQdB6-y?PUFVx4z+t1Ujqe zX#l~31fZ|5&-MMA){boikOyA3rV23Gh(L{G2Tai@;zZxCC^}-@$C*FheSjDDv_Lsc zt_*-5w_AM<6gM|yfI~uWI9y9YF!K&}bZ8{bin#MQ&BW(o*~wwOQ~*zg074Rn&sn<~ z0E!bOC40OkpOG4l%1LaAs5jH@c=o@Bz^{TIgF| zEQuNz5fS75q{Arqp0sNgAdw)$pI7?3Ks*f~Y0>@AB`b2re7+vhM(td#ISQhCaT?@4 znwls=Ye{SYzglaN1@rM(gu`dQHr7jz0tx-H>3c&pp#mC;71ha!bB3dXYHajrWMUkA zS4|$De4eEE>Br`{YS$v%{aKFXj%Op?eoxo~C^&I&CE2)+CB}Pt9dp5aFSa__r`nVe z5nhCtW6l{JVewCJSTSW7*$~`8{9%0%B}o7_xX05KeEV*SkNF|yIAt*eiu(j6lvtyxCw?xYIQGHT3me+ zYuRvwBpe$Ia=QqTxoOs0yBSEQ9lG+H%~%z^z8;HBc4Da-e=}>8CV> zCW`80FP|N>&i0uoVL2(zmOIJlOcupro_z)MZW?!+TjovW2TjOOxgDEjPIz-tS5Cq4 z`@$gG=5fLdaWE*ZL1l9SWL;jNhq9r1pA$-ZbJ01Yp5|=a2JM4ES5gd5UxfV5XnE0# ze-3UHYKV>ogAz+*i_*H=cHQiEtvFD!a!-v>2FC>x18jY$2;;yTyh>&(b>euG(v)-BH3D)0^!dH z;0r(|W5`Gpy9UXw@7`kCdtYHLJWM_}9&!L87J%cqBMKW$LFb+4IJ(i+24?4`(r1P9 ze5rS*=jb5rRat$_&C6lh-J^oDn>8^;kwhm>fc5foL%%S?J!-*%i?u*xph=TaiYuDl zYAZ&!MpHOWdz}^(0`S~Z4iuwP8CrO6KZ?6R&+~`D z{ln{G*+1uEWIpHkshzlwBSRq`JVT2bF!mDX)3#flAt3a_nmIc^w{eE)RtSDHBk@-X zM2plMhX~|>(Egd8Z5Ak|*)M;#v6DsJY}*TfCKg^eD{UCZNdBhb=rhLI{p2GgTTYDj z|NX3x>a-VEq}>zko>Ow-l-Gv%d1`06CCC$hUR$eJ_I;-L9`SCmoa_+WxtiU-(=OS} z`_keK>*fxVqtftDkDV|EGeo1d!FklcXL`dVg&p&W@g@Yxf#W`kE_iHbG5F*i-HGUr zkK46RC&bUP9_M&G-R1$3v?paMBFCOl=jR`6>=0vmh}%#E+g2u1+7U5o*YQOq#wcXm zL9_xi)M)d?1IH_cXsMCK67{o~g$9DF3_jAL@4c|*85%}ZJkhg0dU56WRfdxt!=5QI z=5`IY4+3^sy}K9*ud7W~CropABe&o^lM`neM9`AhT?bEc<&=wNB9o=;<*@8tIzJp8 z6P!=7I_`c&&oqlol4A7gY9^Qgu@!WHjZ6wrBC37LeSlFq?w{VR{ z>L!!bIC!_as&-B_d9aW9KFsAd+POL(ZF3=5#pfE#0o-&QgT}1=iXb9^oG8yrYl5~$ zw+M6FbZGm5eweGqcIlqMIr@LtNf5g}>{Lu9<&+a=e0+$G7r_!7sh2kQ1jt+8Qac(S z3{o0oDvfa_5{VLS`}DMTkh@N=CB63O5-@(~HUpv#$8){5&U;FJ-!&OyLRH#zFD(!! zgP+5jxC}?1dEYPe`;o4j8TI@u@KRGNl45*xz$^}vfg zgMzK@wX4o%TeJLGBzru9hs5eSl4H*4d*FBQ`sG~zFl(hFcmNRw?r0%Cr^?FxVIAma zvSd)^ly>7HAz1gpP#3v#qe**Zte5Df6}pF;QY+$5p2(SY+1MT3fFQ6UYkoQ9Dt+Sq z$E6?(ZBbYkf#h}`{NizRu3mr~oo^t|o4Hpwzk5fE69Z?tEA2+2fKb;3tM!~KgTM6m zpRzCXagyMPKH1wRXIYQpd)o_^$$g@P*pUFqjUhYyJP(Ge~!UW>!zBgqVFbl%+; zC%;}umJPNlGXc>weLm8om(|GV42UJqCo3vo?i7jN_TeR}MmEEUF{ZcA4|>j`bh5@^ zBM#UTL!NmTG35sFJnYCx6Oaat78T#pdw!l)?5F?-2|kA{WtMbL4v}#BLyd0}t{kH= zKq3LQI$80kaLTx_r)hjN^RqwZgedG362j-baOt*JoA;UAPKtvkDk1It+p29$u)~5O#(C)?3w=F!~aPU_+#81v^D;IIc$!Fff4y}{de>!q%oNT@sMZCe! z9k5JIm7ixtaXTJ=0fx7!^Wl-j%>|SkVxx7+ zPAbHaLwv1@yRVZyQ)0ZodG=)+V#u)SK#kW7h2632rP~JzUfAc;rr=}&xm}l%LohAi z>vLxyC!&QXddYqd1Tv;+=rbC72~X}=?M#Eta`3KSn3-H1^e{V}u%BQD4>I#-%0HU} z#XwRJ&g5!ReDmZn870~Asv4Vr#+27-B;Izb>f7xgqDPa_>_*>+<85)kREckG*aG!(B!V?dnqcL zXXMjkqqh@>|EGlp@fVG3C~2hMyVOAL3J~VTs@Uud#5t(;Rb@p9@tJUclObPQB(~n+ zgKL3P;SA~3wLG}IlIDknCCW%<8Eor1ST<7KyO8o6Br`QA)-)CyIP=J4ei(@w7@e36 z(K{jdJ~PJZo_1919fC}*miOL!mt0?zgYIk?4}-otq?g7Yk})gP9kJ@IUxl|GjjVHzfUAXj0s0 z@uw>TA<}+jtytyH+e%JMC(i8FsI+6h;I$Ccc)-j8L1iRZ;Js^?LB91L{6$&Zzbjky zR9Edr9#mSL*S*WGq&~K}vy`g01Q*XgCZCUXIXv!}(&nh)>n87b3m+xO*%Vv6_u}_kVWu-aa5(C?}f*`~YW7_K)!%vh?`}SAdBFMpO zXZ<$Sgc`e}?c`tlU0oYjTT7bt9{tJx{69YIDV=l>*Z$7(jPq_|SrHvQ=N1PAG zdk-k0`jILi=uG@`^BjarjQKq{Nl)18o_$W+E3D_|nLBpbax$BXKshI#|KcNFtQJ|Z zDw8ms?DN~lC6c#%jmH3(2E@q2R`)El$tTO+3kgq)8mD!UU~ZBtw}f zD+VKwirxZ2U=YZN=}fLNCStQQ}77`H@;K7*K zFHu2YL! zE%J<|+$(Ci&^_3rXu2?HDdi5eZn}M}XQiGqvS>d036qThkgFSnbG4p#rTv@S8ziMO zwTI`4x15sPY6{$%4Gz!JKc3Uu`K-?5S=I;k7{NRKxoGcoX6v%$ai?G-2e+Pkt|9Hc zf_IbUHQF}M!@|CwliLN0BlR;F&)RA7&USkG3GFiz>3Qr0dS_LZ1-GiJMXSZL)xSN}> zjGA5KVzQ3Jx?4*2gkm6^ zM3^v?AdIzuaG1R6PlT#nz|kPYpoTBfZk{=dRAr@45}vUI9B#pLKK=fh^WzM-KS!m> zI1-M&-x}-@UE|eK+OW333fHo0rJe$5<%b^CzltSQbitxW3=2KkryH)(5GU_6j=tAy7MyF8Q1+7dCN>qTrl_8V zV7QGKb0N(F!_vdYL#{nLo5|$V0*N|Go5jU^cxlf>rcKTy9=BA>q&yg@pcQIt=D0#< z6^Mz!WO(4$K#qlCoQ)=oCT#~zVD$kwEV(*$f7zJFWSt-pmwl3XACnmukZR84j|N{y z(QNW0)su4+jF6~Wu}-hWFd2h?;fhFYXX{^ocTrkLx+|RUD(*V9nF$rXVQ?7_Lt0=D z^;V(`CewuXf<4yjXJ4yBG>Cj85h6&o^4!?eEO^~Y&hYEswHS4y1p^XyK}S5=-VM}w zc12A>#S3|@aA>SGl=SI@Ug~GtYEg09=^3$F@T^0?D9c z!WFNp*g`m>)dk40gb@bL$f7bbw&b4;1szCpjm3fckh~Ro|FzgM=(^bI@886p`w2nm zO+t_f+fOx*XK7A=e=_#jd(gqfnp|+&2Y%CS%;~SaCfVju{EcBwiqrglyqUNAm0fc$ z{lo{@b^A_<@uymFa!~O^)yj&yLdcj4BA7ANhXK_ydf}X>6=KdQOa6qJy*$IE=X(+M z3LVh|NaKFOoc2p5PbI4dth3K0Ar`{?{-$}IKVLtK*XcCA15v9uPex^IawOJ^1xk%*r)RCl9JFkk z;?`^0#x;FV9tyz$Aa4;zw<+9{T&3 zp-}!9K&H{DX_jXs*&N9-+He+dn5_GSF7FhrTUzVihs{PSN*mo=qb1ly$<2a|gl-Gi zv(seSwS;I^R%J@Ab%$ANj#Y}x$uK`A3I(MF&FuW*u7q@uToc)3%dDF@8ic2+T*Q20 z09D^PlZ*G>m7AugcAGq2%lP9b(sb(B`$Q71YIRQCS|J3vw5~ZiT^fJ`-b_|B-T7fdK7Rv4^PoI7QNs@`mw42;(WyCuU-@3LFbNrDQWZBM>- z?RBjQ7Ull^J9^zrXA?==poI%`^7?V|b#i%7+FIHqC2I8a9q#K?2fyE0ExY%~nQG*>m4Di6hyA*udT$FT%aBQK$ zHJZf+M?~f>NbnJvz)tt2e)jFO<$LOMZ{I=k-h)NEl5GSLo2~$@q~o(qZIaECwLBhf zWJ#HtS{C{{&8$u^&Vi*n4tZV7kd&j{Ulb<*F&^!_xbv;A%j#xB(wFiXq?LxrS)5Ur zM6mA3Fh)rlJr|%bKzk0c8O~pzLpJE@>RawAzzOxefRziyQxqT<3rc()LS|@PQOJe` zqJ02s{2;BRX-9VL9_s!E5~Zo&F^;QIe*2Ax?6qTW#R8v48t2xv_b%bBRUMr1ILWQf zu|0w8elUM`ugiI|&t>#_`9jZy2yr6U$w*NrW6B!E*5jCC*vZBN<9r{YJ%2D+7Y3Y7$GHVoiTs%to(v2URnGaCwWl~ zR@~DoJ-Z%vH`*-OO4pXMQQx{nTnPk=Ho$-^9JK&h7M9>6@aa=>{KrJz9OOM?=zVmh zlov-QcCt^i!=TjjUv^u9L7!K9(|%=%gh$2R=5}H(pM9NudCJf&+l)mpI5sOXH*1+5 zUx{cS={RP8(YQN^CQGVg)93-alxfvSuYn%|0n8Ke?eP5S) z{{XMnV7xx7DX<}{QkHsZl!LMAwptA6!H}vK1@{2Z%jnFg?4s%W-E6MsWN7YIG27kU z2lW3^KXTp-2m@SaXyvB09$LlP=6dwTgXGBAY)X@t(tCmqHfE!lwm>r!pHaWR)DGr5 z?|en?{YW+lIAzQiW5xv?GI7bTX*&AR@Y)!z%vQ^$(OHpJ8_Qt91KO=#d7Tc4^N{!!1{pO(fV_PT!Xq}XPx@*H+X zIN)-aB!t1Gce<)ZHb@kVuIaP4-;#H}`8D~{`|rx);!M`-D~WI2k(;TNo3Y~_cw4{U zX&HP%V!Wv2k?z0yLt$MHC+^B!#^5^5!L^!4_^rwGgaak-Y?co1q0>(Ei4f?E$5oN-#a_ky}6XKDQ%6!j6fRa z9?I)t2%NVlj%4jvI_F`R3+^_lfHr=ab%FtVblw zO;s2-N0DKQ$Bj7Qu3KFbSGox|8Yphn2Q*vV&zpge=P~G-2P#4fkJ2BO7(?5Bt1EV+ z=h6c$DF0ylSc-MaYxHPYNehi;_2E>VO71vv1jyo{Tilz^qtfvv*?zquC&vz<9vy)(xWuEusP*4P;`m>-tb!37&zI-K zf8uLK*~rJbGkcuuNl<{-W>K@eR356VG))L+ZxW=nOAL1XgAAQ{G(7MfZ>NA<0o>4O^|Z?qzFBq}bJ z_61lh5udp-ezKR&4oZyUCv3u>JOpr~>)UYVy!w}4bCh{wXP{Q?qqDNBlRyGf~}jSTrDWeLudou0}g$MY$1^}axOnav|7_^#V0vj z2J@)sNNjww=l9r?T+2wh{N2x;+K@Yp!5EVZAblt3kCyVJh7^hhh?<-t30P}TzS3Z` z;WI#D$UvNJ59*tmdXIRIB!Fs1LK3NYR|bQ(ImB%mx_pHRiNur8M*toiO!ftEyRk>2 zIC9pvDpwkOS90YtFNdJzK;F}9(hxLBFV6M%wNR1t-*4$Bcsv!9nHkhUJp9HTd2|tE zsR2$^J(lg08|{jXyq@UdBUz7{iBwk;y9HZx@6>^y!wj7_ybkar9ESwC&e(I7SfE#| z_ZTyF=qYk`QG+>lz)NES90?(hgsV$!?|Yd4Yo9e(0n*U`!C11P9bNPco)Wv@df&HN zWN5TZ5jOfrP1^57b{LU(*Fn2hS_rt>TuO1a(CQ%ORyXpM^d)_pHxzUS)D!QWPP|?i zv{kGqQZZq$4k_THllAB{ztP8nysZ9;CTPZ7%nD+^)_WE>I}PaXgd{#T(&+0p7|O#t ze97mVvBZ|sZMQ<1A;~o@Bz+rpkqs0zksaRJqLBxNc%cLT-^k&Hj_Zoe{+|D42U&|7 zOYN4zX1*<5&wyT{fCgd=B%Rx?H73c@3Sz14*rqT z{`;Btzbc#G|08*fVxK0y<6y;sIoj0%Poev5oxc%zc2Wrow=}UT?`TqtB;~GNb$tx3#XbBN+we-?bF6Lq zTn};a7+aky2rx1ZLwhv!=8$dQ-D5?l$mnfiSCoB$GB?cWIf(OqgZ zxBR`eb`jUOJ=2QK@^kgIjRq2D+EP#YS>WR_4AJ#)euWoTUym6r1f6y57v?Dv176le z$xnJIgG&{f<-*1O^JG*@t;J&Y^7Wo^N2)K!o@)U4-)!e;y+dO&7P{1r-RS))mRfw( z_ta_8V+rJkzK;^Rqj)`Ck6Sc`wV<)kJ@)1GS}t$2*r{uaw*QlT zy0uuuNN9jqnxI{4n(@6udav|nR|#t|x!j)MKTE_jT0r1GV zI8&gKO8@xiRwL5@rN8wlE-H}i*$_eU_ z5y(u1nu(Ysd3HLR3N4)7Qp<{VN24zC;6lh5j;hF_opEqBprM1I$fGV0y+UU!bs`}< zO(NS>Owqo_wlLU0?(p(3%vR${XD|)s6GU-g2AL)Kzw^ja$l;DiCb>(@dE2wG8c&LS zB{P&zq6PrbD(FEIL=HMpmnd899jkpq7)gcsyGcR0Nynl5M3b zxv*`OWq|NG3REaM*drJhZ?T1|_n^b>&uB%*iZHOQO-wQ$wLfj?L#IY41`~W@ZcnqE ztzO%6HDKEw^NnuSjM>u;2uB*Vd!P)PdDO84*PI0fxY7 zjrLq&;F_xSAS|eV-Bb*+CpNW76eXgFOg4eJE+fm+^Jk%1%lq;DN2|a{ZM}bZ@K`N= zMdyPG^ZIO%X~r^bju0D(V9Ee|L(S1(b?*RmYSiLt<`lG5*rND=Y>xHL_Etr8wA@27 zM;KYZQcj{?8y2c;<3z+A_4iQZ24h5#D(Uolw`yyq_`NL44>l0|M=!G}eLD?Y3C7wG z?=dbv&oQfii+DGPd-Tk_II~VXQ0fx%VBsKGSEH3hS)H&|1!u(>(@bWTToGeBCcuB_VEZ(H-;)XOS?f25rkOaU z%yTM~A&W&hrj2i zWZ=;^^R{-_UwV$i<%1qZgI1mB{f;145v8mBUOI}&8uPTo0kalI_V$V82jYHxZT*kM zlQB7&l01Ao^m7lvYLTau<~S!gStN(>2x4dN$J@r!5ZoEi4w^L+29N0d+h1SnA=|MA zHEs72Kq~`cRa?CpYj6v#MP$~=0=hn^Z6&aGu7(oSgr!jB|jPaVv=%r{Qgnqxs zZjl!5fgWi!56yxcRJ+Ukq{Y7<^p-#;K^^uwa8NQ!FIW!U;M3JsuK(({x{)>eo^`W- zuFvke<1bTSOst0$Rv`Y<$d0`W z1KHQW{@kvF=?7goz?pSRX>QN*wy{;9=<479j;+{={UFs*e}AQi>h_D5YSTvDTg}n> zzl60|cN(3-R+LMlsa%87tlvBTJD&k!%ax6F{9+})%OhS_n}!|QsZ97APm6T*54*=P#j3GF^R z3($1ink*&ar5ybs!LiYo-+W&OQ2Q_+^LhP!hi8fBzlOzE&T^<4JH3Msa2~=vwF?p`uO%)n`Ke*@6q^ca1*eUx;=H^uui_4^^?o7P%M z9g95tJx@4{rf&8OjKxU}T8;*cqZQnBH_Dg#{jnP4MqdNg%1Aa5ouD<#(AC*7!PcnqZfwyuvfQo^XtDA zd3B}JyOyvUWxC$V2ns3cI7?=#%X577>PCj%GSVvr1kTQMu1Nh(PI1hfqX8&n=@ARH-jsc*SPL;^X{^WwYvzfH zY<^-Rcsrod637BiYu!aKq^?cBJQ~&gZR7UqEBVd8__qrDtmZayTp$`KZ}g$}uU;u& zhy8ebU~F5~yj}#s%xp*7M>Ttmo6`0Nzxt(o@{j-2>fy;^FpBMkW0^Tx~8P9SG$l}lPW4Z+k+U6-|Wd|Q>Irg~`nq=CqfVU#tK7zm@!_Q=3^l!MS}>7#LE!kBC! zQs9!Y!6ph+MwSubt8)L8fw8}D$|iC+dY2bG?NRdV1D|@w7j9t*#+E=6zY|J#ljGLU zw*gaW5j;M%AvZQiV1fcnLIkT|WOX|CuQWmTx0>97NMu-R_819`SX48^{2YSE4hFKv z8K@FxlM-YR%MgP^sbAowd@8iC-Cogc?8=m0=im zw8%lN&`q?A-yH>G{6TAD-%owd)m=oqP}^4!QYpRTin1wMiD;llx3}u~d5k$m>k}v5 zs%Kir?H6@c>vPLHn6uFAft(Hb3k5aK-dY3Kwc85y-GkQ;!f7onDvG2uf9-&DKgj4U z)9B*A$Xm@mOX|F^w&(!|VlaBkT>qtC+x=ilz6d5!0J!@-gXFNzL{A&dh(a_bvlha8 z(&dF15Q1QjCVBtSdTNHHfSYEtB8A5mPH-%h!jl^tqvsu)JcTdLAoFZ!sktB#~01#;vK?DW&Osw5Zag-2DjjRhXz2(SuHKr-k z?FarYd*^0T_C;{rBFJvn0(LbR69{7J+A_;yhcKqoB{Q;~XdGInlZW>jh9??R*SkPg zbTgrc9{a7LUvMSo>kWtmqR@uy^V`9Q0nc7v2HhkmJd^R@_Gc%1iioXX^Ar%G_}mc# zHK(KzBLfGucC{t_*dLHEI9vM1#nj71or!W^LclNDv0G2*p}1ks_ny-rUV0%ewx3;}vtvtrgbb0v54tl=9NzXF_Bw zq0m=h?}>r9rw){6(5k$xyK$DxFyEPs$Opu+A-sN-<#QG91+RkA85f^&IZx4DnB{ ztNjIin`&wX6}Z5 z&t}^5rp@^d8qCe=v{d}NW?+(-dCa4uyXc)9I^Q@;=* zQx!J2QdG(Q!m&ncqZzJ_c74{Ed8Xnvs1(fm3)ytx@4=Ch*w`Fknp(iil>ck3HDQ3842-GSJ=^ zHJaM5)up3Gvz68JXL1=$*ah`IKyo3j24N!Bi)t1b^`lt30AnDS6j&E*;t3Gk;w&MM zf$`J8cS4pBZLjzdE4?kldk3Agm#A4OWnwUnqqXF@RmT!*`f^>fZh5cQvmZ^xyC^)r zAKz~z2cSyN_2?)t9edE-)c(Bs@})HA8@X)XzHd5T^LYMsqtCrIg>5*|!|jeJ^A7!F zZ*PsEaKu1c2sl#_HRzYmG*~oS$6j*`yek9O8f)poy-V!^V@Tj0&(6*SLYU`J_H5*i zR>QkGE-ubx1BYd`(Q95ykDlf3pV2HqF`jL`+tgW1V=(%ZY;(48pnD0eOCwmuh9}=D?FQTjRU5JR5utvgZ%V z#fL{+A3v3mErrN6hRi%@&ZYnMG^IIfdhBj9y%ZB#dVvlEIO^4xNSgflJ?iyGON>A~ zwmd=uT#7zQ_CWoRU3`o|nzj?2=%qL-;tsf!^8=DLa_5(qe!TrXd%*aFYmy0|iFO0Y zqn$qAue(9M27rP3eg!XNb3t92DePHh7z%}YO3r>M2{Z%3>Fes(O83q;k?%-dVdKD35jLuwt0 ztWK#c)P*`0i;&#+vW&7zo(NwIu@Md2(K3pL6Pu&I^DXN$orkwSZaess*I3$j5S+5U1}GRDf2TKh zaL7<69o%Um1+up6u-8HbZ+1R6u@5e$#Y+1u1goJvLS_5fZ>!jJd zfoNlG$ezwQP~f5ONY7!dYPR4D6j#fHCHdldE3r3`8X-{N_okoSD$wxaVxtFXt!QN> zFSotiY9?*U?*oBT3}&ndtYy}EgY8gz%OeDy<8Cj%`OCkOYH+Q9w~S8h73>exqY0)3 z3)?_#9&k9;4c8hz>sSpeurRV-*XH?!{OZsCM6(MM*CT@peV-OUj9zQ=%NJHNjq(Js z!<6(@0Dt;5^#kn;4)q_y>VfzkGVZY5eYey7p$^Kpx0Y16LwzQ#BJTb4^K=-NVp|l7 z14C*N=tVDKIko>>))up-lPRW>qR*`HBxeeeetNdifLQHgJ<@iqf-!s`B!`-mU`R8^ z$UchksBFl=hQFToZU*-p506Qa}h*QvtNo#~;Z|Oe1sLTO zd;u}-7izua;4w#@#nLkU*kr8FU~2J|ex2!D{&I7snP@%3HDR>Tf1{04^vw(w0@-Le zct4di3!a%r80PrleQ^B4jwfVhMi+?@DjA25UYH6i`Yh@pGu?Egy;5Mpjd?Nj_Rl;Y z6oul<0FCI=#1<>8^~+HGtz8rZ{8oM6n;V&`hVN1{IIivl#(1M(#koZDmSeUFtXYFB~y@?4#KpA!*MXk0h8(U|YC3;-!NZX`HeV({bSmuz9F8JBY3 zjO!sR0vaoVYf$1KQWke|z~sV%YOo8sXGYz=cfdRg*)X%uGE~vO`s=@u9vN;>2H{|7 zVAE>0Z9ssbMvTtLs%D0{`A83v=jz03=C~)7y7GR!rY}8&=!Zl0z~AWis9A=z*Hy3U zblX{0JOnCU!vHsFlwUm4Or?ItM%UJ>9_@P6c=u>4_C7E^#Ry(vLB&yKe@rOLoD|?N zoxJ?b-zZ?B>!3fP&uX^76YGS^ymX#)%@ol%z9`HpvBwO)Oy9FUKVu)_9;O9KnYeD! zq#Fvk?KN=h(2@uHah%MKlA%&sJC$1M(+5kBF|Y@EMeJ|U0)v$4QFc%{MxS#$H+>u{ zz3;w`BH>4HLyt6yI<@&tcbQI)IVw^sy{~JqTvjbuk4b*1K+cD{_OBHPI;W$b$)K5; zP1!+XX5auA9_wX`EX?-ZAEoSBRbyLGx*?o6H|kD2uRD3bk}Pv;+9O1M<MwuV?#j_cs)CqPVQ2*ODS(`7SxnEQwP;MQQ_h`Jfc0WLfj#9bNp6AF_(> zsO8HtFwR!4=$}zNkt`(c106x20yL?wcim_CTz#?|l*9Eq_FqrlF(%5P1hVYIIrp7Q z9zS?soHY;*@(D^p(G5j6XB`g77z_X{`(%M}a<_JtR?B6_d$Ld7j~{Y8U0{r!y}>AQ zTmfwZ&0q}*jQR_8>M-P4T$w#F=_t(YYlcc`gMaIop^UfubB>?#-}_W`)qBj+Gbuhp@o^+XMO85h*A(`um5ury`Tw7D80i3b;v>1x^A{`AieMN`(l$54L%gL}* z$XW;{VN|Ufqe8dV?rorL%&cSDjlBXhlWaB{{X7M0>XkIQwiqD8K4n|<+y_rdTRU>B z&(^H%V}_lz-|CRUeAf-ZCq9kIl&T*gb@HPb_uDjKl#K2pe(216VPG6h|Dnm~k(}hY zKD1xr8EJ-OrE9GLLyI);dJgeQVs&z-^4OEkYNy}uef}&lP@N_RfF5Jy(v3o_4mJ4z zQ9!Q0HIYFjk21^wKeS*9asY#@bx)oJ`6yb)Uy?TjR~|A`wLZL$kKZylg~{u%Mm(%9c|eBvn9nEyJ{cZfxBY1Sr;Zq4Keo^dfWNCT2z;`w`g40dYj&C}nd(3$ zh$Xrj+A@}DgfxS1R_@@8(C8qQ#u_XAy%+kvmjDhc^M^aId%W`vK*hoPv%V(q>2^K( zT1fBr>km4fBrt}N-^3MBw;lpRG12K6HJckl!AL6Es1rD(y|+P%JnyEt(Qgq#2u_DJ z0Rv`f(f(#KJ~JK5)HvN5?>e!5%_yxF6r&9&Xe`q#h83M2mQAE7*yr8Nn)Nu5kMaI34 zgQ-eqs}JrVM57KQM1(?Hae3{N)uL0xt!?!^b**;SMu&v+)onGCt@8^3mhc`oJk>xQ zeTbG>4HSAZ#c!-LsJ^Zg>=OMNoH_ZnfoI(8b^q@NS+CDosxc@m1TnR~8V^Ek?w}qu zs#pp#84&kz)b|{T>>~h1Hra5%ntQZeujB@0B3Of|BEtiLy`=0)wLgv^5`F2rVWhJN z9e@#zD0_vs>P%>EAA4znsNf_a{5bCEl%oWu%aNBQMjjkb`Sid6`W8#;B2+9L0(b#u zag=J<%UZMim)lXc&AGLu0|RVSfM;46o6Far_5O5^?^p)K!bzV&VEciUM6fJEUQ@yi zzV-|KH9jz-9-YpZ{ImFn$e~9t{S%+_bXrCaPlvf>+@ZRZpI=$lI9CoZ3=a1?C|~?0 zdmoXX;a2%h19Qp>Fa$u81;vOjM3O}9aDFLMw`UHc)^it$I>~Dj0R~$jqFacGtd5f>UCQI} zxS@tRzdrM}?-@wSl=$Owg!}N~zry6`xU1p9a(z{nGk6B3rG_ zYjwFHGK8QHX^tv?$bgQt;hkn0zxvA1-{F)1MKpTKeza^3dZg+@`cmeNp1(KPtYyG`L}H zu^te}%tA~gpKtV9&z%+!{GLE1?Woi_zI-Lqt5>EJsm^rmf$oU4!KLMteMj^v<227G zdSa%*zy%x%0RhouSrERWbuk4{?gzI|HR{AW>3{#33}1fEQh-FNXlRvc}tTNHDQM1$as&)V$^QHzGb;){7pKX)epnf|cV9%OY);-bct9DxkTQb)r zyNWpiYY9%T%o^NTy(=8Hwq40?r=LZdzl|FGbf+Vuz6TCu_4fO{2A3;}wRO6Wu!pC7 z$Y@Z+BpjFbAEWgE#J;GrXFXHmIsmg_r*noN5|p=kIPQKfbbtN+-~K!K`q#gu0%Zen zs$^MxJnm_$PW}+)dhoZ6NS|K=QGK3Ww=?#lzR|wZ=e}NZJ+eKRH6qpkV`9&41mP$_ z;K2*!X;Yd?Y4I3G4azso+Qj78&bTp( zr+XehlDL??(dz~_)OwlMv=OM^cYu?76T*VF=6`OZ1jWViyx+R11VfGHrm*L_=~kzz z)8!SZZ$Sf;0Q6O+^sNTC9&4`G6qyG$-35Ytm1juv+?RVOdKfsX=m0`P;#_{0SMvXP zwU-NB*Dr5xq)~gk8jKk>e!1oIL))930*23S2Kir|zmVtptnnUTTSfgo&WX{#V4l`f zBkNqzZeO>02KIVC!LIpisO74)-^YDSFpF!5Bc?f6orBo|9QZut;>8}Zd=40dvDS)8 z2Bxm)ZCJY(Z>@4fz;vv7b!O=d&i{!@w}mSX!JeMLDr!Sn`=QSv%eqk?O6_kGj0TJr zaS~*1DTpt00If$lMsWYo2FIwA)$Xz9L2b+H)gX+K@pa7sBqG`e) zkcF-a_&)$BYlw70?lpQw&)IqOMUY{R1@{4SBFa@$@-8~>E4AVJIoF#=@U`;n^q267 zv&?KZOMI~RnfX-wobMJC&w=h6mLAw{6$0}RWl7RApT_f|`C%Vx_uxzg+c?(h5@!<< z9w{;*f-`Z{ugzW)Wwnsj+>F3|qn!5;DGPFiWWosT8Zc8DcK*P#Sl{%rI|EHQa}Iav zn>FL{^8+?jgTz)CrE3RGK=g8<0dW`1?~TwR(yK%QudN18W|>_XOZlZwmWfMG>VwpL zRy{;9_20WXyDq~@R+<>QML<1Go`o)xmG3?qk6%nu5yG!}eOPbmr3jbvJb9 z%S#Pne*1DK`)XqOp9M@pk=S$fD?V7a@@(D6Gq`~2cgFW6dEYvoC@{AAJ01>>w6aI1 z#F_qUN`8~kS&~ze$8418X!RHfAnF`xP|Sh7d*E22Hyfl=zSp83*;STf$66vw!;B^58Kia2EDjWCcpEx;u;k{3@vWiuTIlTgyi} z@mIlwh#nk|NVL$AVh2Oa_h{EzISLDE4ZxyN?*oeM!(=scd(^=;mW>7-%Ow51z9pBn z>Zew=jC#Fl)Ywmc&(Z3igCV}C`vQJ>3vrYQ_kx(%)k!-El zNPQknJ0N=9yF<@(j>jW8jTf3p?Oxu<&F{a~)3hg`g14z$F}mMwb?dIBsFS{JP-#CI z)qS!j%KEWgLV$eFW;@)fai z4|m|_KufG{n86p$JqLrrG;c2l7Ugc6EI*f$rjD=GVDHC?8Md8z`;C6Jqtz9S_&(Y? z>1W)i6MC!JJ5;>xNRS%CCa}rwbL8 zuQFe}m*xB{SVYH7y3Jt;0m~6*KEa`Oe<|v9l3H(9FDh?E*usNU%mF-#-YN9}m>YJG zu=YC99~>=*W7@op%63x;l!IsRFiL*e1>k*6$ZT)I9CL)ZM9BbI`3Vi{U}8>`Eb2dH zHoZ)SxW8oLXFdU0?yM1aXBlh{!C#QgW}{oc;MFyzGAhX3=< z-gvzPAuN9}Km4O--_-r9vUd1hWnFooS(&MylUNjRh1hE_@jeJlLi>ehC!dkEznr3# zLRM^lRGE-j$a8zYZySLv=PFvf!S@J~Ip`#^*Y{}r;?1*6iwOvKtC9{8u0F?#H<$c* z!(Lg5mIcq&I@L9Y=IgkBVddR?tw8K{42N<(Uz-(lHnRFM`pPQ>4X?w%&L@19#LFhy z_KkuI=kNhxXQ6~H@5i@|C(9V8;2MX(&|8c zkv*xH-4ympeEYDPCOb0>&BA}HMOc|UYixXKM@oqVv(U}Dqm zC!@L%_04m=+G7Pw#|{%eGx0JD?tN`Ucg}pWk=bVEIanJiP*jqeUK-2Vo>iUVZJd)GafEVf1*$_2ciQEm;ZbkMSMR zr3hynM9KgbShm>$gHC~wx~_c>>Sxr=F_&olrd>df;3|W5VLdnz*%%iso!IRb3ahgnzdeFcB^KeG{wO~w>3YciRVzYP2d z_6wEr!_RScjvpuiVK7Tde&c6=WsRBZN(K#^Giv*>%B7v4nAyRe;y2>_&2I|&N``AP zJ~N{N!pr=to#{Ec?t+UH0=(O6Cb%Y}q_O}RfU`3yMs?!GYI2IF{(f!QyK(favUraJ z0^n{aPVCl{bKJZEzt{PPhrPN4E6Q2={expaoV>h<{*l}LsetSroX_<1=<|-BdP_(X z=nDR)c|chXc6f%5a}oF|IBS@l_7v`e%ZID{Nd?9p%-+3C^9>10>s$k%#-9wBLiu@E zXyD|<8y(&&`&@^`pF9_^bRS9op|DEw0`NZsVy~^}AAAs_^4!&dwk^iY6c3Q~tHpT_ zR%AB8zYzklngBqFkugI8YlX2+QJy&+1H4B|FzpAh{H$cB^eLt%?*RP6`c|KI1hNks z?r6kKlY{lhnv=~6m2>DP#W3(}{0o56FTE zMdG$tVt~K;<&I;-kKHW!cM2T59Wxb=Idhx$$Jy4)+xOAo4nbteZHkS7r>8 z^;9l>MeiVUhM)OAXROj+=aiHht)fICBl_}|>lCWR=WRneGg~=~CS()!do=W;6KI0qW zTJ5t>iDk$oND-zn=0cF&c96a|!(MA-`Rv&<>4!bv*V;p6I?U4~Cj~=bn723ES>Ofx zpgmj5dc7vyo*8A7Mu6shWKZ4LjT9fNRu!}9pglL5RbA=V{`xbyTwf3jfJ45Mf|HX)GK-Eo6S9!q?t$=EWp zXq^$W2LL`EaN(40=nO-tS2G#9O-5b+pYI2~9{p_H4y#>~PoJ-4r-0{Bp`Yj^1MGNZ z_D$TZf&m6ShqY(j5NP)&uJh%2Tb5jKm^J$e?S^;`N=qDcFBtjGA6-Cov34#HyWEDJ z_u7St2?C?*TE_?Dsu-9wr};x+kvVW7p3O{YzD8q;1q=MlaL+(MUS3OBFuX!T|Wo7q2BfAh96BLo6tB=v`>ze?q`yX}O zN&Gm&gl}zbBiJRyW)S(*T<8FWXlTN8>PwvK-;-(3G&TM3tGtzINNUq6^778rj$P_T zxH#gbKy&`vCdn(cTM&8NB8E^OAHG@5_En}u!!nTRX#z<`Ag*6C<1PB1SKUNr&tAW- z$3#ZLte@a+Jp2xgXw;7C{0=@Lx^KIueBeKV@q{(TkwGvWejH>tP!a6HF;qu7$cM5) z-_1?K%noRElP-kF)=OeJS%}LFdZ>T?rLOQD8eqQlbI~7jxW2J$@EjR>6$JuSsMC`F z?}rVF<(Ywv%)qth=aNv57+X}CNY%oDz~?SjT8U5yvbzWuzKwdQ^D{G(aGKEu2JMLQ zDCM|G9^lNq7clYx)hoS^0RmJSY&6d{R&qJndoYu#LGifX$*|Qq={izd*(b^bpwiEW7+gBS;nN>Z{_OCujJqT7ynG( zPr<5g;8#9U@wwG!v;X>)M0LhjaQby`Ly)VK1mL&3XHm#XNoFIKlI*F zYYoQ}!8@$QKl-QtM9w~Xt`5IG&dLHn0A-!pu>Cl&ZvE#P{9(RobyzMHBznGXc-W(k z>PrQhZuY&2<)2)9<|jB>nSgl~~dKi|Ky;vprP|w=4buF9CN*z$0cWWC!6Z1;v z`mbJI$#(4ZOV6o#kTa1xHO*y|?@g}pQ6;N$qd*iXkfSRio5iX8yde)j?b28JJpcLa zS8B^v((LuwE3j9oO+B~ge5bVQJ7kZur}tp3JDm%(ExR3is@_iZM5uciz~K`JAUJ4j8LxQA z94|7(rOzy$0`gJFg3=d|iX}gWF(0ywckci0H;=O8KbDb;=`DeOo+UdOysZIPLt`cw z5HZd`y8|TtJCgHEd0jYjQfiS45Ft(pj^PpfFTeJ(M(&Iv_$0;@c*;>g0s19OG+8UB z$=QQg&!AK1F;Y+!JlJd~^iK~CQ*ZgR#!QI*_&eI=uU6$FBG zT{N{R>=Jy@gP^(8dpTd}l9-%^9auxpT0yF^TTi|0^y%P5V-!%CvP`qv1M!Nz2frGm zu5iy4>8Fu^i|szv`9A`3h&4zdwkfl|nB9WBC0cMA+DaYqn{*rkn>0x3y}%JPC)C@3 zUOi~$WWeDdodg_=P(_c&QK`4LinI2BwtNqV(i>D{uJ?a{Suwho(bv0i;P0dUheS^X z&0d4gz#G|b1-70k`W+L6{nXWK zp}z2RcIwA6D1-=`FeWbx$keakIRJeINMKYOxlm(rrl1vCe>I_@JsH55Q2T^ufb2q7 zd3nl$lJTZ&XvsoST&9YKYSp%s0Xka`<46|Ms9!a+a1*cVOMv4V1cNrY*WcYK0KG{j z3JJXiw6AM52v%2BGtQBlgd8L+dDc#I;c<)%gHq+bqjm8gohpPFQ>{-WAU8 zo}~q&IUeO!vt3hPLgnn>TsBH7Y3;$Uan3vi5B4n61ZptPmr!wkg`z7GN{#KJv?P1U zj@%8Le+t8~i1|Lt@ajHYUpPy%5mB?XqqG++j*OCNE=(c!U$STMvWsVus=lPbKf=uv zHkmzg2Y8&##aj&Fq-*w}qlnL<9L}rHe6pc@-!LAaE)dGm#&*_0fM1K(Ua2knVzlxN z)Zw1157C9Tc@uyRJSy zVi=vfRaG*}#y}X28X|jk2e3-%Kn7xEiHY~)jpIoIW6xQ6U@UUCM#mv#2t>7L&oLZU zq|>Lx>!3;-1=16b-Ppm<@{*MGZ7GEaJ=ao|p0jM^Zf$q?IaNbxeW2ihDD~u-x02T5 zhuHr-%eSB;0k}M|fjkUDQ0JI!5f}$ISO_$r*v+f0OaT%>$rw6Aa50}yTg~=Niz;<0 z^~U(UROIjvHQJ{fyt-0LkNH+Z#%wX271YhwtodNYt6KO5*0IXnekh1rHjZxr* zTHrAs%_4y4^9is3K_pv!2>~-uGSLpKen6^d>UzTmyaj~`yDgu8_P(G;PEMZBatSD5 z06PSAllWO>ERCtGzY3y3$-bi1aKipX))!XRX?XYq-$f@`0 zPjO^dX@LSM#AK|NxS}(j)1JXnEh|~;pKGjj^r5e!H#h*zIvL$sXCK!4_IyCRmwj79hfs;?F8R0F{*kf$h61Y2Iod8_!Yp0%6QaBoL;JE+y}6CI;% zXB)ua_53As`vYYz%ZXkBMs_#g%^&=L*|+(=pOs~1QJLsi0d}+3;~zwgiYKzX&Qkk& z!1+S?zh{w65NHY}Xf}D~dv3K8>@yG6a0%AmiynUh!@6eV!}D8a{l!4g=rdku=_LlX z*Sz_e-$@)xp=!G??Ci-$8~Ctz2#S~AHjw;jpW$I2$zi_fv+8=(#7$S#Y)e*a(#KTS z(IRx>^TC?!^y~-Fwu60XqHB7*J@CVsjK0*Ji`1IiWD~@avmBgd6CcpI`n02n!jfT| zk^PPAEQ1nL+RPjr1n`K8zV0E(lwFsA=C`m!-XEXeI-V?J3?Uw5MGzjq&`i}2hqTtsu>tpgl%q3WG-zmJ5=#4lGzU%05~Icd0zRZoU}J4X zD4{=*CYEqGqlg{yB@`OjTdpzsbtbF%GfU1c(NJcIhvP*@Ttwo~%8>y?{oIH^cov7Fja_?6-?-Gd?r>5f@4gt~~iU z$DWYnrDa19(elGvDp`1_-)mdX$R*Az)=NESyRB}NO+K2Iv|SqAkQ}JU9u#L%`14@( z%qQOsrOr&m1eVIR5w)|vxuoB&TL!ij63Ly>;1XrllW}Hn&yBTH8OPn+le;9*(Q+(; za#|UE5rH1=KDfd*))iVe<)WdfYjv|R_4HH67dac95~TvX@7neW=*nwk{U&+m3q~ZAyrg>en^t<43&bYVB=elFyA0LB)IU@0j|r zx9=Unq99NMrb46ZX}i_?zL0o!$u>=3HjMLuuh)LLl3Qf!p%SlIvGw^G0TaB(zVFnY zjcgBb)~=sa^yA3}d%?SI0-iH^omWOlPZUY3C}tNQqyFJ1G_bc@wE-78pJ;72!Kq>^ zBvXiQ(4$`0+FIAxCFCcg131XWpfpDTo>tc=l%-n_YNcxD_y0DUFdaDbXN@ML0}YP~ z=^ZdV)OI2B|FwSaOfx&1(WD^Grj=%@Tb@lg=Xd({>#?#-vtIY@O4$CX1F(c(8NIua zb+(3$^dTbHPs1bB0y=QKoZP}>qVj&UY;2tlis2Poh zkxr=rwhs~S-r)|ud&1a1vHZQz-^BrE56wW`tR?xcm>B954t=1DqOuiY1^LNYC}-&{ zP0R9`6*vHXYwhA>RwfW%d#>fRR#p?_K*>MQ?-8{0+1L(`IhKLB#s1mBW_hhI`VTo+ zvKSB80)1%5m!P)%O85WgYNvvp$CpDbAEC{mF2L4{{Go?Xp&LxS)-PS(ilhegG8>OL z8`LkW&MMXu!_UBTGL?HVy^taR1`zK^-{RzhWnB%>e3^6(kd&i855EuX8L{-J){Rmy zZ|&vDp}MHlOJOazrpomG-2ArjbmCiK)`sQ=jjW3?1z)I7XN4_Mf?LB8_QQb#%B^hC zG7-grhzARzj@;OW2u0HdB19C7w#uHptvSrAjefO;PK)d5gSv#kn5~<9p}~ddcU}`L zbkZ$VXNMT#Fa%{-nCuLRAZN1Ro~@~}f03GFJrYTH20C7prrkQn8L5{AqE?ZPD=wZj z*SDy1felk{E+jlRa3KZjXN(US(TBL*uud7Y3eZm{qHlKSr6+PWOYVNo`z6cdqsMY- zl>wSAg1(7qq-3B2KnwJlYfK55nO4NP$Wng%G1m&~U4bn|dw&W)AuvU&r+v@odrZID zhYY&yleJ8WtvQqx6_m}%nzCmquV2b|b0x2?KQ~~;mChl`kw?oXLcEJNrH(3%V)75b zqB%d8=95n(o^Ke)fvVk2y?<6>ec!Kt{U50K%6ZcF`qi&~CBx9mdeiXxry9&gH`XH= zpWo>H46FwnWH;>PE4_~Y;lKKq!VNPdIWAqDW$uAyJ&!2h1&XcQXdsF52pnQfeKb9& zt(zHv9R{l@DpWT1Yt5!yeHWVg<^hMiS!s}daVA?0eE;Ad{IUGeKl}%hNF}Z2AOh=m z)Ol#m*Lvt1EfRqr^Z?k>0XFSyCC|=Z$e@9L8lMWMe!4-Lt*&2!L&%)NX;J$G@Bpo@ z5_*d(pb*qiIGQQ+GaSzqSovtPmOnb%$mNI<6J1ZbM@HSBz3!(~*U2Y(-r)?rMR`$C zjAl*0I-m-+U0z;NyoD{~bWi`Y-+%FqtfFN$8U2XahA9|;hyL_yKpE7@mD4u9{6L)`Cg%Q%W!CxtwY-FArv9EoxOQz>VGlC{utdTOqJV z72d+nGfdgDgxRz7GlD(~R@$$PVxo4v2jEo}7aS^CQE=uQpbe~47c`+rGu)Jc;Zzwrmo4N7$k7=6JHe7#T3q zl(Pjl$ezVuJ$wz-i0V&5n{?zuHgST$Iw#sK{oWoluNnub1(QeF=4^|<^Z+MH>S!M_ zQK)IC)+?zrI37CCl6RyZN2jU^+qqOuZ?cUH1IS~;Qo=$5gMf{ZQ97tUqRui}-!#;E zrf5O-p+oTDpkvD@r!SdJEy!>wPj4smvL9GP+)+^pkd0yNF4kRcXF#I?)x_XpC-O{^z} zIM<5A(Zpa7RAmQR!U+RJj7ZTld+u!HV_e3W=2H4iH!au_aISiFUiTKz2h`tH{N26F z^z$C|fB;H8jV|4f$0(fSJ)MaMHG#f(iG8 z<4!OT{2}W}HE^+eX!N?)8j#;2@CV`r8s{J)M~Hslv4A$oxx>Mw^Q7>x2EvV8Ts)I) zx1&=G=ebG89bUaU)is4?45)&=VPz|_Q=?Hvk>wufY`@*G;Lt%GPn;U6O{273^Z*}m zIZ!0mtTgr^%-*VMsGN&>K?WhgdNLyWg^V@YTixE?s)P1Tq`aT@$lff50S0?;M}jP+ z7dJDTQc6_bk8c{&ZBMZId~+@z>zs9YWD*5TqDh^;r0ca((25!x=;{zm_dm0KRY*l# zg+^A%$`){b_!CqAdPS#+hG-mme*X#sc)6L0bpX8U^#>*|C5j6+$PYQ#*3lJG3~-1BdV{$Mm3ck;uXT=If!(5K=cg+@ zBiCv(bj>wtFE;w~b1+Bs&szo9*7{I-1?9#gj)%#UDv>^h#vHY^MMGS&QeY8&%(N(v zc#6R;EJLS2R5H>|ZQ4bh#!Mq1D=<}b{@PWfdNmSoC3VLY2LQyu55sC2XJo!VKfh@l z9~cMg`^j1w_Ct-P=!?Suj%4;0MgIL%G}xW4jKiwv-_o>>{#>#hC&(-TI?DcB~ zNc+lDWh$1S1?a*@>yxS!<-_4eouVF)jFzCvhCXJ@0J-WVj5@_|veSjcja~G>IC>3W zG&(bTn^sh$O&Uy$!TN)dvWYAe99*wWMbHik2xw~TuMB$EU?>fQ0=U%~j94$-I$#4% zmaR z93`)PoE+JFVp0_E|DcA+Ye%*LfuOfOz#%>Qo;HfQArzSN5p+~zi}0SX;J0_+Xourh>Q2cGOc}d>)n$-8o_8aO5p+*k08_9Ga(ZxSx z>*{3cj$F!mpPdHa=Vxc6+2<1~QsVm8W1xeJ2NkKkQ&TKw+;)(!IQ)AlNaV zY;{=W11zOw4qGz&LFdfo^*D02u<<=mSAbLy076Lu6y`~xW^iEO9gtYoXX;mdc}|p_ z?a^F;x~^J+4YZ4m?nNk|YvveY7`+A_wE}FV*ZJIIJLdVYg+rCcOb{h|yBA_0GY#yg zad^Sn0fPA?m|cb4oHU!hhkz1V2xZrKP2>lfUq{t2&=*~ktK6yMh`*{!)u2bP zx!q~7eKTklWSFd$J$Oh2XFcSyUTN^=&q1AUCCRgq)>4n3i)Te@yO%;urXI~MuMnsN z?x?@HXP`Ck*gI4Eut)u1E+S6BSwVRYG@?gr)JVvt2s~Dqy-ab%@EIaS?ZjI9mEOz* zPz*RRXE4+0ooTGeL@J9o;oBdMXJNgbD;yH8B60{YNl6AhT>(3s+g3i6=k|CdOSo+7 z^tOTiq!Vej3I&kvsdme2%U0?D_t8qIaNj65u`UZnhh}gds& z()izKD&rYQ;!@9x4NF>0KoAtIGR{mn+4%Z2wfw`NP>8$QrEV^LRT`i8V6q=X3RUclv|tDzN<(X#HrLHzZ5EJyD{3j$vx}$C$Ht z04NZPkv1;I7%dt*ry55E#@VIPgG(^;akAx)*HpMMg&5Ubk2j;1nTL8FtoI&%ia-bY zH0Z@k^S~NJU1+;OQ6GH|&DhrKRvm!BR44s_WkzhT-`gls?Cnhkpxf$vl7WnaTb-zB z+8IqaSnbh(0wxBfE*eqhkV)9ezQIEO$`tyDcw=(zv-84W5HTA)7ZgqiS^ zvA*qhEXzH(DQ2JN%0$89X!Vo1)JAz7wfMoDoVG*y_AILMv`)Ao&$iyI1j54EinMdI z^>CFvKWMD{*2EEvqB^?3j0MKo*DJ9HpWGr^l>lS_RshA>Q_OJ6)nco`S+S;yIA&$_ zvS_4Elnw6-0~3)A_CD0fuP4ibQk9sE0hk1*ZQus>+P7f$#QLNJ#5frEA_ijMN(cY4 zH;c1T$35};m7@co5Q8GEh+;;`ZLX~ylCIG)TAeZ98UPZO0-R=DOE+JAshuDSe(BOJW#xmJ_@Js_}U1Ms?&?*kE+pIKL)+~O4VA>kAPJKEr zE+`y0=;6OcFx_`n&m2reckue3QXVmZ4i=)Xc>{0iC*F&v9+*$KLN7qGS8%h}2e4N} z;&#lY1wa+!%!3`7N$z=O4^ca&L6zFcL8H8>u~t1*o+ST-rpTPJ!ZTcXWpa6I z*HIXjj$#&5mtJi9W~$slwHNT`$av$Q&W4KYVPAq`2Tu_g!|p98v23GO`uraCfQkXm z^S#RAZ}{$1eDMOXi=9J7=Yh~q&aNAfj|+~Y0kj=}xik`(C@xmpY36-pIcg_IdRa_h zPyuQwAEo;i(bw2euIbLLEvUfRLwNXD<|KjlL$In919XE6yJ5AGO_vXj>6-%NZ>p)b zHB*AryWcRK?xDSd*Yq@<_Wl}^BD-MdowZ{Cujku! z-`3VqA-%oj=tBo<&8J+pv52>d;siU;3}0MMT(-lvb_(wtb~@{CvL?F@o&{+E;8D=l zes?57F=&=lIDhbYD)qs~u$L8NSjSf2o-t1u^-UYm=1|1Ns63Tj)1D0EjT3 zKUn~b@;cYuxmcSWq4@4tOSd0|`mI4`e?GY%?fA$%3AW!7OHiJvZM-Hk7ZFyY>smAM zvDGuSbKmfZ5@y-JBh#H4<_DS)-;iQ zz8jtBv9||LBnH&S-Bxy=e<`B|wb|=8y2>G87g@PQJpeMjtF?s73yB|pz|0FWdREt) zsk{u;Dr9t~$&3&Xns9z8wPvBPDH;uG_|3rUhW;v2ZhPw22d+jvBDY9j2C*=QptEQ2NJat$(@%c&Ig}#^Z)&SLgzlL z8p|&0GdOS8=GfqVb{c@Fy`e%nRH>0U27m^8fn!zI6nZ5?k^AR1TBsZ=$n?j5@PSkx zpQ|I2g`C$`B7+k9^UcQ2 z6a{8LdEMwdVp-2^S^YmO?Maqf7>-B_5X^`hw)tb`6prl5oG{XDp{JnNP`T*e{Sg-; zFeoLO+o8y52j|c;>czI94HO+$%n#s9FROE{np`P92mY;Gzd%<|RMD`QY(OX5_G z(YEL8{E1_myMTxPJ>2uH@$Yz?!$1!o`*4!Eh^O(Awpuebjqa}t4JQAi%a7%m#whg& zw$3D%E6Zp?O9U|t*`x@TQ#@+jU{o3aUZ$043#dFO2s!_@NuoL0e!k5FNWFI9fBhSRkdyIUIX)S9K0@iGH-?| zPr=o!BZ1TGg*_pg!Y~uZK(6tA`~J>ZG@qHpFqfTsq@5!1E*O;!s5l(T_(m5rxbO z3y-o&m1TSlZDAkmLivIC8R}k8PQXsmPMZbx)-{Xm-8ugj2v_P|OAJBC(8v+~3 zy}KeN?`aPQvv&)gC`3NKZ*ebZrQ(* zjeII=8sH??3L;E8e^cKQ{e_Y~nCS9>&~As?OLew`Iw31*_qs1fwR2}{8Nl=a!17a> zOY>Sy#TkF4inCB1c%$=mfq+JTj<1`YootIYBQrY)l$LeK-x`#hc(8tQ zG8R;J>HSihyL^p=Q(7M%-r1qp-Xx`^l8x}dpfC37Oz$(#Dz>O%_S-YH$wZ0@mAYhs zXW=YA`>xD%%u5m; zLkwxT|57ZJVet+mmQ1kN{PdrV+Fgp-*A~36JkfJOoAYzI-R`K458wUN)y*M<*Ot(0 zD*8Def7@i|#ksYk5!ZB=O%VQ@DEN1&zT7X*p2;WE6@4@$QtCL!t*$0`{qXl1_!p^V zU>s<4->#q!UEI0@)mhi&+H_FB`ujvdN_4V7+18iSPP*;iN^U^+zv z?B6_^7%6j(=nl|4EpM&Fn`BLGz#Xu?c7A>#w>KR@zS83N)T{S6fC@n@9_-}x#UP<_ zLt9KJjur#Ohw5bpr4>jZf`C$22?Uivr%`~LX>zH0+oTAv2XD>6AR3vl9(6?7lv&Y& z2!XNwooV#S_~nBi_Q}eoc#SBSPej8Lx&6Tpf41hqXRca1B%P*I7J6bG=R`ds9H^k0 z5)H)xgBB8=nZ(AP{NQ1Y10foGj()f6NKfDgjfTjZBU0J>%urTAX04sYay;ZATid2E zfAJoQpc%k|LaX2;JrT6ebi5(gV(&X(gJtSb}qrL9)pf<#c7lZ%s) zvJT6@wn>vYf9#nF6E=Fgtm0%^APfUIs*?{fDC(d=;d-(RZq8Oe$w!<_F`LY@qJ&=g znmFp&WCND+fhxoLVi#Ruuj*`TZ;CPtsui#r_ivdL>+y&E(VzT4%*>pUp%7i^Im9_@ zLBSDk!6r?VQ(9hX92}X9tu*MxbGAOwc%pmG3*KX*F%hRao5&7q)b{q4EgQfK!M#!U z06}!LjQ>u51}7kq%9-ZpN@vwGImu~?Kexg4O0*m{b|7fjWMn*zn#L{!tbtcBVh6N6 zFgV0HQmr+>Q^28KUub4t;UC@SH~o#ARrx0c_yvkGCIi02L;*Qhut`uO%|>56*ZU?V zPp5QKfd)NVt2dmD(6WeDqETxG17em_IR~mkEn#AhbTg9tR`vEZ3G4Ym?yZCfqIB7W zuIMVJQde17t+1at7ULArD48AbqLuI%W2ORU2T;WUQ&(POpXO+L^whyfsc9|_357$y z2OyA(s&w|Uwc4~WkR@)AfxeRZO2(F=lQIz~N2y3C*TwQ8%N`f{z2toG6MUGv zkR1SaKf@jAU^i-?XLUr5?Jt7CZx{?DXRy}KaF5UCOm#^XoO*=tS|-uJ)I`Pu+iT%Z zp3iT8UIsF!H+)QZ{d1#ut+D|$!Jk)}!4r9uz0f} zEM7<`IfCF(?gw!#HI5YY%Y)P%2lqHCs}WJwm$@Sb_(C6e@|NUqC+Y`evHHh-Xw_x)&0r4wJ}QGqcVZfaHZH%1gC4YTrz;@S7hGt^ zkbKYDITB4ac=jC=t;QH?Be_szAOckmomeVL(UPDKJ zN@H2SV~xuvQ;4~u$byX|;w?Go> zD0u%oapwYc?hsVE_~6ngw!skS^pyruovA<@ZV~Kf`OwP2-sf04kNv*so_qGk=|MbL z8NiuA8{0&Y1#{BOnr9b^u(>nQlxZC0fh+FY2OMtf8NavSsL!HNg#CGM-JWE4M&zjB z%8ljvdR;%8k6vgdyKxa9%cd3j{OXyalu*fy=E#`U!|NBCm-5<*xItcqR1`&41J z7Z_~kk-XG|t(D$>jj)@a))VXfkn7m#zv1BSb17LdpqOCbGE3?~@|`F3hAi8u#+w3@ zAmL8n_874jv3Czn3uB33U{%fb@1X&5V)qIc4h5(W*QGX}16g@XjHNlioVcE_&1=+&2zHGHc|GR-?#=!3^B$d1u*lxpKdtiz z0^@NG(9Lf>>M~}#{>`J@Q^`yl7!lm-&3E$BC5!o3!+>%ZR4Z3dZs9RLJLjS;E6+8{ zhf<=+sr}cxo%JiPqMwW>{%Damks2?MZ6ba)pMgQ}mtD^aPn@aS1WNU}9P3n>y|Bat zSxPxl-@`=-`0sbaRk8guP1fZHiJ>d?(ML^rBg2huA8+4<45XnM`VPawwg>U!qI^Grry?&`s;6S!Dgz|3_XeRJx< zL#BHeS=f%G;k4h`u3o6hmY#J*@i7+xv1q{t4#A1-CG78@1LmflX#wxYX-9T217b5X z_#p=@0PAng7P!;}1+m;9L_VX6f@%TJ``5qGfOwLA^5z@5K5u(dstyowLt8QQ3l;}7 zC`zMG{)1=o_x>0ESe}3SiG=et1E~M{|Nftmfq>q$XvI@k!4Xqi|GYMPqoaU6UUO49 zQqS**8IF7OYB6Qy8R9hbhV|zBpi*B)$>`JO+;9yo#H;`^NOtOx9BTTV{sN>J*K<^n*+q@|NsbaJH+Tp&_VNlG}65%dd1<4y=mVs9i)G zq4Q*=I#?;araphwejs1mT+8pTujH>^{jFT-IvIFiw^?7~OC;9AVuO<cv0WOw7@`2v@n3!$2 z`?qi?1xt_U@u5x>O5c-bAB6&k)vONvP;1vkJ&S4p^#E8E9BKyH!S6s1S7?uA6WQc} z0Qw_z6GkiB!aM`Gqp*^=--2taO4o}LB$l9UIXrLl@BamyzxE{>@ikDOjvPakVClKc)*kA14V%tlbdf4A$Uz zSa%??3^;t`+W4^+|2)kZTM~{G3{-y$A=_@-$?tyqd#aqn=Lgtg;(v0|aU7L8dYz^k z)DNHlt=Py`gU_u7#u~n>)40-g?KCB*>XCY#c+jWh9Qw`LD06V!)u^tUmJX=7_=RfS zk|K@5{6;qu+A=hXET!9?0xYD(>Y-a*bW)w4Nk9)nJq*;%q6%DtGeH;VE6rYmgHJj! zv$%sbx`xUkWaC%u95B_v+CW8$hUxWch644M2!KG76!C!Al67``IQmKu6-I6t=UOHc z3Jc86p?_&!L)a^L?U7-1_SF5I=cH~Ze|eCR;^$7LoGY|1mG$FQCuWL?^z_mq=%+Rq z?}7H=Us0bE_LpgWPRYCj@J} z0aad&AcWeyWfG}msFl1O)v3?2YlHOa#Jn1I1|s1#x@K>^mV|5A1=k<~hJYF1P&%fj zi3_e)131_X%~YY$y-e;>QYq`+TXistV|_@e)D5}}YXqH|cZ^r_fWi0F{Y8?+G|dXK zL`lUD!JL_0g%f|u3;}4-XKydr;pjIeo;87qqK6jLKwH?J4Mezl*$oQBDIfxIzm*#G2Su4D~#5jc0I z(;`+1k|uM)VH0X-8$@e6(&|1v>)w8i)TMi_PFcN@SJ>a%US8<~1@LUZu~D=q-4E^R zK&LKgnXm|y4Ol+>{nTR)#5@W%234GcujE_f&DqG?-%X zqApyl1dTctxSg1&`agMA$$X$_Nv83T8NELz%db-B%IlHET3>v&DSMxOU+1}vrTI!F zvCYofi3nktS7d3=$ zkj)`&Os}KTMK*1Bq>VB$gE!XCk4>Oz99+|GG^&`D$w17)GT^+NDpDD^P@pIbfqyf*&F>P&cm4`LG($Kt)?Woo#b1L^DL@^XBNmEAxXM z0Xk{Blh?9})2Ooi6ysu!a=>C71meP+nF!vakF`T%n#HSl5OB^+p%mgqKDWIHB37zUIABy(Hfirj# zZy$B!X_&n&fRP`V?XlJ*<~18o7(@T6T*O$)++kB#)%2+b-n+ZKo!g#a z{sBr+aICN`Fz+#)Jg7lNV|QdWHUnJ9mhp#zG_qY(v+V}fZbBf8wVI9;V_(0}zznS- z*pJ<7?O4}|=K=smpD#d=P_hyw2#99;2!8yOdJH{aAS6K_cL;B-ShH^qTE)JW4IM&& z3%fl8TRM5EF5FfpdZ>XG>-((0Ed0 z<5sWZ!z}^3c%jAW|hu0anV-R3a~OY$~h>de+4CF?}uGE zI9e5|c@}RQX}(D+`Xv+U*aI00(c62mg}H8XjHcywwafBS2f>yN%hxNESMl>S0*K6T!-06~TNE1`&Q z3ESR;H(cwf27_=Ya-eT9#cvY>FU<2w6I&zNSY{L7I(3a`I5_AW$^E|jo>qQHh8}w- zm1h{OH#+<=^lcwA*|HyQ&Sb6kgf40yu@Cb|->}o<3V|iwv-Md|NBUi``}ICB34@qq z$S5@(<$16^#3>JaemnJ5(enNnqn5qo0jf`nq^sL!#^~|?j z0;W^5K4YK^Oo9EbAHfGWDlo2rglzXR++4HKHfk*gy;z>yjj1t@$h2ltiAMbwokgM# zmNfy2oIOj+f9F!?V!=Ul1Id5^3clNcb;}+2Lg;U)8RS|s$wbHzP44&X8;kcz*ITP2 zhApkEjR2^Ojf+k|Ni(|<$FwpJR)Dk!cO3mgYds!YBqO zcu!{(-BWN(tT!A`GiH#J^%$<9u9mEKarT902bF)!10Qnb)CXn*Ksoff4)!rl$@^0N z^qlcKDx>9~4W*9vaKBS7;z#yx{2bY;R9b4379N;G&4kD=KQRe@H~|XI^k06ZPQi-G z>dfr6R%;Bjio`3{E!WnoS`B2azY7}SneKxxvSGrY@1vDg^WsvCP-FXD-+R(^JMKCu zLU3;zxR06&mL6YG*vniB?!6gc$qdFODVc(D^t$^ItZx$KZdd46X7azy;M>u#$- z-i=)8TDeJqS>vGD(6u@fU_k`U%4@7ZRz^K7_`yGc5te^R2AY}(kc(zH2Bt`y(RGt4 zh_fxJK0#4E)856oKF)wR1Fg_n?A7*G_7mE;9T6AY{r5XLzxoIE4JYnbhGeiWx>S<^fNrB3k*`4O=c2Lffz`1^;w z!NeYW4I^mlV5R7K2N>}i-9O#bX~LjaFr$%IDDTj-eyz`YGnhg?DD}bhTvDlL%q}j4 z_9kLl8wgmymTO{VOe+V29l_M|&^sIG_s}Y=A-Ec5rD{7kolSQyD84^RaMrOLFOb>B zfIJ_9@{kMtT;_oBq$7Bq<_(#|5+Iv^>2X#i-+SGgz?eI#&>_#t;Ideg{JA{Ry3BX4 zPrMI#Fh217l1H(kk#e;3r+)X<=W3JOBLQ%aFfUjq0_Mt2oS0nBZ4v(DM-*m`KbPrf zLE1n+E)8im!{j247QDgt+vqv=>BS560e8}>9X{9lzpO@Pi90>Fs8^y{&v7zg;Ni%i zoPC}ZeMHg`wwKI1_4WVg>|AX(_Gu$qy^O!~=n1T!Gb(J5U)_k&vGt*9TAeXZZB$0yP`BteN9E$4b;*Sm&A`|T zx$LuQ2I0BPcPOadqCTZieVigHg?^Kw*DpJbweo8aYaN8PFPziS>X6t|G07n#J!hru zBl3L6F6B(b0~=gVW#J71Z_L}6oUUToMVg3U(fnhef=@XPYc;rHxXcGNpO+g%dw%XH zvA)X60;s0xbi(X4p-~|>RNbjPlL|syU%aG4z-}fXJ6i!+K|e^d3CFRnYjRcdsgg6) znontN35HB``_T(&T5H>rZadlT_N;LtFkco~2#&0pVW+zK;<@8n;<;Rh!jH{*n1askeTg$0(*O7 zh4(ry*LvuEakZ6w+sOccwOTW1ZuDpC0D-Qa^n3!b+!y)D6*Esa3`mLYi4>ZqRpC?y z9AmpwU^UgO%>#o4YpUT|#j8iErVqo;gl=f-YR%Bwp0hx}c0IB*V3mBm+saq^USC#k zr}twYUUs^dD?NkJmQk;x*E4qH`nK#e+rbCnwN2g`g7*X4h(OB&pHw#eB2YQmi1AQ6 zxCnmcZMXdU$v@iY;-Lhh;SCY-13tS$hDo1er@wQpcJwz2D!tUN+i6dszbl*(>YP8* zXZfdqH&$!fqgH>$%Cj)eAYCMc8yO6T}flbY!e+)YJ)^gArey9ioy zIK=()e-6=B@cFRXR$Frrs?6}q(!u^0;DV=GI0S6Vxtq%j#6KsSKU0G8QY#(i7ajba z8HAmm|KYXE*ZXCgLiZ7Ca(TP2eKQ||-2;u>&$Rh|J<~4vj_>!7afgxdhVRS#wqX&B zo4=9Ve|gjIf7{55Ot*Z)=jQD3g#LR_`|_CvHzQ&PCWz1;6FL*Ev)aPZq_wiI3GAdW zKihIW27H9FAf-GYE*Wo&MSX>wW=8#SA1q9yATZ|V2V(_hqxGl_&T^qX*N2;P`3QZD zCtE{j5#ofp?sXq-lWF0g^r|ws)cM-ybv@5%meS3G`Xvc=HqR{#p^5Y9`8j_+=;yxD z`TY7OYi8aqHq49j@O;g^jI*B^{XQ@kCe&*8)-1XTgeP=W0$EW(UcS6ypZ0MIWESTs zIvdmyf?(;POzo6|CDs%$L9n)}m@OgST))3krzCW!z0*KoGpfU)(Zcl=0|?S1D-+u2 zHS1NiYg?pPC=8aZo`HS3@JE$r3mS-=4VoU`D6$;+lGW-$uDY+KUNv+&*;r9gQiY|Z zR)@4%*Q6y!N_JZyN(R?7SqmLdMZAmp3N$4Z))k0v6Lug+z}q z2B)J@U9o8q{3JbG`sod;qU@xZli?e?GUH8SQ_WA-M&aoLL4!ybUYm>>f$QZBP|{tv zDR4ai4jRm}gA*_yaMveSRL0p-r@hAfYa(x$-fCK2pv+mwEDx~&Kavrn6oqF=hjYcJ z%jr>pwH>84kL_}Fu86#a$%0rkTZa=-8LQx|54z4P=>cJ)?k;z7o2?GMR^wFZFL&LJ z{fCu9_cNssU5URI4d@laMAtyTor z0zt0P+~yrp&0Y%}r?)TQn2wB~d9kKQKKk`jOkc0ZkDMw^`hzGx_NaU4Lp{5YVCoqu0F+O{^BRR9vTn+|+t*CYzHL%P3mz z7xQ)-wrRV@-qzn8bk99kM`Eo&-PH=2RJh&8d^aU%HqG4qFDJ(_r`bqSDzs1VLVuzGq(v65rx)J4o~TGVJ7v%~7H=~wccw4eio;hDDx+?tjDqtI002TI_Pfqx=6FQ-}#UYkrx3lOOS&1Mt4?-l}trz6^0Bk&h@Hg*&+he zs$S9eI+TwbcWysZz;6wpR2SrVr+Yws3JF)7PcT+)YwP08VjMM0wGwVKWjkWUPZE7ci87QowRyHUa39UTxh%m zzfeCfp=2x=Ab|e!H9<@VNJvdC`#I2F&(Ak6@BE2IR=7bk<@>Ghf#z&&Z(B_+?)Q5p zKcNeRhkWW%=o&qLgJ(}z>(!Xk3`b_=^{=C5Nk+{WBO_Aiku*>u-b1yt2FiC(x;Y6Z z!3810JkQ7=^$30u80rSvL!^rViy4qu*(YGxAYkcqBGP143p6~WC|A}%3Y&4WvBQrl zB^3>9o|UJQmttC>|LB{M=%=j@3tmT49nMat+2mvDuH;ZZHIGA)zkzkG3aQsmp&$Hg zv^G*!*t576aic?IOOg4p)CeP+-C8fuNDXb>5W47V9$oT&ym^#H?=*l2ek*I+#IpI4 zMU7r(1%tis=}`8T%Mf+0A9eXkwQ-zPf9ff9N0z;Ob)6)YhZus zzCcis*XxG@^T30!0GpZINoEsVu@ufz$s7?k!ao390RXCuNr5cI?ah^`Y-{k_={@!O z-Wla|t?zHvK@HrGQ}cEMJ+?p3pz}vDP*SrwQ?NtVrY@eHuJ_iRA)I^2K=u%n($~o8 znNjb@2?n0lK996n!TYCEai2j|W@h>sC~g{T4Z5d6k4FtN{s*8OXFJbD^yO608dlE_ zH#y}<_s(NF@7~_a0@k+&72jo)>|pW|CYDb{r!z@Kv^5Io^)>+i10d44_f=@e;R z*JNtl$&(qOWR9b;uwpRQ*s(|Fvh5Rw!Bcr=M5KKBKG_c$_DnqZjNu!zvcc2l-}OqD zx-R8&OWV+N=ilFdE^ZWD`&@0zIZ&R)=;>P|!PFOOH4@(F8M4t}u^UV9dzxYR&*6EO zHjjlCk9Eu*#+sz4G;y&)0E#sQC&t%5y43^?iU@2NqmYIawgO&P%2kT6jd(%&A6#Sgg+MY7Jnq zVNE;|ilqe_*kh$PcU3oX%25-Qb2|+cX`pN{9@8Ezk~C$e+15}eW?C7{F|!%Wctk^` z#18{|0?EW_WL`~J9DywAy) zGvnbdBIROZrMR8FpuMsAp^vc;2x!|zJU+IX7d6=J#RU!b#9&M3bhVLmTw{Ts?I?#k zpK@h_Xt^k3x-bo2hd{OKrTgMa*IGwveFd)pZNlnIu@cfY*cQVYjr*Q7gXyi9?D;x{ z3@v>$BO1Jxb^rS>t>-Zq8rVB<(8D{ zawb5rI<$j27K-?HBiqirAMf5EiGsMa+0W=_RfXDd{rd;HXFsjhni;O;<+_ru`%b=A z=M3cuxk_YcM7IHGZ3b}sF%B=D<8o*Llw4@0u)IhxKQZ-g{%of$W%n%(_m^ikA-RKk z%5kG}`%0g~ZraJe*M!3g0iXiwduCItmY0D;wyYQaccIVgleCww>QT=1O!`9wG(M?T z($$GT#)o<^T_UwlAJG&kN~RGdTsFVvtXutNAYgC7LL!^1XkY}(Svr7>VAvge54w%N zWX?a_;md4nIS8``4~Aa@Gos9N-r_8mKSh=StC#ptv@*(}u2|@AGH5^-0Wob3@z$Ql zjPkOj>NKur`T>ICw~5QyTzJWtgac75`*WKq-Qr2Ci?)u@|h2&B}-%1PnIdIv7&}r3pyBOvq&W3QexFL`@>9qxtpY^|c4l-qD1g z@2nVrSO5fGoSn=1EYJ_U*2GEQ?=-z{Y&@gqi#aYG$*Umq+BqZ_x*7kuVpVZ-mV)8jysH2e_iys zPKVW*=ikpBSXsI)1fvx}Oi&(l37QJTF!SsPW@dTvwieK&=>{2?j+9!j+tLw zU*pZKqHQ~7GQqR0P#cf==N53v27YH+ym|KbEvR}laTB@=e#qjd-K%TXq-N3?O{5Jr zDtV)IZg4ijRfKG_k^1t&dto;&P6EU|8I9)pMzR{==ztVEO*pUw3QculiKi+$3qtoQ z+G7RJ{FwG+Fh@Y_FrW?)m$o@R)MTG&R>2X^MD_QJk6y?pfB%mppS7~pz!*RnyUysG zuGedMb#rZC*)ht9;pE*e-j5TF#OzU)m$y4TTJ}I5XJIDPpf%nZVweD$%KPz-jyb5v zg{o*a4w;QJ{r(4j+ zT+7)bG6UxBHOnang2^x8E2usG3hcWKxOAj81_D%;GE4}JBRhTIIb3Ma`w2wvbmKjP z&qq63Q-Ba>*M$d?CCxEc#(Ksq&;Fj(E6$4C#%UI#ss?8bTJ{&Q%apB#Ir+8mJ+f(I zOiXNKIS=)n`K;#mS=6`Af4f)9?chYXM_I3&=IlRqKvz7Q%8*1JGO}m>=j>ZPeE+qY z=o61O34MLTMcVz{%kZD%8sy;X-nmZ?j6E(qeCG0c!yz7c$m|RX$h`7EcrTqann~PM zVtzxmb=I?;Wjwuc$#=U=$bxZ5oeY6a#-3$$$yXi%wpx9?jb7g+$~5(GL&g|oUsiMO z8VnL#u{*dVjJ15@Ji<3cLMP<~py7k;3{Ii&=(KWJ}Kjl%w5LSX##$~Pz#8ecbl9)fZa6aCCqGf^EG zbegi8ZNw=a@BmxXvJkBBx|jQzWGP}KA_Zm6y=CV)XVGdNQF|5%22_@j^8)@K!xDe$ zQJ!RUgiowQd43Mah@$UY_G~Wc&RB=+N39EJV{Nc11xwg6nLU_H(U^yI75qsA_N}W> z53*iS5G{C{qj88^v@}tChG(Vy znq6mUvqT!B9FhR#44v6o!R9`B+`!q0R!>>_N+J`Sbbc;p z>Tf{>dRRw!g|?+$rFhc89K_*yvOItZ+M01i?}CQ=;Bg6kqKP2?hqn$y080P4g^VwV?bPwz9-6u82} z(5Hd^qmaR7)v7+=X}gz79b$?-QQF^Xi^%;>t}$DTz1N5o5rRThHKP;gNT-6(W$)>h zrdbFBHN+z;&nNa+oZ80PAQ!U-N>8iEbc< zSWl)2C*v75o)CONfH&y-tyU`qjm+c+06@%q=+7Yuxb4|98xG-izt!(;J)>ON`}%t$ z0N?B0!dKg%S7l}80sw|klY)8^{pwKYJc*}5CkE*qRw{b$c7p;aRBn@@2_`N=?)_eF zo8#)^j~;s6K~cLiec$bW_#J_PDS9BxdVdp$!-CvRdnf~$!2*bbK(|j+bY`75Qi4#8 zxqK%1d_yscz0MPWE*gBaoYCML!U}LQMt3&eHt@U6J8tZMu7e7=3ZwwdZb1u+ZZAbh zm#h`}Z*=jjn=Csv1$;l=wZXlfjlwsTG79vW*6qAi$LnQ1$=`;(f_ELTX+0M^D;t53 zVC8~F$@<9)L9+6$C%#S(%$6ZZ>DyUCsIbUxopKZqyu3BVq_VNY?gwwD9IZMT&-Lu7 zs);QvDc%EC#%O+61u?8CQQ&a1e!(sbE4`*?&^Ohu3*B-r)Ia(~Qk&aN(&FMbNp7o& z*{xNwtW?SL!CyfjFnaWXY~ASh%Xgnev80dl<3gB&(;Q3%n>DTlc(}Lb`J3fNzQgC;`I#K*i8&wna7{~!`%Hb8 zhmEsWJGmIMbvaPmLygo<{j%LCw>$N@^!Z&)Te+;)x?WGqnky|R8T^Z}OVPS9(6-gw ztypmy??9g|0~o5Pc9Y*&7feSg%CA000>F3Q4=dI#S#ZiGITB) zX3Pr%ii*G>*;n`(N+5Q7OO&Kup10}~s_k7tSCsqDe8p0lcVg3b@=>e*2XGAinY+Gc zyCzINgj$ing+5l%w&{;8dp-8E|Kv~pE{(yc#_)H){mf8dM4c4(naojjRli(%5;D*z zVPrnke`KRcmYU_{dxtd~P>-uB4@eZp(Cij^E{4gR`K$p#h*mFKt*oAQj8M|dybcBc zpxL1a8=_kt$Pzs%o1KCa`Z^8pQ!v$BoY2f{sYB0e9MC`Z`fzxa4IV`DoY%E69@%FM zRM&b{vDH)1RXF!WwjJb57T19r6Az0!J@m5m94@wrUwX{}!4GU2&f4o%SDC4Uq zxMOIrDf=Z2{I0KW%m4-$NL#0IwKi}=H}mGB4_Qmg_tJIPfAO_`#+Eg;ROUpVpuC_CsLo)^bUZs_3^ZPRH(N{Z$t2xXp^Sk z6WdN{aGsorfqs2WyORI-|Mb6;-Plu1>-wvg@;CqHFC?R$dcBtCAAc;r`tv`L_LJvw z^Xf{@UOXevu$wwMaSg?}pdnz-ih?b{`fa{-EV3K#$GbIfE{tigzLD8L!}6$5q67X5 zTK>^7eov)-Cr4pHkwKV@z6g8NtIg@u4t}lsJ?w7fvwbIPwP@E0ZtWS5stp?*#dQHe zYh_k>u=@DpF~qjsH1dMBot$PqErEEy7Smxl;pgfz=+~JTdasUGpN+O$wWf3nfC7(T zM4K(_LxPCHRx&qwAvbw1zf!yVb+uAEuFnsF2cL7YjsRds#aarH8Np_kMha(fI|E#< z4jDqcs!sN5d|FS|k7aS^OyOZhqi(w|am=9{TDHGq0Y4mpA#W790rWafR@F~+3bJ^6^3NkcSUS@VIEZm&M8knr?vew^uc80D&jV2q;1ch}k zHDJEl?$lN{7MqxSyu8Z;Vq}B*$)A1pd;L2Cw3-^QgPtp3ph3e2x>(#_C(atzXBRE` zzxyy6g=Jb&of74-(X}X*X7w1s9(d`48kPvsoyG2dBi*@SovcNPXi5$0c3?kWw1fiE zVXI1w-`Pe3+1AClEcgqM$To0DtgD%Zl4!QI&8E4Z2<4Uc%y9ChPrds40S>kqUMU zituxYIYn2N!@sF)G`$Z5-ZIL%c#{Q=&SqeIjQ=8wp+>bnTT!3{fgV63IPI+ExCS#| zr_TZl5yyPR-y=;;*YfVR<9h&|L)KHQ%ahk1>l%1|Ns%okkh{(WOAOIAfolscv#arC zC#+c;2{UADFNP3#vti#01QT$6Hh=Ijy0zG~)pGK_Zk4XL24_#N*QKAAzzUzNhQ{T~ z`2VP2POU-jMz8A(Xukphzx&Jofj}65qxRxV&OiM~re8dh7v~!?R3^VS@1|i6Sv1s} zO19bhRKIoPW3m4Cfh#E2wV#Fh)w8{g zo-Yte%z*^DgF8Tsnly+xc42MZpx|7BOQ!hsM+m`A$;wwALF^jUq;Mu#f7z3xBL&898@whF-=Ch%F6hJZioWYM$oWuLzIex3jB7C!Zvv+7Q@@WHlY%yv?MD7U z0eA$$gFdfcZ*K^sB+rPq#pgTete1e)fnBgL#Qn>u06l?SbV8gw4$8KEQ9_`5vl~X) zW$Wybonp=P3}6v)SFn;*M1Rk9AHLA{0Fw}n@AWJ?wZ*+Zo?$ zj}$N(U1b-$fNULCVk}2K zY5qNW2Vyg`jklA(bZw6gF=lrb!-(eZwy#KwiH80pQivxS)Ur;ArXx@Xh=N|iGSZ;p zNa#>+A3(QJHz(F!S9QWsTh^AfS)i1oj(@U!6CJ$bGzj{r_7vMe3xO4aU$m;)Y-|?l zz#e{A`kGJ9Td&O-`2d0k$5b!{n(tYLn$PdpRsO!P;9VS8kCQuO5OOmu2m4vYb`<8o zzON8}cL!|H;0|GQk-S$A`R3!Gz9hrg(e1`Es`{2vg@T=$b^V#sU+8h8T@{5M-j0r0d6hhzp%3EXOQ+PrJr6f`9JYY4Z&uHc-Z&v|G!dMAj@ z#S42NT*7nvkSU%6{t)DcN?N=|ZC+%J+0iA0Suy)?eTSq$$$EdMHCX~hxx2qCqc2C* z`5rAKrehzr`o5Y;4J(R}!kE^N9-Cl6fdo1H%?{Vz6c>{Nf^8T%IiiiY;Ka zMA?Mo9QMEdXM@CIKQMz_qh1#()y=u?Co9Q}k1;(b9HvWxn9uc}+-%m~nu!52!_d=v z4Rz&3s-dL0OnNdzfMeFfN56)1=IpI1p=?<)Btr zHe{L&q}cT?K$y3U$cw2+U4T+HYAERxWW(rUsiz2T@csRhFX&}5o+YrH$C^LqReGR} z_EdG#@DSjEgWAm>#`gYbhpo~ui<|M^oX&6%V-Yc0x~oYOIoIG1we;w%iW(61H3q4L zkB-&H`p6q*Olri#5LIZ_dQi6p*r>5v$CWyyIF^-59tM27`{ z4qGm1kW0lHX04}k6Lfag(kSxXvpirz-8t%O^tIDjOMqt5*VLO zuAiZ;s7dTm!whB#GxEnQ^!E_ayE^Dd$LuY~qIUrB0}X8}(9Xw|&70{xxbaR7WIMrl zNp}7qAcpO$`s~?~C{5kcm*{v#*Cvhvexee;j@)i^!X8DCYFSOtp>+9L@zN5tlgiexT20RkxT_C>w&esER6%k zTOqTr0Byvd7GQ%J07riE{6}^22O9cNyQ*&}0l8-(CETH_%X0mAP<($_);O~sK2sFQ)s%GXADVcoce=$4TgTRYs`0q{!ESd1_3ViAv5fW zp;d%_3dpXbm6S};bet&8fKoVpKe9O{w4}0gv*e2n05Gr_!DHoGOzau1{wG9~n>1LL zp4~OOJk*+e2xzOPe(HcC3aB`z6LZZ^JdkTat~OJq;*9rf3>F)eQ++}pZuBZhEAR-Ix}5g$<6P6qfhddfoLsgn*?#3 zRvl(t2+uVrAoW)>LM(Kd7&xFlB<*_!0K3r&!x6oLKAoybwi z2^ub;Ez>hK(A}3`$nJ};H2N51m5h!@VJBD_Dp#s1>d*R}w+pL?%KJldUce z>rWiSgvNp!#G@)TF!oJ>rD^(qw$yqo9G#a3EHx_7s`b?_6YPA|i&8wC5q$IDeW(FSj5Oq&7R`B4A-`oI3yWFg>?hbY3uAODf;T0DP!PFISA{^f5- zr-61A;G48s%h^`f_&P|TRd;xr`h2^=1d6Bn$JPJ33%HQXqw$t<;zu(ZA_)dai5am(R}SLj^Bd z-IrJGnf&^^cSCjD%)mC3~&4U4U$c+}?niP}VaM(j7M zw!05Klm@9NP5>GJAoLMn65+u?AW%PJy;4vxPL?HZOnDV87sXpdo^lvvInIG^30&r% z*RBB)!>ln7Vky`Kipz0)rR%Nst6%vLQovZXL1vRhb7u}|_h zdY*i&^YO>(Km6In3;9GpuV2F!>!1DCyoMe+4+60@Lig&A={3Xm3q^5yQLP$y1QCFy zCgp<0KKhO0@6odwGib2{2$s_uOU65s@(DU>qxZZ5s2a>}^vPINd>z-Fx0?#qZ#jB~ zsbq+0Zc5|hY^`3RUs%X@m8g>oR>>lOw{774c|AK!P@wR+e67q1-OKe74$9qOwsDEI z-2a#6IZL2m5An?ZpWEYnG%HC6MxV!-iS;m9w+Av3F()4JmkjYtH!aKDeIwHjI{usi zbBw}Iuv2=zx0Q)xmNkJjI&r;vDcHB|otz&8CS2@3RX?Pa?b%j7fALEGaQaAY$426- zwQTk)`FwMuf#?nI?I3U)WSQA6z*T7}bzJI{p{Fx4f|Zw+TDX!7#B0O|YkwW~J}7!}mAO*#hyCiwpHXHe}x--uUmn+{@>CBq!1NOQOnl5oPvuM)|&Vp4q14V z34)4V1t~4rPCe@W)vY?(6=nO+#DX-UYLr3O$sTIsfn%Z`@>~)glHK>^_boe(Mr~sy_ zU=(O7SJ(D{V30@;^Mlq8hm!Cmoho_#q{!SxfJN}!w1lhgbFnKylSI;S(`gJ26#v^>-Fjarq=6>!7#2+BJ_?uehv9*P{O|3=5K z=Vu19$mUOGm9kMi;Y3oUU4pX;yf%{XxzYGZ0M_*w)*H4BK(Ar6R>BultsS1`Ua8L3 zeC`QG%GakPr*rvpUf{2X!z?eJv;KA1FZ#F*NseY7A34k^K-++Zf>~fSG&2B=mX`z+Qvzpa2v^=E+XL+w)d2x8Q*2Hy zS*74-cDDDCc*rizuXTG=0GvW$trpHE>?r#fhdItZP&XeV!~ns@XEXDW42UQ}^Q?T54}n;V9;H%w_Ny|VB$-cBBRjyficnhu zl{^%b5}}$c-UPxu)nq{-f+=R6)Q>>6f33d7Mt^<@Rui%=v1na5O*0(ahN3o|a+doO zQtmM<=3nl+tHmD*cfR$Fqp0uN!;EAqj58gYR9I34Y)ir*{j#<1Nu*APX#R`U z!oCGwec)$X`z)dFA6=N2z|DQ%Guv5s)V&-zhHPS|q1S*sLC=M{@3OB4wtG!&X2N30 zO5kU_=^kcL(__coXZ;4V;sJSdDBr%hY!Mqn>FvFEul(AEn)l)8VwEUW>nP-l7I;Y$ zj+PbY>q4G=kGd**!u^pLyqq+!PM?LG`hIOJAC0r3w+u3bipg*_HS_eqkRdOePP4C; zY$RxsiY+bs=1|#>u09qj0!*0L!3bwzr3ctr6Sk|hCSUh^-cxkCI=U8N+Q>KrtGGIC z+)$HhPQAQMxlb%v}kW(9{pmO0Z{xn!^EHkjt`gs+# zKAVrq8P_I5!Jt6AUmZ~#TUg^{#8nIOs=01xUJ2ef9wW`3w=E{t8kfHpIT9UPcbM?jA-%syw{?`*3=p|X2R0m*MO-;X>3gJGcW4Bkh3C|qw4 zK)|yQKWwTz1BEsse^!}Jp|>s*A}-M#7g9Yc>vv~88m;y#+-dOf?heajWVSt}Fe9%}c7>c>TEJ3k-i^V0YByT3Hvj}wh4 zITf|2?`Ermjqco9h6^p+tnC$JP3*x64¨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

    tp$!{w{nu!Han_71FpFFY5@ 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

    SruxM8P^rCO)r^ew%lrHAXsQ1)9t


    K%HS*@7U~UWHgfuS4)t-?{tj=UCQWvq6+( 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

    yA=Im?nM{S^5V~!xtl~pyB{hYvY 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

    `AvsqvmIInHhWAi1YV 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±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℘7A!`ZXsYz3#ccx{P1VZ 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

    Eys2MK`ad5J>dHK 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

    ngP<)V*0MziZ}rNvms1}Hhu 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 Qg!sJVq?9GA#Z7|#2L|XQv;Y7A literal 0 HcmV?d00001 diff --git a/res/menu/restart.png b/res/menu/restart.png new file mode 100644 index 0000000000000000000000000000000000000000..d4b6a8c080c748c6bb0169eda77ecb3c2bf611a1 GIT binary patch literal 913 zcmV;C18)3@P)^;T!UQ!Fv`mmNLBj+o6SSQm>I4lFfIpU!vv6Xa95?yz z-IFYxv+pcS-!t-X;Zsw}$UhGo^yZ~}#vYJtJkkRBYgL0QREAnb9A>*3 z*hujf$3uZSmuZud99eOzYpg903}_(qGdf zICO(Sb*NcE;Tm%Z=S0I87TYM>wmGT$@9d%3bTX24{$SkGcMJ=$Uo;jz7L3SWY6v@# zzd(1q5&7gLrXeglJw!mrI&^6XhqW8KI4vyd(Xtl{6W>Mt2Kl%a`Fkj!C47sml{uw3 zq)FEJyn`|TX$h~R7feyNRvS3LLOgTE9F(xopAY8v|H5UwN1t^|nI#pytX z?!QKO0{r44a>_R@k{(Kx2bKLz)QmY00000NkvXXu0mjf42_wi literal 0 HcmV?d00001 diff --git a/src/uet/oop/bomberman/screen/DeadScreen.java b/src/uet/oop/bomberman/screen/DeadScreen.java index 98c5601..be06989 100644 --- a/src/uet/oop/bomberman/screen/DeadScreen.java +++ b/src/uet/oop/bomberman/screen/DeadScreen.java @@ -19,17 +19,22 @@ public class DeadScreen extends GameScreen { private Keyboard _input; private BufferedImage restartIcon; private BufferedImage homeIcon; - + private BufferedImage backgroundImage; + private BufferedImage gameover; public DeadScreen(Keyboard input, Game game) { _input = input; - this.game = game; + this.game = game; options.add("Restart"); options.add("Back Home"); try { - restartIcon = ImageIO.read(getClass().getResource("/menu/icons8-restart-50.png")); - homeIcon = ImageIO.read(getClass().getResource("/menu/icons8-menu-50.png")); - restartIcon = colorizeIcon(restartIcon, Color.YELLOW); - homeIcon = colorizeIcon(homeIcon, Color.YELLOW); + gameover = ImageIO.read(getClass().getResource("/menu/gameover.png")); + restartIcon = ImageIO.read(getClass().getResource("/menu/restart.png")); + homeIcon = ImageIO.read(getClass().getResource("/menu/9165683_home_house_icon.png")); + backgroundImage = ImageIO.read(getClass().getResource("/menu/forest_by_forheksed_d9q4k94-fullview 1.png")); + homeIcon = resizeImage(homeIcon, 11 * Game.SCALE, 11 * Game.SCALE); + restartIcon = resizeImage(restartIcon, 11 * Game.SCALE, 11 * Game.SCALE); + restartIcon = colorizeIcon(restartIcon, Color.black); + homeIcon = colorizeIcon(homeIcon, Color.black); } catch (IOException e) { e.printStackTrace(); } @@ -61,7 +66,13 @@ public void onKeyPressed(EGameControl gameControl) { } }); } - + private BufferedImage resizeImage(BufferedImage originalImage, int targetWidth, int targetHeight) { + BufferedImage resizedImage = new BufferedImage(targetWidth, targetHeight, BufferedImage.TYPE_INT_ARGB); + Graphics2D g2d = resizedImage.createGraphics(); + g2d.drawImage(originalImage, 0, 0, targetWidth, targetHeight, null); + g2d.dispose(); + return resizedImage; + } // Rest of the class remains unchanged private BufferedImage colorizeIcon(BufferedImage icon, Color color) { BufferedImage newIcon = new BufferedImage(icon.getWidth(), icon.getHeight(), BufferedImage.TYPE_INT_ARGB); @@ -80,24 +91,30 @@ private BufferedImage colorizeIcon(BufferedImage icon, Color color) { @Override public void drawScreen(Graphics g) { - g.setColor(Color.black); - g.fillRect(0, 0, Global.screenWidth, Global.screenHeight); + + if (backgroundImage != null) { + g.drawImage(backgroundImage, 0, 0, Global.screenWidth, Global.screenHeight, null); + } else { + g.setColor(Color.BLACK); + g.fillRect(0, 0, Global.screenWidth, Global.screenHeight); + } drawTitle(g); drawPOINTS(g, game.getBoard().getPoints()); drawTIMES(g, game.getBoard().getTime()); drawOptions(g); drawSelector(g); + g.drawImage(gameover, Global.screenWidth/3 + 40, Global.screenHeight/2 + 80, 50*Game.SCALE, 50*Game.SCALE, null); } private void drawTitle(Graphics g) { String title = "GAME OVER"; - Font font = new Font("Arial", Font.BOLD, 20 * Game.SCALE); + Font font = new Font("Arial", Font.BOLD, 22 * Game.SCALE); g.setFont(font); - g.setColor(Color.white); + g.setColor(Color.BLACK); FontMetrics fm = g.getFontMetrics(); int x = (Global.screenWidth - fm.stringWidth(title)) / 2; - int marginTop = 100; + int marginTop = 180; int y = marginTop + fm.getAscent(); g.drawString(title, x, y); @@ -105,14 +122,14 @@ private void drawTitle(Graphics g) { private void drawPOINTS(Graphics g,int points) { String Point = "POINTS: " + points; - Font font = new Font("Arial", Font.BOLD, 10 * Game.SCALE); + Font font = new Font("Arial", Font.BOLD, 6 * Game.SCALE); g.setFont(font); - g.setColor(Color.yellow); + g.setColor(Color.BLACK); FontMetrics fm = g.getFontMetrics(); int textWidth = fm.stringWidth(Point); int x = (Global.screenWidth - textWidth) / 2; // Vị trí x để chuỗi ở giữa màn hình - int marginTop = 190; + int marginTop = 255; int y = marginTop + fm.getAscent(); g.drawString(Point, x, y); @@ -121,14 +138,14 @@ private void drawPOINTS(Graphics g,int points) private void drawTIMES(Graphics g,int times) { String Point = "TIME : " + times; - Font font = new Font("Arial", Font.BOLD, 10 * Game.SCALE); + Font font = new Font("Arial", Font.BOLD, 6 * Game.SCALE); g.setFont(font); - g.setColor(Color.yellow); + g.setColor(Color.BLACK); FontMetrics fm = g.getFontMetrics(); int textWidth = fm.stringWidth(Point); int x = (Global.screenWidth - textWidth) / 2; // Vị trí x để chuỗi ở giữa màn hình - int marginTop = 230; + int marginTop = 280; int y = marginTop + fm.getAscent(); g.drawString(Point, x, y); @@ -138,9 +155,9 @@ private void drawOptions(Graphics g) { int w = Global.screenWidth; int h = Global.screenHeight; int iconHeight = restartIcon.getHeight(); - int marginTop = (h - iconHeight) / 2; + int marginTop = (h - iconHeight + 50) / (2); - int spacing = 100; + int spacing = 70; int totalOptionsWidth = restartIcon.getWidth() + spacing + homeIcon.getWidth(); int startX = (w - totalOptionsWidth) / 2; @@ -157,13 +174,13 @@ private void drawSelector(Graphics g) { int iconHeight = restartIcon.getHeight(); int marginTop = (h - iconHeight) / 2; - int spacing = 90; + int spacing = 80; int totalOptionsWidth = restartIcon.getWidth() + spacing + homeIcon.getWidth(); int startX = (w - totalOptionsWidth) / 2; - int selectorX = selectorIndex == 0 ? startX - 40 : startX + restartIcon.getWidth() + spacing - 40; - int y = marginTop + (iconHeight / 2) + 10; + int selectorX = selectorIndex == 0 ? startX - 20 : startX + restartIcon.getWidth() + spacing - 30; + int y = marginTop + (iconHeight / 2) + 35; g.drawString(">", selectorX, y); } From bc36c1d55e9d2ffcbb3859260991da35bf8feabb Mon Sep 17 00:00:00 2001 From: phuonnngminh Date: Sun, 26 May 2024 08:09:05 +0000 Subject: [PATCH 52/93] fix: flame not stopped on first brick --- src/uet/oop/bomberman/entities/bomb/Flame.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/uet/oop/bomberman/entities/bomb/Flame.java b/src/uet/oop/bomberman/entities/bomb/Flame.java index 1635d39..0b7cf35 100644 --- a/src/uet/oop/bomberman/entities/bomb/Flame.java +++ b/src/uet/oop/bomberman/entities/bomb/Flame.java @@ -87,10 +87,16 @@ private int calculatePermitedDistance() { if(a instanceof Bomb) ++radius; //explosion has to be below the bom - if(!canSpawnFlameOn(a)) + if(!canSpawnFlameOn(a)) { break; + } ++radius; + + // Stop if encounter brick + if (!a.canBePassedThroughBy(this)) { + break; + } } return radius; } From 56d689fc08bd2368f2eae8e34502b41c0ba894e0 Mon Sep 17 00:00:00 2001 From: phuonnngminh Date: Sun, 26 May 2024 11:52:21 +0000 Subject: [PATCH 53/93] change fields to private in Character --- .../oop/bomberman/entities/bomb/Flame.java | 1 - .../bomberman/entities/character/Bomber.java | 4 +- .../entities/character/Character.java | 57 ++++++++----------- .../entities/character/Waypoint.java | 21 +++++++ .../entities/character/enemy/Balloon.java | 2 +- .../entities/character/enemy/Doll.java | 2 +- .../entities/character/enemy/Enemy.java | 7 +-- .../entities/character/enemy/Kondoria.java | 2 +- .../entities/character/enemy/Minvo.java | 2 +- .../entities/character/enemy/Oneal.java | 2 +- .../entities/tile/item/BombItem.java | 1 - .../entities/tile/item/FlameItem.java | 1 - .../entities/tile/item/SpeedItem.java | 1 - 13 files changed, 56 insertions(+), 47 deletions(-) create mode 100644 src/uet/oop/bomberman/entities/character/Waypoint.java diff --git a/src/uet/oop/bomberman/entities/bomb/Flame.java b/src/uet/oop/bomberman/entities/bomb/Flame.java index 1635d39..6205185 100644 --- a/src/uet/oop/bomberman/entities/bomb/Flame.java +++ b/src/uet/oop/bomberman/entities/bomb/Flame.java @@ -4,7 +4,6 @@ import uet.oop.bomberman.entities.Entity; import uet.oop.bomberman.entities.character.Character; import uet.oop.bomberman.entities.tile.Tile; -import uet.oop.bomberman.entities.tile.destroyable.DestroyableTile; import uet.oop.bomberman.graphics.Screen; public class Flame extends Entity { diff --git a/src/uet/oop/bomberman/entities/character/Bomber.java b/src/uet/oop/bomberman/entities/character/Bomber.java index a01489a..937d9a8 100644 --- a/src/uet/oop/bomberman/entities/character/Bomber.java +++ b/src/uet/oop/bomberman/entities/character/Bomber.java @@ -64,7 +64,7 @@ public void handleUpdate() { @Override public void render(Screen screen) { - if (_alive) + if (isAlive()) chooseSprite(); else _sprite = Sprite.player_dead1; @@ -133,7 +133,7 @@ public boolean collide(Entity e) { //sprite private void chooseSprite() { - switch (_direction) { + switch (getDirection()) { case 0: _sprite = Sprite.player_up; if (isMoving()) { diff --git a/src/uet/oop/bomberman/entities/character/Character.java b/src/uet/oop/bomberman/entities/character/Character.java index bb3f4b1..1b857d0 100644 --- a/src/uet/oop/bomberman/entities/character/Character.java +++ b/src/uet/oop/bomberman/entities/character/Character.java @@ -27,34 +27,15 @@ */ public abstract class Character extends AnimatedEntitiy { - protected final IEntityManager entityManager; - protected int _direction = -1; - protected boolean _alive = true; - protected int timerDeathAnimation = 40; + protected IEntityManager entityManager; + + private int direction = -1; + private boolean alive = true; + private int timerDeathAnimation = 40; private final double baseSpeed; private Queue waypoints = new LinkedList<>(); - private class Waypoint { - private double moveX; - private double moveY; - private double moveDuration; - private double moveDx; - private double moveDy; - - public boolean started = false; - public double moveDestX; - public double moveDestY; - - public Waypoint(double moveX, double moveY, double moveDuration) { - this.moveX = moveX; - this.moveY = moveY; - this.moveDuration = moveDuration; - this.moveDx = moveX / moveDuration; - this.moveDy = moveY / moveDuration; - } - } - public Character(int x, int y, double baseSpeed, IEntityManager entityManager) { _x = x; _y = y; @@ -64,7 +45,7 @@ public Character(int x, int y, double baseSpeed, IEntityManager entityManager) { @Override public final void update() { - if (!_alive) { + if (!alive) { if (timerDeathAnimation > 0) { timerDeathAnimation -= 1; } else { @@ -177,10 +158,10 @@ private void updateMove() { } // Adjust direction - if(waypoint.moveDx > 0) _direction = 1; - if(waypoint.moveDx < 0) _direction = 3; - if(waypoint.moveDy > 0) _direction = 2; - if(waypoint.moveDy < 0) _direction = 0; + if(waypoint.moveDx > 0) direction = 1; + if(waypoint.moveDx < 0) direction = 3; + if(waypoint.moveDy > 0) direction = 2; + if(waypoint.moveDy < 0) direction = 0; Entity collidingEntity = entityManager.getEntityAtExcluding( Coordinates.pixelToTile(getCenterX()), @@ -197,8 +178,8 @@ private void updateMove() { * Được gọi khi đối tượng bị tiêu diệt */ public final void handleOnDeath() { - if(!_alive) return; - _alive = false; + if(!alive) return; + alive = false; // TODO: determine killer entityManager.getCharacterManager().handleOnDeath(this, null); } @@ -239,7 +220,7 @@ public boolean isPlayer() { } public boolean isAlive() { - return _alive; + return alive; } public boolean isMoving() { @@ -256,6 +237,18 @@ protected double getSpeedMultiplier() { } public abstract int getPoints(); + + public int getDirection() { + return direction; + } + + public int getTimerDeathAnimation() { + return timerDeathAnimation; + } + + public void setTimerDeathAnimation(int timerDeathAnimation) { + this.timerDeathAnimation = timerDeathAnimation; + } @Override public boolean collide(Entity e) { diff --git a/src/uet/oop/bomberman/entities/character/Waypoint.java b/src/uet/oop/bomberman/entities/character/Waypoint.java new file mode 100644 index 0000000..417df96 --- /dev/null +++ b/src/uet/oop/bomberman/entities/character/Waypoint.java @@ -0,0 +1,21 @@ +package uet.oop.bomberman.entities.character; + +class Waypoint { + double moveX; + double moveY; + double moveDuration; + double moveDx; + double moveDy; + + public boolean started = false; + public double moveDestX; + public double moveDestY; + + public Waypoint(double moveX, double moveY, double moveDuration) { + this.moveX = moveX; + this.moveY = moveY; + this.moveDuration = moveDuration; + this.moveDx = moveX / moveDuration; + this.moveDy = moveY / moveDuration; + } +} \ No newline at end of file diff --git a/src/uet/oop/bomberman/entities/character/enemy/Balloon.java b/src/uet/oop/bomberman/entities/character/enemy/Balloon.java index 9b74e2a..2cee00e 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/Balloon.java +++ b/src/uet/oop/bomberman/entities/character/enemy/Balloon.java @@ -16,7 +16,7 @@ public Balloon(int x, int y, IEntityManager entityManager) { @Override protected void chooseSprite() { - switch(_direction) { + switch(getDirection()) { case 0: case 1: _sprite = Sprite.movingSprite(Sprite.balloom_right1, Sprite.balloom_right2, Sprite.balloom_right3, _animate, Game.TICKS_PER_SECOND); diff --git a/src/uet/oop/bomberman/entities/character/enemy/Doll.java b/src/uet/oop/bomberman/entities/character/enemy/Doll.java index ab107d9..0114504 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/Doll.java +++ b/src/uet/oop/bomberman/entities/character/enemy/Doll.java @@ -24,7 +24,7 @@ public Doll(int x, int y, IEntityManager entityManager) { @Override protected void chooseSprite() { - switch (_direction) { + switch (getDirection()) { case 0: case 1: if (isMoving()) { diff --git a/src/uet/oop/bomberman/entities/character/enemy/Enemy.java b/src/uet/oop/bomberman/entities/character/enemy/Enemy.java index 144a507..6fe2b92 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/Enemy.java +++ b/src/uet/oop/bomberman/entities/character/enemy/Enemy.java @@ -30,7 +30,7 @@ public Enemy(int x, int y, IEntityManager entityManager, Sprite dead, double spe rest = (MAX_STEPS - (int) MAX_STEPS) / MAX_STEPS; _steps = MAX_STEPS; - timerDeathAnimation = 20; + setTimerDeathAnimation(20); _deadSprite = dead; } @@ -41,11 +41,10 @@ public void handleUpdate() { @Override public void render(Screen screen) { - - if(_alive) + if(isAlive()) chooseSprite(); else { - if(timerDeathAnimation > 0) { + if(getTimerDeathAnimation() > 0) { _sprite = _deadSprite; _animate = 0; } else { diff --git a/src/uet/oop/bomberman/entities/character/enemy/Kondoria.java b/src/uet/oop/bomberman/entities/character/enemy/Kondoria.java index 22fc86b..0f7db66 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/Kondoria.java +++ b/src/uet/oop/bomberman/entities/character/enemy/Kondoria.java @@ -14,7 +14,7 @@ public Kondoria(int x, int y, IEntityManager entityManager) { @Override protected void chooseSprite() { - switch (_direction) { + switch (getDirection()) { case 0: case 1: if (isMoving()) diff --git a/src/uet/oop/bomberman/entities/character/enemy/Minvo.java b/src/uet/oop/bomberman/entities/character/enemy/Minvo.java index 74ff675..447ccb5 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/Minvo.java +++ b/src/uet/oop/bomberman/entities/character/enemy/Minvo.java @@ -12,7 +12,7 @@ public Minvo(int x, int y, IEntityManager entityManager) { @Override protected void chooseSprite() { - switch (_direction) { + switch (getDirection()) { case 0: case 1: if (isMoving()) diff --git a/src/uet/oop/bomberman/entities/character/enemy/Oneal.java b/src/uet/oop/bomberman/entities/character/enemy/Oneal.java index 90af4b5..907aeed 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/Oneal.java +++ b/src/uet/oop/bomberman/entities/character/enemy/Oneal.java @@ -14,7 +14,7 @@ public Oneal(int x, int y, IEntityManager entityManager) { @Override protected void chooseSprite() { - switch(_direction) { + switch(getDirection()) { case 0: case 1: if(isMoving()) diff --git a/src/uet/oop/bomberman/entities/tile/item/BombItem.java b/src/uet/oop/bomberman/entities/tile/item/BombItem.java index 4413976..43a84ad 100644 --- a/src/uet/oop/bomberman/entities/tile/item/BombItem.java +++ b/src/uet/oop/bomberman/entities/tile/item/BombItem.java @@ -1,6 +1,5 @@ package uet.oop.bomberman.entities.tile.item; -import uet.oop.bomberman.Game; import uet.oop.bomberman.graphics.Sprite; public class BombItem extends Item { diff --git a/src/uet/oop/bomberman/entities/tile/item/FlameItem.java b/src/uet/oop/bomberman/entities/tile/item/FlameItem.java index 8e7f17a..cf3c0d1 100644 --- a/src/uet/oop/bomberman/entities/tile/item/FlameItem.java +++ b/src/uet/oop/bomberman/entities/tile/item/FlameItem.java @@ -1,6 +1,5 @@ package uet.oop.bomberman.entities.tile.item; -import uet.oop.bomberman.Game; import uet.oop.bomberman.graphics.Sprite; public class FlameItem extends Item { diff --git a/src/uet/oop/bomberman/entities/tile/item/SpeedItem.java b/src/uet/oop/bomberman/entities/tile/item/SpeedItem.java index 9094772..bcdeb48 100644 --- a/src/uet/oop/bomberman/entities/tile/item/SpeedItem.java +++ b/src/uet/oop/bomberman/entities/tile/item/SpeedItem.java @@ -1,6 +1,5 @@ package uet.oop.bomberman.entities.tile.item; -import uet.oop.bomberman.Game; import uet.oop.bomberman.graphics.Sprite; public class SpeedItem extends Item { From dbce61c09b5dab1a7987bc09ee0cfbb6738fe6f1 Mon Sep 17 00:00:00 2001 From: phuonnngminh Date: Sun, 26 May 2024 12:57:34 +0000 Subject: [PATCH 54/93] remove IActiveItemManager and IBombManager from Bomber --- .../oop/bomberman/base/IActiveItemManager.java | 12 ------------ src/uet/oop/bomberman/base/IGameInfoManager.java | 6 +++++- .../oop/bomberman/entities/character/Bomber.java | 12 ++---------- .../bomberman/entities/character/Character.java | 2 +- src/uet/oop/bomberman/level/FileLevelLoader.java | 2 -- .../oop/bomberman/manager/CharacterManager.java | 10 +++++++++- .../oop/bomberman/manager/GameInfoManager.java | 15 --------------- 7 files changed, 17 insertions(+), 42 deletions(-) delete mode 100644 src/uet/oop/bomberman/base/IActiveItemManager.java diff --git a/src/uet/oop/bomberman/base/IActiveItemManager.java b/src/uet/oop/bomberman/base/IActiveItemManager.java deleted file mode 100644 index 5d5a988..0000000 --- a/src/uet/oop/bomberman/base/IActiveItemManager.java +++ /dev/null @@ -1,12 +0,0 @@ -package uet.oop.bomberman.base; - -import java.util.List; - -import uet.oop.bomberman.entities.tile.item.Item; - -public interface IActiveItemManager { - - public List getPlayerActiveItems(); - public void addActiveItem(Item item); - -} \ No newline at end of file diff --git a/src/uet/oop/bomberman/base/IGameInfoManager.java b/src/uet/oop/bomberman/base/IGameInfoManager.java index 4d94660..32f8c75 100644 --- a/src/uet/oop/bomberman/base/IGameInfoManager.java +++ b/src/uet/oop/bomberman/base/IGameInfoManager.java @@ -1,11 +1,13 @@ package uet.oop.bomberman.base; import java.awt.Graphics; +import java.util.List; +import uet.oop.bomberman.entities.tile.item.Item; import uet.oop.bomberman.graphics.IRender; import uet.oop.bomberman.graphics.Screen; -public interface IGameInfoManager extends IActiveItemManager, IMessageManager, IRender { +public interface IGameInfoManager extends IMessageManager, IRender { public int subtractTime(); public int getTime(); @@ -17,6 +19,8 @@ public interface IGameInfoManager extends IActiveItemManager, IMessageManager, I public void pause(); public void unpause(); + public List getPlayerActiveItems(); + public void setEntityManager(IEntityManager entityManager); public void render(Screen screen, Graphics g); diff --git a/src/uet/oop/bomberman/entities/character/Bomber.java b/src/uet/oop/bomberman/entities/character/Bomber.java index 937d9a8..5ecc586 100644 --- a/src/uet/oop/bomberman/entities/character/Bomber.java +++ b/src/uet/oop/bomberman/entities/character/Bomber.java @@ -2,8 +2,6 @@ import java.util.ArrayList; import uet.oop.bomberman.Board; -import uet.oop.bomberman.base.IActiveItemManager; -import uet.oop.bomberman.base.IBombManager; import uet.oop.bomberman.base.IEntityManager; import uet.oop.bomberman.entities.Entity; import uet.oop.bomberman.entities.bomb.Bomb; @@ -40,17 +38,12 @@ public class Bomber extends Character implements CanUseItem { private Board _board; - private final IActiveItemManager activeItemManager; - private final IBombManager bombManager; - - public Bomber(int x, int y, double baseSpeed, int baseBombLimit, int baseBombRadius, IEntityManager entityManager, IActiveItemManager activeItemManager, IBombManager bombManager, Board board) { + public Bomber(int x, int y, double baseSpeed, int baseBombLimit, int baseBombRadius, IEntityManager entityManager, Board board) { super(x, y, baseSpeed, entityManager); this.baseBombLimit = baseBombLimit; this.baseBombRadius = baseBombRadius; this._board = board; _sprite = Sprite.player_right; - this.activeItemManager = activeItemManager; - this.bombManager = bombManager; } @Override @@ -110,7 +103,7 @@ public void placeBomb(int x, int y) { // TODO: thực hiện tạo đối tượng bom, đặt vào vị trí (x, y) Bomb b = new Bomb(x, y, getBombRadius(), entityManager); this._bombs.add(b); - bombManager.addBomb(b); + entityManager.getBombManager().addBomb(b); Sound.play("BOM_SET"); } @@ -200,7 +193,6 @@ public Stream getActiveItems() { @Override public void addActiveItem(Item item) { this.activeItems.add(item); - activeItemManager.addActiveItem(item); } @Override diff --git a/src/uet/oop/bomberman/entities/character/Character.java b/src/uet/oop/bomberman/entities/character/Character.java index 1b857d0..5420225 100644 --- a/src/uet/oop/bomberman/entities/character/Character.java +++ b/src/uet/oop/bomberman/entities/character/Character.java @@ -42,7 +42,7 @@ public Character(int x, int y, double baseSpeed, IEntityManager entityManager) { this.entityManager = entityManager; this.baseSpeed = baseSpeed; } - + @Override public final void update() { if (!alive) { diff --git a/src/uet/oop/bomberman/level/FileLevelLoader.java b/src/uet/oop/bomberman/level/FileLevelLoader.java index 9411fd0..18e14a0 100644 --- a/src/uet/oop/bomberman/level/FileLevelLoader.java +++ b/src/uet/oop/bomberman/level/FileLevelLoader.java @@ -116,8 +116,6 @@ public void createEntities() { Game.BOMBRATE, Game.BOMBRADIUS, _board.getEntityManager(), - _board.getGameInfoManager(), - _board.getEntityManager().getBombManager(), _board ); _board.getEntityManager().getCharacterManager().addCharacter(bomber); diff --git a/src/uet/oop/bomberman/manager/CharacterManager.java b/src/uet/oop/bomberman/manager/CharacterManager.java index 3d5bf6b..90c2232 100644 --- a/src/uet/oop/bomberman/manager/CharacterManager.java +++ b/src/uet/oop/bomberman/manager/CharacterManager.java @@ -10,7 +10,9 @@ import uet.oop.bomberman.base.ICharacterManager; import uet.oop.bomberman.base.IGameInfoManager; import uet.oop.bomberman.entities.Message; +import uet.oop.bomberman.entities.character.CanUseItem; import uet.oop.bomberman.entities.character.Character; +import uet.oop.bomberman.entities.tile.item.Item; import uet.oop.bomberman.graphics.Screen; import uet.oop.bomberman.sound.Sound; @@ -79,7 +81,13 @@ public void handleOnDeath(Character character, Character killer) { @Override public void update() { - characters.forEach(Character::update); + for (Character character: characters) { + character.update(); + if (character instanceof CanUseItem) { + CanUseItem characterCanUseItem = ((CanUseItem) character); + characterCanUseItem.getActiveItems().forEach(Item::update); + } + } characters = characters.stream() .filter(character -> !character.isRemoved()) .collect(Collectors.toList()); diff --git a/src/uet/oop/bomberman/manager/GameInfoManager.java b/src/uet/oop/bomberman/manager/GameInfoManager.java index 47101c9..f141e53 100644 --- a/src/uet/oop/bomberman/manager/GameInfoManager.java +++ b/src/uet/oop/bomberman/manager/GameInfoManager.java @@ -3,7 +3,6 @@ import java.awt.Font; import java.awt.Graphics; import java.util.ArrayList; -import java.util.Iterator; import java.util.List; import java.util.stream.Collectors; @@ -22,7 +21,6 @@ public class GameInfoManager implements IGameInfoManager { private int points; private boolean paused; private List messages = new ArrayList<>(); - private List activeItems = new ArrayList<>(); private IEntityManager entityManager; @@ -42,11 +40,6 @@ public List getPlayerActiveItems() { return ((CanUseItem)player).getActiveItems().collect(Collectors.toList()); } - @Override - public void addActiveItem(Item item) { - activeItems.add(item); - } - @Override public void addMessage(Message e) { messages.add(e); @@ -77,20 +70,12 @@ public void addPoints(int points) { @Override public void update() { - updateActiveItems(); updateMessages(); } @Override public void render(Screen screen) {} - private void updateActiveItems() { - Iterator itr = activeItems.iterator(); - - while (itr.hasNext()) - itr.next().update(); - } - private void updateMessages() { Message m; int left; From 8042ddbf4cd1ca4cff974c2f5198b19209a7e81f Mon Sep 17 00:00:00 2001 From: phuonnngminh Date: Sun, 26 May 2024 13:24:35 +0000 Subject: [PATCH 55/93] move endGame to GameInfoManager, remove win game logic from Bomber --- src/uet/oop/bomberman/Board.java | 44 ++----------------- src/uet/oop/bomberman/Game.java | 33 +++++++++++--- .../oop/bomberman/base/ICharacterManager.java | 1 + .../oop/bomberman/base/IGameInfoManager.java | 1 + .../bomberman/entities/character/Bomber.java | 12 +---- .../entities/character/Character.java | 5 ++- .../entities/character/enemy/Enemy.java | 5 --- .../oop/bomberman/level/FileLevelLoader.java | 3 +- .../bomberman/manager/CharacterManager.java | 7 +++ .../bomberman/manager/GameInfoManager.java | 12 ++++- 10 files changed, 57 insertions(+), 66 deletions(-) diff --git a/src/uet/oop/bomberman/Board.java b/src/uet/oop/bomberman/Board.java index 4d7e828..86ed9cb 100644 --- a/src/uet/oop/bomberman/Board.java +++ b/src/uet/oop/bomberman/Board.java @@ -15,7 +15,6 @@ import uet.oop.bomberman.manager.GameInfoManager; import uet.oop.bomberman.utils.Global; -import java.awt.*; import java.util.ArrayList; import java.util.List; @@ -32,8 +31,6 @@ public class Board implements Copyable, IRender { private IEntityManager entityManager; private IGameInfoManager gameInfoManager; - private int _screenToShow = -1; // 1:endgame, 2:changelevel, 3:paused - public Board(Game game, Screen screen) { _game = game; _screen = screen; @@ -53,7 +50,6 @@ public void update() { entityManager.update(); gameInfoManager.update(); - detectEndGame(); processAgentAction(); @@ -91,57 +87,23 @@ public void nextLevel() { } public void loadLevel(int level) { - _screenToShow = 2; + _game.setScreenToShow(2); _game.resetScreenDelay(); try { clearAgents(); _levelLoader = new FileLevelLoader(this, level); - gameInfoManager = new GameInfoManager(); + gameInfoManager = new GameInfoManager(_game); entityManager = new EntityManager(_levelLoader, gameInfoManager); gameInfoManager.setEntityManager(entityManager); gameInfoManager.pause(); _levelLoader.createEntities(); } catch (LoadLevelException e) { - endGame(); - } - } - - protected void detectEndGame() { - if (gameInfoManager.getTime() <= 0) { - endGame(); - } - } - - public void endGame() { - _screenToShow = 1; - _game.resetScreenDelay(); - gameInfoManager.pause(); - } - - public void drawScreen(Graphics g) { - switch (_screenToShow) { - case 1: - _screen.drawEndGame(g, gameInfoManager.getPoints()); - break; - case 2: - _screen.drawChangeLevel(g, _levelLoader.getLevel()); - break; - case 3: - _screen.drawPaused(g); - break; + e.printStackTrace(); } } - public int getShow() { - return _screenToShow; - } - - public void setShow(int i) { - _screenToShow = i; - } - public int getWidth() { return _levelLoader.getWidth(); } diff --git a/src/uet/oop/bomberman/Game.java b/src/uet/oop/bomberman/Game.java index 400345a..3e980e4 100644 --- a/src/uet/oop/bomberman/Game.java +++ b/src/uet/oop/bomberman/Game.java @@ -56,6 +56,7 @@ public class Game extends Canvas { // game screens private SelectLevelScreen selectLevelScreen; private SelectGameModeScreen selectGameModeScreen; + private int _screenToShow = -1; // 1:endgame, 2:changelevel, 3:paused public Game(Frame frame) { _frame = frame; @@ -86,7 +87,21 @@ private void renderGame(Graphics g) { private void renderScreen(Graphics g) { screen.clear(); - _board.drawScreen(g); + drawScreen(g); + } + + private void drawScreen(Graphics g) { + switch (getScreenToShow()) { + case 1: + screen.drawEndGame(g, _board.getGameInfoManager().getPoints()); + break; + case 2: + screen.drawChangeLevel(g, _board._levelLoader.getLevel()); + break; + case 3: + screen.drawPaused(g); + break; + } } private void initScreen() { @@ -102,7 +117,7 @@ private void update() { case GAME_PLAY_SCREEN: _board.update(); if (Keyboard.i().pause) { // Kiểm tra nếu phím "p" được nhấn - _board.setShow(3); // Hiển thị màn hình tạm dừng + _screenToShow = 3; // Hiển thị màn hình tạm dừng _board.getGameInfoManager().pause(); // Đặt trạng thái game là tạm dừng return; } @@ -130,7 +145,7 @@ private void showScreen() { case GAME_PLAY_SCREEN: if (gameInfoManager.isPaused()) { if (_screenDelay <= 0) { - _board.setShow(-1); + _screenToShow = -1; gameInfoManager.unpause(); } @@ -141,7 +156,7 @@ private void showScreen() { if (Keyboard.i().resume) { gameInfoManager.unpause(); - _board.setShow(-1); + _screenToShow = -1; _screenDelay = 0; } frames++; @@ -154,7 +169,7 @@ private void showScreen() { updates = 0; frames = 0; - if (_board.getShow() == 2) + if (_screenToShow == 2) --_screenDelay; } break; @@ -216,4 +231,12 @@ public Board getBoard() { return _board; } + public int getScreenToShow() { + return _screenToShow; + } + + public void setScreenToShow(int screenToShow) { + this._screenToShow = screenToShow; + } + } diff --git a/src/uet/oop/bomberman/base/ICharacterManager.java b/src/uet/oop/bomberman/base/ICharacterManager.java index 6e5e74e..2d062f7 100644 --- a/src/uet/oop/bomberman/base/ICharacterManager.java +++ b/src/uet/oop/bomberman/base/ICharacterManager.java @@ -13,5 +13,6 @@ public interface ICharacterManager extends IRender { public void setPlayer(Character character); public Character getPlayer(); public void handleOnDeath(Character character, Character killer); + public void handleAfterDeath(Character character); } \ No newline at end of file diff --git a/src/uet/oop/bomberman/base/IGameInfoManager.java b/src/uet/oop/bomberman/base/IGameInfoManager.java index 32f8c75..a6ff0bc 100644 --- a/src/uet/oop/bomberman/base/IGameInfoManager.java +++ b/src/uet/oop/bomberman/base/IGameInfoManager.java @@ -18,6 +18,7 @@ public interface IGameInfoManager extends IMessageManager, IRender { public boolean isPaused(); public void pause(); public void unpause(); + public void endGame(); public List getPlayerActiveItems(); diff --git a/src/uet/oop/bomberman/entities/character/Bomber.java b/src/uet/oop/bomberman/entities/character/Bomber.java index 5ecc586..c54bd70 100644 --- a/src/uet/oop/bomberman/entities/character/Bomber.java +++ b/src/uet/oop/bomberman/entities/character/Bomber.java @@ -1,7 +1,6 @@ package uet.oop.bomberman.entities.character; import java.util.ArrayList; -import uet.oop.bomberman.Board; import uet.oop.bomberman.base.IEntityManager; import uet.oop.bomberman.entities.Entity; import uet.oop.bomberman.entities.bomb.Bomb; @@ -36,13 +35,10 @@ public class Bomber extends Character implements CanUseItem { private final int baseBombRadius; - private Board _board; - - public Bomber(int x, int y, double baseSpeed, int baseBombLimit, int baseBombRadius, IEntityManager entityManager, Board board) { + public Bomber(int x, int y, double baseSpeed, int baseBombLimit, int baseBombRadius, IEntityManager entityManager) { super(x, y, baseSpeed, entityManager); this.baseBombLimit = baseBombLimit; this.baseBombRadius = baseBombRadius; - this._board = board; _sprite = Sprite.player_right; } @@ -100,7 +96,6 @@ public boolean placeBomb() { } public void placeBomb(int x, int y) { - // TODO: thực hiện tạo đối tượng bom, đặt vào vị trí (x, y) Bomb b = new Bomb(x, y, getBombRadius(), entityManager); this._bombs.add(b); entityManager.getBombManager().addBomb(b); @@ -113,11 +108,6 @@ private void clearExpiredBombs() { .collect(Collectors.toList()); } - @Override - protected void handleAfterDeath() { - _board.endGame(); - } - @Override public boolean collide(Entity e) { if (!super.collide(e)) return false; diff --git a/src/uet/oop/bomberman/entities/character/Character.java b/src/uet/oop/bomberman/entities/character/Character.java index 5420225..0887b46 100644 --- a/src/uet/oop/bomberman/entities/character/Character.java +++ b/src/uet/oop/bomberman/entities/character/Character.java @@ -187,7 +187,10 @@ public final void handleOnDeath() { /** * Xử lý hiệu ứng bị tiêu diệt */ - protected abstract void handleAfterDeath(); + private void handleAfterDeath() { + entityManager.getCharacterManager().handleAfterDeath(this); + remove(); + } /** * Kiểm tra xem đối tượng có di chuyển tới vị trí đã tính toán hay không diff --git a/src/uet/oop/bomberman/entities/character/enemy/Enemy.java b/src/uet/oop/bomberman/entities/character/enemy/Enemy.java index 6fe2b92..3839cb9 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/Enemy.java +++ b/src/uet/oop/bomberman/entities/character/enemy/Enemy.java @@ -62,11 +62,6 @@ public boolean collide(Entity e) { return true; } - @Override - protected void handleAfterDeath() { - remove(); - } - protected abstract void chooseSprite(); @Override diff --git a/src/uet/oop/bomberman/level/FileLevelLoader.java b/src/uet/oop/bomberman/level/FileLevelLoader.java index 18e14a0..2db2ebe 100644 --- a/src/uet/oop/bomberman/level/FileLevelLoader.java +++ b/src/uet/oop/bomberman/level/FileLevelLoader.java @@ -115,8 +115,7 @@ public void createEntities() { Game.BOMBERSPEED, Game.BOMBRATE, Game.BOMBRADIUS, - _board.getEntityManager(), - _board + _board.getEntityManager() ); _board.getEntityManager().getCharacterManager().addCharacter(bomber); _board.getEntityManager().getCharacterManager().setPlayer(bomber); diff --git a/src/uet/oop/bomberman/manager/CharacterManager.java b/src/uet/oop/bomberman/manager/CharacterManager.java index 90c2232..d1ddb03 100644 --- a/src/uet/oop/bomberman/manager/CharacterManager.java +++ b/src/uet/oop/bomberman/manager/CharacterManager.java @@ -79,6 +79,13 @@ public void handleOnDeath(Character character, Character killer) { } } + @Override + public void handleAfterDeath(Character character) { + if (character.isPlayer()) { + gameInfoManager.endGame(); + } + } + @Override public void update() { for (Character character: characters) { diff --git a/src/uet/oop/bomberman/manager/GameInfoManager.java b/src/uet/oop/bomberman/manager/GameInfoManager.java index f141e53..40c8dd0 100644 --- a/src/uet/oop/bomberman/manager/GameInfoManager.java +++ b/src/uet/oop/bomberman/manager/GameInfoManager.java @@ -22,9 +22,11 @@ public class GameInfoManager implements IGameInfoManager { private boolean paused; private List messages = new ArrayList<>(); + private Game game; private IEntityManager entityManager; - public GameInfoManager() { + public GameInfoManager(Game game) { + this.game = game; this.time = Game.TIME; this.points = Game.POINTS; } @@ -71,6 +73,7 @@ public void addPoints(int points) { @Override public void update() { updateMessages(); + if (getTime() <= 0) endGame(); } @Override @@ -119,5 +122,12 @@ public void pause() { public void unpause() { paused = false; } + + @Override + public void endGame() { + game.setScreenToShow(1); + game.resetScreenDelay(); + pause(); + } } From 8706cda71ad3427cd78e85609e5b40ecb3705655 Mon Sep 17 00:00:00 2001 From: phuonnngminh Date: Sun, 26 May 2024 14:21:38 +0000 Subject: [PATCH 56/93] fix merge conflicts --- src/uet/oop/bomberman/Board.java | 6 +++--- src/uet/oop/bomberman/Game.java | 16 ++++++++++------ .../oop/bomberman/manager/GameInfoManager.java | 3 +++ src/uet/oop/bomberman/screen/DeadScreen.java | 5 +++-- .../oop/bomberman/screen/SelectLevelScreen.java | 4 ++-- 5 files changed, 21 insertions(+), 13 deletions(-) diff --git a/src/uet/oop/bomberman/Board.java b/src/uet/oop/bomberman/Board.java index 86ed9cb..52490ec 100644 --- a/src/uet/oop/bomberman/Board.java +++ b/src/uet/oop/bomberman/Board.java @@ -87,9 +87,6 @@ public void nextLevel() { } public void loadLevel(int level) { - _game.setScreenToShow(2); - _game.resetScreenDelay(); - try { clearAgents(); _levelLoader = new FileLevelLoader(this, level); @@ -102,6 +99,9 @@ public void loadLevel(int level) { } catch (LoadLevelException e) { e.printStackTrace(); } + + _game.setScreenToShow(2); + _game.resetScreenDelay(); } public int getWidth() { diff --git a/src/uet/oop/bomberman/Game.java b/src/uet/oop/bomberman/Game.java index c09ac90..ad39602 100644 --- a/src/uet/oop/bomberman/Game.java +++ b/src/uet/oop/bomberman/Game.java @@ -58,7 +58,7 @@ public class Game extends Canvas { public SelectLevelScreen selectLevelScreen; private SelectGameModeScreen selectGameModeScreen; public DeadScreen deadScreen; - + private int _screenToShow = -1; // 1:endgame, 2:changelevel, 3:paused public Game(Frame frame) { @@ -132,7 +132,7 @@ private void update() { selectGameModeScreen.update(); break; case END_GAME_SCREEN: - deadScreen.update(); + deadScreen.update(); break; } @@ -191,7 +191,11 @@ private void showScreen() { selectGameModeScreen.setInput(Keyboard.i()); } selectGameModeScreen.drawScreen(g); + break; case END_GAME_SCREEN: + if (Global.currentScreen != Global.previousScreen) { + deadScreen.setInput(); + } deadScreen.drawScreen(g); break; } @@ -242,15 +246,15 @@ public Board getBoard() { public void restartGame() { - // TODO Auto-generated method stub - throw new UnsupportedOperationException("Unimplemented method 'restartGame'"); + Global.currentScreen = EScreenName.GAME_PLAY_SCREEN; + _board.loadLevel(_board._levelLoader.getLevel()); } public void startNewGame() { - // TODO Auto-generated method stub - throw new UnsupportedOperationException("Unimplemented method 'startNewGame'"); + Global.currentScreen = EScreenName.SELECT_LEVEL_SCREEN; } + public int getScreenToShow() { return _screenToShow; } diff --git a/src/uet/oop/bomberman/manager/GameInfoManager.java b/src/uet/oop/bomberman/manager/GameInfoManager.java index 40c8dd0..e635f0a 100644 --- a/src/uet/oop/bomberman/manager/GameInfoManager.java +++ b/src/uet/oop/bomberman/manager/GameInfoManager.java @@ -14,6 +14,8 @@ import uet.oop.bomberman.entities.character.Character; import uet.oop.bomberman.entities.tile.item.Item; import uet.oop.bomberman.graphics.Screen; +import uet.oop.bomberman.utils.EScreenName; +import uet.oop.bomberman.utils.Global; public class GameInfoManager implements IGameInfoManager { @@ -125,6 +127,7 @@ public void unpause() { @Override public void endGame() { + Global.currentScreen = EScreenName.END_GAME_SCREEN; game.setScreenToShow(1); game.resetScreenDelay(); pause(); diff --git a/src/uet/oop/bomberman/screen/DeadScreen.java b/src/uet/oop/bomberman/screen/DeadScreen.java index b30264b..04e28cf 100644 --- a/src/uet/oop/bomberman/screen/DeadScreen.java +++ b/src/uet/oop/bomberman/screen/DeadScreen.java @@ -2,9 +2,7 @@ import uet.oop.bomberman.Game; import uet.oop.bomberman.gui.GameScreen; import uet.oop.bomberman.input.Keyboard; -import uet.oop.bomberman.sound.Sound; import uet.oop.bomberman.utils.EGameControl; -import uet.oop.bomberman.utils.EScreenName; import uet.oop.bomberman.utils.Global; import java.awt.*; import java.util.ArrayList; @@ -37,6 +35,9 @@ public DeadScreen(Game game) { e.printStackTrace(); } + } + + public void setInput() { Keyboard.i().keyboardInputCallback = java.util.Optional.of(new Keyboard.KeyboardInputCallback() { @Override public void onKeyPressed(EGameControl gameControl) { diff --git a/src/uet/oop/bomberman/screen/SelectLevelScreen.java b/src/uet/oop/bomberman/screen/SelectLevelScreen.java index f4524df..8ff0ea6 100644 --- a/src/uet/oop/bomberman/screen/SelectLevelScreen.java +++ b/src/uet/oop/bomberman/screen/SelectLevelScreen.java @@ -42,11 +42,11 @@ public void onKeyPressed(EGameControl gameControl) { selectorIndex++; break; case ENTER: - Global.currentScreen = EScreenName.GAME_PLAY_SCREEN; - Global.gameLevel = selectorIndex + 1; synchronized (_board) { _board.loadLevel(Global.gameLevel); } + Global.currentScreen = EScreenName.GAME_PLAY_SCREEN; + Global.gameLevel = selectorIndex + 1; onDestroy(); break; } From 2ba02346d792a4c5609fd0813d3abbb9062244a8 Mon Sep 17 00:00:00 2001 From: phuonnngminh Date: Sun, 26 May 2024 14:31:21 +0000 Subject: [PATCH 57/93] restore soundtrack --- src/uet/oop/bomberman/BombermanGame.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/uet/oop/bomberman/BombermanGame.java b/src/uet/oop/bomberman/BombermanGame.java index ec71619..eeb815c 100644 --- a/src/uet/oop/bomberman/BombermanGame.java +++ b/src/uet/oop/bomberman/BombermanGame.java @@ -6,6 +6,7 @@ public class BombermanGame { public static void main(String[] args) { + Sound.play("soundtrack"); new Frame(); } } From 26745c9f57e1230f2b509760f41875a86a4ce0b0 Mon Sep 17 00:00:00 2001 From: phuonnngminh Date: Sun, 26 May 2024 14:51:35 +0000 Subject: [PATCH 58/93] fix choose level not work --- src/uet/oop/bomberman/screen/SelectLevelScreen.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/uet/oop/bomberman/screen/SelectLevelScreen.java b/src/uet/oop/bomberman/screen/SelectLevelScreen.java index 8ff0ea6..38f038b 100644 --- a/src/uet/oop/bomberman/screen/SelectLevelScreen.java +++ b/src/uet/oop/bomberman/screen/SelectLevelScreen.java @@ -42,11 +42,11 @@ public void onKeyPressed(EGameControl gameControl) { selectorIndex++; break; case ENTER: + Global.gameLevel = selectorIndex + 1; synchronized (_board) { _board.loadLevel(Global.gameLevel); } Global.currentScreen = EScreenName.GAME_PLAY_SCREEN; - Global.gameLevel = selectorIndex + 1; onDestroy(); break; } From 2a16e79397b67e1a7e0a6a6cf2f5bcea8db1396e Mon Sep 17 00:00:00 2001 From: phuonnngminh Date: Sun, 26 May 2024 15:04:36 +0000 Subject: [PATCH 59/93] fix: user can still input after selecting restart in dead screen --- src/uet/oop/bomberman/Game.java | 18 ++++++++---------- .../oop/bomberman/level/FileLevelLoader.java | 2 +- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/src/uet/oop/bomberman/Game.java b/src/uet/oop/bomberman/Game.java index ad39602..83d19f4 100644 --- a/src/uet/oop/bomberman/Game.java +++ b/src/uet/oop/bomberman/Game.java @@ -14,6 +14,7 @@ import java.awt.image.BufferStrategy; import java.awt.image.BufferedImage; import java.awt.image.DataBufferInt; +import java.util.Optional; /** * Tạo vòng lặp cho game, lưu trữ một vài tham số cấu hình toàn cục, @@ -149,6 +150,7 @@ private void showScreen() { IGameInfoManager gameInfoManager = _board.getGameInfoManager(); switch (Global.currentScreen) { case GAME_PLAY_SCREEN: + Keyboard.i().keyboardInputCallback = Optional.empty(); if (gameInfoManager.isPaused()) { if (_screenDelay <= 0) { _screenToShow = -1; @@ -181,21 +183,15 @@ private void showScreen() { break; case SELECT_LEVEL_SCREEN: // TODO: render select level screen - if (Global.currentScreen != Global.previousScreen) { - selectLevelScreen.setInput(Keyboard.i()); - } + selectLevelScreen.setInput(Keyboard.i()); selectLevelScreen.drawScreen(g); break; case SELECT_GAME_MODE: - if (Global.currentScreen != Global.previousScreen) { - selectGameModeScreen.setInput(Keyboard.i()); - } + selectGameModeScreen.setInput(Keyboard.i()); selectGameModeScreen.drawScreen(g); break; case END_GAME_SCREEN: - if (Global.currentScreen != Global.previousScreen) { - deadScreen.setInput(); - } + deadScreen.setInput(); deadScreen.drawScreen(g); break; } @@ -247,7 +243,9 @@ public Board getBoard() { public void restartGame() { Global.currentScreen = EScreenName.GAME_PLAY_SCREEN; - _board.loadLevel(_board._levelLoader.getLevel()); + synchronized (_board) { + _board.loadLevel(_board._levelLoader.getLevel()); + } } diff --git a/src/uet/oop/bomberman/level/FileLevelLoader.java b/src/uet/oop/bomberman/level/FileLevelLoader.java index 2db2ebe..29e482f 100644 --- a/src/uet/oop/bomberman/level/FileLevelLoader.java +++ b/src/uet/oop/bomberman/level/FileLevelLoader.java @@ -49,7 +49,7 @@ public void loadLevel(int level) { FileReader fr = new FileReader("res/levels/Level" + level + ".txt");//doc tep luu map BufferedReader br = new BufferedReader(fr); String line = br.readLine(); - while (!line.equals("")) { + while (line != null && !line.isEmpty()) { list.add(line); line = br.readLine(); //doc file txt luu vao list From dd851d53c31db58f9850441549078446cf8813ee Mon Sep 17 00:00:00 2001 From: Huy010302 <111289985+Huy010302@users.noreply.github.com> Date: Sun, 26 May 2024 22:26:50 +0700 Subject: [PATCH 60/93] fix level 3, fix display of enemy --- res/levels/Level3.txt | 6 +- res/sprites/fireIcon.png | Bin 0 -> 23906 bytes src/uet/oop/bomberman/BombermanGame.java | 2 +- src/uet/oop/bomberman/Game.java | 120 ++++++++--------- .../entities/character/enemy/Oneal.java | 20 +-- .../oop/bomberman/level/FileLevelLoader.java | 127 +++++++++++------- 6 files changed, 149 insertions(+), 126 deletions(-) create mode 100644 res/sprites/fireIcon.png diff --git a/res/levels/Level3.txt b/res/levels/Level3.txt index 5a6ca2f..b064569 100644 --- a/res/levels/Level3.txt +++ b/res/levels/Level3.txt @@ -5,10 +5,10 @@ # * * *** ** # * ** # # #*# # # # #4# #b#1# # # # #*# # * ** * **# -# # #*# # # # # #*#*#*#*# # # # +# # #*# 3 # # # #*#*#*#*# # # # # * * * *x* * 4 # # # # # #*# # # # # # #*# #*# # -# **** *2 # +# **2* *2 # # # # # # # # # # #*# # # # #*# -# ** ** * 5 # +# **4 ** * 5 # ############################### diff --git a/res/sprites/fireIcon.png b/res/sprites/fireIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..2b2f529cc3fbd66a5736fa24e6a82de2d8e143c8 GIT binary patch literal 23906 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 list = new ArrayList<>(); try { - FileReader fr = new FileReader("res/levels/Level" + level + ".txt");//doc tep luu map + FileReader fr = new FileReader("res/levels/Level" + level + ".txt");// doc tep luu map BufferedReader br = new BufferedReader(fr); String line = br.readLine(); while (line != null && !line.isEmpty()) { list.add(line); line = br.readLine(); - //doc file txt luu vao list + // doc file txt luu vao list } } catch (Exception e) { e.printStackTrace(); @@ -67,7 +69,7 @@ public void loadLevel(int level) { _map[i][j] = list.get(i + 1).charAt(j); } } - //gan cac phan tu cho mang + // gan cac phan tu cho mang } @Override @@ -91,36 +93,34 @@ public void createEntities() { // Thêm Portal case 'x': layeredEntity = new LayeredEntity( - x, y, - new Grass(x, y, Sprite.grass), - new Portal(x, y, _board, Sprite.portal), - new Brick(x, y, Sprite.brick) - ); + x, y, + new Grass(x, y, Sprite.grass), + new Portal(x, y, _board, Sprite.portal), + new Brick(x, y, Sprite.brick)); _board.getEntityManager().getTileManager().addTile(pos, layeredEntity); break; // Thêm brick case '*': layeredEntity = new LayeredEntity( - x, y, - new Grass(x, y, Sprite.grass), - new Brick(x, y, Sprite.brick) - ); + x, y, + new Grass(x, y, Sprite.grass), + new Brick(x, y, Sprite.brick)); _board.getEntityManager().getTileManager().addTile(x + y * _width, layeredEntity); break; // Thêm Bomber player case 'p': Bomber bomber = new Bomber( - Coordinates.tileToPixel(x), - Coordinates.tileToPixel(y) + Game.TILES_SIZE, - Game.BOMBERSPEED, - Game.BOMBRATE, - Game.BOMBRADIUS, - _board.getEntityManager() - ); + Coordinates.tileToPixel(x), + Coordinates.tileToPixel(y) + Game.TILES_SIZE, + Game.BOMBERSPEED, + Game.BOMBRATE, + Game.BOMBRADIUS, + _board.getEntityManager()); _board.getEntityManager().getCharacterManager().addCharacter(bomber); _board.getEntityManager().getCharacterManager().setPlayer(bomber); Screen.setOffset(0, 0); - _board.getEntityManager().getTileManager().addTile(x + y * _width, new Grass(x, y, Sprite.grass)); + _board.getEntityManager().getTileManager().addTile(x + y * _width, + new Grass(x, y, Sprite.grass)); agent = new KeyboardAgent(bomber); _board.addAgent(agent); break; @@ -128,22 +128,21 @@ public void createEntities() { // Thêm balloon case '1': enemy = new Balloon( - Coordinates.tileToPixel(x), - Coordinates.tileToPixel(y) + Game.TILES_SIZE, - _board.getEntityManager() - ); + Coordinates.tileToPixel(x), + Coordinates.tileToPixel(y) + Game.TILES_SIZE, + _board.getEntityManager()); _board.getEntityManager().getCharacterManager().addCharacter(enemy); - _board.getEntityManager().getTileManager().addTile(x + y * _width, new Grass(x, y, Sprite.grass)); + _board.getEntityManager().getTileManager().addTile(x + y * _width, + new Grass(x, y, Sprite.grass)); agent = new MovingAgent(enemy, new AILow()); _board.addAgent(agent); break; // Thêm oneal case '2': enemy = new Oneal( - Coordinates.tileToPixel(x), - Coordinates.tileToPixel(y) + Game.TILES_SIZE, - _board.getEntityManager() - ); + Coordinates.tileToPixel(x), + Coordinates.tileToPixel(y) + Game.TILES_SIZE, + _board.getEntityManager()); _board.getEntityManager().getCharacterManager().addCharacter(enemy); _board.getEntityManager().getTileManager().addTile(pos, new Grass(x, y, Sprite.grass)); agent = new MovingAgent(enemy, new AILow()); @@ -152,44 +151,68 @@ public void createEntities() { // Thêm doll case '3': enemy = new Doll( - Coordinates.tileToPixel(x), - Coordinates.tileToPixel(y) + Game.TILES_SIZE, - _board.getEntityManager() - ); + Coordinates.tileToPixel(x), + Coordinates.tileToPixel(y) + Game.TILES_SIZE, + _board.getEntityManager()); _board.getEntityManager().getCharacterManager().addCharacter(enemy); - _board.getEntityManager().getTileManager().addTile(x + y * _width, new Grass(x, y, Sprite.grass)); - agent = new MovingAgent(enemy, new AIMedium(enemy, _board.getEntityManager().getCharacterManager())); + _board.getEntityManager().getTileManager().addTile(x + y * _width, + new Grass(x, y, Sprite.grass)); + agent = new MovingAgent(enemy, + new AIMedium(enemy, _board.getEntityManager().getCharacterManager())); _board.addAgent(agent); break; - // Thêm oneal - // Thêm BomItem + // Thêm minvo + case '4': + enemy = new Minvo( + Coordinates.tileToPixel(x), + Coordinates.tileToPixel(y) + Game.TILES_SIZE, + _board.getEntityManager()); + _board.getEntityManager().getCharacterManager().addCharacter(enemy); + _board.getEntityManager().getTileManager().addTile(x + y * _width, + new Grass(x, y, Sprite.grass)); + agent = new MovingAgent(enemy, + new AIMedium(enemy, _board.getEntityManager().getCharacterManager())); + _board.addAgent(agent); + break; + // Thêm kondoria + case '5': + enemy = new Kondoria( + Coordinates.tileToPixel(x), + Coordinates.tileToPixel(y) + Game.TILES_SIZE, + _board.getEntityManager()); + _board.getEntityManager().getCharacterManager().addCharacter(enemy); + _board.getEntityManager().getTileManager().addTile(x + y * _width, + new Grass(x, y, Sprite.grass)); + agent = new MovingAgent(enemy, + new AIMedium(enemy, _board.getEntityManager().getCharacterManager())); + _board.addAgent(agent); + break; + + // Thêm BomItem case 'b': layeredEntity = new LayeredEntity( - x, y, - new Grass(x, y, Sprite.grass), - new BombItem(x, y, Sprite.powerup_bombs), - new Brick(x, y, Sprite.brick) - ); + x, y, + new Grass(x, y, Sprite.grass), + new BombItem(x, y, Sprite.powerup_bombs), + new Brick(x, y, Sprite.brick)); _board.getEntityManager().getTileManager().addTile(pos, layeredEntity); break; // Thêm SpeedItem case 's': layeredEntity = new LayeredEntity( - x, y, - new Grass(x, y, Sprite.grass), - new SpeedItem(x, y, Sprite.powerup_speed), - new Brick(x, y, Sprite.brick) - ); + x, y, + new Grass(x, y, Sprite.grass), + new SpeedItem(x, y, Sprite.powerup_speed), + new Brick(x, y, Sprite.brick)); _board.getEntityManager().getTileManager().addTile(pos, layeredEntity); break; // Thêm FlameItem case 'f': layeredEntity = new LayeredEntity( - x, y, - new Grass(x, y, Sprite.grass), - new FlameItem(x, y, Sprite.powerup_flames), - new Brick(x, y, Sprite.brick) - ); + x, y, + new Grass(x, y, Sprite.grass), + new FlameItem(x, y, Sprite.powerup_flames), + new Brick(x, y, Sprite.brick)); _board.getEntityManager().getTileManager().addTile(pos, layeredEntity); break; From 7918ca09dae1ed2c9b6862dc08ad636ef9636d2d Mon Sep 17 00:00:00 2001 From: Huy010302 <111289985+Huy010302@users.noreply.github.com> Date: Sun, 26 May 2024 22:37:10 +0700 Subject: [PATCH 61/93] fix level 3, and fix display enemy --- .../bomberman/entities/character/enemy/Doll.java | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/uet/oop/bomberman/entities/character/enemy/Doll.java b/src/uet/oop/bomberman/entities/character/enemy/Doll.java index 0114504..b4e2b0e 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/Doll.java +++ b/src/uet/oop/bomberman/entities/character/enemy/Doll.java @@ -9,16 +9,12 @@ import uet.oop.bomberman.base.IEntityManager; import uet.oop.bomberman.graphics.Sprite; -/** - * - * @author TUNG318 - */ -public class Doll extends Enemy{ +public class Doll extends Enemy { public Doll(int x, int y, IEntityManager entityManager) { super(x, y, entityManager, Sprite.balloom_dead, Game.BOMBERSPEED, 100); - _sprite = Sprite.balloom_left1; + _sprite = Sprite.doll_left1; } @@ -28,7 +24,8 @@ protected void chooseSprite() { case 0: case 1: if (isMoving()) { - _sprite = Sprite.movingSprite(Sprite.doll_right1, Sprite.doll_right2, Sprite.doll_right3, _animate, Game.TICKS_PER_SECOND); + _sprite = Sprite.movingSprite(Sprite.doll_right1, Sprite.doll_right2, Sprite.doll_right3, _animate, + Game.TICKS_PER_SECOND); } else { _sprite = Sprite.doll_left1; } @@ -36,7 +33,8 @@ protected void chooseSprite() { case 2: case 3: if (isMoving()) { - _sprite = Sprite.movingSprite(Sprite.doll_left1, Sprite.doll_left2, Sprite.doll_left3, _animate, Game.TICKS_PER_SECOND); + _sprite = Sprite.movingSprite(Sprite.doll_left1, Sprite.doll_left2, Sprite.doll_left3, _animate, + Game.TICKS_PER_SECOND); } else { _sprite = Sprite.doll_left1; } From a5b54f3099d3a85a9d72f2f92f179f198ab23eea Mon Sep 17 00:00:00 2001 From: Huy010302 <111289985+Huy010302@users.noreply.github.com> Date: Wed, 29 May 2024 10:33:00 +0700 Subject: [PATCH 62/93] add player 2, not fix collide of 2 player with item yet --- res/levels/Level1.txt | 4 +- res/levels/Level2.txt | 2 +- res/levels/Level4.txt | 14 ++ res/levels/Level5.txt | 14 ++ res/levels/Level6.txt | 14 ++ res/sprites/player2_down.png | Bin 0 -> 228 bytes res/sprites/player2_down_1.png | Bin 0 -> 253 bytes res/sprites/player2_down_2.png | Bin 0 -> 226 bytes res/sprites/player2_left.png | Bin 0 -> 256 bytes res/sprites/player2_left_1.png | Bin 0 -> 256 bytes res/sprites/player2_left_2.png | Bin 0 -> 284 bytes res/sprites/player2_right.png | Bin 0 -> 255 bytes res/sprites/player2_right_1.png | Bin 0 -> 263 bytes res/sprites/player2_right_2.png | Bin 0 -> 255 bytes res/sprites/player2_up.png | Bin 0 -> 241 bytes res/sprites/player2_up_1.png | Bin 0 -> 242 bytes res/sprites/player2_up_2.png | Bin 0 -> 242 bytes .../oop/bomberman/agent/KeyboardAgent.java | 30 ++-- .../bomberman/agent/KeyboardAgentPlayer1.java | 51 ++++++ .../bomberman/agent/KeyboardAgentPlayer2.java | 51 ++++++ .../bomberman/entities/character/Bomber.java | 102 ++++++----- .../bomberman/entities/character/Bomber2.java | 56 ++++++ .../entities/character/enemy/Minvo.java | 99 +---------- src/uet/oop/bomberman/graphics/Sprite.java | 166 ++++++++++-------- src/uet/oop/bomberman/input/Keyboard.java | 19 ++ .../oop/bomberman/level/FileLevelLoader.java | 76 +++++--- .../screen/SelectGameModeScreen.java | 7 +- .../bomberman/screen/SelectLevelScreen.java | 14 +- 28 files changed, 452 insertions(+), 267 deletions(-) create mode 100644 res/levels/Level4.txt create mode 100644 res/levels/Level5.txt create mode 100644 res/levels/Level6.txt create mode 100644 res/sprites/player2_down.png create mode 100644 res/sprites/player2_down_1.png create mode 100644 res/sprites/player2_down_2.png create mode 100644 res/sprites/player2_left.png create mode 100644 res/sprites/player2_left_1.png create mode 100644 res/sprites/player2_left_2.png create mode 100644 res/sprites/player2_right.png create mode 100644 res/sprites/player2_right_1.png create mode 100644 res/sprites/player2_right_2.png create mode 100644 res/sprites/player2_up.png create mode 100644 res/sprites/player2_up_1.png create mode 100644 res/sprites/player2_up_2.png create mode 100644 src/uet/oop/bomberman/agent/KeyboardAgentPlayer1.java create mode 100644 src/uet/oop/bomberman/agent/KeyboardAgentPlayer2.java create mode 100644 src/uet/oop/bomberman/entities/character/Bomber2.java diff --git a/res/levels/Level1.txt b/res/levels/Level1.txt index 130ce88..2fcfc56 100644 --- a/res/levels/Level1.txt +++ b/res/levels/Level1.txt @@ -6,11 +6,11 @@ # # # # # #*# # #*#*# # # # #*# #f x ** * * # # # # # # # # # # #*# #*# # # # -#* * * * * # +#z * * * * # # # # # #*# # # #*#*# # # # # # #* ** * * # # #*# # # # # # #*# # # # # # # -#p * * * # +# * * * # ############################### diff --git a/res/levels/Level2.txt b/res/levels/Level2.txt index b01dcf7..f76a558 100644 --- a/res/levels/Level2.txt +++ b/res/levels/Level2.txt @@ -10,7 +10,7 @@ # # # # #*# # # # # # #*# #*# # # **** *1 # # # # # # # # # # #*# # # # #*# -#a ** * * 3 # +# ** * * 3 # ############################### diff --git a/res/levels/Level4.txt b/res/levels/Level4.txt new file mode 100644 index 0000000..c9867be --- /dev/null +++ b/res/levels/Level4.txt @@ -0,0 +1,14 @@ +4 13 31 +############################### +#p * ** * * s # +# # # # #*# # #*# # # # # #*# # +# * * **1 ** # * ** # +# #*# # # #4# # #*#1# # # # #*# +# b * ** * **# +# # #*# 3 # # # #*#*#*#*# # # # +# * * * *x* * 2 # +# # # # #*# # # # # # #*# #*# # +# **2* *3 # +# # # # # # # # # #*# # # # #*# +#a**5 ** * 4 # +############################### \ No newline at end of file diff --git a/res/levels/Level5.txt b/res/levels/Level5.txt new file mode 100644 index 0000000..78e4ea5 --- /dev/null +++ b/res/levels/Level5.txt @@ -0,0 +1,14 @@ +5 13 31 +############################### +#p * ** * * f # +# # # # #*# # #*# # # # # #*# # +# * * **4 ** # * ** # +# #*# # # #3# # #*#1# # # # #*# +# b * ** * **# +# # #*# 1 # # # #*#*#*#*# # # # +# * * * *x* * 5 # +# # # # #*# # # # # # #*# #*# # +# **2* *2 # +# # # # # # # # # #*# # # # #*# +#a ** ** * 5 # +############################### diff --git a/res/levels/Level6.txt b/res/levels/Level6.txt new file mode 100644 index 0000000..9aa7b90 --- /dev/null +++ b/res/levels/Level6.txt @@ -0,0 +1,14 @@ +6 13 31 +############################### +#p 2 * ** * * f # +# # # # #*# # #*# # # # # #*# # +# * * **4 ** # * 3 ** # +# #*# # # #3# # #*#1# # # # #*# +# b * ** * **# +# # #*# 5 # # # #*#*#*#*# # # # +# * * * *x* * 1 # +# # # # #*# # # # # # #*# #*# # +# **2* *4 # +# # # # # # # # # #*# # # # #*# +#a**3 ** * 5 # +############################### diff --git a/res/sprites/player2_down.png b/res/sprites/player2_down.png new file mode 100644 index 0000000000000000000000000000000000000000..2735443e97ee46631cef929bca2321c27550efdd GIT binary patch literal 228 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP;i>3 zi(`mI@6zDgf-MFdF%s!Hug=-Manaty|9;jd?K%xDwTAw`oc+Aa-cFpFjvJz-QjRbd zR9K$)cyZ=0u?0_UZpqy^8^@3gTe~DWM4fC2vqf literal 0 HcmV?d00001 diff --git a/res/sprites/player2_down_1.png b/res/sprites/player2_down_1.png new file mode 100644 index 0000000000000000000000000000000000000000..8eddb580fefb2e1d07bf8a687db147c89fc00ffb GIT binary patch literal 253 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP;kAc zi(`mI@7$n+yoVKdYyy^sobuA#Z)e3c`vUJS&+iTET0-K!Ox)4RB7Nm|!iL%(Ijei- zIR1z<75U8PP(In(E;jDcU8XEs@8~A6z03jkrr&S>GErB>xPpVUy^cqwn)F*A#CdS!Qn&4^U4nK8{Rk8RP0Tx ybKh7pu|a6Xlb0V;I9J&&*gOA#`U%lLjr{9B*gonzm<4n>1B0ilpUXO@geCxB;9;=< literal 0 HcmV?d00001 diff --git a/res/sprites/player2_down_2.png b/res/sprites/player2_down_2.png new file mode 100644 index 0000000000000000000000000000000000000000..46092acad15e9a28f89b0a1d0017149afd3b2dd9 GIT binary patch literal 226 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|oCO|{#S9GG!XV7ZFl&wkP;iQ; zi(`n!#NMETf`=7&ChxqnF=V#w4HmN#YB!bN2Gw0`=bUh3pPRgco5wdtQPHMiS%sqv z2lu|6u<-p36@eW~_HDd3gN5I5ExWN$k6BarhZ9eO>efE~Ve4}`)9Z6?qLzjFIZw_r zZ1+|lJvY&WL-4n)&~vjN?FBM+?G_U2zVBDLSbMNw!hV6dng2Sk99i|aTOrRa@-e&K X3++{nK2KzU?ql$D^>bP0l+XkK6OC1T literal 0 HcmV?d00001 diff --git a/res/sprites/player2_left.png b/res/sprites/player2_left.png new file mode 100644 index 0000000000000000000000000000000000000000..e0b74d49f885a26b15832a8d29be0b0289ebd26f GIT binary patch literal 256 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|oCO|{#S9GG!XV7ZFl&wkP;ir{ zi(`n!#Hm5Ic@Hb_*evqknHbt&c}UH`(fy@dZrDq{hp&Gf)L!U!b)Jq2&-2fbY>tcy zCvDfTvB`?)w(P~})2?$fcf7tG`|n1}|J=;BUjf_s7(VP!c#?Fi_Wctd zg@o)!k=)Vkz5^L literal 0 HcmV?d00001 diff --git a/res/sprites/player2_left_1.png b/res/sprites/player2_left_1.png new file mode 100644 index 0000000000000000000000000000000000000000..e8c99b21cb143d2383b64d824f25a2736fadef49 GIT binary patch literal 256 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|oCO|{#S9GG!XV7ZFl&wkP;ir{ zi(`n!#Hm5Ic@HZH7zZxlxfr^jxW)Gb%UiX(%vK@qPXBFKVxu=TOHqaI{$VzO5Qa&2 z4ts5gZc_=7u(dh)EV1C-rk_Q{f$6W#oqoJj`24Z@{w47{euuX26xlqzN3J@eyY^ab z?$*9*z4L_Tc*`*!SvQS^KcUjhOd{=n*3))|jpnL}{MnqnM)zv{pOjB{Fq_Zwp(!Vq zzUz_|c4bp1xUWAp;cWU{Q@)GLA>9W5mfp`{ke_N@ukcelzXRxc22WQ%mvv4FO#rgy BV95Xg literal 0 HcmV?d00001 diff --git a/res/sprites/player2_left_2.png b/res/sprites/player2_left_2.png new file mode 100644 index 0000000000000000000000000000000000000000..8d68f292984fd041d16de36eee92c79ff22afe9f GIT binary patch literal 284 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkQ1G0m zi(`mI@6t){d7BkPj?|l|t+|kRE%~v*A;&@dd4RS^zANZ zSLm2i`}#tvA(Ir%z4rsBJ)abHW&6rAT)h9J7dlPc zmO1O~^GYRwvX#>PXQVG~*g?8}bFoTpaR&sq?W~^bE*`3La$dOc+gQ`!Pcn;^ g&#_(;Qr=)5^L-Uh(UH0TfIegJboFyt=akR{0Dfb0@&Et; literal 0 HcmV?d00001 diff --git a/res/sprites/player2_right.png b/res/sprites/player2_right.png new file mode 100644 index 0000000000000000000000000000000000000000..658940503b88b551af7baea96a0d4976963c0a9b GIT binary patch literal 255 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|oCO|{#S9GG!XV7ZFl&wkP;jHC zi(`n!#JQ6$@*YwUXtVbaZY!92NTzIZ8PnY(wpy!qG~3MOcW4#MdL-^t^x^Q`gXgRF zb#*B4X7H$T2rOsI+P}cNG-BBXAB}yV8DrU=eS4vz74$DuC_(nx-wo4-Py_>$g-&^lg%g%?3cD1j0J#F4khN|9b*&Et5pMZ{M@O1TaS?83{1OW46 BWV-+W literal 0 HcmV?d00001 diff --git a/res/sprites/player2_right_1.png b/res/sprites/player2_right_1.png new file mode 100644 index 0000000000000000000000000000000000000000..bb0327915065f97f2db98c08afa93ed81217305b GIT binary patch literal 263 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|oCO|{#S9GG!XV7ZFl&wkP;jTG zi(`n!#JQ8+@-{07w8={gPis1-IQs$1TeZ8+kxQ*ltbg5q`Id8!=Y0W=hj#Os9jBRe zbSUr!uJ;oNxgELMczbke?6HVr9>@1xF1hhUZvAAJ=zaCxOo#qnl6rA=?WdE$%12I} zX8)MD{AKf_xJvH=|-DJUAnYzQ= zQMpUw?jK;98C_%I?0NA_e4tr6QwG2Giswg{M;O=m&K8yb%DCfFy^&4Hf+nCR7(8A5 KT-G@yGywqYBxivD literal 0 HcmV?d00001 diff --git a/res/sprites/player2_right_2.png b/res/sprites/player2_right_2.png new file mode 100644 index 0000000000000000000000000000000000000000..da73c7946135941c1311b15bccc4e156aec504c6 GIT binary patch literal 255 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|oCO|{#S9GG!XV7ZFl&wkP;jHC zi(`n!#HEw&3N|YUwAjx$6X6o&_W0NO)?AAB^)&}PVp_97FK@z=<%b;E8_V$^Le%(?-V#-KdqrKY0kb9=IK$p zI&;r%X?ects8p-(-!iYYX&UdUy)VW#K8))>$Yl7Vrc9o3OWJhD<8Qy`>3I5kNK5l2 zelrNxJ8hEa$6@w*)}6q6M@~ literal 0 HcmV?d00001 diff --git a/res/sprites/player2_up.png b/res/sprites/player2_up.png new file mode 100644 index 0000000000000000000000000000000000000000..38dd3abcb4615e5c0e99847e01151d569b3a0f9a GIT binary patch literal 241 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|oCO|{#S9GG!XV7ZFl&wkP;jxQ zi(`n!#Hm5Ic@Hb_*ev#vR9Y?ZEkW2Q@cV+;F8%M!8V4;_RyiFy_WU^KWQTx@?-`@w z7?$6(JJ5bwh=D~(fcM+k2D>Y6M%|IYmffZ8^AcVf%gYDPI9zc5=eFiEISevBiR(75 z-_R1{xl!ihYw>&B?+@E1d48O8!Bjv&@<17%(1a3psnrWj4qWrCn*J(oPtofS){SD- m$9}YH)gBJM$yLAp7<&p+h~K3jbIXCwW$<+Mb6Mw<&;$VQ_gV1( literal 0 HcmV?d00001 diff --git a/res/sprites/player2_up_1.png b/res/sprites/player2_up_1.png new file mode 100644 index 0000000000000000000000000000000000000000..a1f927a8fe50c808a0582534c6963dc9a6570657 GIT binary patch literal 242 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|oCO|{#S9GG!XV7ZFl&wkP;iN- zi(`n!#NJ64d7BM*T;c ze6n~_7|?R4kgt|+@6Bk>O9d6r%)ZIaZsftO^|p=@$3-=1k9=b|r1rYR}}}4V+tQvObnolqK$e<~lzhNJmr2 z-Rwb=)SK`&zvOTI#f%#7_-_1RikO}jDxP5<8^rRa_}`U%PQNc`PPucpMeFjJ5@D@R mOjF!hbUu3+D8xqm;?GaH8Zt9hVm1%Zy$qhNelF{r5}E*&tXSm$ literal 0 HcmV?d00001 diff --git a/src/uet/oop/bomberman/agent/KeyboardAgent.java b/src/uet/oop/bomberman/agent/KeyboardAgent.java index 32a0117..77a1e3d 100644 --- a/src/uet/oop/bomberman/agent/KeyboardAgent.java +++ b/src/uet/oop/bomberman/agent/KeyboardAgent.java @@ -21,26 +21,30 @@ public List getNextActions() { List actions = getMoveActions(); if (character instanceof Bomber) { - if(Keyboard.i().space) { - actions.add(ActionConstants.PLACE_BOMB); + if (Keyboard.i().space) { + actions.add(ActionConstants.PLACE_BOMB); } } - return actions; + return actions; } private List getMoveActions() { int xa = 0, ya = 0; - if(Keyboard.i().up) ya--; - if(Keyboard.i().down) ya++; - if(Keyboard.i().left) xa--; - if(Keyboard.i().right) xa++; - - List actions = new ArrayList<>(); - if(xa != 0 || ya != 0) { + if (Keyboard.i().up) + ya--; + if (Keyboard.i().down) + ya++; + if (Keyboard.i().left) + xa--; + if (Keyboard.i().right) + xa++; + + List actions = new ArrayList<>(); + if (xa != 0 || ya != 0) { ActionMove actionMove = new ActionMove(xa, ya); - actions.add(actionMove); + actions.add(actionMove); } - return actions; + return actions; } - + } diff --git a/src/uet/oop/bomberman/agent/KeyboardAgentPlayer1.java b/src/uet/oop/bomberman/agent/KeyboardAgentPlayer1.java new file mode 100644 index 0000000..d716a5f --- /dev/null +++ b/src/uet/oop/bomberman/agent/KeyboardAgentPlayer1.java @@ -0,0 +1,51 @@ +package uet.oop.bomberman.agent; + +import java.util.ArrayList; +import java.util.List; + +import uet.oop.bomberman.entities.character.Bomber; +import uet.oop.bomberman.entities.character.Character; +import uet.oop.bomberman.entities.character.action.Action; +import uet.oop.bomberman.entities.character.action.ActionConstants; +import uet.oop.bomberman.entities.character.action.ActionMove; +import uet.oop.bomberman.input.Keyboard; + +public class KeyboardAgentPlayer1 extends KeyboardAgent { + // biến + + public KeyboardAgentPlayer1(Character character) { + super(character); + } + + @Override + public List getNextActions() { + List actions = getMoveActions(); + + if (character instanceof Bomber) { + if (Keyboard.i().player1_space) { + actions.add(ActionConstants.PLACE_BOMB); + } + } + return actions; + } + + private List getMoveActions() { + int xa = 0, ya = 0; + if (Keyboard.i().player1_up) + ya--; + if (Keyboard.i().player1_down) + ya++; + if (Keyboard.i().player1_left) + xa--; + if (Keyboard.i().player1_right) + xa++; + + List actions = new ArrayList<>(); + if (xa != 0 || ya != 0) { + ActionMove actionMove = new ActionMove(xa, ya); + actions.add(actionMove); + } + return actions; + } + +} diff --git a/src/uet/oop/bomberman/agent/KeyboardAgentPlayer2.java b/src/uet/oop/bomberman/agent/KeyboardAgentPlayer2.java new file mode 100644 index 0000000..8b0bd84 --- /dev/null +++ b/src/uet/oop/bomberman/agent/KeyboardAgentPlayer2.java @@ -0,0 +1,51 @@ +package uet.oop.bomberman.agent; + +import java.util.ArrayList; +import java.util.List; + +import uet.oop.bomberman.entities.character.Bomber; +import uet.oop.bomberman.entities.character.Character; +import uet.oop.bomberman.entities.character.action.Action; +import uet.oop.bomberman.entities.character.action.ActionConstants; +import uet.oop.bomberman.entities.character.action.ActionMove; +import uet.oop.bomberman.input.Keyboard; + +public class KeyboardAgentPlayer2 extends KeyboardAgent { + + public KeyboardAgentPlayer2(Character character) { + super(character); + // TODO Auto-generated constructor stub + } + + @Override + public List getNextActions() { + List actions = getMoveActions(); + + if (character instanceof Bomber) { + if (Keyboard.i().player2_space) { + actions.add(ActionConstants.PLACE_BOMB); + } + } + return actions; + } + + private List getMoveActions() { + int xa = 0, ya = 0; + if (Keyboard.i().player2_up) + ya--; + if (Keyboard.i().player2_down) + ya++; + if (Keyboard.i().player2_left) + xa--; + if (Keyboard.i().player2_right) + xa++; + + List actions = new ArrayList<>(); + if (xa != 0 || ya != 0) { + ActionMove actionMove = new ActionMove(xa, ya); + actions.add(actionMove); + } + return actions; + } + +} diff --git a/src/uet/oop/bomberman/entities/character/Bomber.java b/src/uet/oop/bomberman/entities/character/Bomber.java index f00e675..a292697 100644 --- a/src/uet/oop/bomberman/entities/character/Bomber.java +++ b/src/uet/oop/bomberman/entities/character/Bomber.java @@ -34,7 +34,7 @@ public class Bomber extends Character implements CanUseItem { protected int bombCooldown = 0; private final int baseBombRadius; - + public Bomber(int x, int y, double baseSpeed, int baseBombLimit, int baseBombRadius, IEntityManager entityManager) { super(x, y, baseSpeed, entityManager); this.baseBombLimit = baseBombLimit; @@ -45,8 +45,10 @@ public Bomber(int x, int y, double baseSpeed, int baseBombLimit, int baseBombRad @Override public void handleUpdate() { clearExpiredBombs(); - if (bombCooldown < -7500) bombCooldown = 0; - else bombCooldown--; + if (bombCooldown < -7500) + bombCooldown = 0; + else + bombCooldown--; animate(); } @@ -82,16 +84,18 @@ public int getBombCooldown() { } public boolean placeBomb() { - if(getBombRemainingQuota() > 0 && bombCooldown < 0) { - - int xt = Coordinates.pixelToTile(_x + _sprite.getSize() / 2); - int yt = Coordinates.pixelToTile( (_y + _sprite.getSize() / 2) - _sprite.getSize() ); //subtract half player height and minus 1 y position - - placeBomb(xt,yt); - - bombCooldown = 30; + if (getBombRemainingQuota() > 0 && bombCooldown < 0) { + + int xt = Coordinates.pixelToTile(_x + _sprite.getSize() / 2); + int yt = Coordinates.pixelToTile((_y + _sprite.getSize() / 2) - _sprite.getSize()); // subtract half player + // height and minus 1 y + // position + + placeBomb(xt, yt); + + bombCooldown = 30; return true; - } + } return false; } @@ -104,17 +108,20 @@ public void placeBomb(int x, int y) { private void clearExpiredBombs() { _bombs = _bombs.stream() - .filter(bomb -> !bomb.isRemoved()) - .collect(Collectors.toList()); + .filter(bomb -> !bomb.isRemoved()) + .collect(Collectors.toList()); } @Override public boolean collide(Entity e) { - if (!super.collide(e)) return false; + if (!super.collide(e)) + return false; return true; } - //sprite - private void chooseSprite() { + + // sprite + // protected + protected void chooseSprite() { switch (getDirection()) { case 0: _sprite = Sprite.player_up; @@ -154,46 +161,53 @@ public int getPoints() { return 0; } - private static final List VALID_ACTIONS = new ArrayList(){{ - addAll(ActionConstants.LIST_ACTION_MOVE); - add(ActionConstants.PLACE_BOMB); - }}; + private static final List VALID_ACTIONS = new ArrayList() { + { + addAll(ActionConstants.LIST_ACTION_MOVE); + add(ActionConstants.PLACE_BOMB); + } + }; + @Override - protected List getValidActions() { + protected List getValidActions() { return VALID_ACTIONS; - } + } @Override protected void performAction(Action action, boolean isDryRun) throws InvalidActionException, CannotPerformActionException { super.performAction(action, isDryRun); if (action instanceof ActionPlaceBomb) { - if (getBombRemainingQuota() < 0) throw new BombQuotaReachedException(); - if (bombCooldown > 0) throw new ActionOnCooldownException(); - if (!isDryRun) placeBomb(); + if (getBombRemainingQuota() < 0) + throw new BombQuotaReachedException(); + if (bombCooldown > 0) + throw new ActionOnCooldownException(); + if (!isDryRun) + placeBomb(); } } - @Override - public Stream getActiveItems() { - return activeItems.stream().filter(Item::isActive); - } + @Override + public Stream getActiveItems() { + return activeItems.stream().filter(Item::isActive); + } - @Override - public void addActiveItem(Item item) { - this.activeItems.add(item); - } + @Override + public void addActiveItem(Item item) { + this.activeItems.add(item); + } @Override - protected double getSpeedMultiplier() { - double speedMultiplier = 1; - for (Item item: activeItems) { - if (!item.isActive()) continue; - if (item instanceof SpeedItem) { - speedMultiplier += SpeedItem.SPEED_MULTIPLIER; - } - } - return speedMultiplier; - } + protected double getSpeedMultiplier() { + double speedMultiplier = 1; + for (Item item : activeItems) { + if (!item.isActive()) + continue; + if (item instanceof SpeedItem) { + speedMultiplier += SpeedItem.SPEED_MULTIPLIER; + } + } + return speedMultiplier; + } } diff --git a/src/uet/oop/bomberman/entities/character/Bomber2.java b/src/uet/oop/bomberman/entities/character/Bomber2.java new file mode 100644 index 0000000..9a69409 --- /dev/null +++ b/src/uet/oop/bomberman/entities/character/Bomber2.java @@ -0,0 +1,56 @@ +package uet.oop.bomberman.entities.character; + +import uet.oop.bomberman.base.IEntityManager; +import uet.oop.bomberman.entities.Entity; +import uet.oop.bomberman.graphics.Sprite; + +public class Bomber2 extends Bomber { + + public Bomber2(int x, int y, double baseSpeed, int baseBombLimit, int baseBombRadius, + IEntityManager entityManager) { + super(x, y, baseSpeed, baseBombLimit, baseBombRadius, entityManager); + } + + @Override + public boolean collide(Entity e) { + if (!super.collide(e)) + return false; + return true; + } + + @Override + protected void chooseSprite() { + switch (getDirection()) { + case 0: + _sprite = Sprite.player2_up; + if (isMoving()) { + _sprite = Sprite.movingSprite(Sprite.player2_up_1, Sprite.player2_up_2, _animate, 20); + } + break; + case 1: + _sprite = Sprite.player2_right; + if (isMoving()) { + _sprite = Sprite.movingSprite(Sprite.player2_right_1, Sprite.player2_right_2, _animate, 20); + } + break; + case 2: + _sprite = Sprite.player2_down; + if (isMoving()) { + _sprite = Sprite.movingSprite(Sprite.player2_down_1, Sprite.player2_down_2, _animate, 20); + } + break; + case 3: + _sprite = Sprite.player2_left; + if (isMoving()) { + _sprite = Sprite.movingSprite(Sprite.player2_left_1, Sprite.player2_left_2, _animate, 20); + } + break; + default: + _sprite = Sprite.player2_right; + if (isMoving()) { + _sprite = Sprite.movingSprite(Sprite.player2_right_1, Sprite.player2_right_2, _animate, 20); + } + break; + } + } +} diff --git a/src/uet/oop/bomberman/entities/character/enemy/Minvo.java b/src/uet/oop/bomberman/entities/character/enemy/Minvo.java index 447ccb5..43cf3c4 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/Minvo.java +++ b/src/uet/oop/bomberman/entities/character/enemy/Minvo.java @@ -25,107 +25,10 @@ protected void chooseSprite() { case 3: if (isMoving()) _sprite = Sprite.movingSprite(Sprite.minvo_left1, Sprite.minvo_left2, Sprite.minvo_left3, _animate, - Game.TICKS_PER_SECOND); + Game.TICKS_PER_SECOND); else _sprite = Sprite.minvo_left1; break; } } - - // // Thêm hành vi cho Minvo - - // @Override - // public void update() { - // super.update(); - // Bomber bomber = _board.getBomber(); - // if (bomber != null) { - // int bomberX = bomber.getXTile(); - // int bomberY = bomber.getYTile(); - // int minvoX = this.getXTile(); - // int minvoY = this.getYTile(); - - // double distance = Math.sqrt(Math.pow(bomberX - minvoX, 2) + Math.pow(bomberY - // - minvoY, 2)); - - // // Kiểm tra xem khoảng cách giữa Minvo và Bomber có dưới một ngưỡng nhất định - // // hay không - // if (distance <= 3) { - // moveTowardBomber(); - // placeBomb(); - // } else { - // _direction = _ai.calculateDirection(); - // // move(); - // } - // } - // } - - // private void moveTowardBomber() { - // Bomber bomber = _board.getBomber(); - // if (bomber != null) { - // int bomberX = bomber.getXTile(); - // int bomberY = bomber.getYTile(); - // int minvoX = this.getXTile(); - // int minvoY = this.getYTile(); - - // // hướng vector từ minvo đến bomber - // int dx = bomberX - minvoX; - // int dy = bomberY - minvoY; - - // // Chọn hướng đi gần nhất - // if (Math.abs(dx) > Math.abs(dy)) { - // if (dx > 0) { - // _direction = 1; // Di chuyển sang phải - // } else { - // _direction = 3; // Di chuyển sang trái - // } - // } else { - // if (dy > 0) { - // _direction = 2; // Di chuyển xuống dưới - // } else { - // _direction = 0; // Di chuyển lên trên - // } - - // } - // } - // // // di chuyển mivo - // // move(); - - // } - - // private void placeBomb() { - // if (_board.detectNoEnemies()) { - // return; - // } - // int bombRate = _board.getBombRate(); - // if (Math.random() < bombRate) { // Kiểm tra xác suất đặt bom - // int xt = Coordinates.pixelToTile(_x + Game.TILES_SIZE / 2); - // int yt = Coordinates.pixelToTile((_y + Game.TILES_SIZE / 2)); - // _board.addBomb(new Bomb(xt, yt, _board)); - // } - // } - - // private void move() { - // double xa = _x, ya = _y; - - // switch (_direction) { - // case 0: - // ya -= _speed; - // break; - // case 1: - // xa += _speed; - // break; - // case 2: - // ya += _speed; - // break; - // case 3: - // xa -= _speed; - // break; - // } - - // // Kiểm tra va chạm với tường và cập nhật tọa độ đích đến nếu cần - // if (!_board.detectWallCollision(xa, ya, _collisionRadius)) { - // _x = xa; - // _y = ya; - // } - // } } diff --git a/src/uet/oop/bomberman/graphics/Sprite.java b/src/uet/oop/bomberman/graphics/Sprite.java index fb1d38c..91940db 100644 --- a/src/uet/oop/bomberman/graphics/Sprite.java +++ b/src/uet/oop/bomberman/graphics/Sprite.java @@ -4,170 +4,188 @@ * Lưu trữ thông tin các pixel của 1 sprite (hình ảnh game) */ public class Sprite { - + public final int SIZE; private int _x, _y; public int[] _pixels; protected int _realWidth; protected int _realHeight; private SpriteSheet _sheet; - private SpriteSheet1 _sheet1; + private SpriteSheet1 _sheet1; /* - |-------------------------------------------------------------------------- - | Board sprites - |-------------------------------------------------------------------------- + * |-------------------------------------------------------------------------- + * | Board sprites + * |-------------------------------------------------------------------------- */ public static Sprite grass = new Sprite(16, 8, 4, SpriteSheet1.tiles, 16, 16); public static Sprite brick = new Sprite(16, 7, 0, SpriteSheet.tiles, 16, 16); public static Sprite wall = new Sprite(16, 3, 13, SpriteSheet1.tiles, 16, 16); public static Sprite portal = new Sprite(16, 8, 7, SpriteSheet1.tiles, 14, 14); - + /* - |-------------------------------------------------------------------------- - | Bomber Sprites - |-------------------------------------------------------------------------- + * |-------------------------------------------------------------------------- + * | Bomber Sprites + * |-------------------------------------------------------------------------- */ public static Sprite player_up = new Sprite(16, 0, 0, SpriteSheet.tiles, 15, 16); public static Sprite player_down = new Sprite(16, 2, 0, SpriteSheet.tiles, 12, 15); public static Sprite player_left = new Sprite(16, 3, 0, SpriteSheet.tiles, 10, 15); public static Sprite player_right = new Sprite(16, 1, 0, SpriteSheet.tiles, 10, 16); - + public static Sprite player_up_1 = new Sprite(16, 0, 1, SpriteSheet.tiles, 12, 16); public static Sprite player_up_2 = new Sprite(16, 0, 2, SpriteSheet.tiles, 12, 15); - + public static Sprite player_down_1 = new Sprite(16, 2, 1, SpriteSheet.tiles, 12, 15); public static Sprite player_down_2 = new Sprite(16, 2, 2, SpriteSheet.tiles, 12, 16); - + public static Sprite player_left_1 = new Sprite(16, 3, 1, SpriteSheet.tiles, 11, 16); - public static Sprite player_left_2 = new Sprite(16, 3, 2, SpriteSheet.tiles, 12 ,16); - + public static Sprite player_left_2 = new Sprite(16, 3, 2, SpriteSheet.tiles, 12, 16); + public static Sprite player_right_1 = new Sprite(16, 1, 1, SpriteSheet.tiles, 11, 16); public static Sprite player_right_2 = new Sprite(16, 1, 2, SpriteSheet.tiles, 12, 16); - + public static Sprite player_dead1 = new Sprite(16, 4, 2, SpriteSheet.tiles, 14, 16); public static Sprite player_dead2 = new Sprite(16, 5, 2, SpriteSheet.tiles, 13, 15); public static Sprite player_dead3 = new Sprite(16, 6, 2, SpriteSheet.tiles, 16, 16); - + + // Render player 2 + public static Sprite player2_up = new Sprite(16, 0, 0, SpriteSheet.tiles, 15, 16); + public static Sprite player2_down = new Sprite(16, 2, 0, SpriteSheet.tiles, 12, 15); + public static Sprite player2_left = new Sprite(16, 3, 0, SpriteSheet.tiles, 10, 15); + public static Sprite player2_right = new Sprite(16, 1, 0, SpriteSheet.tiles, 10, 16); + + public static Sprite player2_up_1 = new Sprite(16, 0, 1, SpriteSheet.tiles, 12, 16); + public static Sprite player2_up_2 = new Sprite(16, 0, 2, SpriteSheet.tiles, 12, 15); + + public static Sprite player2_down_1 = new Sprite(16, 2, 1, SpriteSheet.tiles, 12, 15); + public static Sprite player2_down_2 = new Sprite(16, 2, 2, SpriteSheet.tiles, 12, 16); + + public static Sprite player2_left_1 = new Sprite(16, 3, 1, SpriteSheet.tiles, 11, 16); + public static Sprite player2_left_2 = new Sprite(16, 3, 2, SpriteSheet.tiles, 12, 16); + + public static Sprite player2_right_1 = new Sprite(16, 1, 1, SpriteSheet.tiles, 11, 16); + public static Sprite player2_right_2 = new Sprite(16, 1, 2, SpriteSheet.tiles, 12, 16); + /* - |-------------------------------------------------------------------------- - | Character - |-------------------------------------------------------------------------- + * |-------------------------------------------------------------------------- + * | Character + * |-------------------------------------------------------------------------- */ - //BALLOM + // BALLOM public static Sprite balloom_left1 = new Sprite(16, 9, 0, SpriteSheet.tiles, 16, 16); public static Sprite balloom_left2 = new Sprite(16, 9, 1, SpriteSheet.tiles, 16, 16); public static Sprite balloom_left3 = new Sprite(16, 9, 2, SpriteSheet.tiles, 16, 16); - + public static Sprite balloom_right1 = new Sprite(16, 10, 0, SpriteSheet.tiles, 16, 16); public static Sprite balloom_right2 = new Sprite(16, 10, 1, SpriteSheet.tiles, 16, 16); public static Sprite balloom_right3 = new Sprite(16, 10, 2, SpriteSheet.tiles, 16, 16); - + public static Sprite balloom_dead = new Sprite(16, 9, 3, SpriteSheet.tiles, 16, 16); - - //ONEAL + + // ONEAL public static Sprite oneal_left1 = new Sprite(16, 11, 0, SpriteSheet.tiles, 16, 16); public static Sprite oneal_left2 = new Sprite(16, 11, 1, SpriteSheet.tiles, 16, 16); public static Sprite oneal_left3 = new Sprite(16, 11, 2, SpriteSheet.tiles, 16, 16); - + public static Sprite oneal_right1 = new Sprite(16, 12, 0, SpriteSheet.tiles, 16, 16); public static Sprite oneal_right2 = new Sprite(16, 12, 1, SpriteSheet.tiles, 16, 16); public static Sprite oneal_right3 = new Sprite(16, 12, 2, SpriteSheet.tiles, 16, 16); - + public static Sprite oneal_dead = new Sprite(16, 11, 3, SpriteSheet.tiles, 16, 16); - - //Doll + + // Doll public static Sprite doll_left1 = new Sprite(16, 13, 0, SpriteSheet.tiles, 16, 16); public static Sprite doll_left2 = new Sprite(16, 13, 1, SpriteSheet.tiles, 16, 16); public static Sprite doll_left3 = new Sprite(16, 13, 2, SpriteSheet.tiles, 16, 16); - + public static Sprite doll_right1 = new Sprite(16, 14, 0, SpriteSheet.tiles, 16, 16); public static Sprite doll_right2 = new Sprite(16, 14, 1, SpriteSheet.tiles, 16, 16); public static Sprite doll_right3 = new Sprite(16, 14, 2, SpriteSheet.tiles, 16, 16); - + public static Sprite doll_dead = new Sprite(16, 13, 3, SpriteSheet.tiles, 16, 16); - - //Minvo + + // Minvo public static Sprite minvo_left1 = new Sprite(16, 8, 5, SpriteSheet.tiles, 16, 16); public static Sprite minvo_left2 = new Sprite(16, 8, 6, SpriteSheet.tiles, 16, 16); public static Sprite minvo_left3 = new Sprite(16, 8, 7, SpriteSheet.tiles, 16, 16); - + public static Sprite minvo_right1 = new Sprite(16, 9, 5, SpriteSheet.tiles, 16, 16); public static Sprite minvo_right2 = new Sprite(16, 9, 6, SpriteSheet.tiles, 16, 16); public static Sprite minvo_right3 = new Sprite(16, 9, 7, SpriteSheet.tiles, 16, 16); - + public static Sprite minvo_dead = new Sprite(16, 8, 8, SpriteSheet.tiles, 16, 16); - - //Kondoria + + // Kondoria public static Sprite kondoria_left1 = new Sprite(16, 10, 5, SpriteSheet.tiles, 16, 16); public static Sprite kondoria_left2 = new Sprite(16, 10, 6, SpriteSheet.tiles, 16, 16); public static Sprite kondoria_left3 = new Sprite(16, 10, 7, SpriteSheet.tiles, 16, 16); - + public static Sprite kondoria_right1 = new Sprite(16, 11, 5, SpriteSheet.tiles, 16, 16); public static Sprite kondoria_right2 = new Sprite(16, 11, 6, SpriteSheet.tiles, 16, 16); public static Sprite kondoria_right3 = new Sprite(16, 11, 7, SpriteSheet.tiles, 16, 16); - + public static Sprite kondoria_dead = new Sprite(16, 10, 8, SpriteSheet.tiles, 16, 16); - - //ALL + + // ALL public static Sprite mob_dead1 = new Sprite(16, 15, 0, SpriteSheet.tiles, 16, 16); public static Sprite mob_dead2 = new Sprite(16, 15, 1, SpriteSheet.tiles, 16, 16); public static Sprite mob_dead3 = new Sprite(16, 15, 2, SpriteSheet.tiles, 16, 16); - + /* - |-------------------------------------------------------------------------- - | Bomb Sprites - |-------------------------------------------------------------------------- + * |-------------------------------------------------------------------------- + * | Bomb Sprites + * |-------------------------------------------------------------------------- */ public static Sprite bomb = new Sprite(16, 0, 3, SpriteSheet.tiles, 15, 15); public static Sprite bomb_1 = new Sprite(16, 1, 3, SpriteSheet.tiles, 13, 15); public static Sprite bomb_2 = new Sprite(16, 2, 3, SpriteSheet.tiles, 12, 14); - + /* - |-------------------------------------------------------------------------- - | FlameSegment Sprites - |-------------------------------------------------------------------------- + * |-------------------------------------------------------------------------- + * | FlameSegment Sprites + * |-------------------------------------------------------------------------- */ public static Sprite bomb_exploded = new Sprite(16, 0, 4, SpriteSheet.tiles, 16, 16); public static Sprite bomb_exploded1 = new Sprite(16, 0, 5, SpriteSheet.tiles, 16, 16); public static Sprite bomb_exploded2 = new Sprite(16, 0, 6, SpriteSheet.tiles, 16, 16); - + public static Sprite explosion_vertical = new Sprite(16, 1, 5, SpriteSheet.tiles, 16, 16); public static Sprite explosion_vertical1 = new Sprite(16, 2, 5, SpriteSheet.tiles, 16, 16); public static Sprite explosion_vertical2 = new Sprite(16, 3, 5, SpriteSheet.tiles, 16, 16); - + public static Sprite explosion_horizontal = new Sprite(16, 1, 7, SpriteSheet.tiles, 16, 16); public static Sprite explosion_horizontal1 = new Sprite(16, 1, 8, SpriteSheet.tiles, 16, 16); public static Sprite explosion_horizontal2 = new Sprite(16, 1, 9, SpriteSheet.tiles, 16, 16); - + public static Sprite explosion_horizontal_left_last = new Sprite(16, 0, 7, SpriteSheet.tiles, 16, 16); public static Sprite explosion_horizontal_left_last1 = new Sprite(16, 0, 8, SpriteSheet.tiles, 16, 16); public static Sprite explosion_horizontal_left_last2 = new Sprite(16, 0, 9, SpriteSheet.tiles, 16, 16); - + public static Sprite explosion_horizontal_right_last = new Sprite(16, 2, 7, SpriteSheet.tiles, 16, 16); public static Sprite explosion_horizontal_right_last1 = new Sprite(16, 2, 8, SpriteSheet.tiles, 16, 16); public static Sprite explosion_horizontal_right_last2 = new Sprite(16, 2, 9, SpriteSheet.tiles, 16, 16); - + public static Sprite explosion_vertical_top_last = new Sprite(16, 1, 4, SpriteSheet.tiles, 16, 16); public static Sprite explosion_vertical_top_last1 = new Sprite(16, 2, 4, SpriteSheet.tiles, 16, 16); public static Sprite explosion_vertical_top_last2 = new Sprite(16, 3, 4, SpriteSheet.tiles, 16, 16); - + public static Sprite explosion_vertical_down_last = new Sprite(16, 1, 6, SpriteSheet.tiles, 16, 16); public static Sprite explosion_vertical_down_last1 = new Sprite(16, 2, 6, SpriteSheet.tiles, 16, 16); public static Sprite explosion_vertical_down_last2 = new Sprite(16, 3, 6, SpriteSheet.tiles, 16, 16); - + /* - |-------------------------------------------------------------------------- - | Brick FlameSegment - |-------------------------------------------------------------------------- + * |-------------------------------------------------------------------------- + * | Brick FlameSegment + * |-------------------------------------------------------------------------- */ public static Sprite brick_exploded = new Sprite(16, 7, 1, SpriteSheet.tiles, 16, 16); public static Sprite brick_exploded1 = new Sprite(16, 7, 2, SpriteSheet.tiles, 16, 16); public static Sprite brick_exploded2 = new Sprite(16, 7, 3, SpriteSheet.tiles, 16, 16); - + /* - |-------------------------------------------------------------------------- - | Powerups - |-------------------------------------------------------------------------- + * |-------------------------------------------------------------------------- + * | Powerups + * |-------------------------------------------------------------------------- */ public static Sprite powerup_bombs = new Sprite(16, 0, 10, SpriteSheet.tiles, 16, 16); public static Sprite powerup_flames = new Sprite(16, 1, 10, SpriteSheet.tiles, 16, 16); @@ -176,7 +194,7 @@ public class Sprite { public static Sprite powerup_detonator = new Sprite(16, 4, 10, SpriteSheet.tiles, 16, 16); public static Sprite powerup_bombpass = new Sprite(16, 5, 10, SpriteSheet.tiles, 16, 16); public static Sprite powerup_flamepass = new Sprite(16, 6, 10, SpriteSheet.tiles, 16, 16); - + public Sprite(int size, int x, int y, SpriteSheet sheet, int rw, int rh) { SIZE = size; _pixels = new int[SIZE * SIZE]; @@ -187,6 +205,7 @@ public Sprite(int size, int x, int y, SpriteSheet sheet, int rw, int rh) { _realHeight = rh; load(); } + public Sprite(int size, int x, int y, SpriteSheet1 sheet1, int rw, int rh) { SIZE = size; _pixels = new int[SIZE * SIZE]; @@ -197,12 +216,13 @@ public Sprite(int size, int x, int y, SpriteSheet1 sheet1, int rw, int rh) { _realHeight = rh; load1(); } + public Sprite(int size, int color) { SIZE = size; _pixels = new int[SIZE * SIZE]; setColor(color); } - + private void setColor(int color) { for (int i = 0; i < _pixels.length; i++) { _pixels[i] = color; @@ -216,6 +236,7 @@ private void load() { } } } + private void load1() { for (int y = 0; y < SIZE; y++) { for (int x = 0; x < SIZE; x++) { @@ -223,26 +244,27 @@ private void load1() { } } } + public static Sprite movingSprite(Sprite normal, Sprite x1, Sprite x2, int animate, int time) { int calc = animate % time; int diff = time / 3; - - if(calc < diff) { + + if (calc < diff) { return normal; } - - if(calc < diff * 2) { + + if (calc < diff * 2) { return x1; } - + return x2; } - + public static Sprite movingSprite(Sprite x1, Sprite x2, int animate, int time) { int diff = time / 2; - return (animate % time > diff) ? x1 : x2; + return (animate % time > diff) ? x1 : x2; } - + public int getSize() { return SIZE; } diff --git a/src/uet/oop/bomberman/input/Keyboard.java b/src/uet/oop/bomberman/input/Keyboard.java index 839a705..35eca03 100644 --- a/src/uet/oop/bomberman/input/Keyboard.java +++ b/src/uet/oop/bomberman/input/Keyboard.java @@ -2,6 +2,7 @@ import uet.oop.bomberman.utils.EGameControl; +import java.awt.RenderingHints.Key; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.util.Optional; @@ -31,6 +32,9 @@ public interface KeyboardInputCallback { public boolean up, down, left, right, space, x, pause, resume; public Optional keyboardInputCallback; + public boolean player1_up, player1_down, player1_left, player1_right, player1_space; + public boolean player2_up, player2_down, player2_left, player2_right, player2_space; + public void update() { up = keys[KeyEvent.VK_UP] || keys[KeyEvent.VK_W]; down = keys[KeyEvent.VK_DOWN] || keys[KeyEvent.VK_S]; @@ -39,6 +43,21 @@ public void update() { space = keys[KeyEvent.VK_SPACE]; x = keys[KeyEvent.VK_X]; + + // Player 1 + player1_up = keys[KeyEvent.VK_W]; + player1_down = keys[KeyEvent.VK_S]; + player1_left = keys[KeyEvent.VK_A]; + player1_right = keys[KeyEvent.VK_D]; + player1_space = keys[KeyEvent.VK_X]; + + // Player 2 + player2_up = keys[KeyEvent.VK_UP]; + player2_down = keys[KeyEvent.VK_DOWN]; + player2_left = keys[KeyEvent.VK_LEFT]; + player2_right = keys[KeyEvent.VK_RIGHT]; + player2_space = keys[KeyEvent.VK_SPACE]; + } private EGameControl keyToGameControl(int keyCode) { diff --git a/src/uet/oop/bomberman/level/FileLevelLoader.java b/src/uet/oop/bomberman/level/FileLevelLoader.java index b92afe8..7017b0a 100644 --- a/src/uet/oop/bomberman/level/FileLevelLoader.java +++ b/src/uet/oop/bomberman/level/FileLevelLoader.java @@ -8,9 +8,12 @@ import uet.oop.bomberman.Game; import uet.oop.bomberman.agent.Agent; import uet.oop.bomberman.agent.KeyboardAgent; +import uet.oop.bomberman.agent.KeyboardAgentPlayer1; +import uet.oop.bomberman.agent.KeyboardAgentPlayer2; import uet.oop.bomberman.agent.MovingAgent; import uet.oop.bomberman.entities.LayeredEntity; import uet.oop.bomberman.entities.character.Bomber; +import uet.oop.bomberman.entities.character.Bomber2; import uet.oop.bomberman.entities.character.enemy.Balloon; import uet.oop.bomberman.entities.character.enemy.Doll; import uet.oop.bomberman.entities.character.enemy.Enemy; @@ -29,6 +32,8 @@ import uet.oop.bomberman.exceptions.LoadLevelException; import uet.oop.bomberman.graphics.Screen; import uet.oop.bomberman.graphics.Sprite; +import uet.oop.bomberman.utils.EGameMode; +import uet.oop.bomberman.utils.Global; public class FileLevelLoader extends LevelLoader { @@ -44,32 +49,38 @@ public FileLevelLoader(Board board, int level) throws LoadLevelException { @Override public void loadLevel(int level) { - // TODO: đọc dữ liệu từ tệp cấu hình /levels/Level{level}.txt - // TODO: cập nhật các giá trị đọc được vào _width, _height, _level, _map List list = new ArrayList<>(); try { - FileReader fr = new FileReader("res/levels/Level" + level + ".txt");// doc tep luu map + String filePath; + if (Global.gameMode == EGameMode.ONE_PLAYER) { + filePath = "res/levels/Level" + level + ".txt"; + } else { + filePath = "res/levels/Level" + (level + 3) + ".txt"; + } + + FileReader fr = new FileReader(filePath); // Đọc tệp lưu map BufferedReader br = new BufferedReader(fr); String line = br.readLine(); while (line != null && !line.isEmpty()) { list.add(line); line = br.readLine(); - // doc file txt luu vao list } } catch (Exception e) { e.printStackTrace(); } - String[] arrays = list.get(0).trim().split(" "); - _level = Integer.parseInt(arrays[0]); - _height = Integer.parseInt(arrays[1]); - _width = Integer.parseInt(arrays[2]); - _map = new char[_height][_width]; - for (int i = 0; i < _height; i++) { - for (int j = 0; j < _width; j++) { - _map[i][j] = list.get(i + 1).charAt(j); + + if (!list.isEmpty()) { + String[] arrays = list.get(0).trim().split(" "); + _level = Integer.parseInt(arrays[0]); + _height = Integer.parseInt(arrays[1]); + _width = Integer.parseInt(arrays[2]); + _map = new char[_height][_width]; + for (int i = 0; i < _height; i++) { + for (int j = 0; j < _width; j++) { + _map[i][j] = list.get(i + 1).charAt(j); + } } } - // gan cac phan tu cho mang } @Override @@ -121,24 +132,31 @@ public void createEntities() { Screen.setOffset(0, 0); _board.getEntityManager().getTileManager().addTile(x + y * _width, new Grass(x, y, Sprite.grass)); - agent = new KeyboardAgent(bomber); + // if + if (Global.gameMode == EGameMode.TWO_PLAYER) { + agent = new KeyboardAgentPlayer1(bomber); + } else { + agent = new KeyboardAgent(bomber); + } + _board.addAgent(agent); + break; + // Thêm player 1: + case 'a': + Bomber bomber2 = new Bomber2( + Coordinates.tileToPixel(x), + Coordinates.tileToPixel(y) + Game.TILES_SIZE, + Game.BOMBERSPEED, + Game.BOMBRATE, + Game.BOMBRADIUS, + _board.getEntityManager()); + _board.getEntityManager().getCharacterManager().addCharacter(bomber2); + _board.getEntityManager().getCharacterManager().setPlayer(bomber2); + Screen.setOffset(0, 0); + _board.getEntityManager().getTileManager().addTile(x + y * _width, + new Grass(x, y, Sprite.grass)); + agent = new KeyboardAgentPlayer2(bomber2); _board.addAgent(agent); break; - - // case 'a': - // Bomber bomber2 = new Bomber( - // Coordinates.tileToPixel(x), - // Coordinates.tileToPixel(y) + Game.TILES_SIZE, - // Game.BOMBERSPEED, - // Game.BOMBRATE, - // Game.BOMBRADIUS, - // _board, - // _board); - // _board.addCharacter(bomber2); - // _board.setPlayer2(bomber2); - // Screen.setOffset(0, 0); - // _board.addEntity(x + y * _width, new Grass(x, y, Sprite.grass)); - // break; // Thêm balloon case '1': enemy = new Balloon( diff --git a/src/uet/oop/bomberman/screen/SelectGameModeScreen.java b/src/uet/oop/bomberman/screen/SelectGameModeScreen.java index 42ede6d..b362204 100644 --- a/src/uet/oop/bomberman/screen/SelectGameModeScreen.java +++ b/src/uet/oop/bomberman/screen/SelectGameModeScreen.java @@ -39,6 +39,7 @@ public void onKeyPressed(EGameControl gameControl) { } else { Global.gameMode = EGameMode.ONE_PLAYER; } + Global.currentScreen = EScreenName.SELECT_LEVEL_SCREEN; break; } @@ -88,10 +89,10 @@ private void drawOptions(Graphics g) { int boxHeight = textHeight * this.gameModes.size(); int marginTop = (h - boxHeight) / 2; - for (int i=0; i < this.gameModes.size(); i++) { + for (int i = 0; i < this.gameModes.size(); i++) { String level = this.gameModes.get(i); int x = (w - fm.stringWidth(level)) / 2; - int y = marginTop + fm.getAscent() + textHeight*i; + int y = marginTop + fm.getAscent() + textHeight * i; g.drawString(level, x, y); } @@ -107,7 +108,7 @@ private void drawSelector(Graphics g) { int marginTop = (h - boxHeight) / 2; int x = (w - fm.stringWidth(level)) / 2 - 30; - int y = marginTop + fm.getAscent() + textHeight*selectorIndex; + int y = marginTop + fm.getAscent() + textHeight * selectorIndex; g.drawString(">", x, y); } diff --git a/src/uet/oop/bomberman/screen/SelectLevelScreen.java b/src/uet/oop/bomberman/screen/SelectLevelScreen.java index 38f038b..84bd521 100644 --- a/src/uet/oop/bomberman/screen/SelectLevelScreen.java +++ b/src/uet/oop/bomberman/screen/SelectLevelScreen.java @@ -7,6 +7,7 @@ import uet.oop.bomberman.utils.EGameControl; import uet.oop.bomberman.utils.EGameLevel; +import uet.oop.bomberman.utils.EGameMode; import uet.oop.bomberman.utils.EScreenName; import uet.oop.bomberman.utils.Global; @@ -70,6 +71,7 @@ public void drawScreen(Graphics g) { drawOptions(g); drawSelector(g); } + private void drawTitle(Graphics g) { String title = "SELECT LEVEL"; Font font = new Font("Arial", Font.BOLD, 20 * Game.SCALE); @@ -96,10 +98,10 @@ private void drawOptions(Graphics g) { int boxHeight = textHeight * this.levels.size(); int marginTop = (h - boxHeight) / 2; - for (int i=0; i < this.levels.size(); i++) { + for (int i = 0; i < this.levels.size(); i++) { String level = this.levels.get(i); int x = (w - fm.stringWidth(level)) / 2; - int y = marginTop + fm.getAscent() + textHeight*i; + int y = marginTop + fm.getAscent() + textHeight * i; g.drawString(level, x, y); } @@ -115,16 +117,18 @@ private void drawSelector(Graphics g) { int marginTop = (h - boxHeight) / 2; int x = (w - fm.stringWidth(level)) / 2 - 30; - int y = marginTop + fm.getAscent() + textHeight*selectorIndex; + int y = marginTop + fm.getAscent() + textHeight * selectorIndex; g.drawString(">", x, y); } @Override - public void update() {} + public void update() { + } @Override public void onDestroy() { - this._input.get().keyboardInputCallback = Optional.ofNullable(null);; + this._input.get().keyboardInputCallback = Optional.ofNullable(null); + ; } } From d5fac22419403790126ae4d9f3a56991ba498645 Mon Sep 17 00:00:00 2001 From: Huy010302 <111289985+Huy010302@users.noreply.github.com> Date: Wed, 29 May 2024 17:16:56 +0700 Subject: [PATCH 63/93] fix move for 2 player --- res/levels/{Level1.txt => Level1P_1.txt} | 4 +- res/levels/{Level2.txt => Level1P_2.txt} | 0 res/levels/{Level3.txt => Level1P_3.txt} | 0 res/levels/{Level4.txt => Level2P_1.txt} | 0 res/levels/{Level5.txt => Level2P_2.txt} | 0 res/levels/{Level6.txt => Level2P_3.txt} | 0 .../bomberman/agent/KeyboardAgentPlayer1.java | 2 +- .../bomberman/agent/KeyboardAgentPlayer2.java | 2 +- .../oop/bomberman/base/ICharacterManager.java | 9 +- .../bomberman/entities/character/Bomber2.java | 12 +- .../entities/character/Character.java | 137 ++++++++++-------- src/uet/oop/bomberman/input/Keyboard.java | 8 +- .../oop/bomberman/level/FileLevelLoader.java | 6 +- .../screen/SelectGameModeScreen.java | 1 - 14 files changed, 100 insertions(+), 81 deletions(-) rename res/levels/{Level1.txt => Level1P_1.txt} (93%) rename res/levels/{Level2.txt => Level1P_2.txt} (100%) rename res/levels/{Level3.txt => Level1P_3.txt} (100%) rename res/levels/{Level4.txt => Level2P_1.txt} (100%) rename res/levels/{Level5.txt => Level2P_2.txt} (100%) rename res/levels/{Level6.txt => Level2P_3.txt} (100%) diff --git a/res/levels/Level1.txt b/res/levels/Level1P_1.txt similarity index 93% rename from res/levels/Level1.txt rename to res/levels/Level1P_1.txt index 2fcfc56..75c2936 100644 --- a/res/levels/Level1.txt +++ b/res/levels/Level1P_1.txt @@ -4,9 +4,9 @@ # # # #*# # #*#*# # # #*#*#*# # # x* b** * * * * # # # # # # #*# # #*#*# # # # #*# -#f x ** * * # +# x ** * * # # # # # # # # # # #*# #*# # # # -#z * * * * # +# * * * * # # # # # #*# # # #*#*# # # # # # #* ** * * # # #*# # # # # # #*# # # # # # # diff --git a/res/levels/Level2.txt b/res/levels/Level1P_2.txt similarity index 100% rename from res/levels/Level2.txt rename to res/levels/Level1P_2.txt diff --git a/res/levels/Level3.txt b/res/levels/Level1P_3.txt similarity index 100% rename from res/levels/Level3.txt rename to res/levels/Level1P_3.txt diff --git a/res/levels/Level4.txt b/res/levels/Level2P_1.txt similarity index 100% rename from res/levels/Level4.txt rename to res/levels/Level2P_1.txt diff --git a/res/levels/Level5.txt b/res/levels/Level2P_2.txt similarity index 100% rename from res/levels/Level5.txt rename to res/levels/Level2P_2.txt diff --git a/res/levels/Level6.txt b/res/levels/Level2P_3.txt similarity index 100% rename from res/levels/Level6.txt rename to res/levels/Level2P_3.txt diff --git a/src/uet/oop/bomberman/agent/KeyboardAgentPlayer1.java b/src/uet/oop/bomberman/agent/KeyboardAgentPlayer1.java index d716a5f..5e95761 100644 --- a/src/uet/oop/bomberman/agent/KeyboardAgentPlayer1.java +++ b/src/uet/oop/bomberman/agent/KeyboardAgentPlayer1.java @@ -22,7 +22,7 @@ public List getNextActions() { List actions = getMoveActions(); if (character instanceof Bomber) { - if (Keyboard.i().player1_space) { + if (Keyboard.i().player1_bomb) { actions.add(ActionConstants.PLACE_BOMB); } } diff --git a/src/uet/oop/bomberman/agent/KeyboardAgentPlayer2.java b/src/uet/oop/bomberman/agent/KeyboardAgentPlayer2.java index 8b0bd84..1724ced 100644 --- a/src/uet/oop/bomberman/agent/KeyboardAgentPlayer2.java +++ b/src/uet/oop/bomberman/agent/KeyboardAgentPlayer2.java @@ -22,7 +22,7 @@ public List getNextActions() { List actions = getMoveActions(); if (character instanceof Bomber) { - if (Keyboard.i().player2_space) { + if (Keyboard.i().player2_bomb) { actions.add(ActionConstants.PLACE_BOMB); } } diff --git a/src/uet/oop/bomberman/base/ICharacterManager.java b/src/uet/oop/bomberman/base/ICharacterManager.java index 2d062f7..d8db116 100644 --- a/src/uet/oop/bomberman/base/ICharacterManager.java +++ b/src/uet/oop/bomberman/base/ICharacterManager.java @@ -6,13 +6,18 @@ import uet.oop.bomberman.graphics.IRender; public interface ICharacterManager extends IRender { - + public List getCharacters(); + public Character getCharacterAtExcluding(int x, int y, Character a); + public void addCharacter(Character e); + public void setPlayer(Character character); + public Character getPlayer(); + public void handleOnDeath(Character character, Character killer); - public void handleAfterDeath(Character character); + public void handleAfterDeath(Character character); } \ No newline at end of file diff --git a/src/uet/oop/bomberman/entities/character/Bomber2.java b/src/uet/oop/bomberman/entities/character/Bomber2.java index 9a69409..0197c3a 100644 --- a/src/uet/oop/bomberman/entities/character/Bomber2.java +++ b/src/uet/oop/bomberman/entities/character/Bomber2.java @@ -11,12 +11,12 @@ public Bomber2(int x, int y, double baseSpeed, int baseBombLimit, int baseBombRa super(x, y, baseSpeed, baseBombLimit, baseBombRadius, entityManager); } - @Override - public boolean collide(Entity e) { - if (!super.collide(e)) - return false; - return true; - } + // @Override + // public boolean collide(Entity e) { + // if (!super.collide(e)) + // return false; + // return true; + // } @Override protected void chooseSprite() { diff --git a/src/uet/oop/bomberman/entities/character/Character.java b/src/uet/oop/bomberman/entities/character/Character.java index 0887b46..af07f4f 100644 --- a/src/uet/oop/bomberman/entities/character/Character.java +++ b/src/uet/oop/bomberman/entities/character/Character.java @@ -26,7 +26,7 @@ * Bao gồm Bomber và Enemy */ public abstract class Character extends AnimatedEntitiy { - + protected IEntityManager entityManager; private int direction = -1; @@ -45,28 +45,33 @@ public Character(int x, int y, double baseSpeed, IEntityManager entityManager) { @Override public final void update() { - if (!alive) { - if (timerDeathAnimation > 0) { - timerDeathAnimation -= 1; - } else { - handleAfterDeath(); - } - return; - } + if (!alive) { + if (timerDeathAnimation > 0) { + timerDeathAnimation -= 1; + } else { + handleAfterDeath(); + } + return; + } updateMove(); handleUpdate(); }; protected abstract void handleUpdate(); - + @Override public abstract void render(Screen screen); - private static final List VALID_ACTIONS = new ArrayList(){{ - addAll(ActionConstants.LIST_ACTION_MOVE); - add(ActionConstants.DO_NOTHING); - }}; - protected List getValidActions() { return VALID_ACTIONS; } + private static final List VALID_ACTIONS = new ArrayList() { + { + addAll(ActionConstants.LIST_ACTION_MOVE); + add(ActionConstants.DO_NOTHING); + } + }; + + protected List getValidActions() { + return VALID_ACTIONS; + } public boolean isValidAction(Action action) { return getValidActions().contains(action); @@ -76,14 +81,18 @@ public final void performAction(Action action) throws InvalidActionException, Ca performAction(action, false); } - protected void performAction(Action action, boolean isDryRun) throws InvalidActionException, CannotPerformActionException { - if (!isValidAction(action)) throw new InvalidActionException(); + protected void performAction(Action action, boolean isDryRun) + throws InvalidActionException, CannotPerformActionException { + if (!isValidAction(action)) + throw new InvalidActionException(); if (action instanceof ActionMove) { ActionMove actionMove = (ActionMove) action; double dx = actionMove.getDx() * Game.TILES_SIZE; double dy = actionMove.getDy() * Game.TILES_SIZE; - if (isMoving()) throw new ActionOnCooldownException(); - if (!isDryRun) move(dx, dy); + if (isMoving()) + throw new ActionOnCooldownException(); + if (!isDryRun) + move(dx, dy); } }; @@ -98,26 +107,26 @@ public final boolean canPerformAction(Action action) { public List getPerformableActions() { return getValidActions().stream() - .filter(this::canPerformAction) - .collect(Collectors.toList()); + .filter(this::canPerformAction) + .collect(Collectors.toList()); } - /** Check if can be moved with vector (xa, ya). + /** + * Check if can be moved with vector (xa, ya). + * * @param xa * @param ya */ public void move(double xa, double ya) { double moveDurationBase = Game.TICKS_PER_SECOND / getSpeed(); Waypoint waypointX = new Waypoint( - xa, - 0, - moveDurationBase - ); + xa, + 0, + moveDurationBase); Waypoint waypointY = new Waypoint( - 0, - ya, - moveDurationBase - ); + 0, + ya, + moveDurationBase); if (xa != 0 && ya != 0 && canMove(xa, ya) && canMove(xa, 0)) { waypoints.add(waypointX); waypoints.add(waypointY); @@ -130,14 +139,14 @@ public void move(double xa, double ya) { waypoints.add(waypointY); } else { System.out.println(String.format( - "Cannot move character %s to (%s, %s)", - getClass().getSimpleName(), xa, ya - )); + "Cannot move character %s to (%s, %s)", + getClass().getSimpleName(), xa, ya)); } } private void updateMove() { - if (waypoints.isEmpty()) return; + if (waypoints.isEmpty()) + return; Waypoint waypoint = waypoints.peek(); if (!waypoint.started) { waypoint.started = true; @@ -156,29 +165,33 @@ private void updateMove() { // Remove waypoint waypoints.poll(); } - + // Adjust direction - if(waypoint.moveDx > 0) direction = 1; - if(waypoint.moveDx < 0) direction = 3; - if(waypoint.moveDy > 0) direction = 2; - if(waypoint.moveDy < 0) direction = 0; - - Entity collidingEntity = entityManager.getEntityAtExcluding( - Coordinates.pixelToTile(getCenterX()), - Coordinates.pixelToTile(getCenterY()), - this - ); - if (collidingEntity != null) { - this.collide(collidingEntity); - collidingEntity.collide(this); - } + if (waypoint.moveDx > 0) + direction = 1; + if (waypoint.moveDx < 0) + direction = 3; + if (waypoint.moveDy > 0) + direction = 2; + if (waypoint.moveDy < 0) + direction = 0; + + Entity collidingEntity = entityManager.getEntityAtExcluding( + Coordinates.pixelToTile(getCenterX()), + Coordinates.pixelToTile(getCenterY()), + this); + if (collidingEntity != null) { + this.collide(collidingEntity); + collidingEntity.collide(this); + } } /** * Được gọi khi đối tượng bị tiêu diệt */ public final void handleOnDeath() { - if(!alive) return; + if (!alive) + return; alive = false; // TODO: determine killer entityManager.getCharacterManager().handleOnDeath(this, null); @@ -194,6 +207,7 @@ private void handleAfterDeath() { /** * Kiểm tra xem đối tượng có di chuyển tới vị trí đã tính toán hay không + * * @param x * @param y * @return @@ -202,26 +216,26 @@ public boolean canMove(double dx, double dy) { double x = getCenterX() + dx; double y = getCenterY() + dy; Entity a = entityManager.getEntityAtExcluding( - Coordinates.pixelToTile(x), - Coordinates.pixelToTile(y), - this - ); - if (a==null) return true; + Coordinates.pixelToTile(x), + Coordinates.pixelToTile(y), + this); + if (a == null) + return true; return a.canBePassedThroughBy(this); } protected double getXMessage() { return (_x * Game.SCALE) + (_sprite.SIZE / 2 * Game.SCALE); } - + protected double getYMessage() { - return (_y* Game.SCALE) - (_sprite.SIZE / 2 * Game.SCALE); + return (_y * Game.SCALE) - (_sprite.SIZE / 2 * Game.SCALE); } public boolean isPlayer() { return entityManager.getPlayer() == this; } - + public boolean isAlive() { return alive; } @@ -240,7 +254,7 @@ protected double getSpeedMultiplier() { } public abstract int getPoints(); - + public int getDirection() { return direction; } @@ -255,7 +269,7 @@ public void setTimerDeathAnimation(int timerDeathAnimation) { @Override public boolean collide(Entity e) { - if(e instanceof Flame){ + if (e instanceof Flame) { this.handleOnDeath(); return false; } @@ -270,7 +284,8 @@ public boolean collide(Entity e) { return false; } } - if( e instanceof LayeredEntity) return(e.collide(this)); + if (e instanceof LayeredEntity) + return (e.collide(this)); return true; } diff --git a/src/uet/oop/bomberman/input/Keyboard.java b/src/uet/oop/bomberman/input/Keyboard.java index 35eca03..09d8878 100644 --- a/src/uet/oop/bomberman/input/Keyboard.java +++ b/src/uet/oop/bomberman/input/Keyboard.java @@ -32,8 +32,8 @@ public interface KeyboardInputCallback { public boolean up, down, left, right, space, x, pause, resume; public Optional keyboardInputCallback; - public boolean player1_up, player1_down, player1_left, player1_right, player1_space; - public boolean player2_up, player2_down, player2_left, player2_right, player2_space; + public boolean player1_up, player1_down, player1_left, player1_right, player1_bomb; + public boolean player2_up, player2_down, player2_left, player2_right, player2_bomb; public void update() { up = keys[KeyEvent.VK_UP] || keys[KeyEvent.VK_W]; @@ -49,14 +49,14 @@ public void update() { player1_down = keys[KeyEvent.VK_S]; player1_left = keys[KeyEvent.VK_A]; player1_right = keys[KeyEvent.VK_D]; - player1_space = keys[KeyEvent.VK_X]; + player1_bomb = keys[KeyEvent.VK_X]; // Player 2 player2_up = keys[KeyEvent.VK_UP]; player2_down = keys[KeyEvent.VK_DOWN]; player2_left = keys[KeyEvent.VK_LEFT]; player2_right = keys[KeyEvent.VK_RIGHT]; - player2_space = keys[KeyEvent.VK_SPACE]; + player2_bomb = keys[KeyEvent.VK_SPACE]; } diff --git a/src/uet/oop/bomberman/level/FileLevelLoader.java b/src/uet/oop/bomberman/level/FileLevelLoader.java index 7017b0a..92982c6 100644 --- a/src/uet/oop/bomberman/level/FileLevelLoader.java +++ b/src/uet/oop/bomberman/level/FileLevelLoader.java @@ -53,9 +53,9 @@ public void loadLevel(int level) { try { String filePath; if (Global.gameMode == EGameMode.ONE_PLAYER) { - filePath = "res/levels/Level" + level + ".txt"; + filePath = "res/levels/Level1P_" + level + ".txt"; } else { - filePath = "res/levels/Level" + (level + 3) + ".txt"; + filePath = "res/levels/Level2P_" + level + ".txt"; } FileReader fr = new FileReader(filePath); // Đọc tệp lưu map @@ -140,7 +140,7 @@ public void createEntities() { } _board.addAgent(agent); break; - // Thêm player 1: + // Thêm player 2: case 'a': Bomber bomber2 = new Bomber2( Coordinates.tileToPixel(x), diff --git a/src/uet/oop/bomberman/screen/SelectGameModeScreen.java b/src/uet/oop/bomberman/screen/SelectGameModeScreen.java index b362204..951dc64 100644 --- a/src/uet/oop/bomberman/screen/SelectGameModeScreen.java +++ b/src/uet/oop/bomberman/screen/SelectGameModeScreen.java @@ -39,7 +39,6 @@ public void onKeyPressed(EGameControl gameControl) { } else { Global.gameMode = EGameMode.ONE_PLAYER; } - Global.currentScreen = EScreenName.SELECT_LEVEL_SCREEN; break; } From d1286f8471a4dfbd969eb80ba75e1aebebe1b734 Mon Sep 17 00:00:00 2001 From: Hang Le Thi Bich <21522041@gm.uit.edu.vn> Date: Thu, 30 May 2024 01:22:40 +0700 Subject: [PATCH 64/93] add background for select game mode and select level screen --- .../bomberman/screen/SelectGameModeScreen.java | 18 ++++++++++++++++-- .../bomberman/screen/SelectLevelScreen.java | 18 ++++++++++++++++-- 2 files changed, 32 insertions(+), 4 deletions(-) diff --git a/src/uet/oop/bomberman/screen/SelectGameModeScreen.java b/src/uet/oop/bomberman/screen/SelectGameModeScreen.java index 42ede6d..dd94b9d 100644 --- a/src/uet/oop/bomberman/screen/SelectGameModeScreen.java +++ b/src/uet/oop/bomberman/screen/SelectGameModeScreen.java @@ -5,7 +5,10 @@ import uet.oop.bomberman.input.Keyboard; import uet.oop.bomberman.utils.*; +import javax.imageio.ImageIO; import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.IOException; import java.util.ArrayList; import java.util.Optional; @@ -13,10 +16,17 @@ public class SelectGameModeScreen extends GameScreen { ArrayList gameModes = new ArrayList(); int selectorIndex = 0; private Optional _input; + private BufferedImage backgroundImage; public SelectGameModeScreen() { gameModes.add(EGameMode.ONE_PLAYER.getStringLevel()); gameModes.add(EGameMode.TWO_PLAYER.getStringLevel()); + + try { + backgroundImage = ImageIO.read(getClass().getResource("/menu/forest_by_forheksed_d9q4k94-fullview 1.png")); + } catch (IOException e) { + e.printStackTrace(); + } } public void setInput(Keyboard input) { @@ -54,8 +64,12 @@ public void onKeyPressed(EGameControl gameControl) { @Override public void drawScreen(Graphics g) { // set background - g.setColor(Color.black); - g.fillRect(0, 0, Global.screenWidth, Global.screenHeight); + if (backgroundImage != null) { + g.drawImage(backgroundImage, 0, 0, Global.screenWidth, Global.screenHeight, null); + } else { + g.setColor(Color.BLACK); + g.fillRect(0, 0, Global.screenWidth, Global.screenHeight); + } drawTitle(g); drawOptions(g); diff --git a/src/uet/oop/bomberman/screen/SelectLevelScreen.java b/src/uet/oop/bomberman/screen/SelectLevelScreen.java index 38f038b..81aebdb 100644 --- a/src/uet/oop/bomberman/screen/SelectLevelScreen.java +++ b/src/uet/oop/bomberman/screen/SelectLevelScreen.java @@ -10,7 +10,10 @@ import uet.oop.bomberman.utils.EScreenName; import uet.oop.bomberman.utils.Global; +import javax.imageio.ImageIO; import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.IOException; import java.util.ArrayList; import java.util.Optional; @@ -19,6 +22,7 @@ public class SelectLevelScreen extends GameScreen { int selectorIndex = 0; private Optional _input; private Board _board; + private BufferedImage backgroundImage; public SelectLevelScreen(Board board) { _board = board; @@ -26,6 +30,12 @@ public SelectLevelScreen(Board board) { levels.add(EGameLevel.EASY.getStringLevel()); levels.add(EGameLevel.MEDIUM.getStringLevel()); levels.add(EGameLevel.HARD.getStringLevel()); + + try { + backgroundImage = ImageIO.read(getClass().getResource("/menu/forest_by_forheksed_d9q4k94-fullview 1.png")); + } catch (IOException e) { + e.printStackTrace(); + } } public void setInput(Keyboard input) { @@ -63,8 +73,12 @@ public void onKeyPressed(EGameControl gameControl) { @Override public void drawScreen(Graphics g) { // set background - g.setColor(Color.black); - g.fillRect(0, 0, Global.screenWidth, Global.screenHeight); + if (backgroundImage != null) { + g.drawImage(backgroundImage, 0, 0, Global.screenWidth, Global.screenHeight, null); + } else { + g.setColor(Color.BLACK); + g.fillRect(0, 0, Global.screenWidth, Global.screenHeight); + } drawTitle(g); drawOptions(g); From 4023241e6002b20015fcc082469419470e816cac Mon Sep 17 00:00:00 2001 From: Huy010302 <111289985+Huy010302@users.noreply.github.com> Date: Fri, 31 May 2024 00:39:47 +0700 Subject: [PATCH 65/93] fix collide for player 1 --- res/levels/Level2P_1.txt | 24 +++--- res/levels/Level2P_2.txt | 18 ++--- res/levels/Level2P_3.txt | 18 ++--- .../oop/bomberman/base/ICharacterManager.java | 4 + .../oop/bomberman/base/IEntityManager.java | 10 ++- .../oop/bomberman/base/IGameInfoManager.java | 6 ++ .../entities/character/Character.java | 2 +- .../oop/bomberman/entities/tile/Portal.java | 9 +-- .../entities/tile/item/BombItem.java | 3 +- .../bomberman/entities/tile/item/Item.java | 5 +- src/uet/oop/bomberman/gui/InfoPanel.java | 5 +- .../oop/bomberman/level/FileLevelLoader.java | 2 + .../bomberman/manager/CharacterManager.java | 60 +++++++++------ .../oop/bomberman/manager/EntityManager.java | 76 +++++++++++-------- 14 files changed, 144 insertions(+), 98 deletions(-) diff --git a/res/levels/Level2P_1.txt b/res/levels/Level2P_1.txt index c9867be..a551e0c 100644 --- a/res/levels/Level2P_1.txt +++ b/res/levels/Level2P_1.txt @@ -1,14 +1,14 @@ -4 13 31 +1 13 31 ############################### -#p * ** * * s # -# # # # #*# # #*# # # # # #*# # -# * * **1 ** # * ** # -# #*# # # #4# # #*#1# # # # #*# -# b * ** * **# -# # #*# 3 # # # #*#*#*#*# # # # -# * * * *x* * 2 # -# # # # #*# # # # # # #*# #*# # -# **2* *3 # -# # # # # # # # # #*# # # # #*# -#a**5 ** * 4 # +#p s* * 1 * * * * * # +# # # #*# # #*#*# # # #*#*#*# # +# x* b** * * * * # +# # # # # #*# # #*#*# # # # #*# +# x ** * * # +# # # # # # # # # #*# #*# # # # +# * * * * # +# # # # #*# # # #*#*# # # # # # +#* ** * * # +# #*# # # # # # #*# # # # # # # +#a * * * # ############################### \ No newline at end of file diff --git a/res/levels/Level2P_2.txt b/res/levels/Level2P_2.txt index 78e4ea5..b88931e 100644 --- a/res/levels/Level2P_2.txt +++ b/res/levels/Level2P_2.txt @@ -1,14 +1,14 @@ -5 13 31 +2 13 31 ############################### -#p * ** * * f # +#p * *2 * ** * * *# # # # # #*# # #*# # # # # #*# # -# * * **4 ** # * ** # -# #*# # # #3# # #*#1# # # # #*# -# b * ** * **# -# # #*# 1 # # # #*#*#*#*# # # # -# * * * *x* * 5 # +# * * *** ** * ** # +# #*# # # # #1# #b#1# # # # #*# +# * ** * **# +# # #*# # # # # #*#*#*#*# # # # +# * * * *x* * # # # # # #*# # # # # # #*# #*# # -# **2* *2 # +# **** *1 # # # # # # # # # # #*# # # # #*# -#a ** ** * 5 # +#a ** * * 3 # ############################### diff --git a/res/levels/Level2P_3.txt b/res/levels/Level2P_3.txt index 9aa7b90..b29f0ef 100644 --- a/res/levels/Level2P_3.txt +++ b/res/levels/Level2P_3.txt @@ -1,14 +1,14 @@ -6 13 31 +3 13 31 ############################### -#p 2 * ** * * f # +#p * *3 * ** * * *# # # # # #*# # #*# # # # # #*# # -# * * **4 ** # * 3 ** # -# #*# # # #3# # #*#1# # # # #*# -# b * ** * **# -# # #*# 5 # # # #*#*#*#*# # # # -# * * * *x* * 1 # +# * * *** ** # * ** # +# #*# # # # #4# #b#1# # # # #*# +# * ** * **# +# # #*# 3 # # # #*#*#*#*# # # # +# * * * *x* * 4 # # # # # #*# # # # # # #*# #*# # -# **2* *4 # +# **2* *2 # # # # # # # # # # #*# # # # #*# -#a**3 ** * 5 # +#a**4 ** * 5 # ############################### diff --git a/src/uet/oop/bomberman/base/ICharacterManager.java b/src/uet/oop/bomberman/base/ICharacterManager.java index d8db116..7f457bb 100644 --- a/src/uet/oop/bomberman/base/ICharacterManager.java +++ b/src/uet/oop/bomberman/base/ICharacterManager.java @@ -20,4 +20,8 @@ public interface ICharacterManager extends IRender { public void handleOnDeath(Character character, Character killer); public void handleAfterDeath(Character character); + + public void addPlayer(Character e); + + public List getPlayers(); } \ No newline at end of file diff --git a/src/uet/oop/bomberman/base/IEntityManager.java b/src/uet/oop/bomberman/base/IEntityManager.java index af5861f..eaf805d 100644 --- a/src/uet/oop/bomberman/base/IEntityManager.java +++ b/src/uet/oop/bomberman/base/IEntityManager.java @@ -1,5 +1,7 @@ package uet.oop.bomberman.base; +import java.util.List; + import uet.oop.bomberman.entities.Entity; import uet.oop.bomberman.entities.character.Character; import uet.oop.bomberman.graphics.IRender; @@ -7,15 +9,21 @@ public interface IEntityManager extends IRender { public Entity getEntityAtExcluding(double x, double y, Character m); + public default Entity getEntityAt(double x, double y) { return getEntityAtExcluding(x, y, null); }; - + public boolean isEnemyCleared(); + public Character getPlayer(); + public List getPlayers(); + public ITileManager getTileManager(); + public ICharacterManager getCharacterManager(); + public IBombManager getBombManager(); } \ No newline at end of file diff --git a/src/uet/oop/bomberman/base/IGameInfoManager.java b/src/uet/oop/bomberman/base/IGameInfoManager.java index a6ff0bc..1f053e1 100644 --- a/src/uet/oop/bomberman/base/IGameInfoManager.java +++ b/src/uet/oop/bomberman/base/IGameInfoManager.java @@ -10,19 +10,25 @@ public interface IGameInfoManager extends IMessageManager, IRender { public int subtractTime(); + public int getTime(); public int getPoints(); + public void addPoints(int points); public boolean isPaused(); + public void pause(); + public void unpause(); + public void endGame(); public List getPlayerActiveItems(); public void setEntityManager(IEntityManager entityManager); + public void render(Screen screen, Graphics g); } \ No newline at end of file diff --git a/src/uet/oop/bomberman/entities/character/Character.java b/src/uet/oop/bomberman/entities/character/Character.java index af07f4f..c3ba74d 100644 --- a/src/uet/oop/bomberman/entities/character/Character.java +++ b/src/uet/oop/bomberman/entities/character/Character.java @@ -233,7 +233,7 @@ protected double getYMessage() { } public boolean isPlayer() { - return entityManager.getPlayer() == this; + return entityManager.getPlayers().contains(this); } public boolean isAlive() { diff --git a/src/uet/oop/bomberman/entities/tile/Portal.java b/src/uet/oop/bomberman/entities/tile/Portal.java index 8dfffd6..a9cf4ec 100644 --- a/src/uet/oop/bomberman/entities/tile/Portal.java +++ b/src/uet/oop/bomberman/entities/tile/Portal.java @@ -19,7 +19,7 @@ public boolean collide(Entity e) {// xu li khi 2 entity va cham // true cho di qua // false khong cho di qua // TODO: xử lý khi Bomber đi vào - if (e instanceof Character && ((Character)e).isPlayer()) { + if (e instanceof Character && ((Character) e).isPlayer()) { if (canBePassedThroughBy(e)) { _board.nextLevel(); @@ -33,15 +33,12 @@ public boolean collide(Entity e) {// xu li khi 2 entity va cham @Override public boolean canBePassedThroughBy(Entity other) { - if (other instanceof Character && ((Character)other).isPlayer()) { + if (other instanceof Character && ((Character) other).isPlayer()) { if (!_board.getEntityManager().isEnemyCleared()) return false; - if (other.getXTile() == getX() && other.getYTile() == getY()) { - return true; - } - + return true; } return true; } diff --git a/src/uet/oop/bomberman/entities/tile/item/BombItem.java b/src/uet/oop/bomberman/entities/tile/item/BombItem.java index 43a84ad..a288df4 100644 --- a/src/uet/oop/bomberman/entities/tile/item/BombItem.java +++ b/src/uet/oop/bomberman/entities/tile/item/BombItem.java @@ -6,7 +6,7 @@ public class BombItem extends Item { public static final int BOMB_LIMIT_BONUS = 1; - public BombItem(int x, int y, Sprite sprite) { + public BombItem(int x, int y, Sprite sprite) { super(x, y, sprite); } @@ -22,5 +22,4 @@ protected void handleItemInactive() { public String getDisplayActiveItem() { return "Bomb:"; } - } diff --git a/src/uet/oop/bomberman/entities/tile/item/Item.java b/src/uet/oop/bomberman/entities/tile/item/Item.java index 365bea5..f48d13c 100644 --- a/src/uet/oop/bomberman/entities/tile/item/Item.java +++ b/src/uet/oop/bomberman/entities/tile/item/Item.java @@ -24,7 +24,8 @@ public Item(int x, int y, Sprite sprite) { @Override public boolean collide(Entity e) { - if (isRemoved()) return false; + if (isRemoved()) + return false; if (e instanceof CanUseItem) { CanUseItem player = (CanUseItem) e; Sound.play("Item"); @@ -38,7 +39,7 @@ public boolean collide(Entity e) { @Override public boolean canBePassedThroughBy(Entity e) { - return (e instanceof Character && ((Character)e).isPlayer()); + return (e instanceof CanUseItem); } @Override diff --git a/src/uet/oop/bomberman/gui/InfoPanel.java b/src/uet/oop/bomberman/gui/InfoPanel.java index e718eaf..543f6bd 100644 --- a/src/uet/oop/bomberman/gui/InfoPanel.java +++ b/src/uet/oop/bomberman/gui/InfoPanel.java @@ -1,4 +1,5 @@ package uet.oop.bomberman.gui; + import uet.oop.bomberman.Game; import uet.oop.bomberman.base.IGameInfoManager; import uet.oop.bomberman.entities.tile.item.Item; @@ -14,7 +15,7 @@ public class InfoPanel extends JPanel { private JLabel timeLabel; private JLabel pointsLabel; private JLabel itemTimeLabel; - + private final Game game; public InfoPanel(Game game) { @@ -32,7 +33,7 @@ public InfoPanel(Game game) { itemTimeLabel.setForeground(Color.white); itemTimeLabel.setHorizontalAlignment(JLabel.LEFT); itemTimeLabel.setBorder(BorderFactory.createEmptyBorder(0, 40, 0, 0)); - + add(itemTimeLabel); add(timeLabel); add(pointsLabel); diff --git a/src/uet/oop/bomberman/level/FileLevelLoader.java b/src/uet/oop/bomberman/level/FileLevelLoader.java index 92982c6..ef21d9c 100644 --- a/src/uet/oop/bomberman/level/FileLevelLoader.java +++ b/src/uet/oop/bomberman/level/FileLevelLoader.java @@ -129,6 +129,7 @@ public void createEntities() { _board.getEntityManager()); _board.getEntityManager().getCharacterManager().addCharacter(bomber); _board.getEntityManager().getCharacterManager().setPlayer(bomber); + _board.getEntityManager().getCharacterManager().addPlayer(bomber); Screen.setOffset(0, 0); _board.getEntityManager().getTileManager().addTile(x + y * _width, new Grass(x, y, Sprite.grass)); @@ -151,6 +152,7 @@ public void createEntities() { _board.getEntityManager()); _board.getEntityManager().getCharacterManager().addCharacter(bomber2); _board.getEntityManager().getCharacterManager().setPlayer(bomber2); + _board.getEntityManager().getCharacterManager().addPlayer(bomber2); Screen.setOffset(0, 0); _board.getEntityManager().getTileManager().addTile(x + y * _width, new Grass(x, y, Sprite.grass)); diff --git a/src/uet/oop/bomberman/manager/CharacterManager.java b/src/uet/oop/bomberman/manager/CharacterManager.java index d1ddb03..2da14b9 100644 --- a/src/uet/oop/bomberman/manager/CharacterManager.java +++ b/src/uet/oop/bomberman/manager/CharacterManager.java @@ -18,14 +18,16 @@ public class CharacterManager implements ICharacterManager { - private List characters = new ArrayList<>(); - private Character player; + private List characters = new ArrayList<>(); + // list + private Character player; + private List players = new ArrayList<>(); - private final IGameInfoManager gameInfoManager; + private final IGameInfoManager gameInfoManager; - public CharacterManager(IGameInfoManager gameInfoManager) { - this.gameInfoManager = gameInfoManager; - } + public CharacterManager(IGameInfoManager gameInfoManager) { + this.gameInfoManager = gameInfoManager; + } @Override public Character getCharacterAtExcluding(int x, int y, Character a) { @@ -62,6 +64,16 @@ public Character getPlayer() { return this.player; } + @Override + public void addPlayer(Character e) { + players.add(e); + } + + @Override + public List getPlayers() { + return players; + } + @Override public void handleOnDeath(Character character, Character killer) { if (character.isPlayer()) { @@ -86,28 +98,28 @@ public void handleAfterDeath(Character character) { } } - @Override - public void update() { - for (Character character: characters) { + @Override + public void update() { + for (Character character : characters) { character.update(); if (character instanceof CanUseItem) { CanUseItem characterCanUseItem = ((CanUseItem) character); characterCanUseItem.getActiveItems().forEach(Item::update); } } - characters = characters.stream() - .filter(character -> !character.isRemoved()) - .collect(Collectors.toList()); - } - - @Override - public void render(Screen screen) { - characters.forEach(character -> character.render(screen)); - } - - @Override - public List getCharacters() { - return characters; - } - + characters = characters.stream() + .filter(character -> !character.isRemoved()) + .collect(Collectors.toList()); + } + + @Override + public void render(Screen screen) { + characters.forEach(character -> character.render(screen)); + } + + @Override + public List getCharacters() { + return characters; + } + } diff --git a/src/uet/oop/bomberman/manager/EntityManager.java b/src/uet/oop/bomberman/manager/EntityManager.java index 31c041c..6809482 100644 --- a/src/uet/oop/bomberman/manager/EntityManager.java +++ b/src/uet/oop/bomberman/manager/EntityManager.java @@ -1,5 +1,7 @@ package uet.oop.bomberman.manager; +import java.util.List; + import uet.oop.bomberman.base.IBombManager; import uet.oop.bomberman.base.ICharacterManager; import uet.oop.bomberman.base.IEntityManager; @@ -7,6 +9,7 @@ import uet.oop.bomberman.base.ITileManager; import uet.oop.bomberman.entities.Entity; import uet.oop.bomberman.entities.character.Character; +import uet.oop.bomberman.entities.character.enemy.Enemy; import uet.oop.bomberman.graphics.Screen; import uet.oop.bomberman.level.LevelLoader; @@ -25,40 +28,52 @@ public EntityManager(LevelLoader levelLoader, IGameInfoManager gameInfoManager) this.bombManager = new BombManager(); } + @Override + public Entity getEntityAtExcluding(double x, double y, Character m) { - @Override - public Entity getEntityAtExcluding(double x, double y, Character m) { - - Entity res = null; - - if (x < 0) return null; - if (y < 0) return null; - if (x >= levelLoader.getWidth()) return null; - if (y >= levelLoader.getHeight()) return null; + Entity res = null; - res = bombManager.getFlameSegmentAt((int) x, (int) y); - if (res != null) - return res; + if (x < 0) + return null; + if (y < 0) + return null; + if (x >= levelLoader.getWidth()) + return null; + if (y >= levelLoader.getHeight()) + return null; - res = bombManager.getBombAt(x, y); - if (res != null) - return res; + res = bombManager.getFlameSegmentAt((int) x, (int) y); + if (res != null) + return res; - res = characterManager.getCharacterAtExcluding((int) x, (int) y, m); - if (res != null) - return res; + res = bombManager.getBombAt(x, y); + if (res != null) + return res; - res = tileManager.getTileAt((int) x, (int) y); + res = characterManager.getCharacterAtExcluding((int) x, (int) y, m); + if (res != null) + return res; - return res; - } + res = tileManager.getTileAt((int) x, (int) y); - @Override - public boolean isEnemyCleared() { - return !characterManager.getCharacters().stream() - .anyMatch(character -> character != characterManager.getPlayer()); - } + return res; + } + @Override + public boolean isEnemyCleared() { + // viết lại thành dòng for: kiểm tra trong list character xem có ai nằm trong + // list players hay không + // Nếu có thì chưa clear -> false + // Nếu không còn thì clear -> true + // return !characterManager.getCharacters().stream() + // .anyMatch(character -> characterManager.getPlayers().contains(character)); + for (Character character : characterManager.getCharacters()) { + if (!characterManager.getPlayers().contains(character)) { + return false; + } + } + return true; + } @Override public void update() { @@ -67,7 +82,6 @@ public void update() { bombManager.update(); } - @Override public void render(Screen screen) { tileManager.render(screen); @@ -80,22 +94,24 @@ public Character getPlayer() { return characterManager.getPlayer(); } + @Override + public List getPlayers() { + return characterManager.getPlayers(); + } @Override public ITileManager getTileManager() { return tileManager; } - @Override public ICharacterManager getCharacterManager() { return characterManager; } - @Override public IBombManager getBombManager() { return bombManager; } - + } From 5cd832d40c57c47b38346547c16532de67cdda64 Mon Sep 17 00:00:00 2001 From: Huy010302 <111289985+Huy010302@users.noreply.github.com> Date: Fri, 31 May 2024 00:51:45 +0700 Subject: [PATCH 66/93] fix collide for player 1 --- src/uet/oop/bomberman/entities/character/Bomber2.java | 7 ------- 1 file changed, 7 deletions(-) diff --git a/src/uet/oop/bomberman/entities/character/Bomber2.java b/src/uet/oop/bomberman/entities/character/Bomber2.java index 0197c3a..52a40d1 100644 --- a/src/uet/oop/bomberman/entities/character/Bomber2.java +++ b/src/uet/oop/bomberman/entities/character/Bomber2.java @@ -11,13 +11,6 @@ public Bomber2(int x, int y, double baseSpeed, int baseBombLimit, int baseBombRa super(x, y, baseSpeed, baseBombLimit, baseBombRadius, entityManager); } - // @Override - // public boolean collide(Entity e) { - // if (!super.collide(e)) - // return false; - // return true; - // } - @Override protected void chooseSprite() { switch (getDirection()) { From 1752556516cc326b3122b7a674a00dbd92a6e7a5 Mon Sep 17 00:00:00 2001 From: Huy010302 <111289985+Huy010302@users.noreply.github.com> Date: Fri, 31 May 2024 13:07:32 +0700 Subject: [PATCH 67/93] fix render for player 2 --- res/textures/classic.png | Bin 8019 -> 13746 bytes .../bomberman/entities/character/Bomber2.java | 11 +++++++ src/uet/oop/bomberman/graphics/Sprite.java | 28 ++++++++++-------- src/uet/oop/bomberman/sound/Sound.java | 5 ++-- 4 files changed, 30 insertions(+), 14 deletions(-) diff --git a/res/textures/classic.png b/res/textures/classic.png index 33db1e3ceeec5d5290f3cdf0d165402aa9145598..e93685c0d18b83fca003ce6ff919bddb0efc9a89 100644 GIT binary patch literal 13746 zcmeHO^;;D0*PdnRMo_w>m2L%=1*8Nd6{WjZK#-25QAtHYkWOi(a|sueZUiKxyJLaf z{qE44-YStmKnFWtk3gBM?cM#s+k22Zhu$j711cY*>a;WZ0*$L?vml z<|c&9tWacFSXiEHZJTU!A%6^rAgC3IAkG)rb>QA88vNRCwL4nVHJ$gQ#Bj zg>!>}{II_dG@e6U14tsFwjZ37y1u9EeRJ!_e`CX;v_97gdk|X_PpU-FWko8i&%;hm z(5gH{75@H(2De6%>)vD05BRA<-*y@pdUpz|vvg%dhc?FSJk&qCL%L4(a7yHx zLV)oXI+*k7#^~I;A}X9yf$@#*pNmUFwDn_u)a7_eTErR?z~v z@b4pRWb~khXJ6(Yzs=RS+`rc|DrmDR;oi^AlMfTq<@0| z%%<*y<_bd)_GT$DA8UT~mwOe#&fsW5|okxvtqt&fYzY_0#rtaVB zLblPh4t${CO(-hi&x`!G2KNWuMgjIATc=@UXu%5R!+B~I-3*rN!?KsK4r9SSM=??$ zanaQTG5DJaL3-v8eB0{cUaUr>huu@=nz}T@(-?GrFtXJZ-m6^&tJm!!taKJYMj7(b7+2vGD1z))AbMYVdl?|elQimcB&mF zD5%CG&%*k&&@v*ZeNB~pt`kcC9(%=t2t`K*qDqgE%TkLfQ_ycltW-{n$qNLG7gll|9WX)V%mb8FRS%`%2GTx)W?LgW(XX1mMaeCd5d!) zHArla>2EbulMq22Ypl$oUyrlzzlfu*dumeh9H$0)T+*FLM%E05YjTPwwxVNPP1GLG zS8CZD*IovYYRaDmS^QHp z=QdIe6CFYX!4jA4RrTowZv)JfmL%pheJIXLE>hE&EQh1Wv^-Xn+uaWL4C;Swj5k00 zI@vkhFqxpn{+%}Lha3jIn{(I3Uyb&o{&2}_L3F7Y*{+mScGb+bRAtFn=PSV}NxXo{ zF|Scyy8ufmu4P`*CR&Ap9^Pi6fdEHuWV?qo$+K+oqn3vN)U?m^dNa4%btONCQ_plW zarK&=Tn$ewj3r26q}qJ?+Ph(M=8jrB{_;GW ziD@1_srtfjN#^F+BVIwX6x58`=1zY3RQd0yw;`i%?7Ek2wj`JcXc<8~ywh!{N%Rd6 zuyC2i;QgWU7}frpm_f5TjQJvnM&+=@?%O_|6OxKqTK8gRi*I^oF(RAE%L!XA1|aY% zx;EZn1`i(*W^#=-bxl#ck{~UX#B-5&Bs;v2cgBwo7b}-`_1c(xe?<0t2x3z8-+<1a$cmdq(= zv5>1WgT+2Fkv1z>rz_N55lGot$6II<%pfJq{)kC6baS_whnY<*}D1(*)Ce%wqIx5KzTn4*^JjT~#rz{p5kiw&62qwfP>1?_tHY!A;*g zlI=*AccRqv=ZoJLmaGCi>;UgM91#TYUMKm5xC|v0l_bR-^MZrF2LV>5;5K2pF+i1B>aBj2$Nk3d(vT1{ne^ffo=T_^- z8W;3>=##6B1zt`N@F~_e^vIk)wD~W;rC$)mg-o{0_&qrgeTQdaSu5wg;BQJAGb~0?jqBi=vH25FlNAm_gg9f7oj(swY)JYw zXw;xEiiDj;Ei-r-1&mQ?zCM0Mtrr&%J@N1vDjr{a()dlPqO???N;K-GWxVzJ$g8fN z3<%Cn`Yx<>YdisHqX4rpy`rbSyVWUyLj<3HP!EvJ5(q)X@!piGbw#QnvZ!+3>92ti z?+nD#pMLTX;?(ev4-p`HHyad`viLJCM8&Q}E0w8C? zD8MhhhWiOWE~(SzP(e??%hWw#GRc2fBnxm=2>i!+J96lg!rO&`&*^YsW&~F?l&9(0 zbYF+B4~bQ?ss8%{yyvbe-C-)*FchHOjVPgHNOw;`0kT`}Ut9XU7~f6U?NeJzWDQH9q1(@;f#*)?0OYS-zn>^(Mx&_^{D)V;)Gv z_#A!=@yQ=4O*#e5CQGtI*Wc22_rvh-+-1v#8{d$>z#9y%h3_j0?1n1-IecQ<{W5?9 zZ%q`DQ4$arx-lOypNMJD#x6DwP*T0@o80!12l{w8`}t2m+V|te;7W`kT=~~=C}1vu zu#FV(0&l2JRy7LYSy3+kuq3*g%At6_)KYYL`DY~DDj85)7HSjUA6{6i zrs%&-N!Diwy4VGDL!Oirkv~&(o#Dq<)*F6ptjs~c&BsRKZL0g5i2A9!$~+42xP_1? zK>HstJY|n~aSGBHEUWqnzS)F*V2m_F;vx}AFWdEi3CQ_b6v!d!MQWz_cGwi`XTO_a z*9;(5IY=Yd%I+!aW?0do0OgMvg-{YJ`0OA9r9aj^!~22#J}@WAw*N4;Ol?;kK&d+qtg0kTdUlQtMzKf2?H#ybRMg z`^a4FD&M)Wy{WQ94fy>Ey?pBLiUNAqBUB8i4>6x3Ii_R<*Px77^Ch6y&WoK#J$S>n z6_M&J8FipZVKZ?*ODR{zL^ldZ0mU-qRx7wOz-y@K66dq;nMdU^J%OVVEDhG=dnOQI zC!O{q6?}qAM-KuFM(Wh4>uB3~^kf{*@eKK0XjC3iWAtJASt6Uq_Bnt|cb@VKDm?TPl0X!CHk{q5|eD{0cm z4vumlw#95U)+$l%8m|o{ zZuGG7kSKOmQ+Y_s#7kuCYa?}MRQUrrxpy$e=x3GUWeEqDS@KGSZ z|F#hx`F+|`*UeiJU+(CsfWv#U;C#SE3S&#YxjETWV&$8p>7eJ2CA36GO&iZL-iwOA zMfz*iP)t&96&YuuV9Jqzv&El)V(~N2)kUg~(@yI{gszMCB)_Z|ntCCFpKaDVzj|Pg zRZF*P=Ja;XzEamQFl7I|J}cFMSFa_Eo`ai{XdgPkVD{#EsG>@W0uFhm@r5GHNpgHv z|7SIe556llqlEC%^Fp`&>t@k4S8Q%6V@GMcPpm}Urg+qv}yj4Rp z)&NoBejp_*R#xY4-tzYtP z8By9O{2*3;4+pBZ`2WttlF)#>vNLnGZ;Dai#lfS zz$Sj?e?K8(3jcr}5-ppSf$hk!``N(7WjjmocJ;EES_xpv3 z9(7nq5`A?d7ETr23lzNHWN+Zo6*QvYhAnC;|mbCy+r>x5` zfk&Dhs*wYEaqBsT$HWBJj4w+c>yE68e-JrtNIi*Es*fGKy>Ip@oKDW`=p=cB$Na`{ zLp_FVXSQb`Xcc9TJJ%Kk8e48&k~sq#^4D} z9-Q5Ior%(+{ERYePV(3dl2a06NjljgY6ic}N=Aa^CL!A5F0TvqqYRdLS*N(5M>NWe z;ME+51qnu?c@5(GtoXYDvU@e77hSbIbnse@4*XbEhakn-xX^|hSQI$(V@QKFP{=?4 zev#MOJ(5;+(`Ub-ZWID^SjWpe6@8+{=Y0EHLeny8ce%86G#tPyqiqCZa)KZqbE zONpQ>C(6i`B74cOr4K2+1wtEr4Q6<6WevnS2_H`+&R6K_pWtZwgxD$7M*$#nvkdzr%kr%hzRI&;4Dj zGV5Sv?As7l+Rl-I`tNZ*df!8P4iYb%TV^g8qNjZMU6=sz-o-FikD2z%uCwDrFo3`y zPep@oSC3A>jvve8vPf#t1L_Iia$rrT=QERgGA5ynjOI^x0RB@E`HmN23O1pu{SKIHQeh*%}Y<(cQ3K0=yc@8`9aHN$DEWCE=P^Bud3H!kPLOa!3zk-oI#F)6yVgoPJ) znJ7@M^bHrT#;#@{$r!b>PR$i#DeB>gl?-%MH?@Skp-T{AtFCIkQ1;xu{h^uIKir>g zqz$qTiR`^4&QhxX!<6B2h>*e=mgT>NJ6{+MhG#5Y7dmmT`-Y`k;P@3q$&SUDV&->E zyBq%C*5miS&w^{$61aImfSuYpk(OTc;|9MrhbMJ^sAPo_B8C@by}%Op-Z0J2{vb?B z9_yLBd3{sq61^r-L|AdzF&|R?B7s~rgMHWV+zfAurF2Im{++mRNNOq>Q(l}UGlT2ztuuqA7XMtCQ~$v zkc=kfDvobpf(_DcBZ$LI9;n)k*!k~iiMzJVqSVvP-k4WXejHHXuSG;TZ*ZTh z;9)vmH?fGKNAU&~qW0*DsqMCRvsWRI@)rsjDQ6j~V{VWO&4uYzcN;fk|4K#2#Q{dG zKvrJ!UFD5~lYQ}0 zy;J{l=V4+$m#dCBdtSj`x8=4j-QSlBbeB<1ra9be zr;s=T)yB6TwCfg?E5zKPG)p?OC!mWjO#SJiKVaNXE7v=I>f`4kz-&$$aLtwcF`y;k zZ(4_*K_D2Q!^g59l8jQCs)2>dMdgiGG_ql@7826*?m5)lX-f9T#vUB>m~a&vCBz{aJ6s&aPHR zkqS+rcT^vB>1-Xd>7wRKAYV_=oM54g#zgyyA76_V9H4@%U-qc;Y{_ZkJ*} zIn5haTW<1W)mFgfBO2I3y(Kc9!BLz#?G0Z;Wqy2rA;%bFsdXm&L*^_LI>#g%y|~_I z`;A%aFk*-{;tw+wAqmYLx~iB!m$$at>gSk}guhRUA8OUs&nwCzaW_Db-%1UY(-)TJV&3bu^Y%k-QiD$bCfri3pa%59*v zW~9ka(L^Lbd>-E;cKBI1RaMo8-M~y5(MX6b@NHacM*%uP+#fc8k9ky(@bB*jOA(z6 zxPUD9I14Ts76OdlBR!ZYn2XKvXML|1&_bo-NU{xRwu$Vo8wSt{m28e!#+NHPT(cM` z7&cEv8;ztrlF{uCVdy|AKadTo=f))1ZU;+oPaKZKgnX&4H>Yq;8&))h&2uW_Jl~A} zQM7v`lS;UYoW)?SrGe#<5hS>$~51X6?~Vj{}EeEV?NLr$e|q=C!NpzVNX0 zxtYjiW-k>{OlXcu^RXMx&W$0LyO)b`p7XUnqB}D*o|efHUmN{%iUWi}GsVf-hDNpeE`^DS2TUOMb90joj{kUktmh#GiMC+wjGU}0 z)!3DoSgja#gf2-JZXSMl=z*J)oTw-%Wkdz1Go%A>%=KUIECz<@lVVJD&SRqWy@rXC zpLU5g?N9dC`^H^&eJvbJ`m`>~ds8KJ`!>ybd@}g>8RNOLtf6 z$H#_gFQK$KZ`Q;&&ej{)K`VT@8 z=08q2*&C#lPeFRVi#E?+tolDfUY6umPYs}e0Q)DflFLHbkV@7{3PZV|M`{I^X6d2? z3R0ds>*iTXLW6xl8a|)BlX1XP_4$8ihB8Az2)P=fE~>jRCQJ5Pf>$7h)*O^R?Y}o2JUt{}DTMsV9kqL%?Q&Xzph9 z*>m9}hfvYBKs|@htLXQwTsJypj%U9Qzyu;Fi5%quf(oCA~i2 zcOxInuyE}o3^Km`nxWj!1In*g5leA`rq|#W)~tg)ie_*;k)$HmJz?pHFq;#QlWige zCnd}=9i3$|K3e2}0{zu>6dyZu2oc27&B>)u4p$7#usv>@P4 z`?Q+d6OPwp!e;!gF`;X)PElhoY2D@6-VG?fIbI!QdjuaB|4kb{jCQ`q0dTYu@=GtII-_&5J z{EB4w)ywK&A5Z-JGw9kcK#4CNqQt!*l!n zfy5&ePCwTK8#y@4 zXz5b0=NPp@NjLuClbN;cw)s~->L&KeDDcg=>uTEa>21~7Xik}V#&d)7;K@+>c#dg+ zVgA{Jg0jl5{|+5>KVvW1Lx>>PWx7UD(xKNjj+7mj<2gNj7Fao1KXk-cL`wdRn|*Oh z)f_&(M!|0)sI!hIdO0JhJ0`ncZV+MGgT6%WrA# z7bjl`2F)`&f|etU@Hh&w>C(}ELQh}_&0bstF1rL(a2&zhjZi?LkC_)xHx(`L^ICK+ z_OI|;SivbCd=otTd`I8dqC!36amu1y|EUgdSI$6*LMA#KlRlSQ0@Fhl1!BJ3<1zPI zg8ToINiv5MF_?&sa$6ZyA*3I62$1T8y9cf&Q2`mLhxoaxREd}$=2{6#brxz=6d)+q zsb30Pr9{Qe+^m81Bnq%uy?UfPUohy(+=-*>McVI;4}_5mqHYV4JYaleVQiB;fW0K` zr-oq59~X@z-j-8U=JU%Ip28B`$b|ofbC4KBk&sw(?CR-!cLr?au%(V9o}j;`fb)&Y zr7r-`QU0d|07`W`?xhqwnyGucl!}xi)IYv`-!+ofA1yX z8yUB>F3CY3K$*4T{8;q&s3bdZMiE4&41pRl88x z9LPID6NaJo1-<{;ypq^U19Ju$$Sb1VzcH)m7WA7@XVTGeHW#<-J<8na9p`!jfv+ev zfQU&H!sWKuf3a%0%e@dJl#g9s-f3YN8QCq&rvgzCz6T}bR1K({fR5g_Ye9e+R^Z9E zAmDVcF}Iw$5tLW`dV&Ql&%1Q~n4sM|%lAPkp;XLy0Ugz$7FC!D;DRT68Z(T+VRNJY z1mFZ8#7#0>T@M&#CBN@7mTm%0VBx%qy4NlN>^VTJESuSfr_7B(0Ar7m4mkIZf7oDC zl|5{sPt2LKO8`!8JvZ%AIB0WxBz9KE`i*4NO`Hy5-=`WxV+xmwkGF5Yd~y3~|5|3xZ8h|s}O(ZY1`1xttLt-$=U z7&;H#T9-@!hkFvou<{^<*u%Y-aKP%CS$th3DKO9AfHnL$0L!G5$xA|}y~%RY14jf5 z?>h5;4&_|++;(4}KDoWhsuK?NnFtg;r@3Z5szq^Zw6Z&3ClCzpdFR$%`M?=TX$qQh zzMu?yPfM7{h@01Jyuepy6v@Z8oap>7&l)ej-E{j{GMoCHp^6IH=P{IO$Cwg-N(IcT zrv*}jH{*^0(ojL0Q&8cpxc2mI`T|fDtYRl0>eQL?hbMwnX!RH^&%^(j5y5k1}iF_FS<$sv1w5zjykrp zVL#{e#~Fwa1Ij`Z#T~)H=Y|l)DLkhN#rQR__>Ft^miklPJ$AP`cJ&^;>#(RB$85;n3L z56>gZ7BxFdjAUsuo~k~!=d{wL<;ZUGwAy*s52RoFT0aMOOm)t;nrdYeW(xV zv?CfFzKZB=1&W2B+it2MBA;nSy^|_-Ie&1bVQl_LZPg` zPQMwZzFhoF16T~q01@}oj>v}bh=?$f=%HI_a#P|u^esdSaOxsl-l0hUg7U{!{WAJU zl5^+xNAWNBQfy7#8{b;qp$w`hOL~y4SZKM;p=tUmvr81miP+$@DVM&xb_xxaHwzB( z`1~gHHbz}g*qNo-<2R-xv|G<-ie;8-R#Cxs{I8G=B@DXrXi(sbv=NxiB#H%>uwcy8 zT_Z$=>n5+}FHz}pbT0+|p=_^L*G>LTBMnpkh0@~G9l1;fWw$ctn%QML)pj|s5!g=S zUgFp~D&`iQ_#OKcoV$#-f+JW~K36(^>tul~%^(SAOPk{qwyLdH4senwdLn!2p4NTe zxqHEGovf-ugdT3kez1Y~nT>m@n4QcG7`d!7B9OZ_o}>LEdVru2V1XXclS#%T3Xi5u;Xn_CFgJ<_~Q+q|5< zF&HWue+pm`qugXq=wU#zN-4r^KlGI|H%Qz@lN>P4Za8;+?JLDm=GSfb#Nk^cvd;#o z(8r@<6svX1!`;37!rFBnmk1wfWt`Z@XGAhPE{ulS5$kCiLMi`1&=nA}%@!LjECiU|y=@4pY{8l^j7UblWxSdzK-FLbfW6>DG~Q`w6Qetb_y)SG3h z8Tiz1iEvl zp(W;!vfnvt!hX{xT?27krD@Bb&ne(-_)b(oLI?i{_{XkCi*^*J7#@eakU%9aHRSN* zRYq$L8Z#*Pd%`Q}dmM)<=>vDq)1~~Zu+KaFk&ViOM4|$&yMp+0p!2S@Ds$(u+Tkc^ zdu$Ln1no=uA8TrX3)H)3?{bR7_q}j2=-9Slj|%;Q#WhUp2PgRf`^vi}idgo2?7wm< z71TTb(5~Z!dk8*u(A7>4kP-4``=_iItorZwgeuiNf(Dw2&g6tAj1JU$A+*1%Ar-|2 zdf3AduOpcWUEyHc7rE({Tj&yxj8|?>5z@sYl-L|XhC%K;kD|Veon?iCvz+w9sU`FV zJawk%EJ!+KCljgLr?Fl426ij^I_ACT^7 zZ3_X2n8etj8NPVj+L^C;Q8cwavZwP~{HHO9nA8NX%gl()&%br{|26q%_JmLJ1+%&1 zw~P%}RK!oxifn>wRPF+K+7HK0eavu^`VeOD8<-NfWF{RM^}>ayuPnZ68tG*^B-Tt! zyB*lmksk?vIC~xHU{7I15by(nF_)6jF94N>`s5|=Z2qx~(3`ww zQczlk(X|p%H1Qqb%|D6S%3$`q^|=IBY|x<5t{4dkQ= zM~)FLlR*Nt;@G}td4#>Q4z4HZh>NXNDI8bk*Per)g|yej7+5ccR47XAy-TMTClOir zdrB@TyDk~$L-qz+T$tP5V97FBgdSP?ssJY7z6(g})f=_alfvkMSSIZ*Mne-XSKAXB zVh9u5!8b1lHYm7nHj6X}D;u@ZOALPx;-MhOIIgJAVADL(w>#$eGBphtzF;id6FVTUwoCVaNLc9V@%Yo_lzYh!kR%=2Q&=WS zb4vIJSZ`xQB9xW_#PKQ~rWj;0B014oXKN#Dx@5wb(D(L2g_EP+-c_aLP;U3cab;xX zfuLD~ifZYDraq>C)1LuyMe06mJMguz->+ilsIFwiU8vK5IcVGTOn zoMFT<`g1C{@*qcoe8BI0=}T(et6BEk z=C@70FDxM5j1wPQcJUSxQ@6}1US};n;j7H3$H3~U&We44uP^g_S+%|$w<4lIW7rNF z&qh@TcXh%G2fx=(A~)i4d;z=k+Y<4|K$>ld3T=2CSvb;r>J8Ro;0!H&K~LFr<{)Cp zhu(W~2+xoF?yVs6RV5%V%07ABYxt4-K!9``70dLG7bWz4wR>Nsa@^#6Vm$~FzMt@I zE#Yt0n(s@zBoV#*iPwNFtiYn}Lg7rb$Z;?YM-1q~F)*&P)1$OSq1|8T9W}pC8od_r zRkD`Blxh--nYoPkcO5vKn^^fR!v_`3BtQ=-E~X4m$YBO`C6kQp3P&cxmh6dPpb(r` z24wXb(H1**-k=H$o-Zz8E_|NLE6B{;)S&X8b}G)>zOg$(|4|Wb_p0>Cu>?aa2Z{a@ zJ^k{kc9v~wv1na1x2O<{Av+DX=JhSwge_kr?n={6ONmLden_0Y5A)5lcDo-5KP%<@ z^Hzni88;4PKyD+9K^q+p263vF=fLd^+o_?Nn)b*LC}>;tIdCQJMXV!r?^X||YMrxn zq4-a!%L&J2nsD<`XMy)q`CUf+9&MqOozh(d`k@Gngv-l0e>~7+6|zSCA##*-0Em%oQW9nBD;5(S5iz5KkUNmfp!fq`0^9XlH74-^Y^5~i=tuWHT)6W z*P$_Qwu~$m=We|qGDm+UQ8QLSDpIAl>S~aqvu(Br=E#AwVJUdY4J>50)`~Ni6mWhq z^RLNSAyc%pGXC8?J>^7!q>cuM)GAXS%iNKb@|HAvl0e5a7u(`*9_PMskxTR+iq z8yN@cw3V1fh+PT$oXOY0!|gPj`6xV?9$;ih>Y@ZA1b_6aByPK34=;6LE|w6OJ==pg zUxt8POb5rZw$?tr1}2YVuQb@(2&pd)ti zOS0t~jCXl58Q6||vDl7SkkvqI26;D`b2{pkKo4#VR6ULU)V*aO-=V9VL>l?7=;bZH zu2O_t?U$rTQp&!s@a^ViHbZk(QN_2&WH+!B{^PAlhmcI_yj7SjJ>u>V|m0U2KZ>f%qrG_@1c{QQQ?Ft{Y|ecNmfVr;9{$fY^xH(6V6czb!sjf<2E3A)oK1 zpl>8Bp|Xr7ovt_Svl5LV`a3F$Ti)$pl#7T`h@Tzkuf2jK=;opMm_?gAmp44w>NfectMd+Hre~Y?(=#O^s=Wqg~(~+*UOyeIN zS-L3R3P;O1$M8=s(~oy*$raZc7!5<00<_yKG0$>oM;Y#G%8C}LE4smaO1`}@Ak?6v zbi0Em-2Lf5yBdG5`Po literal 8019 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 Date: Fri, 31 May 2024 17:53:58 +0000 Subject: [PATCH 68/93] create LevelManager --- src/uet/oop/bomberman/Board.java | 74 ++++++++++--------- src/uet/oop/bomberman/Game.java | 14 +--- src/uet/oop/bomberman/base/ILevelManager.java | 14 ++++ .../oop/bomberman/entities/tile/Portal.java | 14 ++-- src/uet/oop/bomberman/graphics/Screen.java | 17 ----- .../oop/bomberman/level/FileLevelLoader.java | 2 +- src/uet/oop/bomberman/level/LevelLoader.java | 3 + .../oop/bomberman/manager/EntityManager.java | 15 ++-- .../oop/bomberman/manager/LevelManager.java | 60 +++++++++++++++ .../bomberman/screen/SelectLevelScreen.java | 5 +- 10 files changed, 141 insertions(+), 77 deletions(-) create mode 100644 src/uet/oop/bomberman/base/ILevelManager.java create mode 100644 src/uet/oop/bomberman/manager/LevelManager.java diff --git a/src/uet/oop/bomberman/Board.java b/src/uet/oop/bomberman/Board.java index 52490ec..8f0f933 100644 --- a/src/uet/oop/bomberman/Board.java +++ b/src/uet/oop/bomberman/Board.java @@ -4,16 +4,15 @@ import uet.oop.bomberman.base.Copyable; import uet.oop.bomberman.base.IEntityManager; import uet.oop.bomberman.base.IGameInfoManager; +import uet.oop.bomberman.base.ILevelManager; +import uet.oop.bomberman.entities.Entity; import uet.oop.bomberman.entities.character.action.Action; import uet.oop.bomberman.entities.character.exceptions.CharacterActionException; -import uet.oop.bomberman.exceptions.LoadLevelException; import uet.oop.bomberman.graphics.IRender; import uet.oop.bomberman.graphics.Screen; -import uet.oop.bomberman.level.FileLevelLoader; -import uet.oop.bomberman.level.LevelLoader; import uet.oop.bomberman.manager.EntityManager; import uet.oop.bomberman.manager.GameInfoManager; -import uet.oop.bomberman.utils.Global; +import uet.oop.bomberman.manager.LevelManager; import java.util.ArrayList; import java.util.List; @@ -22,7 +21,6 @@ * Quản lý thao tác điều khiển, load level, render các màn hình của game */ public class Board implements Copyable, IRender { - protected LevelLoader _levelLoader; protected Game _game; protected Screen _screen; @@ -30,21 +28,38 @@ public class Board implements Copyable, IRender { private IEntityManager entityManager; private IGameInfoManager gameInfoManager; + private ILevelManager levelManager; public Board(Game game, Screen screen) { _game = game; _screen = screen; - - loadLevel(Global.gameLevel); // start in level 1 + levelManager = new LevelManager(this); + levelManager.loadGlobalLevel(); } private void snapCameraToPlayer() { - int xScroll = Screen.calculateXOffset(this, entityManager.getPlayer()); + int xScroll = calculateXOffset(entityManager.getPlayer()); Screen.setOffset(xScroll, 0); } + private int calculateXOffset(Entity entity) { + if(entity == null) return 0; + int temp = Screen.xOffset; + + double x = entity.getX() / 16; + double complement = 0.5; + int firstBreakpoint = levelManager.getBoardWidth() / 4; + int lastBreakpoint = levelManager.getBoardWidth() - firstBreakpoint; + + if( x > firstBreakpoint + complement && x < lastBreakpoint - complement) { + temp = (int)entity.getX() - (Game.WIDTH / 2); + } + + return temp; + } + @Override - public void update() { + public synchronized void update() { if (gameInfoManager.isPaused()) return; @@ -76,40 +91,27 @@ private void processAgentAction() { } @Override - public void render(Screen screen) { + public synchronized void render(Screen screen) { if (gameInfoManager.isPaused()) return; entityManager.render(screen); } - public void nextLevel() { - loadLevel(_levelLoader.getLevel() + 1); - } - - public void loadLevel(int level) { - try { - clearAgents(); - _levelLoader = new FileLevelLoader(this, level); - gameInfoManager = new GameInfoManager(_game); - entityManager = new EntityManager(_levelLoader, gameInfoManager); - gameInfoManager.setEntityManager(entityManager); - gameInfoManager.pause(); - - _levelLoader.createEntities(); - } catch (LoadLevelException e) { - e.printStackTrace(); - } - + public synchronized void init() { + gameInfoManager = new GameInfoManager(_game); + entityManager = new EntityManager( + levelManager.getBoardWidth(), + levelManager.getBoardHeight(), + gameInfoManager + ); + gameInfoManager.setEntityManager(entityManager); + gameInfoManager.pause(); _game.setScreenToShow(2); _game.resetScreenDelay(); } - public int getWidth() { - return _levelLoader.getWidth(); - } - - public int getHeight() { - return _levelLoader.getHeight(); + public void clear() { + clearAgents(); } public IEntityManager getEntityManager() { @@ -120,6 +122,10 @@ public IGameInfoManager getGameInfoManager() { return gameInfoManager; } + public ILevelManager getLevelManager() { + return levelManager; + } + @Override public Board copy() { // TODO Auto-generated method stub diff --git a/src/uet/oop/bomberman/Game.java b/src/uet/oop/bomberman/Game.java index a1d00ae..a8ace84 100644 --- a/src/uet/oop/bomberman/Game.java +++ b/src/uet/oop/bomberman/Game.java @@ -99,7 +99,7 @@ private void drawScreen(Graphics g) { screen.drawEndGame(g, _board.getGameInfoManager().getPoints()); break; case 2: - screen.drawChangeLevel(g, _board._levelLoader.getLevel()); + screen.drawChangeLevel(g, Global.gameLevel); break; case 3: screen.drawPaused(g); @@ -219,16 +219,12 @@ public void start() { delta += (now - lastTime) / ns; lastTime = now; while (delta >= 1) { - synchronized (_board) { - update(); - } + update(); updates++; delta--; } - synchronized (_board) { - showScreen(); - } + showScreen(); } } @@ -242,9 +238,7 @@ public Board getBoard() { public void restartGame() { Global.currentScreen = EScreenName.GAME_PLAY_SCREEN; - synchronized (_board) { - _board.loadLevel(_board._levelLoader.getLevel()); - } + _board.getLevelManager().loadGlobalLevel(); } public void startNewGame() { diff --git a/src/uet/oop/bomberman/base/ILevelManager.java b/src/uet/oop/bomberman/base/ILevelManager.java new file mode 100644 index 0000000..98ce798 --- /dev/null +++ b/src/uet/oop/bomberman/base/ILevelManager.java @@ -0,0 +1,14 @@ +package uet.oop.bomberman.base; + +public interface ILevelManager { + + public void nextLevel(); + + public void loadGlobalLevel(); + + public void endGame(); + + public int getBoardWidth(); + public int getBoardHeight(); + +} diff --git a/src/uet/oop/bomberman/entities/tile/Portal.java b/src/uet/oop/bomberman/entities/tile/Portal.java index 8dfffd6..74e9e9e 100644 --- a/src/uet/oop/bomberman/entities/tile/Portal.java +++ b/src/uet/oop/bomberman/entities/tile/Portal.java @@ -1,17 +1,21 @@ package uet.oop.bomberman.entities.tile; import uet.oop.bomberman.Board; +import uet.oop.bomberman.base.IEntityManager; +import uet.oop.bomberman.base.ILevelManager; import uet.oop.bomberman.entities.Entity; import uet.oop.bomberman.entities.character.Character; import uet.oop.bomberman.graphics.Sprite; import uet.oop.bomberman.sound.Sound; public class Portal extends NonDestroyableTile { - protected Board _board; + protected ILevelManager levelManager; + protected IEntityManager entityManager; - public Portal(int x, int y, Board board, Sprite sprite) { + public Portal(int x, int y, ILevelManager levelManager, IEntityManager entityManager, Sprite sprite) { super(x, y, sprite); - _board = board; + this.levelManager = levelManager; + this.entityManager = entityManager; } @Override @@ -22,7 +26,7 @@ public boolean collide(Entity e) {// xu li khi 2 entity va cham if (e instanceof Character && ((Character)e).isPlayer()) { if (canBePassedThroughBy(e)) { - _board.nextLevel(); + levelManager.nextLevel(); Sound.play("CRYST_UP"); } @@ -35,7 +39,7 @@ public boolean collide(Entity e) {// xu li khi 2 entity va cham public boolean canBePassedThroughBy(Entity other) { if (other instanceof Character && ((Character)other).isPlayer()) { - if (!_board.getEntityManager().isEnemyCleared()) + if (!entityManager.isEnemyCleared()) return false; if (other.getXTile() == getX() && other.getYTile() == getY()) { diff --git a/src/uet/oop/bomberman/graphics/Screen.java b/src/uet/oop/bomberman/graphics/Screen.java index 7b6e207..dd8f1b1 100644 --- a/src/uet/oop/bomberman/graphics/Screen.java +++ b/src/uet/oop/bomberman/graphics/Screen.java @@ -1,6 +1,5 @@ package uet.oop.bomberman.graphics; -import uet.oop.bomberman.Board; import uet.oop.bomberman.Game; import uet.oop.bomberman.entities.Entity; import uet.oop.bomberman.utils.Global; @@ -68,22 +67,6 @@ public static void setOffset(int xO, int yO) { yOffset = yO; } - public static int calculateXOffset(Board board, Entity entity) { - if(entity == null) return 0; - int temp = xOffset; - - double x = entity.getX() / 16; - double complement = 0.5; - int firstBreakpoint = board.getWidth() / 4; - int lastBreakpoint = board.getWidth() - firstBreakpoint; - - if( x > firstBreakpoint + complement && x < lastBreakpoint - complement) { - temp = (int)entity.getX() - (Game.WIDTH / 2); - } - - return temp; - } - public void drawEndGame(Graphics g, int points) { g.setColor(Color.black); g.fillRect(0, 0, getRealWidth(), getRealHeight()); diff --git a/src/uet/oop/bomberman/level/FileLevelLoader.java b/src/uet/oop/bomberman/level/FileLevelLoader.java index 5bd1b1f..1ceb7bf 100644 --- a/src/uet/oop/bomberman/level/FileLevelLoader.java +++ b/src/uet/oop/bomberman/level/FileLevelLoader.java @@ -95,7 +95,7 @@ public void createEntities() { layeredEntity = new LayeredEntity( x, y, new Grass(x, y, Sprite.grass), - new Portal(x, y, _board, Sprite.portal), + new Portal(x, y, _board.getLevelManager(), _board.getEntityManager(), Sprite.portal), new Brick(x, y, Sprite.brick)); _board.getEntityManager().getTileManager().addTile(pos, layeredEntity); break; diff --git a/src/uet/oop/bomberman/level/LevelLoader.java b/src/uet/oop/bomberman/level/LevelLoader.java index c771cb6..fc3c627 100644 --- a/src/uet/oop/bomberman/level/LevelLoader.java +++ b/src/uet/oop/bomberman/level/LevelLoader.java @@ -1,7 +1,10 @@ package uet.oop.bomberman.level; import uet.oop.bomberman.Board; +import uet.oop.bomberman.Game; +import uet.oop.bomberman.entities.Entity; import uet.oop.bomberman.exceptions.LoadLevelException; +import uet.oop.bomberman.graphics.Screen; /** * Load và lưu trữ thông tin bản đồ các màn chơi diff --git a/src/uet/oop/bomberman/manager/EntityManager.java b/src/uet/oop/bomberman/manager/EntityManager.java index 31c041c..f0e4a09 100644 --- a/src/uet/oop/bomberman/manager/EntityManager.java +++ b/src/uet/oop/bomberman/manager/EntityManager.java @@ -8,7 +8,6 @@ import uet.oop.bomberman.entities.Entity; import uet.oop.bomberman.entities.character.Character; import uet.oop.bomberman.graphics.Screen; -import uet.oop.bomberman.level.LevelLoader; public class EntityManager implements IEntityManager { @@ -16,11 +15,13 @@ public class EntityManager implements IEntityManager { private ICharacterManager characterManager; private IBombManager bombManager; - private LevelLoader levelLoader; + private final int boardWidth; + private final int boardHeight; - public EntityManager(LevelLoader levelLoader, IGameInfoManager gameInfoManager) { - this.levelLoader = levelLoader; - this.tileManager = new TileManager(levelLoader.getWidth(), levelLoader.getHeight()); + public EntityManager(int boardWidth, int boardHeight, IGameInfoManager gameInfoManager) { + this.boardWidth = boardWidth; + this.boardHeight = boardHeight; + this.tileManager = new TileManager(boardWidth, boardHeight); this.characterManager = new CharacterManager(gameInfoManager); this.bombManager = new BombManager(); } @@ -33,8 +34,8 @@ public Entity getEntityAtExcluding(double x, double y, Character m) { if (x < 0) return null; if (y < 0) return null; - if (x >= levelLoader.getWidth()) return null; - if (y >= levelLoader.getHeight()) return null; + if (x >= boardWidth) return null; + if (y >= boardHeight) return null; res = bombManager.getFlameSegmentAt((int) x, (int) y); if (res != null) diff --git a/src/uet/oop/bomberman/manager/LevelManager.java b/src/uet/oop/bomberman/manager/LevelManager.java new file mode 100644 index 0000000..5fa3631 --- /dev/null +++ b/src/uet/oop/bomberman/manager/LevelManager.java @@ -0,0 +1,60 @@ +package uet.oop.bomberman.manager; + +import uet.oop.bomberman.Board; +import uet.oop.bomberman.base.ILevelManager; +import uet.oop.bomberman.exceptions.LoadLevelException; +import uet.oop.bomberman.level.FileLevelLoader; +import uet.oop.bomberman.level.LevelLoader; +import uet.oop.bomberman.utils.EScreenName; +import uet.oop.bomberman.utils.Global; + +public class LevelManager implements ILevelManager { + + private LevelLoader levelLoader; + private Board board; + + public LevelManager(Board board) { + this.board = board; + } + + @Override + public void nextLevel() { + Global.gameLevel += 1; + loadGlobalLevel(); + } + + @Override + public void loadGlobalLevel() { + loadLevel(Global.gameLevel); + } + + private void loadLevel(int level) { + board.clear(); + try { + levelLoader = new FileLevelLoader(board, level); + } catch (LoadLevelException e) { + e.printStackTrace(); + } + synchronized (board) { + board.init(); + levelLoader.createEntities(); + } + } + + @Override + public void endGame() { + Global.currentScreen = EScreenName.END_GAME_SCREEN; + board.getGameInfoManager().pause(); + } + + @Override + public int getBoardWidth() { + return levelLoader.getWidth(); + } + + @Override + public int getBoardHeight() { + return levelLoader.getHeight(); + } + +} diff --git a/src/uet/oop/bomberman/screen/SelectLevelScreen.java b/src/uet/oop/bomberman/screen/SelectLevelScreen.java index 38f038b..6e1f8ef 100644 --- a/src/uet/oop/bomberman/screen/SelectLevelScreen.java +++ b/src/uet/oop/bomberman/screen/SelectLevelScreen.java @@ -43,12 +43,11 @@ public void onKeyPressed(EGameControl gameControl) { break; case ENTER: Global.gameLevel = selectorIndex + 1; - synchronized (_board) { - _board.loadLevel(Global.gameLevel); - } + _board.getLevelManager().loadGlobalLevel(); Global.currentScreen = EScreenName.GAME_PLAY_SCREEN; onDestroy(); break; + default: break; } if (selectorIndex < 0) { From a69fb1df077f8e4e176e6c3d6676db7966e96c9c Mon Sep 17 00:00:00 2001 From: phuonnngminh Date: Fri, 31 May 2024 18:00:58 +0000 Subject: [PATCH 69/93] remove endGame() from GameInfoManager --- src/uet/oop/bomberman/Board.java | 34 ++++--------------- src/uet/oop/bomberman/Game.java | 23 +++++++++++++ .../oop/bomberman/base/IGameInfoManager.java | 1 - .../oop/bomberman/entities/tile/Portal.java | 1 - src/uet/oop/bomberman/level/LevelLoader.java | 3 -- .../bomberman/manager/CharacterManager.java | 7 ++-- .../oop/bomberman/manager/EntityManager.java | 5 +-- .../bomberman/manager/GameInfoManager.java | 15 +------- 8 files changed, 38 insertions(+), 51 deletions(-) diff --git a/src/uet/oop/bomberman/Board.java b/src/uet/oop/bomberman/Board.java index 8f0f933..e5a7b93 100644 --- a/src/uet/oop/bomberman/Board.java +++ b/src/uet/oop/bomberman/Board.java @@ -5,7 +5,6 @@ import uet.oop.bomberman.base.IEntityManager; import uet.oop.bomberman.base.IGameInfoManager; import uet.oop.bomberman.base.ILevelManager; -import uet.oop.bomberman.entities.Entity; import uet.oop.bomberman.entities.character.action.Action; import uet.oop.bomberman.entities.character.exceptions.CharacterActionException; import uet.oop.bomberman.graphics.IRender; @@ -22,7 +21,6 @@ */ public class Board implements Copyable, IRender { protected Game _game; - protected Screen _screen; private List agents = new ArrayList<>(); @@ -32,32 +30,10 @@ public class Board implements Copyable, IRender { public Board(Game game, Screen screen) { _game = game; - _screen = screen; levelManager = new LevelManager(this); levelManager.loadGlobalLevel(); } - private void snapCameraToPlayer() { - int xScroll = calculateXOffset(entityManager.getPlayer()); - Screen.setOffset(xScroll, 0); - } - - private int calculateXOffset(Entity entity) { - if(entity == null) return 0; - int temp = Screen.xOffset; - - double x = entity.getX() / 16; - double complement = 0.5; - int firstBreakpoint = levelManager.getBoardWidth() / 4; - int lastBreakpoint = levelManager.getBoardWidth() - firstBreakpoint; - - if( x > firstBreakpoint + complement && x < lastBreakpoint - complement) { - temp = (int)entity.getX() - (Game.WIDTH / 2); - } - - return temp; - } - @Override public synchronized void update() { if (gameInfoManager.isPaused()) @@ -67,8 +43,6 @@ public synchronized void update() { gameInfoManager.update(); processAgentAction(); - - snapCameraToPlayer(); } private void clearAgents() { @@ -94,15 +68,19 @@ private void processAgentAction() { public synchronized void render(Screen screen) { if (gameInfoManager.isPaused()) return; + if (gameInfoManager.getTime() <= 0) { + levelManager.endGame(); + } entityManager.render(screen); } public synchronized void init() { - gameInfoManager = new GameInfoManager(_game); + gameInfoManager = new GameInfoManager(); entityManager = new EntityManager( levelManager.getBoardWidth(), levelManager.getBoardHeight(), - gameInfoManager + gameInfoManager, + levelManager ); gameInfoManager.setEntityManager(entityManager); gameInfoManager.pause(); diff --git a/src/uet/oop/bomberman/Game.java b/src/uet/oop/bomberman/Game.java index a8ace84..8ae33bf 100644 --- a/src/uet/oop/bomberman/Game.java +++ b/src/uet/oop/bomberman/Game.java @@ -1,6 +1,7 @@ package uet.oop.bomberman; import uet.oop.bomberman.base.IGameInfoManager; +import uet.oop.bomberman.entities.Entity; import uet.oop.bomberman.graphics.Screen; import uet.oop.bomberman.gui.Frame; import uet.oop.bomberman.input.Keyboard; @@ -124,6 +125,7 @@ private void update() { _board.getGameInfoManager().pause(); // Đặt trạng thái game là tạm dừng return; } + snapCameraToPlayer(); break; case SELECT_LEVEL_SCREEN: selectLevelScreen.update(); @@ -228,6 +230,27 @@ public void start() { } } + private void snapCameraToPlayer() { + int xScroll = calculateXOffset(_board.getEntityManager().getPlayer()); + Screen.setOffset(xScroll, 0); + } + + private int calculateXOffset(Entity entity) { + if(entity == null) return 0; + int temp = Screen.xOffset; + + double x = entity.getX() / 16; + double complement = 0.5; + int firstBreakpoint = _board.getLevelManager().getBoardWidth() / 4; + int lastBreakpoint = _board.getLevelManager().getBoardWidth() - firstBreakpoint; + + if( x > firstBreakpoint + complement && x < lastBreakpoint - complement) { + temp = (int)entity.getX() - (Game.WIDTH / 2); + } + + return temp; + } + public void resetScreenDelay() { _screenDelay = SCREENDELAY; } diff --git a/src/uet/oop/bomberman/base/IGameInfoManager.java b/src/uet/oop/bomberman/base/IGameInfoManager.java index a6ff0bc..32f8c75 100644 --- a/src/uet/oop/bomberman/base/IGameInfoManager.java +++ b/src/uet/oop/bomberman/base/IGameInfoManager.java @@ -18,7 +18,6 @@ public interface IGameInfoManager extends IMessageManager, IRender { public boolean isPaused(); public void pause(); public void unpause(); - public void endGame(); public List getPlayerActiveItems(); diff --git a/src/uet/oop/bomberman/entities/tile/Portal.java b/src/uet/oop/bomberman/entities/tile/Portal.java index 74e9e9e..524ad07 100644 --- a/src/uet/oop/bomberman/entities/tile/Portal.java +++ b/src/uet/oop/bomberman/entities/tile/Portal.java @@ -1,6 +1,5 @@ package uet.oop.bomberman.entities.tile; -import uet.oop.bomberman.Board; import uet.oop.bomberman.base.IEntityManager; import uet.oop.bomberman.base.ILevelManager; import uet.oop.bomberman.entities.Entity; diff --git a/src/uet/oop/bomberman/level/LevelLoader.java b/src/uet/oop/bomberman/level/LevelLoader.java index fc3c627..c771cb6 100644 --- a/src/uet/oop/bomberman/level/LevelLoader.java +++ b/src/uet/oop/bomberman/level/LevelLoader.java @@ -1,10 +1,7 @@ package uet.oop.bomberman.level; import uet.oop.bomberman.Board; -import uet.oop.bomberman.Game; -import uet.oop.bomberman.entities.Entity; import uet.oop.bomberman.exceptions.LoadLevelException; -import uet.oop.bomberman.graphics.Screen; /** * Load và lưu trữ thông tin bản đồ các màn chơi diff --git a/src/uet/oop/bomberman/manager/CharacterManager.java b/src/uet/oop/bomberman/manager/CharacterManager.java index d1ddb03..857ca5a 100644 --- a/src/uet/oop/bomberman/manager/CharacterManager.java +++ b/src/uet/oop/bomberman/manager/CharacterManager.java @@ -9,6 +9,7 @@ import uet.oop.bomberman.Game; import uet.oop.bomberman.base.ICharacterManager; import uet.oop.bomberman.base.IGameInfoManager; +import uet.oop.bomberman.base.ILevelManager; import uet.oop.bomberman.entities.Message; import uet.oop.bomberman.entities.character.CanUseItem; import uet.oop.bomberman.entities.character.Character; @@ -22,9 +23,11 @@ public class CharacterManager implements ICharacterManager { private Character player; private final IGameInfoManager gameInfoManager; + private final ILevelManager levelManager; - public CharacterManager(IGameInfoManager gameInfoManager) { + public CharacterManager(IGameInfoManager gameInfoManager, ILevelManager levelManager) { this.gameInfoManager = gameInfoManager; + this.levelManager = levelManager; } @Override @@ -82,7 +85,7 @@ public void handleOnDeath(Character character, Character killer) { @Override public void handleAfterDeath(Character character) { if (character.isPlayer()) { - gameInfoManager.endGame(); + levelManager.endGame(); } } diff --git a/src/uet/oop/bomberman/manager/EntityManager.java b/src/uet/oop/bomberman/manager/EntityManager.java index f0e4a09..d4aa947 100644 --- a/src/uet/oop/bomberman/manager/EntityManager.java +++ b/src/uet/oop/bomberman/manager/EntityManager.java @@ -4,6 +4,7 @@ import uet.oop.bomberman.base.ICharacterManager; import uet.oop.bomberman.base.IEntityManager; import uet.oop.bomberman.base.IGameInfoManager; +import uet.oop.bomberman.base.ILevelManager; import uet.oop.bomberman.base.ITileManager; import uet.oop.bomberman.entities.Entity; import uet.oop.bomberman.entities.character.Character; @@ -18,11 +19,11 @@ public class EntityManager implements IEntityManager { private final int boardWidth; private final int boardHeight; - public EntityManager(int boardWidth, int boardHeight, IGameInfoManager gameInfoManager) { + public EntityManager(int boardWidth, int boardHeight, IGameInfoManager gameInfoManager, ILevelManager levelManager) { this.boardWidth = boardWidth; this.boardHeight = boardHeight; this.tileManager = new TileManager(boardWidth, boardHeight); - this.characterManager = new CharacterManager(gameInfoManager); + this.characterManager = new CharacterManager(gameInfoManager, levelManager); this.bombManager = new BombManager(); } diff --git a/src/uet/oop/bomberman/manager/GameInfoManager.java b/src/uet/oop/bomberman/manager/GameInfoManager.java index e635f0a..f141e53 100644 --- a/src/uet/oop/bomberman/manager/GameInfoManager.java +++ b/src/uet/oop/bomberman/manager/GameInfoManager.java @@ -14,8 +14,6 @@ import uet.oop.bomberman.entities.character.Character; import uet.oop.bomberman.entities.tile.item.Item; import uet.oop.bomberman.graphics.Screen; -import uet.oop.bomberman.utils.EScreenName; -import uet.oop.bomberman.utils.Global; public class GameInfoManager implements IGameInfoManager { @@ -24,11 +22,9 @@ public class GameInfoManager implements IGameInfoManager { private boolean paused; private List messages = new ArrayList<>(); - private Game game; private IEntityManager entityManager; - public GameInfoManager(Game game) { - this.game = game; + public GameInfoManager() { this.time = Game.TIME; this.points = Game.POINTS; } @@ -75,7 +71,6 @@ public void addPoints(int points) { @Override public void update() { updateMessages(); - if (getTime() <= 0) endGame(); } @Override @@ -124,13 +119,5 @@ public void pause() { public void unpause() { paused = false; } - - @Override - public void endGame() { - Global.currentScreen = EScreenName.END_GAME_SCREEN; - game.setScreenToShow(1); - game.resetScreenDelay(); - pause(); - } } From 69d0a775f05cf714421cec12053f1253976d5d8f Mon Sep 17 00:00:00 2001 From: Hang Le Thi Bich <21522041@gm.uit.edu.vn> Date: Sat, 1 Jun 2024 13:51:46 +0700 Subject: [PATCH 70/93] change background, font --- res/font/Minecraft.ttf | Bin 0 -> 14488 bytes res/menu/background.jpg | Bin 0 -> 22573 bytes src/uet/oop/bomberman/gui/Frame.java | 16 ++++++++++++++-- .../bomberman/screen/SelectGameModeScreen.java | 15 ++++++++++----- .../oop/bomberman/screen/SelectLevelScreen.java | 10 +++++++--- 5 files changed, 31 insertions(+), 10 deletions(-) create mode 100644 res/font/Minecraft.ttf create mode 100644 res/menu/background.jpg diff --git a/res/font/Minecraft.ttf b/res/font/Minecraft.ttf new file mode 100644 index 0000000000000000000000000000000000000000..85c14725a3bf6d67aaf0f03292f9b763c1654f07 GIT binary patch literal 14488 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 Z*c*kN@$GAW{e3oGeYSI$CI24pe*xM150(G` literal 0 HcmV?d00001 diff --git a/res/menu/background.jpg b/res/menu/background.jpg new file mode 100644 index 0000000000000000000000000000000000000000..233135e4c7e6b22567a376ad0b1a2a748c9f2290 GIT binary patch literal 22573 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 literal 0 HcmV?d00001 diff --git a/src/uet/oop/bomberman/gui/Frame.java b/src/uet/oop/bomberman/gui/Frame.java index 92d9c6a..52252de 100644 --- a/src/uet/oop/bomberman/gui/Frame.java +++ b/src/uet/oop/bomberman/gui/Frame.java @@ -4,6 +4,8 @@ import javax.swing.*; import java.awt.*; +import java.io.File; +import java.io.IOException; /** * Swing Frame chứa toàn bộ các component @@ -17,8 +19,18 @@ public class Frame extends JFrame { private Game _game; public Frame() { - - _containerpane = new JPanel(new BorderLayout()); + + try { + Font f = Font.createFont(Font.TRUETYPE_FONT, new File("res/font/Minecraft.ttf")); + GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); + ge.registerFont(f); + } catch (FontFormatException e) { + throw new RuntimeException(e); + } catch (IOException e) { + throw new RuntimeException(e); + } + + _containerpane = new JPanel(new BorderLayout()); _gamepane = new GamePanel(this); _infopanel = new InfoPanel(_gamepane.getGame()); diff --git a/src/uet/oop/bomberman/screen/SelectGameModeScreen.java b/src/uet/oop/bomberman/screen/SelectGameModeScreen.java index dd94b9d..25d93ff 100644 --- a/src/uet/oop/bomberman/screen/SelectGameModeScreen.java +++ b/src/uet/oop/bomberman/screen/SelectGameModeScreen.java @@ -17,13 +17,14 @@ public class SelectGameModeScreen extends GameScreen { int selectorIndex = 0; private Optional _input; private BufferedImage backgroundImage; + private int OFFSET = 20; public SelectGameModeScreen() { gameModes.add(EGameMode.ONE_PLAYER.getStringLevel()); gameModes.add(EGameMode.TWO_PLAYER.getStringLevel()); try { - backgroundImage = ImageIO.read(getClass().getResource("/menu/forest_by_forheksed_d9q4k94-fullview 1.png")); + backgroundImage = ImageIO.read(getClass().getResource("/menu/background.jpg")); } catch (IOException e) { e.printStackTrace(); } @@ -78,7 +79,7 @@ public void drawScreen(Graphics g) { private void drawTitle(Graphics g) { String title = "SELECT GAME MODE"; - Font font = new Font("Arial", Font.BOLD, 20 * Game.SCALE); + Font font = new Font("Minecraft", Font.BOLD, 20 * Game.SCALE); g.setFont(font); g.setColor(Color.white); @@ -91,7 +92,7 @@ private void drawTitle(Graphics g) { } private void drawOptions(Graphics g) { - Font font = new Font("Arial", Font.PLAIN, 10 * Game.SCALE); + Font font = new Font("Minecraft", Font.PLAIN, 10 * Game.SCALE); g.setFont(font); g.setColor(Color.white); @@ -107,11 +108,15 @@ private void drawOptions(Graphics g) { int x = (w - fm.stringWidth(level)) / 2; int y = marginTop + fm.getAscent() + textHeight*i; - g.drawString(level, x, y); + g.drawString(level, x, y+ OFFSET); } } private void drawSelector(Graphics g) { + Font font = new Font("Minecraft", Font.PLAIN, 10 * Game.SCALE); + g.setFont(font); + g.setColor(Color.white); + String level = this.gameModes.get(selectorIndex); int w = Global.screenWidth; int h = Global.screenHeight; @@ -123,7 +128,7 @@ private void drawSelector(Graphics g) { int x = (w - fm.stringWidth(level)) / 2 - 30; int y = marginTop + fm.getAscent() + textHeight*selectorIndex; - g.drawString(">", x, y); + g.drawString(">", x, y+ OFFSET); } @Override diff --git a/src/uet/oop/bomberman/screen/SelectLevelScreen.java b/src/uet/oop/bomberman/screen/SelectLevelScreen.java index 81aebdb..e08ae73 100644 --- a/src/uet/oop/bomberman/screen/SelectLevelScreen.java +++ b/src/uet/oop/bomberman/screen/SelectLevelScreen.java @@ -32,7 +32,7 @@ public SelectLevelScreen(Board board) { levels.add(EGameLevel.HARD.getStringLevel()); try { - backgroundImage = ImageIO.read(getClass().getResource("/menu/forest_by_forheksed_d9q4k94-fullview 1.png")); + backgroundImage = ImageIO.read(getClass().getResource("/menu/background.jpg")); } catch (IOException e) { e.printStackTrace(); } @@ -86,7 +86,7 @@ public void drawScreen(Graphics g) { } private void drawTitle(Graphics g) { String title = "SELECT LEVEL"; - Font font = new Font("Arial", Font.BOLD, 20 * Game.SCALE); + Font font = new Font("Minecraft", Font.BOLD, 20 * Game.SCALE); g.setFont(font); g.setColor(Color.white); @@ -99,7 +99,7 @@ private void drawTitle(Graphics g) { } private void drawOptions(Graphics g) { - Font font = new Font("Arial", Font.PLAIN, 10 * Game.SCALE); + Font font = new Font("Minecraft", Font.PLAIN, 10 * Game.SCALE); g.setFont(font); g.setColor(Color.white); @@ -120,6 +120,10 @@ private void drawOptions(Graphics g) { } private void drawSelector(Graphics g) { + Font font = new Font("Minecraft", Font.PLAIN, 10 * Game.SCALE); + g.setFont(font); + g.setColor(Color.white); + String level = this.levels.get(selectorIndex); int w = Global.screenWidth; int h = Global.screenHeight; From d6450f74eb9338be6d4da6a45c4bfe19f0e8bcf7 Mon Sep 17 00:00:00 2001 From: Huy010302 <111289985+Huy010302@users.noreply.github.com> Date: Sun, 2 Jun 2024 17:00:07 +0700 Subject: [PATCH 71/93] update background game mode,select level --- res/menu/background.jpg | Bin 22573 -> 0 bytes res/menu/bgBombman.png | Bin 0 -> 142349 bytes res/menu/pointer.png | Bin 0 -> 1936 bytes .../oop/bomberman/screen/GradientText.java | 40 +++++++++++ .../screen/SelectGameModeScreen.java | 67 +++++++++++------- .../bomberman/screen/SelectLevelScreen.java | 63 +++++++++------- 6 files changed, 119 insertions(+), 51 deletions(-) delete mode 100644 res/menu/background.jpg create mode 100644 res/menu/bgBombman.png create mode 100644 res/menu/pointer.png create mode 100644 src/uet/oop/bomberman/screen/GradientText.java diff --git a/res/menu/background.jpg b/res/menu/background.jpg deleted file mode 100644 index 233135e4c7e6b22567a376ad0b1a2a748c9f2290..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22573 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 diff --git a/res/menu/bgBombman.png b/res/menu/bgBombman.png new file mode 100644 index 0000000000000000000000000000000000000000..20da57b6497fe986cd90b2b66c9c1f246fc48dbd GIT binary patch literal 142349 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

    yhp%LmxIun;qWoEcOYlGUlX){HU6YR7Md4y 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 KMNUMnLSTYNgfb2Q literal 0 HcmV?d00001 diff --git a/res/menu/pointer.png b/res/menu/pointer.png new file mode 100644 index 0000000000000000000000000000000000000000..4c52f73e5a8423fd39509fdac234fc7eda608550 GIT binary patch literal 1936 zcmV;B2XFX^P)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 zVoOIv0RI600RN!9r;`8x00(qQO+^Rj1_B8*0H<-r8~^|Ylu1NER7l6gmwjwicNxb& zzw>s_y}h?@&{kk&6ULA+1>8Cf12lm@HXTa@2V0B^BV(G_#Q0Jb8-|MpO=M0prUQcD zM47{7q>;o12vq_D!%9KS#z=YT=*#WeOIvz-&pE#r|7h=}4OGU&_#`Li?K!{i^E|)r z{XWkXyWYNR_&=C+GY4Z#;jFd77(M3s{{+|=gAf9vH9`oI#U;3&kCO7bz-}Y(HBiU% z5JK?g{zf`3U7)P8YHVO10^Aut+hK6aaR{*`TagdVBJ zZOd2)fmVuCX&JBl^hYeY{}b%kxs!c+-(b2G@{8K1@nSw0^Pw^x7uXns7xQUvJx9ks zo2lRM98yYLFUAX-U!qDx9C-azlBH!Bt#1#oF$SYGej>rCBY$V^>{%pJDU2~l86l-) z$>PPl+tQ5ddH;RJW~6LF2&9ZimLz%m#Bn}3cWz;E%d&7Bhf}9dGiBQJVTRxO7GDF- z0|Lk>qH;<#O?&rpx%oJcKk;M%*l`>#o-tWe;Z4e+32q6%b zg>Bndwp}1;6h$a0hkXG@YlY)_6sO7wf`E8D&PzZ1HvMPb;^6-Md}Pujq?E%83c;72 zSV@O=sa^dwa@j#jE2|JA!7HtiVMuOhh=Kloh6b+^g&~P#k_lClC@xPikm*HhjT7?| z3}kxQ`IGfHM$_JQiF>Qc+1vCtEXyinny<{f`yU``ImM=@Rv=yKZ}?lSxp2Of?c28T#-YR1 z{&FiU`r?!3#~YqCN*gnG-aIonm^EP-np`et!Z0*p7#gLN(OMg&lnKMoNTtlpOe$r< zC>r*cvhe)n%`cjdJviSmb=q{(-`8ihY}sm7ty(qiLZiX+hm_JpQDlN37_<0zrnNT4 z81vA=g~lmO7Lh70=H$s{YHDgor_FUrsz82VnWKW!$@B zH48ttl>SUF#()e1f*?mcQG^%saW2329+qX1OeRUE)6AbgpPHH)&Ye3)V`C#dJw1eB z$btn6ShsH7b?mOJtOP)7O&ErFo=01IJD)Bs<4Sj$AeS5dISN56<|CtsCl7vu;F_=@bTH~*|UekM~>3f-Obi5Tj=WQV#bUaY}&MmL?Us+ zrZ0pbo6XXC{ye*P{hrqw5Adzu{Ek#vIWi0p){Q%_*mE&sy4x;t=GYO0(H#8kule(9 zuQ7AhEHar4EiEn7)YKIAZ?s7%IehpqM~)ulPrG+he9wJ+^ZCsvDT%@mYlJ^Hnoz_m zXD%5x7Q;^@a9od;rUUF)|6RVi@^R|E{{vjly9T6Gq1)t%CY8dmEfy?T$X7PK%;Y;i z%HTjhw&RQoI^14u8ySWSWHR)0b};Kx4^jWe298|lV9CRe@Z7WO`Nx|_8N7NG$F^}@ z7tiww=hn0D@aV&jaM!{m+%fI$4+IJz@&kR|Q7MJvx}-|WxcJV$IQG}S(02MHb}&SF zagxdj6NvjhgF{)`+B@mVMLf848K3>a3a<9|VOauWxaj~WM*ou-T|%uCv3Q(#GKCC7 zdedE`FSpUt)ydG{RT9Y*lkb{F_1!aYU5|k)*BE@WY_9_zfiFay4?qZkT`|y%^W^ z)+WAx15m~Vq{5X!=KufzC3HntbYx+4WjbSWWnpw>05UK#G%YYTEif`vFgZFkF*-Ci zD=;uRFfbCVCSm{p03~!qSaf7zbY(hiZ)9m^c>ppnGBhnPHZ3qRR4_R@H8DCgH!CnO WIxsL}@t)oQ0000 _input; private BufferedImage backgroundImage; - private int OFFSET = 20; + private int OFFSET = 40; + private BufferedImage pointerImage; public SelectGameModeScreen() { gameModes.add(EGameMode.ONE_PLAYER.getStringLevel()); gameModes.add(EGameMode.TWO_PLAYER.getStringLevel()); try { - backgroundImage = ImageIO.read(getClass().getResource("/menu/background.jpg")); + backgroundImage = ImageIO.read(getClass().getResource("/menu/bgBombman.png")); + pointerImage = ImageIO.read(getClass().getResource("/menu/pointer.png")); } catch (IOException e) { e.printStackTrace(); } @@ -72,48 +74,62 @@ public void drawScreen(Graphics g) { g.fillRect(0, 0, Global.screenWidth, Global.screenHeight); } - drawTitle(g); + drawTitle(g, "SELECT GAME MODE"); drawOptions(g); drawSelector(g); } - private void drawTitle(Graphics g) { - String title = "SELECT GAME MODE"; + private void drawTitle(Graphics g, String title) { Font font = new Font("Minecraft", Font.BOLD, 20 * Game.SCALE); - g.setFont(font); - g.setColor(Color.white); - FontMetrics fm = g.getFontMetrics(); - int x = (Global.screenWidth - fm.stringWidth(title)) / 2; - int marginTop = 20; - int y = marginTop + fm.getAscent(); + // Tạo màu gradient với 3 màu + Color color1 = Color.RED; + Color color2 = Color.ORANGE; + Color color3 = Color.YELLOW; - g.drawString(title, x, y); + // Tạo đối tượng GradientText + GradientText gradientText = new GradientText(font, color1, color2, color3); + + // Vẽ văn bản gradient bằng cách sử dụng GradientText + gradientText.draw((Graphics2D) g, title, (Global.screenWidth - g.getFontMetrics().stringWidth(title)) / 14, + 190); } private void drawOptions(Graphics g) { - Font font = new Font("Minecraft", Font.PLAIN, 10 * Game.SCALE); + Font font = new Font("Minecraft", Font.PLAIN, 12 * Game.SCALE); g.setFont(font); - g.setColor(Color.white); + // Position of Options int w = Global.screenWidth; int h = Global.screenHeight; FontMetrics fm = g.getFontMetrics(); int textHeight = fm.getAscent() + fm.getDescent(); - int boxHeight = textHeight * this.gameModes.size(); + + // Khoảng cách giữa các lựa chọn + int spacing = 10 * Game.SCALE; + + // Tính toán tổng chiều cao của các lựa chọn cộng với khoảng cách giữa chúng + int boxHeight = (textHeight) * this.gameModes.size() - spacing; int marginTop = (h - boxHeight) / 2; - for (int i = 0; i < this.gameModes.size(); i++) { - String level = this.gameModes.get(i); - int x = (w - fm.stringWidth(level)) / 2; - int y = marginTop + fm.getAscent() + textHeight * i; + for (int i = 0; i < gameModes.size(); i++) { + String mode = gameModes.get(i); + + int x = (w - fm.stringWidth(mode)) / 2; + int y = marginTop + fm.getAscent() + (textHeight + spacing) * i; - g.drawString(level, x, y+ OFFSET); + if (i == selectorIndex) { + g.setColor(Color.YELLOW); + } else { + g.setColor(Color.WHITE); + } + + g.drawString(mode, x, y); } } private void drawSelector(Graphics g) { - Font font = new Font("Minecraft", Font.PLAIN, 10 * Game.SCALE); + Font font = new Font("Minecraft", Font.PLAIN, 12 * Game.SCALE); g.setFont(font); g.setColor(Color.white); @@ -123,12 +139,13 @@ private void drawSelector(Graphics g) { FontMetrics fm = g.getFontMetrics(); int textHeight = fm.getAscent() + fm.getDescent(); int boxHeight = textHeight * this.gameModes.size(); - int marginTop = (h - boxHeight) / 2; + int marginTop = (h - boxHeight) / 2 + 15; - int x = (w - fm.stringWidth(level)) / 2 - 30; - int y = marginTop + fm.getAscent() + textHeight * selectorIndex; + int spacing = 10 * Game.SCALE; + int x = (w - fm.stringWidth(level)) / 2 - 60; + int y = marginTop + fm.getAscent() + (textHeight + spacing) * selectorIndex; - g.drawString(">", x, y+ OFFSET); + g.drawImage(pointerImage, x, y - fm.getAscent(), null); } @Override diff --git a/src/uet/oop/bomberman/screen/SelectLevelScreen.java b/src/uet/oop/bomberman/screen/SelectLevelScreen.java index 4dc1fc8..40ae62a 100644 --- a/src/uet/oop/bomberman/screen/SelectLevelScreen.java +++ b/src/uet/oop/bomberman/screen/SelectLevelScreen.java @@ -7,7 +7,6 @@ import uet.oop.bomberman.utils.EGameControl; import uet.oop.bomberman.utils.EGameLevel; -import uet.oop.bomberman.utils.EGameMode; import uet.oop.bomberman.utils.EScreenName; import uet.oop.bomberman.utils.Global; @@ -24,6 +23,7 @@ public class SelectLevelScreen extends GameScreen { private Optional _input; private Board _board; private BufferedImage backgroundImage; + private BufferedImage pointerImage; public SelectLevelScreen(Board board) { _board = board; @@ -33,7 +33,8 @@ public SelectLevelScreen(Board board) { levels.add(EGameLevel.HARD.getStringLevel()); try { - backgroundImage = ImageIO.read(getClass().getResource("/menu/background.jpg")); + backgroundImage = ImageIO.read(getClass().getResource("/menu/bgBombman.png")); + pointerImage = ImageIO.read(getClass().getResource("/menu/pointer.png")); } catch (IOException e) { e.printStackTrace(); } @@ -81,50 +82,59 @@ public void drawScreen(Graphics g) { g.fillRect(0, 0, Global.screenWidth, Global.screenHeight); } - drawTitle(g); + drawTitle(g, "SELECT LEVEL"); drawOptions(g); drawSelector(g); } - private void drawTitle(Graphics g) { - String title = "SELECT LEVEL"; + private void drawTitle(Graphics g, String title) { Font font = new Font("Minecraft", Font.BOLD, 20 * Game.SCALE); - g.setFont(font); - g.setColor(Color.white); - - FontMetrics fm = g.getFontMetrics(); - int x = (Global.screenWidth - fm.stringWidth(title)) / 2; - int marginTop = 20; - int y = marginTop + fm.getAscent(); + Color color1 = Color.RED; + Color color2 = Color.ORANGE; + Color color3 = Color.YELLOW; - g.drawString(title, x, y); + GradientText gradientText = new GradientText(font, color1, color2, color3); + gradientText.draw((Graphics2D) g, title, (Global.screenWidth - g.getFontMetrics().stringWidth(title)) / 5, + 100); } private void drawOptions(Graphics g) { - Font font = new Font("Minecraft", Font.PLAIN, 10 * Game.SCALE); + Font font = new Font("Minecraft", Font.PLAIN, 12 * Game.SCALE); g.setFont(font); - g.setColor(Color.white); + // Position of Options int w = Global.screenWidth; int h = Global.screenHeight; FontMetrics fm = g.getFontMetrics(); int textHeight = fm.getAscent() + fm.getDescent(); - int boxHeight = textHeight * this.levels.size(); + + // Khoảng cách giữa các lựa chọn + int spacing = 10 * Game.SCALE; + + // Tính toán tổng chiều cao của các lựa chọn cộng với khoảng cách giữa chúng + int boxHeight = (textHeight) * this.levels.size() - spacing; int marginTop = (h - boxHeight) / 2; - for (int i = 0; i < this.levels.size(); i++) { - String level = this.levels.get(i); - int x = (w - fm.stringWidth(level)) / 2; - int y = marginTop + fm.getAscent() + textHeight * i; + for (int i = 0; i < levels.size(); i++) { + String mode = levels.get(i); + + int x = (w - fm.stringWidth(mode)) / 2; + int y = marginTop + (textHeight + spacing) * i - 20; + + if (i == selectorIndex) { + g.setColor(Color.YELLOW); + } else { + g.setColor(Color.WHITE); + } - g.drawString(level, x, y); + g.drawString(mode, x, y); } } private void drawSelector(Graphics g) { - Font font = new Font("Minecraft", Font.PLAIN, 10 * Game.SCALE); + Font font = new Font("Minecraft", Font.PLAIN, 12 * Game.SCALE); g.setFont(font); - g.setColor(Color.white); + g.setColor(Color.WHITE); String level = this.levels.get(selectorIndex); int w = Global.screenWidth; @@ -134,10 +144,11 @@ private void drawSelector(Graphics g) { int boxHeight = textHeight * this.levels.size(); int marginTop = (h - boxHeight) / 2; - int x = (w - fm.stringWidth(level)) / 2 - 30; - int y = marginTop + fm.getAscent() + textHeight * selectorIndex; + int spacing = 10 * Game.SCALE; // Khoảng cách giống như trong drawOptions + int x = (w - fm.stringWidth(level)) / 2 - 70; // Đặt vị trí mũi tên ở bên trái văn bản + int y = marginTop + fm.getAscent() + (textHeight + spacing) * selectorIndex - 32; - g.drawString(">", x, y); + g.drawImage(pointerImage, x, y - fm.getAscent(), null); } @Override From d5ea37342a6f1e0899c68f16f0b8f03f7e5d6988 Mon Sep 17 00:00:00 2001 From: Huy010302 <111289985+Huy010302@users.noreply.github.com> Date: Sun, 2 Jun 2024 18:01:41 +0700 Subject: [PATCH 72/93] adjust background imgage --- res/menu/bgBombman.png | Bin 142349 -> 58302 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/res/menu/bgBombman.png b/res/menu/bgBombman.png index 20da57b6497fe986cd90b2b66c9c1f246fc48dbd..8c19720c6bab07a71fc99e11faf74b849f5d6a8c 100644 GIT binary patch literal 58302 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

    yhp%LmxIun;qWoEcOYlGUlX){HU6YR7Md4y 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 KMNUMnLSTYNgfb2Q From 2f6c79afb74cc4792a388241de9e384bd9b94cae Mon Sep 17 00:00:00 2001 From: Huy010302 <111289985+Huy010302@users.noreply.github.com> Date: Sun, 2 Jun 2024 22:04:28 +0700 Subject: [PATCH 73/93] fix position --- .../oop/bomberman/screen/SelectGameModeScreen.java | 6 +++--- src/uet/oop/bomberman/screen/SelectLevelScreen.java | 13 +++++++------ 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/uet/oop/bomberman/screen/SelectGameModeScreen.java b/src/uet/oop/bomberman/screen/SelectGameModeScreen.java index 2d0201c..802edd8 100644 --- a/src/uet/oop/bomberman/screen/SelectGameModeScreen.java +++ b/src/uet/oop/bomberman/screen/SelectGameModeScreen.java @@ -91,12 +91,12 @@ private void drawTitle(Graphics g, String title) { GradientText gradientText = new GradientText(font, color1, color2, color3); // Vẽ văn bản gradient bằng cách sử dụng GradientText - gradientText.draw((Graphics2D) g, title, (Global.screenWidth - g.getFontMetrics().stringWidth(title)) / 14, + gradientText.draw((Graphics2D) g, title, (Global.screenWidth - g.getFontMetrics().stringWidth(title)) / 15, 190); } private void drawOptions(Graphics g) { - Font font = new Font("Minecraft", Font.PLAIN, 12 * Game.SCALE); + Font font = new Font("Minecraft", Font.PLAIN, 10 * Game.SCALE); g.setFont(font); // Position of Options @@ -142,7 +142,7 @@ private void drawSelector(Graphics g) { int marginTop = (h - boxHeight) / 2 + 15; int spacing = 10 * Game.SCALE; - int x = (w - fm.stringWidth(level)) / 2 - 60; + int x = (w - fm.stringWidth(level)) / 2 - 50; int y = marginTop + fm.getAscent() + (textHeight + spacing) * selectorIndex; g.drawImage(pointerImage, x, y - fm.getAscent(), null); diff --git a/src/uet/oop/bomberman/screen/SelectLevelScreen.java b/src/uet/oop/bomberman/screen/SelectLevelScreen.java index 2cf46ee..c3eab88 100644 --- a/src/uet/oop/bomberman/screen/SelectLevelScreen.java +++ b/src/uet/oop/bomberman/screen/SelectLevelScreen.java @@ -59,7 +59,8 @@ public void onKeyPressed(EGameControl gameControl) { Global.currentScreen = EScreenName.GAME_PLAY_SCREEN; onDestroy(); break; - default: break; + default: + break; } if (selectorIndex < 0) { @@ -94,11 +95,11 @@ private void drawTitle(Graphics g, String title) { GradientText gradientText = new GradientText(font, color1, color2, color3); gradientText.draw((Graphics2D) g, title, (Global.screenWidth - g.getFontMetrics().stringWidth(title)) / 5, - 100); + 130); } private void drawOptions(Graphics g) { - Font font = new Font("Minecraft", Font.PLAIN, 12 * Game.SCALE); + Font font = new Font("Minecraft", Font.PLAIN, 10 * Game.SCALE); g.setFont(font); // Position of Options @@ -143,9 +144,9 @@ private void drawSelector(Graphics g) { int boxHeight = textHeight * this.levels.size(); int marginTop = (h - boxHeight) / 2; - int spacing = 10 * Game.SCALE; // Khoảng cách giống như trong drawOptions - int x = (w - fm.stringWidth(level)) / 2 - 70; // Đặt vị trí mũi tên ở bên trái văn bản - int y = marginTop + fm.getAscent() + (textHeight + spacing) * selectorIndex - 32; + int spacing = 9 * Game.SCALE; // Khoảng cách giống như trong drawOptions + int x = (w - fm.stringWidth(level)) / 2 - 50; // Đặt vị trí mũi tên ở bên trái văn bản + int y = marginTop + fm.getAscent() + (textHeight + spacing) * selectorIndex - 28; g.drawImage(pointerImage, x, y - fm.getAscent(), null); } From 354c35f0274cfc8cd9f466c99d3a2b19a6dc8960 Mon Sep 17 00:00:00 2001 From: Huy010302 <111289985+Huy010302@users.noreply.github.com> Date: Tue, 4 Jun 2024 11:06:24 +0700 Subject: [PATCH 74/93] fix logic 1 player death, 1 player still play --- .../bomberman/manager/CharacterManager.java | 30 +++++++++++++++---- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/src/uet/oop/bomberman/manager/CharacterManager.java b/src/uet/oop/bomberman/manager/CharacterManager.java index 3a8c473..870dc44 100644 --- a/src/uet/oop/bomberman/manager/CharacterManager.java +++ b/src/uet/oop/bomberman/manager/CharacterManager.java @@ -16,6 +16,8 @@ import uet.oop.bomberman.entities.tile.item.Item; import uet.oop.bomberman.graphics.Screen; import uet.oop.bomberman.sound.Sound; +import uet.oop.bomberman.utils.EGameMode; +import uet.oop.bomberman.utils.Global; public class CharacterManager implements ICharacterManager { @@ -24,13 +26,15 @@ public class CharacterManager implements ICharacterManager { private Character player; private List players = new ArrayList<>(); - private final IGameInfoManager gameInfoManager; + private final IGameInfoManager gameInfoManager; private final ILevelManager levelManager; + private int numberOfPlayersAlive; - public CharacterManager(IGameInfoManager gameInfoManager, ILevelManager levelManager) { - this.gameInfoManager = gameInfoManager; + public CharacterManager(IGameInfoManager gameInfoManager, ILevelManager levelManager) { + this.gameInfoManager = gameInfoManager; this.levelManager = levelManager; - } + initializeNumberOfPlayers(2); + } @Override public Character getCharacterAtExcluding(int x, int y, Character a) { @@ -92,13 +96,29 @@ public void handleOnDeath(Character character, Character killer) { } } + public void initializeNumberOfPlayers(int numberOfPlayers) { + this.numberOfPlayersAlive = numberOfPlayers; + } + @Override public void handleAfterDeath(Character character) { - if (character.isPlayer()) { + if (Global.gameMode == EGameMode.TWO_PLAYER && character.isPlayer()) { + numberOfPlayersAlive--; + if (numberOfPlayersAlive <= 0) { + levelManager.endGame(); + } + } else if (Global.gameMode == EGameMode.ONE_PLAYER && character.isPlayer()) { levelManager.endGame(); } } + // @Override + // public void handleAfterDeath(Character character) { + // if (character.isPlayer()) { + // levelManager.endGame(); + // } + // } + @Override public void update() { for (Character character : characters) { From 2d67ae26399f39bdc8fe7a699ca05331706d2737 Mon Sep 17 00:00:00 2001 From: Huy010302 <111289985+Huy010302@users.noreply.github.com> Date: Tue, 4 Jun 2024 11:50:54 +0700 Subject: [PATCH 75/93] fix logic --- .../bomberman/manager/CharacterManager.java | 24 +++++-------------- .../oop/bomberman/manager/LevelManager.java | 2 +- 2 files changed, 7 insertions(+), 19 deletions(-) diff --git a/src/uet/oop/bomberman/manager/CharacterManager.java b/src/uet/oop/bomberman/manager/CharacterManager.java index 870dc44..635a4e7 100644 --- a/src/uet/oop/bomberman/manager/CharacterManager.java +++ b/src/uet/oop/bomberman/manager/CharacterManager.java @@ -28,12 +28,12 @@ public class CharacterManager implements ICharacterManager { private final IGameInfoManager gameInfoManager; private final ILevelManager levelManager; - private int numberOfPlayersAlive; + private int numberOfPlayers; public CharacterManager(IGameInfoManager gameInfoManager, ILevelManager levelManager) { this.gameInfoManager = gameInfoManager; this.levelManager = levelManager; - initializeNumberOfPlayers(2); + // initializeNumberOfPlayers(0); } @Override @@ -74,6 +74,7 @@ public Character getPlayer() { @Override public void addPlayer(Character e) { players.add(e); + numberOfPlayers += 1; } @Override @@ -96,29 +97,16 @@ public void handleOnDeath(Character character, Character killer) { } } - public void initializeNumberOfPlayers(int numberOfPlayers) { - this.numberOfPlayersAlive = numberOfPlayers; - } - @Override public void handleAfterDeath(Character character) { - if (Global.gameMode == EGameMode.TWO_PLAYER && character.isPlayer()) { - numberOfPlayersAlive--; - if (numberOfPlayersAlive <= 0) { + if (character.isPlayer()) { + numberOfPlayers--; + if (numberOfPlayers == 0) { levelManager.endGame(); } - } else if (Global.gameMode == EGameMode.ONE_PLAYER && character.isPlayer()) { - levelManager.endGame(); } } - // @Override - // public void handleAfterDeath(Character character) { - // if (character.isPlayer()) { - // levelManager.endGame(); - // } - // } - @Override public void update() { for (Character character : characters) { diff --git a/src/uet/oop/bomberman/manager/LevelManager.java b/src/uet/oop/bomberman/manager/LevelManager.java index 5fa3631..0387910 100644 --- a/src/uet/oop/bomberman/manager/LevelManager.java +++ b/src/uet/oop/bomberman/manager/LevelManager.java @@ -56,5 +56,5 @@ public int getBoardWidth() { public int getBoardHeight() { return levelLoader.getHeight(); } - + } From bc025981a1da456c406c9cdc0c6b1280cb7508fa Mon Sep 17 00:00:00 2001 From: Huy010302 <111289985+Huy010302@users.noreply.github.com> Date: Tue, 4 Jun 2024 12:00:34 +0700 Subject: [PATCH 76/93] next to level 2 --- src/uet/oop/bomberman/entities/character/Character.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/uet/oop/bomberman/entities/character/Character.java b/src/uet/oop/bomberman/entities/character/Character.java index c3ba74d..8d81c2f 100644 --- a/src/uet/oop/bomberman/entities/character/Character.java +++ b/src/uet/oop/bomberman/entities/character/Character.java @@ -284,8 +284,7 @@ public boolean collide(Entity e) { return false; } } - if (e instanceof LayeredEntity) - return (e.collide(this)); + return true; } From 9bc6335c918360180d5912a6daf250f9d08b9d0c Mon Sep 17 00:00:00 2001 From: Hang Le Thi Bich <21522041@gm.uit.edu.vn> Date: Thu, 6 Jun 2024 23:57:45 +0700 Subject: [PATCH 77/93] change info panel for 2 players, count enemies --- src/uet/oop/bomberman/BombermanGame.java | 2 +- src/uet/oop/bomberman/Game.java | 6 +- .../oop/bomberman/base/IGameInfoManager.java | 2 + src/uet/oop/bomberman/gui/Frame.java | 16 ++++ src/uet/oop/bomberman/gui/InfoPanel.java | 82 +++++++++++++++++-- .../bomberman/manager/GameInfoManager.java | 17 +++- .../oop/bomberman/manager/LevelManager.java | 21 +++++ .../bomberman/screen/SelectLevelScreen.java | 11 +-- src/uet/oop/bomberman/utils/Global.java | 1 + 9 files changed, 143 insertions(+), 15 deletions(-) diff --git a/src/uet/oop/bomberman/BombermanGame.java b/src/uet/oop/bomberman/BombermanGame.java index 959fb1c..b1a7edc 100644 --- a/src/uet/oop/bomberman/BombermanGame.java +++ b/src/uet/oop/bomberman/BombermanGame.java @@ -6,7 +6,7 @@ public class BombermanGame { public static void main(String[] args) { - Sound.play("soundtrack"); +// Sound.play("soundtrack"); new Frame(); } } diff --git a/src/uet/oop/bomberman/Game.java b/src/uet/oop/bomberman/Game.java index 8ae33bf..b10dbcd 100644 --- a/src/uet/oop/bomberman/Game.java +++ b/src/uet/oop/bomberman/Game.java @@ -111,7 +111,7 @@ private void drawScreen(Graphics g) { private void initScreen() { Global.currentScreen = EScreenName.SELECT_GAME_MODE; this.selectGameModeScreen = new SelectGameModeScreen(); - this.selectLevelScreen = new SelectLevelScreen(_board); + this.selectLevelScreen = new SelectLevelScreen(_board, _frame); this.deadScreen = new DeadScreen(this); } @@ -172,7 +172,11 @@ private void showScreen() { if (System.currentTimeMillis() - timer > 1000) { _frame.setTime(gameInfoManager.subtractTime()); _frame.setPoints(gameInfoManager.getPoints()); + _frame.setLevel(Global.gameLevel); + _frame.setEnemy(Global.enemies); + _frame.setShowInfoPanel(); _frame.renderItemTime(); + timer += 1000; _frame.setTitle(TITLE + " | " + updates + " rate, " + frames + " fps"); updates = 0; diff --git a/src/uet/oop/bomberman/base/IGameInfoManager.java b/src/uet/oop/bomberman/base/IGameInfoManager.java index 823ba93..6018ea1 100644 --- a/src/uet/oop/bomberman/base/IGameInfoManager.java +++ b/src/uet/oop/bomberman/base/IGameInfoManager.java @@ -25,6 +25,8 @@ public interface IGameInfoManager extends IMessageManager, IRender { public List getPlayerActiveItems(); + public List getPlayer2ActiveItems(); + public void setEntityManager(IEntityManager entityManager); public void render(Screen screen, Graphics g); diff --git a/src/uet/oop/bomberman/gui/Frame.java b/src/uet/oop/bomberman/gui/Frame.java index 52252de..9c0dac7 100644 --- a/src/uet/oop/bomberman/gui/Frame.java +++ b/src/uet/oop/bomberman/gui/Frame.java @@ -58,6 +58,22 @@ public void setPoints(int points) { _infopanel.setPoints(points); } + public void setLevel(int level) { + _infopanel.setLevel(level); + } + + public void setEnemy(int enemy) { + _infopanel.setEnemies(enemy); + } + + public void setShowInfoPanel() { + _infopanel.showInfoPanel(); + } + + public void loadInfo() { + _infopanel.loadInfo(); + } + public void renderItemTime() { _infopanel.renderItemTime(); } diff --git a/src/uet/oop/bomberman/gui/InfoPanel.java b/src/uet/oop/bomberman/gui/InfoPanel.java index 543f6bd..0bcd412 100644 --- a/src/uet/oop/bomberman/gui/InfoPanel.java +++ b/src/uet/oop/bomberman/gui/InfoPanel.java @@ -1,8 +1,10 @@ package uet.oop.bomberman.gui; import uet.oop.bomberman.Game; -import uet.oop.bomberman.base.IGameInfoManager; import uet.oop.bomberman.entities.tile.item.Item; +import uet.oop.bomberman.utils.EGameMode; +import uet.oop.bomberman.utils.EScreenName; +import uet.oop.bomberman.utils.Global; import javax.swing.*; import java.awt.*; @@ -13,14 +15,26 @@ */ public class InfoPanel extends JPanel { private JLabel timeLabel; + private JLabel p2TimeLabel; private JLabel pointsLabel; private JLabel itemTimeLabel; + private JLabel levelLabel; + private JLabel enemyLabel; private final Game game; public InfoPanel(Game game) { this.game = game; setLayout(new GridLayout()); + + levelLabel = new JLabel("Level: " + Global.gameLevel); + levelLabel.setForeground(Color.white); + levelLabel.setHorizontalAlignment(JLabel.CENTER); + + enemyLabel = new JLabel("Enemies: " + Global.enemies); + enemyLabel.setForeground(Color.white); + enemyLabel.setHorizontalAlignment(JLabel.CENTER); + timeLabel = new JLabel("Time: " + game.getBoard().getGameInfoManager().getTime()); timeLabel.setForeground(Color.white); timeLabel.setHorizontalAlignment(JLabel.CENTER); @@ -31,14 +45,16 @@ public InfoPanel(Game game) { itemTimeLabel = new JLabel(""); itemTimeLabel.setForeground(Color.white); - itemTimeLabel.setHorizontalAlignment(JLabel.LEFT); + itemTimeLabel.setHorizontalAlignment(JLabel.CENTER); itemTimeLabel.setBorder(BorderFactory.createEmptyBorder(0, 40, 0, 0)); - add(itemTimeLabel); - add(timeLabel); - add(pointsLabel); + p2TimeLabel = new JLabel(""); + p2TimeLabel.setForeground(Color.white); + p2TimeLabel.setHorizontalAlignment(JLabel.CENTER); + p2TimeLabel.setBorder(BorderFactory.createEmptyBorder(0, 40, 0, 0)); + setBackground(Color.black); - setPreferredSize(new Dimension(0, 40)); + setPreferredSize(new Dimension(0, 0)); } public void setTime(int t) { @@ -49,8 +65,17 @@ public void setPoints(int t) { pointsLabel.setText("Score: " + t); } + public void setLevel(int t) { + levelLabel.setText("Level: " + t); + } + + public void setEnemies(int t) { + enemyLabel.setText("Enemies: " + t); + } + public void renderItemTime() { String label = ""; + List items = game.getBoard().getGameInfoManager().getPlayerActiveItems(); for (int i = 0; i < items.size(); i++) { Item item = items.get(i); @@ -59,7 +84,50 @@ public void renderItemTime() { } label += item.getDisplayActiveItem() + item.getDuration() / Game.TICKS_PER_SECOND + " "; } - itemTimeLabel.setText(label); + + if (Global.gameMode == EGameMode.TWO_PLAYER) { + String label2 = ""; + List p2Items = game.getBoard().getGameInfoManager().getPlayer2ActiveItems(); + for (int i = 0; i < p2Items.size(); i++) { + Item item = p2Items.get(i); + if ((item.getDuration()) == 0) { + continue; + } + label2 += item.getDisplayActiveItem() + item.getDuration() / Game.TICKS_PER_SECOND + " "; + } + + if (label2 != "") { + label2 = "P2 " + label2; + } + if (label != "") { + label = "P1 " + label; + } + + p2TimeLabel.setText(label2); + itemTimeLabel.setText(label); + } else { + itemTimeLabel.setText(label); + } + } + + public void showInfoPanel() { + if (Global.currentScreen == EScreenName.GAME_PLAY_SCREEN) { + setPreferredSize(new Dimension(0, 40)); + setVisible(true); + } else { + setPreferredSize(new Dimension(0, 0)); + setVisible(false); + } } + public void loadInfo() { + add(itemTimeLabel); + add(timeLabel); + add(pointsLabel); + add(enemyLabel); + + if (Global.gameMode == EGameMode.TWO_PLAYER) { + add(p2TimeLabel); + } + } } diff --git a/src/uet/oop/bomberman/manager/GameInfoManager.java b/src/uet/oop/bomberman/manager/GameInfoManager.java index f141e53..54063ea 100644 --- a/src/uet/oop/bomberman/manager/GameInfoManager.java +++ b/src/uet/oop/bomberman/manager/GameInfoManager.java @@ -35,7 +35,22 @@ public void setEntityManager(IEntityManager entityManager) { @Override public List getPlayerActiveItems() { - Character player = entityManager.getPlayer(); + List players = entityManager.getPlayers(); + if (players.size() < 1) { + return new ArrayList<>(); + } + Character player = players.get(0); + if (!(player instanceof CanUseItem)) return new ArrayList<>(); + return ((CanUseItem)player).getActiveItems().collect(Collectors.toList()); + } + + @Override + public List getPlayer2ActiveItems() { + List players = entityManager.getPlayers(); + if (players.size() < 2) { + return new ArrayList<>(); + } + Character player = players.get(1); if (!(player instanceof CanUseItem)) return new ArrayList<>(); return ((CanUseItem)player).getActiveItems().collect(Collectors.toList()); } diff --git a/src/uet/oop/bomberman/manager/LevelManager.java b/src/uet/oop/bomberman/manager/LevelManager.java index 5fa3631..b3ec1aa 100644 --- a/src/uet/oop/bomberman/manager/LevelManager.java +++ b/src/uet/oop/bomberman/manager/LevelManager.java @@ -5,6 +5,7 @@ import uet.oop.bomberman.exceptions.LoadLevelException; import uet.oop.bomberman.level.FileLevelLoader; import uet.oop.bomberman.level.LevelLoader; +import uet.oop.bomberman.utils.EGameMode; import uet.oop.bomberman.utils.EScreenName; import uet.oop.bomberman.utils.Global; @@ -32,6 +33,7 @@ private void loadLevel(int level) { board.clear(); try { levelLoader = new FileLevelLoader(board, level); + calculateEnemies(); } catch (LoadLevelException e) { e.printStackTrace(); } @@ -41,6 +43,25 @@ private void loadLevel(int level) { } } + private void calculateEnemies() { + int level = Global.gameLevel; + EGameMode gameMode = Global.gameMode; + if(level == 1 && gameMode == EGameMode.ONE_PLAYER) { + Global.enemies = 1; + } else if(level == 2 && gameMode == EGameMode.ONE_PLAYER) { + Global.enemies = 3; + } else if(level == 3 && gameMode == EGameMode.ONE_PLAYER) { + Global.enemies = 6; + } else if(level == 1 && gameMode == EGameMode.TWO_PLAYER) { + Global.enemies = 1; + } else if(level == 2 && gameMode == EGameMode.TWO_PLAYER) { + Global.enemies = 3; + } else if(level == 3 && gameMode == EGameMode.TWO_PLAYER) { + Global.enemies = 6; + } + } + + @Override public void endGame() { Global.currentScreen = EScreenName.END_GAME_SCREEN; diff --git a/src/uet/oop/bomberman/screen/SelectLevelScreen.java b/src/uet/oop/bomberman/screen/SelectLevelScreen.java index c3eab88..e609d60 100644 --- a/src/uet/oop/bomberman/screen/SelectLevelScreen.java +++ b/src/uet/oop/bomberman/screen/SelectLevelScreen.java @@ -2,13 +2,11 @@ import uet.oop.bomberman.Board; import uet.oop.bomberman.Game; +import uet.oop.bomberman.gui.Frame; import uet.oop.bomberman.gui.GameScreen; import uet.oop.bomberman.input.Keyboard; -import uet.oop.bomberman.utils.EGameControl; -import uet.oop.bomberman.utils.EGameLevel; -import uet.oop.bomberman.utils.EScreenName; -import uet.oop.bomberman.utils.Global; +import uet.oop.bomberman.utils.*; import javax.imageio.ImageIO; import java.awt.*; @@ -22,11 +20,13 @@ public class SelectLevelScreen extends GameScreen { int selectorIndex = 0; private Optional _input; private Board _board; + private Frame _frame; private BufferedImage backgroundImage; private BufferedImage pointerImage; - public SelectLevelScreen(Board board) { + public SelectLevelScreen(Board board, Frame frame) { _board = board; + _frame = frame; levels.add(EGameLevel.EASY.getStringLevel()); levels.add(EGameLevel.MEDIUM.getStringLevel()); @@ -57,6 +57,7 @@ public void onKeyPressed(EGameControl gameControl) { Global.gameLevel = selectorIndex + 1; _board.getLevelManager().loadGlobalLevel(); Global.currentScreen = EScreenName.GAME_PLAY_SCREEN; + _frame.loadInfo(); onDestroy(); break; default: diff --git a/src/uet/oop/bomberman/utils/Global.java b/src/uet/oop/bomberman/utils/Global.java index ff4616e..299fa15 100644 --- a/src/uet/oop/bomberman/utils/Global.java +++ b/src/uet/oop/bomberman/utils/Global.java @@ -10,4 +10,5 @@ public class Global { // GAME PLAY public static int gameLevel = 1; public static EGameMode gameMode; + public static int enemies = 0; } From 05c01ddacf054d8b36a4a2cf34c3567344a7dc6c Mon Sep 17 00:00:00 2001 From: Hang Le Thi Bich <21522041@gm.uit.edu.vn> Date: Thu, 6 Jun 2024 23:58:45 +0700 Subject: [PATCH 78/93] update --- src/uet/oop/bomberman/BombermanGame.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/uet/oop/bomberman/BombermanGame.java b/src/uet/oop/bomberman/BombermanGame.java index b1a7edc..959fb1c 100644 --- a/src/uet/oop/bomberman/BombermanGame.java +++ b/src/uet/oop/bomberman/BombermanGame.java @@ -6,7 +6,7 @@ public class BombermanGame { public static void main(String[] args) { -// Sound.play("soundtrack"); + Sound.play("soundtrack"); new Frame(); } } From 09be47f00224dbbeefb50a73845149850712d7e0 Mon Sep 17 00:00:00 2001 From: Hang Le Thi Bich <21522041@gm.uit.edu.vn> Date: Fri, 7 Jun 2024 21:21:38 +0700 Subject: [PATCH 79/93] update info panel --- src/uet/oop/bomberman/Game.java | 2 +- src/uet/oop/bomberman/gui/Frame.java | 4 ++-- src/uet/oop/bomberman/gui/InfoPanel.java | 15 ++++++++------- .../oop/bomberman/manager/CharacterManager.java | 2 ++ src/uet/oop/bomberman/manager/LevelManager.java | 1 + 5 files changed, 14 insertions(+), 10 deletions(-) diff --git a/src/uet/oop/bomberman/Game.java b/src/uet/oop/bomberman/Game.java index b10dbcd..67c0b59 100644 --- a/src/uet/oop/bomberman/Game.java +++ b/src/uet/oop/bomberman/Game.java @@ -149,6 +149,7 @@ private void showScreen() { Graphics g = bs.getDrawGraphics(); IGameInfoManager gameInfoManager = _board.getGameInfoManager(); + switch (Global.currentScreen) { case GAME_PLAY_SCREEN: Keyboard.i().keyboardInputCallback = Optional.empty(); @@ -174,7 +175,6 @@ private void showScreen() { _frame.setPoints(gameInfoManager.getPoints()); _frame.setLevel(Global.gameLevel); _frame.setEnemy(Global.enemies); - _frame.setShowInfoPanel(); _frame.renderItemTime(); timer += 1000; diff --git a/src/uet/oop/bomberman/gui/Frame.java b/src/uet/oop/bomberman/gui/Frame.java index 9c0dac7..b0c6d0e 100644 --- a/src/uet/oop/bomberman/gui/Frame.java +++ b/src/uet/oop/bomberman/gui/Frame.java @@ -66,8 +66,8 @@ public void setEnemy(int enemy) { _infopanel.setEnemies(enemy); } - public void setShowInfoPanel() { - _infopanel.showInfoPanel(); + public void setHideInfoPanel() { + _infopanel.hideInfoPanel(); } public void loadInfo() { diff --git a/src/uet/oop/bomberman/gui/InfoPanel.java b/src/uet/oop/bomberman/gui/InfoPanel.java index 0bcd412..5936a6d 100644 --- a/src/uet/oop/bomberman/gui/InfoPanel.java +++ b/src/uet/oop/bomberman/gui/InfoPanel.java @@ -54,7 +54,7 @@ public InfoPanel(Game game) { p2TimeLabel.setBorder(BorderFactory.createEmptyBorder(0, 40, 0, 0)); setBackground(Color.black); - setPreferredSize(new Dimension(0, 0)); + setPreferredSize(new Dimension(0, 40)); } public void setTime(int t) { @@ -110,13 +110,14 @@ public void renderItemTime() { } } - public void showInfoPanel() { + public void hideInfoPanel() { if (Global.currentScreen == EScreenName.GAME_PLAY_SCREEN) { - setPreferredSize(new Dimension(0, 40)); - setVisible(true); - } else { - setPreferredSize(new Dimension(0, 0)); - setVisible(false); + System.out.println("vao day"); + remove(itemTimeLabel); + remove(timeLabel); + remove(pointsLabel); + remove(enemyLabel); + remove(p2TimeLabel); } } diff --git a/src/uet/oop/bomberman/manager/CharacterManager.java b/src/uet/oop/bomberman/manager/CharacterManager.java index 3a8c473..72cbce4 100644 --- a/src/uet/oop/bomberman/manager/CharacterManager.java +++ b/src/uet/oop/bomberman/manager/CharacterManager.java @@ -16,6 +16,7 @@ import uet.oop.bomberman.entities.tile.item.Item; import uet.oop.bomberman.graphics.Screen; import uet.oop.bomberman.sound.Sound; +import uet.oop.bomberman.utils.Global; public class CharacterManager implements ICharacterManager { @@ -86,6 +87,7 @@ public void handleOnDeath(Character character, Character killer) { double messageY = (character.getY() * Game.SCALE) - (character.getSprite().SIZE / 2 * Game.SCALE); int points = character.getPoints(); gameInfoManager.addPoints(points); + Global.enemies--; Message msg = new Message("+" + points, messageX, messageY, 2, Color.white, 14); gameInfoManager.addMessage(msg); Sound.play("AA126_11"); diff --git a/src/uet/oop/bomberman/manager/LevelManager.java b/src/uet/oop/bomberman/manager/LevelManager.java index b3ec1aa..296cf8d 100644 --- a/src/uet/oop/bomberman/manager/LevelManager.java +++ b/src/uet/oop/bomberman/manager/LevelManager.java @@ -65,6 +65,7 @@ private void calculateEnemies() { @Override public void endGame() { Global.currentScreen = EScreenName.END_GAME_SCREEN; + board.getGameInfoManager().pause(); } From 715189994e2b8a99d4f401b542f9220297352f34 Mon Sep 17 00:00:00 2001 From: Huy010302 <111289985+Huy010302@users.noreply.github.com> Date: Sat, 8 Jun 2024 12:29:10 +0700 Subject: [PATCH 80/93] UI of infopanel --- .../entities/tile/item/BombItem.java | 2 +- .../entities/tile/item/FlameItem.java | 2 +- .../entities/tile/item/SpeedItem.java | 2 +- src/uet/oop/bomberman/gui/InfoPanel.java | 6 +++--- .../oop/bomberman/manager/LevelManager.java | 21 +++++++++---------- 5 files changed, 16 insertions(+), 17 deletions(-) diff --git a/src/uet/oop/bomberman/entities/tile/item/BombItem.java b/src/uet/oop/bomberman/entities/tile/item/BombItem.java index a288df4..7b0ae47 100644 --- a/src/uet/oop/bomberman/entities/tile/item/BombItem.java +++ b/src/uet/oop/bomberman/entities/tile/item/BombItem.java @@ -20,6 +20,6 @@ protected void handleItemInactive() { @Override public String getDisplayActiveItem() { - return "Bomb:"; + return "💣 "; } } diff --git a/src/uet/oop/bomberman/entities/tile/item/FlameItem.java b/src/uet/oop/bomberman/entities/tile/item/FlameItem.java index cf3c0d1..bd21ee7 100644 --- a/src/uet/oop/bomberman/entities/tile/item/FlameItem.java +++ b/src/uet/oop/bomberman/entities/tile/item/FlameItem.java @@ -20,6 +20,6 @@ protected void handleItemInactive() { @Override public String getDisplayActiveItem() { - return "Flame:"; + return "🔥 "; } } diff --git a/src/uet/oop/bomberman/entities/tile/item/SpeedItem.java b/src/uet/oop/bomberman/entities/tile/item/SpeedItem.java index bcdeb48..9b17c24 100644 --- a/src/uet/oop/bomberman/entities/tile/item/SpeedItem.java +++ b/src/uet/oop/bomberman/entities/tile/item/SpeedItem.java @@ -20,6 +20,6 @@ protected void handleItemInactive() { @Override public String getDisplayActiveItem() { - return "Speed:"; + return "👟 "; } } diff --git a/src/uet/oop/bomberman/gui/InfoPanel.java b/src/uet/oop/bomberman/gui/InfoPanel.java index 5936a6d..7e43d50 100644 --- a/src/uet/oop/bomberman/gui/InfoPanel.java +++ b/src/uet/oop/bomberman/gui/InfoPanel.java @@ -58,11 +58,11 @@ public InfoPanel(Game game) { } public void setTime(int t) { - timeLabel.setText("Time: " + t); + timeLabel.setText("⏰ " + t); } public void setPoints(int t) { - pointsLabel.setText("Score: " + t); + pointsLabel.setText("💵 " + t); } public void setLevel(int t) { @@ -70,7 +70,7 @@ public void setLevel(int t) { } public void setEnemies(int t) { - enemyLabel.setText("Enemies: " + t); + enemyLabel.setText("👻 " + t); } public void renderItemTime() { diff --git a/src/uet/oop/bomberman/manager/LevelManager.java b/src/uet/oop/bomberman/manager/LevelManager.java index 1170f75..1ef4ca9 100644 --- a/src/uet/oop/bomberman/manager/LevelManager.java +++ b/src/uet/oop/bomberman/manager/LevelManager.java @@ -46,22 +46,21 @@ private void loadLevel(int level) { private void calculateEnemies() { int level = Global.gameLevel; EGameMode gameMode = Global.gameMode; - if(level == 1 && gameMode == EGameMode.ONE_PLAYER) { + if (level == 1 && gameMode == EGameMode.ONE_PLAYER) { Global.enemies = 1; - } else if(level == 2 && gameMode == EGameMode.ONE_PLAYER) { - Global.enemies = 3; - } else if(level == 3 && gameMode == EGameMode.ONE_PLAYER) { - Global.enemies = 6; - } else if(level == 1 && gameMode == EGameMode.TWO_PLAYER) { + } else if (level == 2 && gameMode == EGameMode.ONE_PLAYER) { + Global.enemies = 5; + } else if (level == 3 && gameMode == EGameMode.ONE_PLAYER) { + Global.enemies = 9; + } else if (level == 1 && gameMode == EGameMode.TWO_PLAYER) { Global.enemies = 1; - } else if(level == 2 && gameMode == EGameMode.TWO_PLAYER) { - Global.enemies = 3; - } else if(level == 3 && gameMode == EGameMode.TWO_PLAYER) { - Global.enemies = 6; + } else if (level == 2 && gameMode == EGameMode.TWO_PLAYER) { + Global.enemies = 5; + } else if (level == 3 && gameMode == EGameMode.TWO_PLAYER) { + Global.enemies = 9; } } - @Override public void endGame() { Global.currentScreen = EScreenName.END_GAME_SCREEN; From 8383f1df930a97ae322f0551129a07bcbebb7c9f Mon Sep 17 00:00:00 2001 From: Huy010302 <111289985+Huy010302@users.noreply.github.com> Date: Sat, 8 Jun 2024 13:40:42 +0700 Subject: [PATCH 81/93] fix size --- .../entities/tile/item/BombItem.java | 2 +- .../entities/tile/item/FlameItem.java | 2 +- .../entities/tile/item/SpeedItem.java | 2 +- src/uet/oop/bomberman/graphics/Screen.java | 77 +++++++++++-------- src/uet/oop/bomberman/gui/InfoPanel.java | 9 ++- 5 files changed, 54 insertions(+), 38 deletions(-) diff --git a/src/uet/oop/bomberman/entities/tile/item/BombItem.java b/src/uet/oop/bomberman/entities/tile/item/BombItem.java index 7b0ae47..8ae9c5e 100644 --- a/src/uet/oop/bomberman/entities/tile/item/BombItem.java +++ b/src/uet/oop/bomberman/entities/tile/item/BombItem.java @@ -20,6 +20,6 @@ protected void handleItemInactive() { @Override public String getDisplayActiveItem() { - return "💣 "; + return " 💣 "; } } diff --git a/src/uet/oop/bomberman/entities/tile/item/FlameItem.java b/src/uet/oop/bomberman/entities/tile/item/FlameItem.java index bd21ee7..863b776 100644 --- a/src/uet/oop/bomberman/entities/tile/item/FlameItem.java +++ b/src/uet/oop/bomberman/entities/tile/item/FlameItem.java @@ -20,6 +20,6 @@ protected void handleItemInactive() { @Override public String getDisplayActiveItem() { - return "🔥 "; + return " 🔥 "; } } diff --git a/src/uet/oop/bomberman/entities/tile/item/SpeedItem.java b/src/uet/oop/bomberman/entities/tile/item/SpeedItem.java index 9b17c24..87a111a 100644 --- a/src/uet/oop/bomberman/entities/tile/item/SpeedItem.java +++ b/src/uet/oop/bomberman/entities/tile/item/SpeedItem.java @@ -20,6 +20,6 @@ protected void handleItemInactive() { @Override public String getDisplayActiveItem() { - return "👟 "; + return " 👟 "; } } diff --git a/src/uet/oop/bomberman/graphics/Screen.java b/src/uet/oop/bomberman/graphics/Screen.java index dd8f1b1..3b05f19 100644 --- a/src/uet/oop/bomberman/graphics/Screen.java +++ b/src/uet/oop/bomberman/graphics/Screen.java @@ -15,31 +15,35 @@ public class Screen { private int _transparentColor = 0xffff00ff; public static int xOffset = 0, yOffset = 0; - + public Screen(int width, int height) { _width = width; _height = height; - + _pixels = new int[width * height]; Global.screenWidth = this.getRealWidth(); Global.screenHeight = this.getRealHeight(); } - public void renderEntity(int xp, int yp, Entity entity) { //save entity pixels + + public void renderEntity(int xp, int yp, Entity entity) { // save entity pixels xp -= xOffset; yp -= yOffset; for (int y = 0; y < entity.getSprite().getSize(); y++) { - int ya = y + yp; //add offset + int ya = y + yp; // add offset for (int x = 0; x < entity.getSprite().getSize(); x++) { - int xa = x + xp; //add offset - if(xa < -entity.getSprite().getSize() || xa >= _width || ya < 0 || ya >= _height) break; //fix black margins - if(xa < 0) xa = 0; //start at 0 from left + int xa = x + xp; // add offset + if (xa < -entity.getSprite().getSize() || xa >= _width || ya < 0 || ya >= _height) + break; // fix black margins + if (xa < 0) + xa = 0; // start at 0 from left int color = entity.getSprite().getPixel(x + y * entity.getSprite().getSize()); - if(color != _transparentColor) _pixels[xa + ya * _width] = color; + if (color != _transparentColor) + _pixels[xa + ya * _width] = color; } } } - + public void renderEntityWithBelowSprite(int xp, int yp, Entity entity, Sprite below) { xp -= xOffset; yp -= yOffset; @@ -47,84 +51,91 @@ public void renderEntityWithBelowSprite(int xp, int yp, Entity entity, Sprite be int ya = y + yp; for (int x = 0; x < entity.getSprite().getSize(); x++) { int xa = x + xp; - if(xa < -entity.getSprite().getSize() || xa >= _width || ya < 0 || ya >= _height) break; //fix black margins - if(xa < 0) xa = 0; + if (xa < -entity.getSprite().getSize() || xa >= _width || ya < 0 || ya >= _height) + break; // fix black margins + if (xa < 0) + xa = 0; int color = entity.getSprite().getPixel(x + y * entity.getSprite().getSize()); - if(color != _transparentColor) + if (color != _transparentColor) _pixels[xa + ya * _width] = color; else _pixels[xa + ya * _width] = below.getPixel(x + y * below.getSize()); } } } + public void clear() { for (int i = 0; i < _pixels.length; i++) { _pixels[i] = 0; } } + public static void setOffset(int xO, int yO) { xOffset = xO; yOffset = yO; } - + public void drawEndGame(Graphics g, int points) { g.setColor(Color.black); g.fillRect(0, 0, getRealWidth(), getRealHeight()); - + Font font = new Font("Arial", Font.PLAIN, 20 * Game.SCALE); g.setFont(font); g.setColor(Color.white); - drawCenteredString("GAME OVER", getRealWidth(), getRealHeight()/4, g); - + drawCenteredString("GAME OVER", getRealWidth(), getRealHeight() / 4, g); + font = new Font("Arial", Font.PLAIN, 10 * Game.SCALE); g.setFont(font); g.setColor(Color.yellow); - drawCenteredString("POINTS: " + points, getRealWidth(), getRealHeight()/3 + (Game.TILES_SIZE * 2) * Game.SCALE, g); + drawCenteredString("POINTS: " + points, getRealWidth(), + getRealHeight() / 3 + (Game.TILES_SIZE * 2) * Game.SCALE, g); font = new Font("Arial", Font.PLAIN, 8 * Game.SCALE); g.setFont(font); g.setColor(Color.white); - drawCenteredString("Press R to retry", getRealWidth(), getRealHeight()/2 + (Game.TILES_SIZE * 4) * Game.SCALE, g); - drawCenteredString("Press B to Back Home", getRealWidth(), getRealHeight()/2 + (Game.TILES_SIZE * 5) * Game.SCALE, g); - } + drawCenteredString("Press R to retry", getRealWidth(), getRealHeight() / 2 + (Game.TILES_SIZE * 4) * Game.SCALE, + g); + drawCenteredString("Press B to Back Home", getRealWidth(), + getRealHeight() / 2 + (Game.TILES_SIZE * 5) * Game.SCALE, g); + } public void drawChangeLevel(Graphics g, int level) { g.setColor(Color.black); g.fillRect(0, 0, getRealWidth(), getRealHeight()); - + Font font = new Font("Arial", Font.PLAIN, 20 * Game.SCALE); g.setFont(font); g.setColor(Color.white); drawCenteredString("LEVEL " + level, getRealWidth(), getRealHeight(), g); - + } - + public void drawPaused(Graphics g) { Font font = new Font("Arial", Font.PLAIN, 20 * Game.SCALE); g.setFont(font); g.setColor(Color.white); drawCenteredString("PAUSED", getRealWidth(), getRealHeight(), g); - + } public void drawCenteredString(String s, int w, int h, Graphics g) { - FontMetrics fm = g.getFontMetrics(); - int x = (w - fm.stringWidth(s)) / 2; - int y = (fm.getAscent() + (h - (fm.getAscent() + fm.getDescent())) / 2); - g.drawString(s, x, y); - } - + FontMetrics fm = g.getFontMetrics(); + int x = (w - fm.stringWidth(s)) / 2; + int y = (fm.getAscent() + (h - (fm.getAscent() + fm.getDescent())) / 2); + g.drawString(s, x, y); + } + public int getWidth() { return _width; } - + public int getHeight() { return _height; } - + public int getRealWidth() { return _width * Game.SCALE; } - + public int getRealHeight() { return _height * Game.SCALE; } diff --git a/src/uet/oop/bomberman/gui/InfoPanel.java b/src/uet/oop/bomberman/gui/InfoPanel.java index 7e43d50..b2d2b07 100644 --- a/src/uet/oop/bomberman/gui/InfoPanel.java +++ b/src/uet/oop/bomberman/gui/InfoPanel.java @@ -33,24 +33,29 @@ public InfoPanel(Game game) { enemyLabel = new JLabel("Enemies: " + Global.enemies); enemyLabel.setForeground(Color.white); + enemyLabel.setFont(new Font("DejaVu Sans", Font.PLAIN, 15)); enemyLabel.setHorizontalAlignment(JLabel.CENTER); timeLabel = new JLabel("Time: " + game.getBoard().getGameInfoManager().getTime()); timeLabel.setForeground(Color.white); + timeLabel.setFont(new Font("DejaVu Sans", Font.PLAIN, 15)); timeLabel.setHorizontalAlignment(JLabel.CENTER); pointsLabel = new JLabel("Points: " + game.getBoard().getGameInfoManager().getPoints()); pointsLabel.setForeground(Color.white); + pointsLabel.setFont(new Font("DejaVu Sans", Font.PLAIN, 15)); pointsLabel.setHorizontalAlignment(JLabel.CENTER); itemTimeLabel = new JLabel(""); itemTimeLabel.setForeground(Color.white); itemTimeLabel.setHorizontalAlignment(JLabel.CENTER); + itemTimeLabel.setFont(new Font("DejaVu Sans", Font.PLAIN, 15)); itemTimeLabel.setBorder(BorderFactory.createEmptyBorder(0, 40, 0, 0)); p2TimeLabel = new JLabel(""); p2TimeLabel.setForeground(Color.white); p2TimeLabel.setHorizontalAlignment(JLabel.CENTER); + p2TimeLabel.setFont(new Font("DejaVu Sans", Font.PLAIN, 15)); p2TimeLabel.setBorder(BorderFactory.createEmptyBorder(0, 40, 0, 0)); setBackground(Color.black); @@ -97,10 +102,10 @@ public void renderItemTime() { } if (label2 != "") { - label2 = "P2 " + label2; + label2 = "P2 " + label2; } if (label != "") { - label = "P1 " + label; + label = "P1 " + label; } p2TimeLabel.setText(label2); From 986099894bd859861f1fe09c61db75ecd5a5c337 Mon Sep 17 00:00:00 2001 From: phuonnngminh Date: Sat, 8 Jun 2024 11:01:32 +0000 Subject: [PATCH 82/93] fix pause button --- .gitignore | 3 +++ src/uet/oop/bomberman/Game.java | 14 +++++++------- src/uet/oop/bomberman/input/Keyboard.java | 3 +++ 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index 5c00752..96bfd5f 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,6 @@ /bin /.idea *.iml +/.vscode +/core +/*.log \ No newline at end of file diff --git a/src/uet/oop/bomberman/Game.java b/src/uet/oop/bomberman/Game.java index 67c0b59..dcd6361 100644 --- a/src/uet/oop/bomberman/Game.java +++ b/src/uet/oop/bomberman/Game.java @@ -120,11 +120,16 @@ private void update() { switch (Global.currentScreen) { case GAME_PLAY_SCREEN: _board.update(); - if (Keyboard.i().pause) { // Kiểm tra nếu phím "p" được nhấn + if (_screenToShow == -1 && Keyboard.i().pause) { // Kiểm tra nếu phím "p" được nhấn _screenToShow = 3; // Hiển thị màn hình tạm dừng _board.getGameInfoManager().pause(); // Đặt trạng thái game là tạm dừng return; } + if (_screenToShow == 3 && Keyboard.i().resume) { + _board.getGameInfoManager().unpause(); + _screenToShow = -1; + _screenDelay = 0; + } snapCameraToPlayer(); break; case SELECT_LEVEL_SCREEN: @@ -154,7 +159,7 @@ private void showScreen() { case GAME_PLAY_SCREEN: Keyboard.i().keyboardInputCallback = Optional.empty(); if (gameInfoManager.isPaused()) { - if (_screenDelay <= 0) { + if (_screenToShow == 2 && _screenDelay <= 0) { _screenToShow = -1; gameInfoManager.unpause(); } @@ -164,11 +169,6 @@ private void showScreen() { renderGame(g); } - if (Keyboard.i().resume) { - gameInfoManager.unpause(); - _screenToShow = -1; - _screenDelay = 0; - } frames++; if (System.currentTimeMillis() - timer > 1000) { _frame.setTime(gameInfoManager.subtractTime()); diff --git a/src/uet/oop/bomberman/input/Keyboard.java b/src/uet/oop/bomberman/input/Keyboard.java index 09d8878..856f52b 100644 --- a/src/uet/oop/bomberman/input/Keyboard.java +++ b/src/uet/oop/bomberman/input/Keyboard.java @@ -44,6 +44,9 @@ public void update() { space = keys[KeyEvent.VK_SPACE]; x = keys[KeyEvent.VK_X]; + pause = keys[KeyEvent.VK_ESCAPE]; + resume = keys[KeyEvent.VK_ENTER]; + // Player 1 player1_up = keys[KeyEvent.VK_W]; player1_down = keys[KeyEvent.VK_S]; From dab0ac7061a4818daaa66e024c7d9202d62bcc0e Mon Sep 17 00:00:00 2001 From: Huy010302 <111289985+Huy010302@users.noreply.github.com> Date: Sun, 9 Jun 2024 23:49:11 +0700 Subject: [PATCH 83/93] add AIHigh file, and fix text map --- res/levels/Level1P_1.txt | 6 +- res/levels/Level1P_2.txt | 10 +- res/levels/Level1P_3.txt | 6 +- res/levels/Level2P_1.txt | 4 +- res/levels/Level2P_2.txt | 11 ++- res/levels/Level2P_3.txt | 2 +- src/uet/oop/bomberman/Board.java | 16 +++- .../oop/bomberman/base/ICharacterManager.java | 3 + .../entities/character/enemy/Doll.java | 2 +- .../entities/character/enemy/Kondoria.java | 6 +- .../entities/character/enemy/Minvo.java | 2 +- .../entities/character/enemy/Oneal.java | 2 +- .../entities/character/enemy/ai/AIHigh.java | 91 +++++++++++++++++++ .../entities/character/enemy/ai/AIMedium.java | 28 +++--- src/uet/oop/bomberman/graphics/Sprite.java | 1 + .../oop/bomberman/level/FileLevelLoader.java | 7 +- .../oop/bomberman/manager/BombManager.java | 10 +- 17 files changed, 156 insertions(+), 51 deletions(-) create mode 100644 src/uet/oop/bomberman/entities/character/enemy/ai/AIHigh.java diff --git a/res/levels/Level1P_1.txt b/res/levels/Level1P_1.txt index 75c2936..66c684f 100644 --- a/res/levels/Level1P_1.txt +++ b/res/levels/Level1P_1.txt @@ -1,12 +1,12 @@ 1 13 31 ############################### -#p s* * 1 * * * * * # +#p * s* * 1 * * * * * # # # # #*# # #*#*# # # #*#*#*# # # x* b** * * * * # -# # # # # #*# # #*#*# # # # #*# +#f# # # # #*# # #*#*# # # # #*# # x ** * * # # # # # # # # # # #*# #*# # # # -# * * * * # +#* * * * * # # # # # #*# # # #*#*# # # # # # #* ** * * # # #*# # # # # # #*# # # # # # # diff --git a/res/levels/Level1P_2.txt b/res/levels/Level1P_2.txt index f76a558..fe5728b 100644 --- a/res/levels/Level1P_2.txt +++ b/res/levels/Level1P_2.txt @@ -1,16 +1,16 @@ 2 13 31 ############################### #p * *2 * ** * * *# -# # # # #*# # #*# # # # # #*# # +# # # # #b# # #*# # # # # #*# # # * * *** ** * ** # # #*# # # # #1# #b#1# # # # #*# # * ** * **# -# # #*# # # # # #*#*#*#*# # # # +# # #*# #s# # # #*#*#*#*# # # # # * * * *x* * # -# # # # #*# # # # # # #*# #*# # -# **** *1 # +# #*# # #*# # # # # # #*# #*# # +# * *f *1 # # # # # # # # # # #*# # # # #*# -# ** * * 3 # +# * * * 3 # ############################### diff --git a/res/levels/Level1P_3.txt b/res/levels/Level1P_3.txt index b064569..d4db7f3 100644 --- a/res/levels/Level1P_3.txt +++ b/res/levels/Level1P_3.txt @@ -2,13 +2,13 @@ ############################### #p * *3 * ** * * *# # # # # #*# # #*# # # # # #*# # -# * * *** ** # * ** # +# f* * *** ** # * ** # # #*# # # # #4# #b#1# # # # #*# -# * ** * **# +# * * ** * **# # # #*# 3 # # # #*#*#*#*# # # # # * * * *x* * 4 # # # # # #*# # # # # # #*# #*# # -# **2* *2 # +# ***3 *2 # # # # # # # # # # #*# # # # #*# # **4 ** * 5 # ############################### diff --git a/res/levels/Level2P_1.txt b/res/levels/Level2P_1.txt index a551e0c..b8d79eb 100644 --- a/res/levels/Level2P_1.txt +++ b/res/levels/Level2P_1.txt @@ -3,10 +3,10 @@ #p s* * 1 * * * * * # # # # #*# # #*#*# # # #*#*#*# # # x* b** * * * * # -# # # # # #*# # #*#*# # # # #*# +#f# # # # #*# # #*#*# # # # #*# # x ** * * # # # # # # # # # # #*# #*# # # # -# * * * * # +#* * * * * # # # # # #*# # # #*#*# # # # # # #* ** * * # # #*# # # # # # #*# # # # # # # diff --git a/res/levels/Level2P_2.txt b/res/levels/Level2P_2.txt index b88931e..f71da92 100644 --- a/res/levels/Level2P_2.txt +++ b/res/levels/Level2P_2.txt @@ -1,14 +1,15 @@ 2 13 31 ############################### #p * *2 * ** * * *# -# # # # #*# # #*# # # # # #*# # +# # # # #b# # #*# # # # # #*# # # * * *** ** * ** # # #*# # # # #1# #b#1# # # # #*# # * ** * **# -# # #*# # # # # #*#*#*#*# # # # +# # #*# #s# # # #*#*#*#*# # # # # * * * *x* * # -# # # # #*# # # # # # #*# #*# # -# **** *1 # +# #*# # #*# # # # # # #*# #*# # +# * *f *1 # # # # # # # # # # #*# # # # #*# -#a ** * * 3 # +#a * * * 3 # ############################### + diff --git a/res/levels/Level2P_3.txt b/res/levels/Level2P_3.txt index b29f0ef..f1b0a29 100644 --- a/res/levels/Level2P_3.txt +++ b/res/levels/Level2P_3.txt @@ -8,7 +8,7 @@ # # #*# 3 # # # #*#*#*#*# # # # # * * * *x* * 4 # # # # # #*# # # # # # #*# #*# # -# **2* *2 # +# ***3 *2 # # # # # # # # # # #*# # # # #*# #a**4 ** * 5 # ############################### diff --git a/src/uet/oop/bomberman/Board.java b/src/uet/oop/bomberman/Board.java index 360f986..54c65d4 100644 --- a/src/uet/oop/bomberman/Board.java +++ b/src/uet/oop/bomberman/Board.java @@ -2,6 +2,7 @@ import uet.oop.bomberman.agent.Agent; import uet.oop.bomberman.base.Copyable; +import uet.oop.bomberman.base.IBombManager; import uet.oop.bomberman.base.IEntityManager; import uet.oop.bomberman.base.IGameInfoManager; import uet.oop.bomberman.base.ILevelManager; @@ -28,6 +29,8 @@ public class Board implements Copyable, IRender { private IGameInfoManager gameInfoManager; private ILevelManager levelManager; + private IBombManager bombManager; + public Board(Game game, Screen screen) { _game = game; levelManager = new LevelManager(this); @@ -79,11 +82,10 @@ public synchronized void render(Screen screen) { public synchronized void init() { gameInfoManager = new GameInfoManager(); entityManager = new EntityManager( - levelManager.getBoardWidth(), - levelManager.getBoardHeight(), - gameInfoManager, - levelManager - ); + levelManager.getBoardWidth(), + levelManager.getBoardHeight(), + gameInfoManager, + levelManager); gameInfoManager.setEntityManager(entityManager); gameInfoManager.pause(); _game.setScreenToShow(2); @@ -106,6 +108,10 @@ public ILevelManager getLevelManager() { return levelManager; } + public IBombManager getBombManager() { + return bombManager; + } + @Override public Board copy() { // TODO Auto-generated method stub diff --git a/src/uet/oop/bomberman/base/ICharacterManager.java b/src/uet/oop/bomberman/base/ICharacterManager.java index 7f457bb..be681b6 100644 --- a/src/uet/oop/bomberman/base/ICharacterManager.java +++ b/src/uet/oop/bomberman/base/ICharacterManager.java @@ -4,6 +4,7 @@ import uet.oop.bomberman.entities.character.Character; import uet.oop.bomberman.graphics.IRender; +import uet.oop.bomberman.manager.BombManager; public interface ICharacterManager extends IRender { @@ -24,4 +25,6 @@ public interface ICharacterManager extends IRender { public void addPlayer(Character e); public List getPlayers(); + + public IBombManager getBombManager(); } \ No newline at end of file diff --git a/src/uet/oop/bomberman/entities/character/enemy/Doll.java b/src/uet/oop/bomberman/entities/character/enemy/Doll.java index b4e2b0e..7ad85b2 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/Doll.java +++ b/src/uet/oop/bomberman/entities/character/enemy/Doll.java @@ -12,7 +12,7 @@ public class Doll extends Enemy { public Doll(int x, int y, IEntityManager entityManager) { - super(x, y, entityManager, Sprite.balloom_dead, Game.BOMBERSPEED, 100); + super(x, y, entityManager, Sprite.balloom_dead, Game.BOMBERSPEED, 200); _sprite = Sprite.doll_left1; diff --git a/src/uet/oop/bomberman/entities/character/enemy/Kondoria.java b/src/uet/oop/bomberman/entities/character/enemy/Kondoria.java index 0f7db66..cabb83e 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/Kondoria.java +++ b/src/uet/oop/bomberman/entities/character/enemy/Kondoria.java @@ -5,11 +5,12 @@ import uet.oop.bomberman.graphics.Sprite; public class Kondoria extends Enemy { + protected int bombCooldown = 0; + public Kondoria(int x, int y, IEntityManager entityManager) { - super(x, y, entityManager, Sprite.balloom_dead, Game.BOMBERSPEED / 4, 1000); + super(x, y, entityManager, Sprite.kondoria_dead, Game.BOMBERSPEED * 2, 300); _sprite = Sprite.kondoria_right1; - } @Override @@ -33,4 +34,5 @@ protected void chooseSprite() { break; } } + } diff --git a/src/uet/oop/bomberman/entities/character/enemy/Minvo.java b/src/uet/oop/bomberman/entities/character/enemy/Minvo.java index 43cf3c4..8bd28fb 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/Minvo.java +++ b/src/uet/oop/bomberman/entities/character/enemy/Minvo.java @@ -6,7 +6,7 @@ public class Minvo extends Enemy { public Minvo(int x, int y, IEntityManager entityManager) { - super(x, y, entityManager, Sprite.minvo_dead, Game.BOMBERSPEED * 1.5, 800); + super(x, y, entityManager, Sprite.minvo_dead, Game.BOMBERSPEED * 2, 500); _sprite = Sprite.minvo_right1; } diff --git a/src/uet/oop/bomberman/entities/character/enemy/Oneal.java b/src/uet/oop/bomberman/entities/character/enemy/Oneal.java index e353833..1e8b84c 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/Oneal.java +++ b/src/uet/oop/bomberman/entities/character/enemy/Oneal.java @@ -7,7 +7,7 @@ public class Oneal extends Enemy { // private Random random = new Random(); public Oneal(int x, int y, IEntityManager entityManager) { - super(x, y, entityManager, Sprite.balloom_dead, Game.BOMBERSPEED, 100); + super(x, y, entityManager, Sprite.balloom_dead, Game.BOMBERSPEED * 1.5, 400); _sprite = Sprite.oneal_left1; } diff --git a/src/uet/oop/bomberman/entities/character/enemy/ai/AIHigh.java b/src/uet/oop/bomberman/entities/character/enemy/ai/AIHigh.java new file mode 100644 index 0000000..0a4bc71 --- /dev/null +++ b/src/uet/oop/bomberman/entities/character/enemy/ai/AIHigh.java @@ -0,0 +1,91 @@ +package uet.oop.bomberman.entities.character.enemy.ai; + +import java.util.List; + +import uet.oop.bomberman.base.IBombManager; +import uet.oop.bomberman.base.ICharacterManager; +import uet.oop.bomberman.entities.character.Character; +import uet.oop.bomberman.entities.bomb.Bomb; + +public class AIHigh extends AI { + private final Character character; + private final ICharacterManager characterManager; + private final IBombManager bombManager; + + public AIHigh(Character character, ICharacterManager entityManager, IBombManager bombManager) { + this.character = character; + this.characterManager = entityManager; + this.bombManager = bombManager; + } + + @Override + public int calculateDirection() { + int safeDirection = calculateSafeDirection(); + if (safeDirection != -1) { + return safeDirection; + } + + int vertical = random.nextInt(2); + + if (vertical == 1) { + int v = calculateRowDirection(); + if (v != -1) + return v; + else + return calculateColDirection(); + + } else { + int h = calculateColDirection(); + + if (h != -1) + return h; + else + return calculateRowDirection(); + } + } + + protected int calculateColDirection() { + Character player = characterManager.getPlayer(); + + if (player.getXTile() < character.getXTile()) + return 3; + else if (player.getXTile() > character.getXTile()) + return 1; + + return -1; + } + + protected int calculateRowDirection() { + Character player = characterManager.getPlayer(); + + if (player.getYTile() < character.getYTile()) + return 0; + else if (player.getYTile() > character.getYTile()) + return 2; + return -1; + } + + protected int calculateSafeDirection() { + List bombs = bombManager.getBombs(); + for (Bomb bomb : bombs) { + int bombX = bomb.getXTile(); + int bombY = bomb.getYTile(); + int characterX = character.getXTile(); + int characterY = character.getYTile(); + double distance = Math.sqrt(Math.pow(bombX - characterX, 2) + Math.pow(bombY - characterY, 2)); + + if (distance < 10) { + if (bombX < characterX) + return 1; // Move right + else if (bombX > characterX) + return 3; // Move left + else if (bombY < characterY) + return 2; // Move down + else if (bombY > characterY) + return 0; // Move up + } + } + return -1; + } + +} \ No newline at end of file diff --git a/src/uet/oop/bomberman/entities/character/enemy/ai/AIMedium.java b/src/uet/oop/bomberman/entities/character/enemy/ai/AIMedium.java index 9ad759f..7d8a2d0 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/ai/AIMedium.java +++ b/src/uet/oop/bomberman/entities/character/enemy/ai/AIMedium.java @@ -7,7 +7,7 @@ public class AIMedium extends AI { private final Character character; private final ICharacterManager characterManager; - + public AIMedium(Character character, ICharacterManager entityManager) { this.character = character; this.characterManager = entityManager; @@ -16,19 +16,19 @@ public AIMedium(Character character, ICharacterManager entityManager) { @Override public int calculateDirection() { - int vertical = random.nextInt(2); - - if(vertical == 1) { + int vertical = random.nextInt(4); + + if (vertical == 1) { int v = calculateRowDirection(); - if(v != -1) + if (v != -1) return v; else return calculateColDirection(); - + } else { int h = calculateColDirection(); - - if(h != -1) + + if (h != -1) return h; else return calculateRowDirection(); @@ -38,20 +38,20 @@ public int calculateDirection() { protected int calculateColDirection() { Character player = characterManager.getPlayer(); - if(player.getXTile() < character.getXTile()) + if (player.getXTile() < character.getXTile()) return 3; - else if(player.getXTile() > character.getXTile()) + else if (player.getXTile() > character.getXTile()) return 1; - + return -1; } - + protected int calculateRowDirection() { Character player = characterManager.getPlayer(); - if(player.getYTile() < character.getYTile()) + if (player.getYTile() < character.getYTile()) return 0; - else if(player.getYTile() > character.getYTile()) + else if (player.getYTile() > character.getYTile()) return 2; return -1; } diff --git a/src/uet/oop/bomberman/graphics/Sprite.java b/src/uet/oop/bomberman/graphics/Sprite.java index 8cfdc69..8c4ec63 100644 --- a/src/uet/oop/bomberman/graphics/Sprite.java +++ b/src/uet/oop/bomberman/graphics/Sprite.java @@ -12,6 +12,7 @@ public class Sprite { protected int _realHeight; private SpriteSheet _sheet; private SpriteSheet1 _sheet1; + public static final int SCALED_SIZE = 16; /* * |-------------------------------------------------------------------------- * | Board sprites diff --git a/src/uet/oop/bomberman/level/FileLevelLoader.java b/src/uet/oop/bomberman/level/FileLevelLoader.java index 636d786..00888b6 100644 --- a/src/uet/oop/bomberman/level/FileLevelLoader.java +++ b/src/uet/oop/bomberman/level/FileLevelLoader.java @@ -20,6 +20,7 @@ import uet.oop.bomberman.entities.character.enemy.Kondoria; import uet.oop.bomberman.entities.character.enemy.Minvo; import uet.oop.bomberman.entities.character.enemy.Oneal; +import uet.oop.bomberman.entities.character.enemy.ai.AIHigh; import uet.oop.bomberman.entities.character.enemy.ai.AILow; import uet.oop.bomberman.entities.character.enemy.ai.AIMedium; import uet.oop.bomberman.entities.tile.Grass; @@ -191,8 +192,7 @@ public void createEntities() { _board.getEntityManager().getCharacterManager().addCharacter(enemy); _board.getEntityManager().getTileManager().addTile(x + y * _width, new Grass(x, y, Sprite.grass)); - agent = new MovingAgent(enemy, - new AIMedium(enemy, _board.getEntityManager().getCharacterManager())); + agent = new MovingAgent(enemy, new AILow()); _board.addAgent(agent); break; // Thêm minvo @@ -218,7 +218,8 @@ public void createEntities() { _board.getEntityManager().getTileManager().addTile(x + y * _width, new Grass(x, y, Sprite.grass)); agent = new MovingAgent(enemy, - new AIMedium(enemy, _board.getEntityManager().getCharacterManager())); + new AIHigh(enemy, _board.getEntityManager().getCharacterManager(), + _board.getEntityManager().getBombManager())); _board.addAgent(agent); break; // Thêm BomItem diff --git a/src/uet/oop/bomberman/manager/BombManager.java b/src/uet/oop/bomberman/manager/BombManager.java index 096b63e..0c2c9fb 100644 --- a/src/uet/oop/bomberman/manager/BombManager.java +++ b/src/uet/oop/bomberman/manager/BombManager.java @@ -12,10 +12,10 @@ public class BombManager implements IBombManager { - private List bombs = new ArrayList<>(); + private List bombs = new ArrayList<>(); - public BombManager() { - } + public BombManager() { + } @Override public void addBomb(Bomb e) { @@ -60,8 +60,8 @@ public FlameSegment getFlameSegmentAt(int x, int y) { public void update() { bombs.forEach(Bomb::update); bombs = bombs.stream() - .filter(bomb -> !bomb.isRemoved()) - .collect(Collectors.toList()); + .filter(bomb -> !bomb.isRemoved()) + .collect(Collectors.toList()); } @Override From dd5a98893aba56c1a35ccb95a40b4d7ee525c3fc Mon Sep 17 00:00:00 2001 From: phuonnngminh Date: Sun, 2 Jun 2024 15:14:02 +0000 Subject: [PATCH 84/93] implement PPOAgent.java --- .gitignore | 2 +- pom.xml | 57 +++++- .../bomberman/agent/ppo/NaivePPOAgent.java | 13 ++ src/uet/oop/bomberman/agent/ppo/PPOAgent.java | 65 +++++++ .../oop/bomberman/agent/rl/ActionSampler.java | 36 ++++ src/uet/oop/bomberman/agent/rl/BaseAgent.java | 50 ++++++ src/uet/oop/bomberman/agent/rl/BaseGAE.java | 105 +++++++++++ src/uet/oop/bomberman/agent/rl/Helper.java | 27 +++ src/uet/oop/bomberman/agent/rl/PPO.java | 92 ++++++++++ .../oop/bomberman/agent/rl/dtypes/Memory.java | 166 ++++++++++++++++++ .../agent/rl/dtypes/MemoryBatch.java | 32 ++++ .../bomberman/agent/rl/dtypes/Snapshot.java | 44 +++++ .../bomberman/agent/rl/dtypes/Transition.java | 43 +++++ .../bomberman/agent/rl/model/BaseModel.java | 19 ++ .../rl/model/DistributionValueModel.java | 104 +++++++++++ src/uet/oop/bomberman/agent/state/Helper.java | 5 + .../state/NaivePlayerStateExtractor.java | 99 +++++++++++ .../agent/state/base/IStateExtractor.java | 13 ++ .../state/base/PlayerStateExtractor.java | 13 ++ .../oop/bomberman/entities/LayeredEntity.java | 8 + .../bomberman/entities/character/Bomber.java | 4 +- .../bomberman/entities/character/Bomber2.java | 1 - .../entities/character/Character.java | 6 +- 23 files changed, 990 insertions(+), 14 deletions(-) create mode 100644 src/uet/oop/bomberman/agent/ppo/NaivePPOAgent.java create mode 100644 src/uet/oop/bomberman/agent/ppo/PPOAgent.java create mode 100644 src/uet/oop/bomberman/agent/rl/ActionSampler.java create mode 100644 src/uet/oop/bomberman/agent/rl/BaseAgent.java create mode 100644 src/uet/oop/bomberman/agent/rl/BaseGAE.java create mode 100644 src/uet/oop/bomberman/agent/rl/Helper.java create mode 100644 src/uet/oop/bomberman/agent/rl/PPO.java create mode 100644 src/uet/oop/bomberman/agent/rl/dtypes/Memory.java create mode 100644 src/uet/oop/bomberman/agent/rl/dtypes/MemoryBatch.java create mode 100644 src/uet/oop/bomberman/agent/rl/dtypes/Snapshot.java create mode 100644 src/uet/oop/bomberman/agent/rl/dtypes/Transition.java create mode 100644 src/uet/oop/bomberman/agent/rl/model/BaseModel.java create mode 100644 src/uet/oop/bomberman/agent/rl/model/DistributionValueModel.java create mode 100644 src/uet/oop/bomberman/agent/state/Helper.java create mode 100644 src/uet/oop/bomberman/agent/state/NaivePlayerStateExtractor.java create mode 100644 src/uet/oop/bomberman/agent/state/base/IStateExtractor.java create mode 100644 src/uet/oop/bomberman/agent/state/base/PlayerStateExtractor.java diff --git a/.gitignore b/.gitignore index 96bfd5f..bb7447d 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,4 @@ *.iml /.vscode /core -/*.log \ No newline at end of file +/*.log diff --git a/pom.xml b/pom.xml index c6173a6..600ab02 100644 --- a/pom.xml +++ b/pom.xml @@ -1,4 +1,5 @@ - + 4.0.0 uet.oop bomberman @@ -6,6 +7,49 @@ Bomberman + + UTF-8 + 0.28.0 + 2.2.2 + 2.11.2 + + + + + ai.djl + api + ${djl.version} + + + ai.djl.pytorch + pytorch-engine + ${djl.version} + + + ai.djl.pytorch + pytorch-native-cpu + osx-aarch64 + ${pytorch.version} + runtime + + + ai.djl.pytorch + pytorch-jni + 2.2.2-0.28.0 + runtime + + + com.fasterxml.jackson.core + jackson-core + ${jackson.version} + + + com.fasterxml.jackson.core + jackson-databind + ${jackson.version} + + + target target/classes @@ -21,17 +65,18 @@ org.apache.maven.plugins maven-compiler-plugin - 3.8.0 + 3.8.1 1.8 1.8 ${project.build.sourceEncoding} + org.apache.maven.plugins maven-jar-plugin - 3.1.0 + 3.2.0 @@ -40,17 +85,15 @@ + org.apache.maven.plugins maven-resources-plugin - 2.4.3 + 3.2.0 ${project.build.sourceEncoding} - - UTF-8 - \ No newline at end of file diff --git a/src/uet/oop/bomberman/agent/ppo/NaivePPOAgent.java b/src/uet/oop/bomberman/agent/ppo/NaivePPOAgent.java new file mode 100644 index 0000000..d41d332 --- /dev/null +++ b/src/uet/oop/bomberman/agent/ppo/NaivePPOAgent.java @@ -0,0 +1,13 @@ +package uet.oop.bomberman.agent.ppo; + +import uet.oop.bomberman.Board; +import uet.oop.bomberman.agent.state.NaivePlayerStateExtractor; +import uet.oop.bomberman.entities.character.Character; + +public class NaivePPOAgent extends PPOAgent { + + public NaivePPOAgent(Character character, Board board) { + super(character, board, new NaivePlayerStateExtractor(character)); + } + +} diff --git a/src/uet/oop/bomberman/agent/ppo/PPOAgent.java b/src/uet/oop/bomberman/agent/ppo/PPOAgent.java new file mode 100644 index 0000000..00da207 --- /dev/null +++ b/src/uet/oop/bomberman/agent/ppo/PPOAgent.java @@ -0,0 +1,65 @@ +package uet.oop.bomberman.agent.ppo; + +import java.util.ArrayList; +import java.util.List; + +import uet.oop.bomberman.Board; +import uet.oop.bomberman.agent.Agent; +import uet.oop.bomberman.agent.rl.PPO; +import uet.oop.bomberman.agent.state.base.IStateExtractor; +import uet.oop.bomberman.entities.character.Character; +import uet.oop.bomberman.entities.character.action.Action; + +public class PPOAgent extends Agent { + + private IStateExtractor stateExtractor; + private Board board; + private PPO ppo; + private List validActions; + + private boolean isFirstAction = true; + private float prevValue; + + public PPOAgent(Character character, Board board, IStateExtractor stateExtractor) { + super(character); + this.board = board; + this.prevValue = stateExtractor.getValue(board); + this.stateExtractor = stateExtractor; + this.validActions = character.getValidActions(); + this.ppo = new PPO( + stateExtractor.getDimension(), + validActions.size(), + 64, + 0.99f, + 0.95f, + 0.001f, + 16, + 8, + 0.2f + ); + } + + @Override + public List getNextActions() { + if (!isFirstAction) collectReward(); + Action action = getAction(); + List actions = new ArrayList<>(); + actions.add(action); + prevValue = stateExtractor.getValue(board); + if (isFirstAction) isFirstAction = false; + return actions; + } + + private void collectReward() { + float currentValue = stateExtractor.getValue(board); + ppo.collect(currentValue - prevValue, false); + } + + private Action getAction() { + float[] state = stateExtractor.getEmbedding(board); + int actionIndex = ppo.react(state); + Action action = validActions.get(actionIndex); + return action; + } + +} diff --git a/src/uet/oop/bomberman/agent/rl/ActionSampler.java b/src/uet/oop/bomberman/agent/rl/ActionSampler.java new file mode 100644 index 0000000..b1598df --- /dev/null +++ b/src/uet/oop/bomberman/agent/rl/ActionSampler.java @@ -0,0 +1,36 @@ +package uet.oop.bomberman.agent.rl; + +import java.util.Random; + +import ai.djl.ndarray.NDArray; + +public final class ActionSampler { + public static int epsilonGreedy(NDArray distribution, Random random, float epsilon) { + if (random.nextFloat() < epsilon) { + return random.nextInt((int) distribution.size()); + } else { + return greedy(distribution); + } + } + + public static int greedy(NDArray distribution) { + return (int) distribution.argMax().getLong(); + } + + public static int sampleMultinomial(NDArray distribution, Random random) { + int value = 0; + long size = distribution.size(); + float rnd = random.nextFloat(); + for (int i = 0; i < size; i++) { + float cut = distribution.getFloat(value); + if (rnd > cut) { + value++; + } else { + return value; + } + rnd -= cut; + } + + throw new IllegalArgumentException("Invalid multinomial distribution"); + } +} diff --git a/src/uet/oop/bomberman/agent/rl/BaseAgent.java b/src/uet/oop/bomberman/agent/rl/BaseAgent.java new file mode 100644 index 0000000..a927280 --- /dev/null +++ b/src/uet/oop/bomberman/agent/rl/BaseAgent.java @@ -0,0 +1,50 @@ +package uet.oop.bomberman.agent.rl; + +public abstract class BaseAgent { + private boolean is_eval = false; + + /** + * Calculate the action to the input state + * + * @param state + * @return action + */ + public abstract int react(float[] state); + + /** + * Collect the result of the previous action + * + * @param reward + * @param done + */ + public abstract void collect(float reward, boolean done); + + /** + * Reset the agent. + */ + public abstract void reset(); + + /** + * Switch to the training mode. + */ + public final void train() { + this.is_eval = false; + } + + /** + * Switch to the inference mode. + */ + public final void eval() { + this.is_eval = true; + } + + /** + * Check if the agent is in the inference mode. + * + * @return true if the agent is in the inference mode. + */ + public final boolean isEval() { + return is_eval; + } + +} diff --git a/src/uet/oop/bomberman/agent/rl/BaseGAE.java b/src/uet/oop/bomberman/agent/rl/BaseGAE.java new file mode 100644 index 0000000..2841349 --- /dev/null +++ b/src/uet/oop/bomberman/agent/rl/BaseGAE.java @@ -0,0 +1,105 @@ +package uet.oop.bomberman.agent.rl; + +import java.util.Random; + +import ai.djl.Model; +import ai.djl.inference.Predictor; +import ai.djl.ndarray.NDArray; +import ai.djl.ndarray.NDList; +import ai.djl.ndarray.NDManager; +import ai.djl.ndarray.index.NDIndex; +import ai.djl.training.optimizer.Optimizer; +import ai.djl.training.tracker.Tracker; +import ai.djl.translate.NoopTranslator; +import ai.djl.translate.TranslateException; +import uet.oop.bomberman.agent.rl.dtypes.Memory; +import uet.oop.bomberman.agent.rl.model.DistributionValueModel; + +public abstract class BaseGAE extends BaseAgent { + protected final Random random = new Random(0); + protected final Memory memory = new Memory(1024); + protected final Optimizer optimizer; + + protected NDManager manager = NDManager.newBaseManager(); + protected Model model; + protected Predictor predictor; + + private final float gae_lambda; + private final float gamma; + private final int num_of_action; + private final int dim_of_state_space; + private final int hidden_size; + + public BaseGAE(int dim_of_state_space, int num_of_action, int hidden_size, float gamma, float gae_lambda, + float learning_rate) { + this.gae_lambda = gae_lambda; + this.gamma = gamma; + this.dim_of_state_space = dim_of_state_space; + this.num_of_action = num_of_action; + this.hidden_size = hidden_size; + this.optimizer = Optimizer.adam().optLearningRateTracker(Tracker.fixed(learning_rate)).build(); + reset(); + } + + @Override + public int react(float[] state) { + try (NDManager submanager = manager.newSubManager()) { + if (!isEval()) { + memory.setState(state); + } + + NDArray prob = predictor.predict(new NDList(submanager.create(state))).get(0); + int action = ActionSampler.sampleMultinomial(prob, random); + + if (!isEval()) { + memory.setAction(action); + } + + return action; + + } catch (TranslateException e) { + throw new IllegalStateException(e); + } + } + + @Override + public void collect(float reward, boolean done) { + if (!isEval()) { + memory.setRewardAndMask(reward, done); + if (done) { + try (NDManager submanager = manager.newSubManager()) { + updateModel(submanager); + } catch (TranslateException e) { + throw new IllegalStateException(e); + } + memory.reset(); + } + } + } + + @Override + public void reset() { + if (manager != null) { + manager.close(); + } + manager = NDManager.newBaseManager(); + model = DistributionValueModel.newModel(manager, dim_of_state_space, hidden_size, num_of_action); + predictor = model.newPredictor(new NoopTranslator()); + } + + protected NDList estimateAdvantage(NDArray values, NDArray rewards) { + NDArray expected_returns = rewards.duplicate(); + NDArray advantages = rewards.sub(values.squeeze()); + for (long i = expected_returns.getShape().get(0) - 2; i >= 0; i--) { + NDIndex index = new NDIndex(i); + expected_returns.set(index, expected_returns.get(i).add(expected_returns.get(i + 1).mul(gamma))); + advantages.set(index, + advantages.get(i).add(values.get(i + 1).add(advantages.get(i + 1).mul(gae_lambda)).mul(gamma))); + } + + return new NDList(expected_returns, advantages); + } + + protected abstract void updateModel(NDManager submanager) throws TranslateException; + +} diff --git a/src/uet/oop/bomberman/agent/rl/Helper.java b/src/uet/oop/bomberman/agent/rl/Helper.java new file mode 100644 index 0000000..c86e2f3 --- /dev/null +++ b/src/uet/oop/bomberman/agent/rl/Helper.java @@ -0,0 +1,27 @@ +package uet.oop.bomberman.agent.rl; + +import ai.djl.ndarray.NDArray; +import ai.djl.ndarray.types.Shape; + +public final class Helper { + public static NDArray gather(NDArray arr, int[] indexes) { + boolean[][] mask = new boolean[(int) arr.size(0)][(int) arr.size(1)]; + for (int i = 0; i < indexes.length; i++) { + mask[i][indexes[i]] = true; + } + NDArray boolean_mask = arr.getManager().create(mask); + for (int i = (int) boolean_mask.getShape().dimension(); i < arr.getShape().dimension(); i++) { + boolean_mask = boolean_mask.expandDims(i); + } + + return arr.get(tile(boolean_mask, arr.getShape())).reshape(Shape.update(arr.getShape(), 1, 1)).squeeze(); + } + + public static NDArray tile(NDArray arr, Shape shape) { + for (int i = (int) arr.getShape().dimension(); i < shape.dimension(); i++) { + arr = arr.expandDims(i); + } + return arr.broadcast(shape); + + } +} diff --git a/src/uet/oop/bomberman/agent/rl/PPO.java b/src/uet/oop/bomberman/agent/rl/PPO.java new file mode 100644 index 0000000..297c367 --- /dev/null +++ b/src/uet/oop/bomberman/agent/rl/PPO.java @@ -0,0 +1,92 @@ +package uet.oop.bomberman.agent.rl; + +import ai.djl.engine.Engine; +import ai.djl.ndarray.NDArray; +import ai.djl.ndarray.NDList; +import ai.djl.ndarray.NDManager; +import ai.djl.ndarray.index.NDIndex; +import ai.djl.ndarray.types.Shape; +import ai.djl.nn.Parameter; +import ai.djl.training.GradientCollector; +import ai.djl.translate.TranslateException; +import ai.djl.util.Pair; +import uet.oop.bomberman.agent.rl.dtypes.MemoryBatch; + +public class PPO extends BaseGAE { + private final int inner_updates; + private final int inner_batch_size; + private final float ratio_lower_bound; + private final float ratio_upper_bound; + + public PPO(int dim_of_state_space, int num_of_action, int hidden_size, float gamma, float gae_lambda, + float learning_rate, int inner_updates, int inner_batch_size, float ratio_clip) { + super(dim_of_state_space, num_of_action, hidden_size, gamma, gae_lambda, learning_rate); + this.inner_updates = inner_updates; + this.inner_batch_size = inner_batch_size; + this.ratio_lower_bound = 1.0f - ratio_clip; + this.ratio_upper_bound = 1.0f + ratio_clip; + } + + @Override + protected void updateModel(NDManager submanager) throws TranslateException { + MemoryBatch batch = memory.getOrderedBatch(submanager); + NDArray states = batch.getStates(); + NDArray actions = batch.getActions(); + + NDList net_output = predictor.predict(new NDList(states)); + + NDArray distribution = Helper.gather(net_output.get(0).duplicate(), actions.toIntArray()); + NDArray values = net_output.get(1).duplicate(); + + NDList estimates = estimateAdvantage(values.duplicate(), batch.getRewards()); + NDArray expected_returns = estimates.get(0); + NDArray advantages = estimates.get(1); + + int[] index = new int[inner_batch_size]; + + for (int i = 0; i < inner_updates * (1 + batch.size() / inner_batch_size); i++) { + for (int j = 0; j < inner_batch_size; j++) { + index[j] = random.nextInt(batch.size()); + } + NDArray states_subset = getSample(submanager, states, index); + NDArray actions_subset = getSample(submanager, actions, index); + NDArray distribution_subset = getSample(submanager, distribution, index); + NDArray expected_returns_subset = getSample(submanager, expected_returns, index); + NDArray advantages_subset = getSample(submanager, advantages, index); + + NDList net_output_updated = predictor.predict(new NDList(states_subset)); + NDArray distribution_updated = Helper.gather(net_output_updated.get(0), actions_subset.toIntArray()); + NDArray values_updated = net_output_updated.get(1); + + NDArray loss_critic = (expected_returns_subset.sub(values_updated)).square().sum(); + + NDArray ratios = distribution_updated.div(distribution_subset).expandDims(1); + + NDArray loss_actor = ratios.clip(ratio_lower_bound, ratio_upper_bound).mul(advantages_subset) + .minimum(ratios.mul(advantages_subset)).sum().neg(); + NDArray loss = loss_actor.add(loss_critic); + + try (GradientCollector collector = Engine.getInstance().newGradientCollector()) { + collector.backward(loss); + + for (Pair params : model.getBlock().getParameters()) { + NDArray params_arr = params.getValue().getArray(); + + optimizer.update(params.getKey(), params_arr, params_arr.getGradient().duplicate()); + } + + } + } + } + + private NDArray getSample(NDManager submanager, NDArray array, int[] index) { + + Shape shape = Shape.update(array.getShape(), 0, inner_batch_size); + NDArray sample = submanager.zeros(shape, array.getDataType()); + for (int i = 0; i < inner_batch_size; i++) { + sample.set(new NDIndex(i), array.get(index[i])); + } + return sample; + } + +} diff --git a/src/uet/oop/bomberman/agent/rl/dtypes/Memory.java b/src/uet/oop/bomberman/agent/rl/dtypes/Memory.java new file mode 100644 index 0000000..c271b5f --- /dev/null +++ b/src/uet/oop/bomberman/agent/rl/dtypes/Memory.java @@ -0,0 +1,166 @@ +package uet.oop.bomberman.agent.rl.dtypes; + +import java.util.Arrays; +import java.util.Random; + +import ai.djl.ndarray.NDManager; + +public final class Memory { + private final Random random; + private final int capacity; + private final Transition[] memory; + + private float[] state_prev; + private int action; + private float reward; + private boolean mask; + private int stage; + private int head; + private int size; + + public Memory(int capacity) { + this(capacity, 0); + } + + public Memory(int capacity, int seed) { + this.capacity = capacity; + this.memory = new Transition[capacity]; + this.random = new Random(seed); + + reset(); + } + + public void setState(float[] state) { + assertStage(0); + if (state_prev != null) { + add(new Transition(state_prev, state, action, reward, mask)); + } + state_prev = state; + + } + + public void setAction(int action) { + assertStage(1); + this.action = action; + } + + public void setRewardAndMask(float reward, boolean mask) { + assertStage(2); + this.reward = reward; + this.mask = mask; + + if (mask) { + add(new Transition(state_prev, null, action, reward, mask)); + state_prev = null; + action = -1; + } + + } + + public Transition[] sample(int sample_size) { + Transition[] chunk = new Transition[sample_size]; + for (int i = 0; i < sample_size; i++) { + chunk[i] = memory[random.nextInt(size)]; + } + + return chunk; + } + + public MemoryBatch sampleBatch(int sample_size, NDManager manager) { + return getBatch(sample(sample_size), manager, sample_size); + } + + public MemoryBatch getOrderedBatch(NDManager manager) { + return getBatch(memory, manager, size()); + } + + public Transition get(int index) { + if (index < 0 || index >= size) { + throw new ArrayIndexOutOfBoundsException("Index out of bound " + index); + } + return memory[index]; + } + + public int size() { + return size; + } + + public void reset() { + state_prev = null; + action = -1; + reward = 0.0F; + mask = false; + stage = 0; + head = -1; + size = 0; + } + + @Override + public String toString() { + return Arrays.toString(memory); + } + + private void add(Transition transition) { + head += 1; + if (head >= capacity) { + head = 0; + } + + memory[head] = transition; + if (size < capacity) { + size++; + } + } + + private void assertStage(int i) { + if (i != stage) { + String info_name; + switch (stage) { + case 0: + info_name = "State"; + break; + case 1: + info_name = "Action"; + break; + case 2: + info_name = "Reward and Mask"; + break; + default: + info_name = null; + } + throw new IllegalStateException("Expected information: " + info_name); + } else { + stage++; + if (stage > 2) { + stage = 0; + } + } + } + + private MemoryBatch getBatch(Transition[] transitions, NDManager manager, int batch_size) { + + float[][] states = new float[batch_size][]; + float[][] next_states = new float[batch_size][]; + int[] actions = new int[batch_size]; + float[] rewards = new float[batch_size]; + boolean[] masks = new boolean[batch_size]; + + int index = head; + for (int i = 0; i < batch_size; i++) { + index++; + if (index >= batch_size) { + index = 0; + } + states[i] = transitions[index].getState(); + float[] next_state = transitions[index].getNextState(); + next_states[i] = next_state != null ? next_state : new float[states[i].length]; + actions[i] = transitions[index].getAction(); + rewards[i] = transitions[index].getReward(); + masks[i] = transitions[index].isMasked(); + } + + return new MemoryBatch(manager.create(states), manager.create(next_states), manager.create(actions), + manager.create(rewards), manager.create(masks)); + } + +} diff --git a/src/uet/oop/bomberman/agent/rl/dtypes/MemoryBatch.java b/src/uet/oop/bomberman/agent/rl/dtypes/MemoryBatch.java new file mode 100644 index 0000000..ad441fd --- /dev/null +++ b/src/uet/oop/bomberman/agent/rl/dtypes/MemoryBatch.java @@ -0,0 +1,32 @@ +package uet.oop.bomberman.agent.rl.dtypes; + +import ai.djl.ndarray.NDArray; +import ai.djl.ndarray.NDList; + +public final class MemoryBatch extends NDList { + private static final long serialVersionUID = 1L; + + public MemoryBatch(NDArray... arrays) { + super(arrays); + } + + public NDArray getActions() { + return get(2); + } + + public NDArray getRewards() { + return get(3); + } + + public NDArray getMasks() { + return get(4); + } + + public NDArray getStates() { + return get(0); + } + + public NDArray getNextStates() { + return get(1); + } +} diff --git a/src/uet/oop/bomberman/agent/rl/dtypes/Snapshot.java b/src/uet/oop/bomberman/agent/rl/dtypes/Snapshot.java new file mode 100644 index 0000000..84e600b --- /dev/null +++ b/src/uet/oop/bomberman/agent/rl/dtypes/Snapshot.java @@ -0,0 +1,44 @@ +package uet.oop.bomberman.agent.rl.dtypes; + +import java.util.HashMap; +import java.util.Map; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; + +public class Snapshot { + private final float[] state; + private final float reward; + private final boolean mask; + + public Snapshot(float[] state, float reward, boolean mask) { + this.state = state.clone(); + this.reward = reward; + this.mask = mask; + } + + public final float[] getState() { + return state; + } + + public final float getReward() { + return reward; + } + + public final boolean isMasked() { + return mask; + } + + @Override + public String toString() { + try { + Map map = new HashMap<>(); + map.put("state", state); + map.put("reward", reward); + map.put("mask", mask); + return new ObjectMapper().writeValueAsString(map); + } catch (JsonProcessingException e) { + throw new RuntimeException(e); + } + } +} diff --git a/src/uet/oop/bomberman/agent/rl/dtypes/Transition.java b/src/uet/oop/bomberman/agent/rl/dtypes/Transition.java new file mode 100644 index 0000000..384b884 --- /dev/null +++ b/src/uet/oop/bomberman/agent/rl/dtypes/Transition.java @@ -0,0 +1,43 @@ +package uet.oop.bomberman.agent.rl.dtypes; + +import java.util.HashMap; +import java.util.Map; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; + +public final class Transition extends Snapshot { + + private final float[] state_next; + private final int action; + + public Transition(float[] state, float[] state_next, int action, float reward, boolean mask) { + super(state, reward, mask); + this.state_next = state_next != null ? state_next.clone() : null; + this.action = action; + } + + public final float[] getNextState() { + return state_next; + } + + public final int getAction() { + return action; + } + + @Override + public String toString() { + try { + Map map = new HashMap<>(); + map.put("state", getState()); + map.put("state_next", state_next); + map.put("action", action); + map.put("reward", getReward()); + map.put("mask", isMasked()); + return new ObjectMapper().writeValueAsString(map); + } catch (JsonProcessingException e) { + throw new RuntimeException(e); + } + } + +} diff --git a/src/uet/oop/bomberman/agent/rl/model/BaseModel.java b/src/uet/oop/bomberman/agent/rl/model/BaseModel.java new file mode 100644 index 0000000..239bf24 --- /dev/null +++ b/src/uet/oop/bomberman/agent/rl/model/BaseModel.java @@ -0,0 +1,19 @@ +package uet.oop.bomberman.agent.rl.model; + +import ai.djl.ndarray.NDManager; +import ai.djl.nn.AbstractBlock; + +public abstract class BaseModel extends AbstractBlock { + private static final byte VERSION = 2; + private final NDManager manager; + + public BaseModel(NDManager manager) { + super(VERSION); + this.manager = manager; + } + + public NDManager getManager() { + return manager; + } + +} diff --git a/src/uet/oop/bomberman/agent/rl/model/DistributionValueModel.java b/src/uet/oop/bomberman/agent/rl/model/DistributionValueModel.java new file mode 100644 index 0000000..dc605de --- /dev/null +++ b/src/uet/oop/bomberman/agent/rl/model/DistributionValueModel.java @@ -0,0 +1,104 @@ +package uet.oop.bomberman.agent.rl.model; + +import ai.djl.Model; +import ai.djl.ndarray.NDArray; +import ai.djl.ndarray.NDList; +import ai.djl.ndarray.NDManager; +import ai.djl.ndarray.types.DataType; +import ai.djl.ndarray.types.Shape; +import ai.djl.nn.Activation; +import ai.djl.nn.Block; +import ai.djl.nn.Parameter; +import ai.djl.nn.core.Linear; +import ai.djl.training.ParameterStore; +import ai.djl.training.initializer.XavierInitializer; +import ai.djl.util.PairList; + +public class DistributionValueModel extends BaseModel { + private static final float LAYERNORM_MOMENTUM = 0.9999f; + private static final float LAYERNORM_EPSILON = 1e-5f; + private final Block linear_input; + private final Block linear_action; + private final Block linear_value; + + private final int hidden_size; + private final int output_size; + private final Parameter gamma; + private final Parameter beta; + private float moving_mean = 0.0f; + private float moving_var = 1.0f; + + private DistributionValueModel(NDManager manager, int hidden_size, int output_size) { + super(manager); + this.linear_input = addChildBlock("linear_input", Linear.builder().setUnits(hidden_size).build()); + this.linear_action = addChildBlock("linear_action", Linear.builder().setUnits(output_size).build()); + this.linear_value = addChildBlock("linear_value", Linear.builder().setUnits(1).build()); + + Parameter pGamma = Parameter.builder() + .setName("gamma") + .setType(Parameter.Type.GAMMA) + .optRequiresGrad(true) + .optShape(new Shape(1)) + .build(); + this.gamma = addParameter(pGamma); + + Parameter pBeta = Parameter.builder() + .setName("beta") + .setType(Parameter.Type.BETA) + .optRequiresGrad(true) + .optShape(new Shape(1)) + .build(); + this.beta = addParameter(pBeta); + + + this.hidden_size = hidden_size; + this.output_size = output_size; + } + + public static Model newModel(NDManager manager, int input_size, int hidden_size, int output_size) { + Model model = Model.newInstance("DistributionValueModel"); + BaseModel net = new DistributionValueModel(manager, hidden_size, output_size); + net.initialize(net.getManager(), DataType.FLOAT32, new Shape(input_size)); + model.setBlock(net); + + return model; + } + + @Override + protected NDList forwardInternal(ParameterStore parameter_store, NDList inputs, boolean training, + PairList params) { + + NDList hidden = new NDList( + Activation.relu(linear_input.forward(parameter_store, inputs, training).singletonOrThrow())); + NDArray scores = normalize(linear_action.forward(parameter_store, hidden, training).singletonOrThrow()); + NDArray distribution = scores.softmax(scores.getShape().dimension() - 1); + + NDArray value = linear_value.forward(parameter_store, hidden, training).singletonOrThrow(); + + return new NDList(distribution, value); + } + + @Override + public Shape[] getOutputShapes(Shape[] inputShapes) { + return new Shape[] { new Shape(output_size), new Shape(1) }; + } + + @Override + public void initializeChildBlocks(NDManager manager, DataType data_type, Shape... input_shapes) { + setInitializer(new XavierInitializer(), Parameter.Type.WEIGHT); + + linear_input.initialize(manager, data_type, input_shapes[0]); + linear_action.initialize(manager, data_type, new Shape(hidden_size)); + linear_value.initialize(manager, data_type, new Shape(hidden_size)); + } + + private NDArray normalize(NDArray arr) { + float score_mean = arr.mean().getFloat(); + moving_mean = moving_mean * LAYERNORM_MOMENTUM + score_mean * (1.0f - LAYERNORM_MOMENTUM); + moving_var = moving_var * LAYERNORM_MOMENTUM + + arr.sub(score_mean).pow(2).mean().getFloat() * (1.0f - LAYERNORM_MOMENTUM); + return arr.sub(moving_mean).div(Math.sqrt(moving_var + LAYERNORM_EPSILON)).mul(gamma.getArray()) + .add(beta.getArray()); + } + +} diff --git a/src/uet/oop/bomberman/agent/state/Helper.java b/src/uet/oop/bomberman/agent/state/Helper.java new file mode 100644 index 0000000..ac6b37a --- /dev/null +++ b/src/uet/oop/bomberman/agent/state/Helper.java @@ -0,0 +1,5 @@ +package uet.oop.bomberman.agent.state; + +public interface Helper { + +} diff --git a/src/uet/oop/bomberman/agent/state/NaivePlayerStateExtractor.java b/src/uet/oop/bomberman/agent/state/NaivePlayerStateExtractor.java new file mode 100644 index 0000000..8aeb280 --- /dev/null +++ b/src/uet/oop/bomberman/agent/state/NaivePlayerStateExtractor.java @@ -0,0 +1,99 @@ +package uet.oop.bomberman.agent.state; + +import java.util.concurrent.atomic.AtomicInteger; + +import uet.oop.bomberman.Board; +import uet.oop.bomberman.agent.state.base.PlayerStateExtractor; +import uet.oop.bomberman.entities.Entity; +import uet.oop.bomberman.entities.LayeredEntity; +import uet.oop.bomberman.entities.character.Character; + +public class NaivePlayerStateExtractor extends PlayerStateExtractor { + + private static final int FIELD_OF_VISION = 9; + + public NaivePlayerStateExtractor(Character player) { + super(player); + } + + @Override + public int getDimension() { + return 3 * FIELD_OF_VISION * FIELD_OF_VISION; + } + + private interface BoardTilePredicate { + float test(Board board, int x, int y); + } + + @Override + public float[] getEmbedding(Board board) { + float[] embedding = new float[getDimension()]; + + AtomicInteger currentIndex = new AtomicInteger(0); + + addSurroundingTileMask(board, embedding, currentIndex, this::isPassable); + addSurroundingTileMask(board, embedding, currentIndex, this::isItem); + addSurroundingTileMask(board, embedding, currentIndex, this::isEnemy); + + return embedding; + } + + private void addSurroundingTileMask(Board board, float[] embedding, AtomicInteger currentIndex, BoardTilePredicate predicate) { + for (int dy = -FIELD_OF_VISION / 2; dy <= FIELD_OF_VISION / 2; dy++) { + for (int dx = -FIELD_OF_VISION / 2; dx <= FIELD_OF_VISION / 2; dx++) { + int x = player.getXTile() + dx; + int y = player.getYTile() + dy; + float value = predicate.test(board, x + dx, y + dy); + embedding[currentIndex.getAndIncrement()] = value; + } + } + } + + private float isEnemy(Board board, int x, int y) { + Character character = board.getEntityManager().getCharacterManager().getCharacterAtExcluding(x, y, player); + if (character == null) return 0; + return character.isPlayer() ? 0 : 1; + } + + private float isItem(Board board, int x, int y) { + Entity entity = board.getEntityManager().getEntityAt(x, y); + if (entity == null) return 0; + if (entity instanceof LayeredEntity) { + LayeredEntity layeredEntity = (LayeredEntity) entity; + return layeredEntity.hasItem() ? 1 : 0; + } + return 0; + } + + private float isPassable(Board board, int x, int y) { + int width = board.getLevelManager().getBoardWidth(); + int height = board.getLevelManager().getBoardHeight(); + if (x < 0 || y < 0 || x >= width || y >= height) { + return 0; + } + Entity entity = board.getEntityManager().getEntityAt(x, y); + if (entity == null) return 0; + return entity.canBePassedThroughBy(player) ? 1 : 0; + } + + @Override + public float getValue(Board board) { + float value = 0; + + // Penalize based on number of enemies still alive + float enemyPoints = 0; + for (Character character: board.getEntityManager().getCharacterManager().getCharacters()) { + if (character == player) { + continue; + } + if (character.isPlayer()) { + continue; + } + enemyPoints += character.getPoints(); + } + value -= enemyPoints; + + return value; + } + +} diff --git a/src/uet/oop/bomberman/agent/state/base/IStateExtractor.java b/src/uet/oop/bomberman/agent/state/base/IStateExtractor.java new file mode 100644 index 0000000..b248dd3 --- /dev/null +++ b/src/uet/oop/bomberman/agent/state/base/IStateExtractor.java @@ -0,0 +1,13 @@ +package uet.oop.bomberman.agent.state.base; + +import uet.oop.bomberman.Board; + +public interface IStateExtractor { + + public int getDimension(); + + public float[] getEmbedding(Board board); + + public float getValue(Board board); + +} diff --git a/src/uet/oop/bomberman/agent/state/base/PlayerStateExtractor.java b/src/uet/oop/bomberman/agent/state/base/PlayerStateExtractor.java new file mode 100644 index 0000000..3393514 --- /dev/null +++ b/src/uet/oop/bomberman/agent/state/base/PlayerStateExtractor.java @@ -0,0 +1,13 @@ +package uet.oop.bomberman.agent.state.base; + +import uet.oop.bomberman.entities.character.Character; + +public abstract class PlayerStateExtractor implements IStateExtractor { + + protected Character player; + + public PlayerStateExtractor(Character player) { + this.player = player; + } + +} diff --git a/src/uet/oop/bomberman/entities/LayeredEntity.java b/src/uet/oop/bomberman/entities/LayeredEntity.java index 7d824a3..0db55a9 100644 --- a/src/uet/oop/bomberman/entities/LayeredEntity.java +++ b/src/uet/oop/bomberman/entities/LayeredEntity.java @@ -2,6 +2,7 @@ import uet.oop.bomberman.entities.tile.Tile; import uet.oop.bomberman.entities.tile.destroyable.DestroyableTile; +import uet.oop.bomberman.entities.tile.item.Item; import uet.oop.bomberman.graphics.Screen; import java.util.LinkedList; @@ -56,6 +57,13 @@ private void clearRemoved() { public void addBeforeTop(Tile e) { _entities.add(_entities.size() - 1, e); } + + public boolean hasItem() { + for (Tile e : _entities) { + if(e instanceof Item) return true; + } + return false; + } @Override public boolean collide(Entity e) { diff --git a/src/uet/oop/bomberman/entities/character/Bomber.java b/src/uet/oop/bomberman/entities/character/Bomber.java index a292697..12a059b 100644 --- a/src/uet/oop/bomberman/entities/character/Bomber.java +++ b/src/uet/oop/bomberman/entities/character/Bomber.java @@ -161,7 +161,7 @@ public int getPoints() { return 0; } - private static final List VALID_ACTIONS = new ArrayList() { + private static final List VALID_ACTIONS = new ArrayList() { { addAll(ActionConstants.LIST_ACTION_MOVE); add(ActionConstants.PLACE_BOMB); @@ -169,7 +169,7 @@ public int getPoints() { }; @Override - protected List getValidActions() { + public List getValidActions() { return VALID_ACTIONS; } diff --git a/src/uet/oop/bomberman/entities/character/Bomber2.java b/src/uet/oop/bomberman/entities/character/Bomber2.java index aca61f1..d87768a 100644 --- a/src/uet/oop/bomberman/entities/character/Bomber2.java +++ b/src/uet/oop/bomberman/entities/character/Bomber2.java @@ -1,7 +1,6 @@ package uet.oop.bomberman.entities.character; import uet.oop.bomberman.base.IEntityManager; -import uet.oop.bomberman.entities.Entity; import uet.oop.bomberman.graphics.Screen; import uet.oop.bomberman.graphics.Sprite; diff --git a/src/uet/oop/bomberman/entities/character/Character.java b/src/uet/oop/bomberman/entities/character/Character.java index 8d81c2f..a52cd55 100644 --- a/src/uet/oop/bomberman/entities/character/Character.java +++ b/src/uet/oop/bomberman/entities/character/Character.java @@ -62,14 +62,14 @@ public final void update() { @Override public abstract void render(Screen screen); - private static final List VALID_ACTIONS = new ArrayList() { + private static final List VALID_ACTIONS = new ArrayList() { { addAll(ActionConstants.LIST_ACTION_MOVE); add(ActionConstants.DO_NOTHING); } }; - protected List getValidActions() { + public List getValidActions() { return VALID_ACTIONS; } @@ -105,7 +105,7 @@ public final boolean canPerformAction(Action action) { } }; - public List getPerformableActions() { + public List getPerformableActions() { return getValidActions().stream() .filter(this::canPerformAction) .collect(Collectors.toList()); From 2f10d468af0da48224cd01c751809edcb39478fc Mon Sep 17 00:00:00 2001 From: phuonnngminh Date: Sat, 8 Jun 2024 10:18:43 +0000 Subject: [PATCH 85/93] implement training loop and headless mode --- pom.xml | 5 +- src/uet/oop/bomberman/Board.java | 43 +++++- src/uet/oop/bomberman/BombermanGame.java | 2 +- src/uet/oop/bomberman/Game.java | 41 ++++-- src/uet/oop/bomberman/TrainAgent.java | 47 +++++++ .../oop/bomberman/agent/KeyboardAgent.java | 1 + src/uet/oop/bomberman/agent/MovingAgent.java | 1 + .../oop/bomberman/agent/{ => base}/Agent.java | 2 +- .../bomberman/agent/{ => base}/IAgent.java | 2 +- .../agent/base/RewardBasedAgent.java | 10 ++ .../agent/base/SerializableAgent.java | 8 ++ src/uet/oop/bomberman/agent/ppo/PPOAgent.java | 57 ++++++-- src/uet/oop/bomberman/agent/rl/PPO.java | 122 ++++++++++++------ .../agent/rl/{ => base}/BaseAgent.java | 2 +- .../agent/rl/{ => base}/BaseGAE.java | 92 +++++++++++-- .../rl/model/DistributionValueModel.java | 53 ++++++-- .../agent/rl/{ => utils}/ActionSampler.java | 2 +- .../{Helper.java => utils/ModelHelper.java} | 4 +- src/uet/oop/bomberman/agent/state/Helper.java | 5 - .../state/NaivePlayerStateExtractor.java | 102 +++++++++++++-- .../bomberman/entities/character/Bomber.java | 1 + src/uet/oop/bomberman/gui/Frame.java | 4 +- src/uet/oop/bomberman/gui/InfoPanel.java | 4 +- .../oop/bomberman/level/FileLevelLoader.java | 3 +- .../bomberman/manager/GameInfoManager.java | 1 + .../oop/bomberman/manager/LevelManager.java | 4 +- .../oop/bomberman/manager/TileManager.java | 6 +- src/uet/oop/bomberman/utils/Global.java | 2 +- 28 files changed, 510 insertions(+), 116 deletions(-) create mode 100644 src/uet/oop/bomberman/TrainAgent.java rename src/uet/oop/bomberman/agent/{ => base}/Agent.java (88%) rename src/uet/oop/bomberman/agent/{ => base}/IAgent.java (80%) create mode 100644 src/uet/oop/bomberman/agent/base/RewardBasedAgent.java create mode 100644 src/uet/oop/bomberman/agent/base/SerializableAgent.java rename src/uet/oop/bomberman/agent/rl/{ => base}/BaseAgent.java (95%) rename src/uet/oop/bomberman/agent/rl/{ => base}/BaseGAE.java (51%) rename src/uet/oop/bomberman/agent/rl/{ => utils}/ActionSampler.java (95%) rename src/uet/oop/bomberman/agent/rl/{Helper.java => utils/ModelHelper.java} (92%) delete mode 100644 src/uet/oop/bomberman/agent/state/Helper.java diff --git a/pom.xml b/pom.xml index 600ab02..9d5b440 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ UTF-8 0.28.0 - 2.2.2 + 2.3.0 2.11.2 @@ -28,14 +28,13 @@ ai.djl.pytorch pytorch-native-cpu - osx-aarch64 ${pytorch.version} runtime ai.djl.pytorch pytorch-jni - 2.2.2-0.28.0 + ${pytorch.version}-${djl.version} runtime diff --git a/src/uet/oop/bomberman/Board.java b/src/uet/oop/bomberman/Board.java index 360f986..86810e5 100644 --- a/src/uet/oop/bomberman/Board.java +++ b/src/uet/oop/bomberman/Board.java @@ -1,11 +1,14 @@ package uet.oop.bomberman; -import uet.oop.bomberman.agent.Agent; +import uet.oop.bomberman.agent.base.Agent; +import uet.oop.bomberman.agent.base.RewardBasedAgent; import uet.oop.bomberman.base.Copyable; import uet.oop.bomberman.base.IEntityManager; import uet.oop.bomberman.base.IGameInfoManager; import uet.oop.bomberman.base.ILevelManager; import uet.oop.bomberman.entities.character.action.Action; +import uet.oop.bomberman.entities.character.action.ActionConstants; +import uet.oop.bomberman.entities.character.exceptions.ActionOnCooldownException; import uet.oop.bomberman.entities.character.exceptions.CharacterActionException; import uet.oop.bomberman.graphics.IRender; import uet.oop.bomberman.graphics.Screen; @@ -45,6 +48,11 @@ public synchronized void update() { processAgentAction(); } + public void setLevelManager(ILevelManager levelManager) { + this.levelManager = levelManager; + levelManager.loadGlobalLevel(); + } + private void clearAgents() { agents.clear(); } @@ -54,18 +62,49 @@ public void addAgent(Agent agent) { } private void processAgentAction() { - for (Agent agent : agents) { List actions = agent.getNextActions(); for (Action action : actions) { try { agent.getCharacter().performAction(action); + if (action == ActionConstants.DO_NOTHING) { + // Penalize the agent for doing nothing while they can perform something else + // for (Action performableAction: agent.getCharacter().getPerformableActions()) { + // if (performableAction != ActionConstants.DO_NOTHING) { + // if (agent instanceof RewardBasedAgent) { + // ((RewardBasedAgent)agent).addReward(-10); + // } + // break; + // } + // } + } + } catch (ActionOnCooldownException ex) { + // Penalize the agent for spamming actions + if (agent instanceof RewardBasedAgent) { + ((RewardBasedAgent)agent).addReward(-10); + } } catch (CharacterActionException ignored) { } } } } + public void handleWinLevel() { + for (Agent agent : agents) { + if (agent instanceof RewardBasedAgent) { + ((RewardBasedAgent)agent).handleWinLevel(); + } + } + } + + public void handleLoseLevel() { + for (Agent agent : agents) { + if (agent instanceof RewardBasedAgent) { + ((RewardBasedAgent)agent).handleLoseLevel(); + } + } + } + @Override public synchronized void render(Screen screen) { if (gameInfoManager.isPaused()) diff --git a/src/uet/oop/bomberman/BombermanGame.java b/src/uet/oop/bomberman/BombermanGame.java index 959fb1c..690f33c 100644 --- a/src/uet/oop/bomberman/BombermanGame.java +++ b/src/uet/oop/bomberman/BombermanGame.java @@ -7,6 +7,6 @@ public class BombermanGame { public static void main(String[] args) { Sound.play("soundtrack"); - new Frame(); + new Frame().start(); } } diff --git a/src/uet/oop/bomberman/Game.java b/src/uet/oop/bomberman/Game.java index dcd6361..9bd54a4 100644 --- a/src/uet/oop/bomberman/Game.java +++ b/src/uet/oop/bomberman/Game.java @@ -36,10 +36,10 @@ public class Game extends Canvas { public static final int BOMBRADIUS = 1; public static final double BOMBERSPEED = 3.0;// toc do bomber - public static final int TIME = 200; + public static final int TIME = 200 * TICKS_PER_SECOND; public static final int POINTS = 0; - protected static int SCREENDELAY = 3; + protected static int SCREENDELAY = 3 * TICKS_PER_SECOND; protected int _screenDelay = SCREENDELAY; @@ -61,6 +61,8 @@ public class Game extends Canvas { private SelectGameModeScreen selectGameModeScreen; public DeadScreen deadScreen; + public boolean headless = false; + private int _screenToShow = -1; // 1:endgame, 2:changelevel, 3:paused public Game(Frame frame) { @@ -169,9 +171,17 @@ private void showScreen() { renderGame(g); } + if (Keyboard.i().resume) { + gameInfoManager.unpause(); + _screenToShow = -1; + _screenDelay = 0; + } + + if (_screenToShow == 2) --_screenDelay; + frames++; if (System.currentTimeMillis() - timer > 1000) { - _frame.setTime(gameInfoManager.subtractTime()); + _frame.setTime(gameInfoManager.getTime()); _frame.setPoints(gameInfoManager.getPoints()); _frame.setLevel(Global.gameLevel); _frame.setEnemy(Global.enemies); @@ -181,9 +191,6 @@ private void showScreen() { _frame.setTitle(TITLE + " | " + updates + " rate, " + frames + " fps"); updates = 0; frames = 0; - - if (_screenToShow == 2) - --_screenDelay; } break; case SELECT_LEVEL_SCREEN: @@ -224,16 +231,28 @@ public void start() { long now = System.nanoTime(); delta += (now - lastTime) / ns; lastTime = now; - while (delta >= 1) { + + if (headless) { + // Headless mode: update as fast as possible, without rendering update(); - updates++; - delta--; + showScreen(); + } else { + // Keep updating to catch up with 60 frames per second + while (delta >= 1) { + update(); + updates++; + delta--; + } + + showScreen(); } - - showScreen(); } } + public void stop() { + _running = false; + } + private void snapCameraToPlayer() { int xScroll = calculateXOffset(_board.getEntityManager().getPlayer()); Screen.setOffset(xScroll, 0); diff --git a/src/uet/oop/bomberman/TrainAgent.java b/src/uet/oop/bomberman/TrainAgent.java new file mode 100644 index 0000000..d37124c --- /dev/null +++ b/src/uet/oop/bomberman/TrainAgent.java @@ -0,0 +1,47 @@ +package uet.oop.bomberman; + +import uet.oop.bomberman.gui.Frame; +import uet.oop.bomberman.manager.LevelManager; +import uet.oop.bomberman.utils.EScreenName; +import uet.oop.bomberman.utils.Global; + +public class TrainAgent { + + public static void main(String[] args) { + new TrainAgent(); + } + + private TrainAgent() { + Frame frame = new Frame(); + Game game = frame._gamepane.getGame(); + Global.currentScreen = EScreenName.GAME_PLAY_SCREEN; + game.getBoard().setLevelManager(new LoopingLevelManager(game.getBoard())); + game.headless = true; + // frame.setVisible(false); + Thread thread = new Thread(frame::start, "GameThread"); + thread.start(); + } + + private class LoopingLevelManager extends LevelManager { + public LoopingLevelManager(Board board) { + super(board); + } + + @Override + public void endGame() { + board.handleLoseLevel(); + // Restart level + loadGlobalLevel(); + } + + @Override + public void nextLevel() { + board.handleWinLevel(); + // Restart level + loadGlobalLevel(); + } + + + } + +} diff --git a/src/uet/oop/bomberman/agent/KeyboardAgent.java b/src/uet/oop/bomberman/agent/KeyboardAgent.java index 77a1e3d..d8abd5b 100644 --- a/src/uet/oop/bomberman/agent/KeyboardAgent.java +++ b/src/uet/oop/bomberman/agent/KeyboardAgent.java @@ -3,6 +3,7 @@ import java.util.ArrayList; import java.util.List; +import uet.oop.bomberman.agent.base.Agent; import uet.oop.bomberman.entities.character.Bomber; import uet.oop.bomberman.entities.character.Character; import uet.oop.bomberman.entities.character.action.Action; diff --git a/src/uet/oop/bomberman/agent/MovingAgent.java b/src/uet/oop/bomberman/agent/MovingAgent.java index 0f4e6c2..6b93e7b 100644 --- a/src/uet/oop/bomberman/agent/MovingAgent.java +++ b/src/uet/oop/bomberman/agent/MovingAgent.java @@ -3,6 +3,7 @@ import java.util.ArrayList; import java.util.List; +import uet.oop.bomberman.agent.base.Agent; import uet.oop.bomberman.entities.character.Character; import uet.oop.bomberman.entities.character.action.Action; import uet.oop.bomberman.entities.character.action.ActionConstants; diff --git a/src/uet/oop/bomberman/agent/Agent.java b/src/uet/oop/bomberman/agent/base/Agent.java similarity index 88% rename from src/uet/oop/bomberman/agent/Agent.java rename to src/uet/oop/bomberman/agent/base/Agent.java index 9bad770..5c22291 100644 --- a/src/uet/oop/bomberman/agent/Agent.java +++ b/src/uet/oop/bomberman/agent/base/Agent.java @@ -1,4 +1,4 @@ -package uet.oop.bomberman.agent; +package uet.oop.bomberman.agent.base; import uet.oop.bomberman.entities.character.Character; diff --git a/src/uet/oop/bomberman/agent/IAgent.java b/src/uet/oop/bomberman/agent/base/IAgent.java similarity index 80% rename from src/uet/oop/bomberman/agent/IAgent.java rename to src/uet/oop/bomberman/agent/base/IAgent.java index 8f5ffd2..d358ab9 100644 --- a/src/uet/oop/bomberman/agent/IAgent.java +++ b/src/uet/oop/bomberman/agent/base/IAgent.java @@ -1,4 +1,4 @@ -package uet.oop.bomberman.agent; +package uet.oop.bomberman.agent.base; import java.util.List; diff --git a/src/uet/oop/bomberman/agent/base/RewardBasedAgent.java b/src/uet/oop/bomberman/agent/base/RewardBasedAgent.java new file mode 100644 index 0000000..e5d3a1c --- /dev/null +++ b/src/uet/oop/bomberman/agent/base/RewardBasedAgent.java @@ -0,0 +1,10 @@ +package uet.oop.bomberman.agent.base; + +public interface RewardBasedAgent { + + public void handleWinLevel(); + public void handleLoseLevel(); + + public void addReward(float reward); + +} diff --git a/src/uet/oop/bomberman/agent/base/SerializableAgent.java b/src/uet/oop/bomberman/agent/base/SerializableAgent.java new file mode 100644 index 0000000..f936ee1 --- /dev/null +++ b/src/uet/oop/bomberman/agent/base/SerializableAgent.java @@ -0,0 +1,8 @@ +package uet.oop.bomberman.agent.base; + +public interface SerializableAgent { + + public void load(); + public void save(); + +} diff --git a/src/uet/oop/bomberman/agent/ppo/PPOAgent.java b/src/uet/oop/bomberman/agent/ppo/PPOAgent.java index 00da207..3d8e6cf 100644 --- a/src/uet/oop/bomberman/agent/ppo/PPOAgent.java +++ b/src/uet/oop/bomberman/agent/ppo/PPOAgent.java @@ -4,21 +4,23 @@ import java.util.List; import uet.oop.bomberman.Board; -import uet.oop.bomberman.agent.Agent; +import uet.oop.bomberman.agent.base.Agent; +import uet.oop.bomberman.agent.base.RewardBasedAgent; +import uet.oop.bomberman.agent.base.SerializableAgent; import uet.oop.bomberman.agent.rl.PPO; import uet.oop.bomberman.agent.state.base.IStateExtractor; import uet.oop.bomberman.entities.character.Character; import uet.oop.bomberman.entities.character.action.Action; -public class PPOAgent extends Agent { +public class PPOAgent extends Agent implements SerializableAgent, RewardBasedAgent { private IStateExtractor stateExtractor; private Board board; private PPO ppo; private List validActions; - private boolean isFirstAction = true; private float prevValue; + private float bonusReward = 0; public PPOAgent(Character character, Board board, IStateExtractor stateExtractor) { super(character); @@ -32,27 +34,37 @@ public PPOAgent(Character character, Board board, IStateExtractor stateExtractor 64, 0.99f, 0.95f, - 0.001f, - 16, + 3e-4f, 8, - 0.2f + 64, + 0.05f ); + this.ppo.setActionMaskGetter(() -> { + List performableActions = character.getPerformableActions(); + Boolean[] mask = new Boolean[validActions.size()]; + for (int i = 0; i < validActions.size(); i++) { + mask[i] = performableActions.contains(validActions.get(i)); + } + return mask; + }); } @Override public List getNextActions() { - if (!isFirstAction) collectReward(); + collectReward(); Action action = getAction(); List actions = new ArrayList<>(); actions.add(action); prevValue = stateExtractor.getValue(board); - if (isFirstAction) isFirstAction = false; return actions; } private void collectReward() { float currentValue = stateExtractor.getValue(board); - ppo.collect(currentValue - prevValue, false); + try { + ppo.collect(currentValue - prevValue + bonusReward, false); + bonusReward = 0; + } catch (IllegalStateException ignored) {} } private Action getAction() { @@ -62,4 +74,31 @@ private Action getAction() { return action; } + @Override + public void load() { + ppo.load(); + } + + @Override + public void save() { + ppo.save(); + } + + @Override + public void handleWinLevel() { + ppo.collect(100, true); + save(); + } + + @Override + public void handleLoseLevel() { + ppo.collect(-100, true); + save(); + } + + @Override + public void addReward(float reward) { + bonusReward += reward; + } + } diff --git a/src/uet/oop/bomberman/agent/rl/PPO.java b/src/uet/oop/bomberman/agent/rl/PPO.java index 297c367..725b006 100644 --- a/src/uet/oop/bomberman/agent/rl/PPO.java +++ b/src/uet/oop/bomberman/agent/rl/PPO.java @@ -2,15 +2,23 @@ import ai.djl.engine.Engine; import ai.djl.ndarray.NDArray; +import ai.djl.ndarray.NDArrays; import ai.djl.ndarray.NDList; import ai.djl.ndarray.NDManager; import ai.djl.ndarray.index.NDIndex; import ai.djl.ndarray.types.Shape; import ai.djl.nn.Parameter; +import ai.djl.training.DefaultTrainingConfig; import ai.djl.training.GradientCollector; +import ai.djl.training.Trainer; +import ai.djl.training.TrainingResult; +import ai.djl.training.listener.TrainingListener; +import ai.djl.training.loss.Loss; import ai.djl.translate.TranslateException; import ai.djl.util.Pair; +import uet.oop.bomberman.agent.rl.base.BaseGAE; import uet.oop.bomberman.agent.rl.dtypes.MemoryBatch; +import uet.oop.bomberman.agent.rl.utils.ModelHelper; public class PPO extends BaseGAE { private final int inner_updates; @@ -33,57 +41,91 @@ protected void updateModel(NDManager submanager) throws TranslateException { NDArray states = batch.getStates(); NDArray actions = batch.getActions(); - NDList net_output = predictor.predict(new NDList(states)); - - NDArray distribution = Helper.gather(net_output.get(0).duplicate(), actions.toIntArray()); - NDArray values = net_output.get(1).duplicate(); - - NDList estimates = estimateAdvantage(values.duplicate(), batch.getRewards()); - NDArray expected_returns = estimates.get(0); - NDArray advantages = estimates.get(1); - - int[] index = new int[inner_batch_size]; - - for (int i = 0; i < inner_updates * (1 + batch.size() / inner_batch_size); i++) { - for (int j = 0; j < inner_batch_size; j++) { - index[j] = random.nextInt(batch.size()); + try (Trainer trainer = model.newTrainer(getTrainingConfig())) { + + trainer.initialize(new Shape(1, dim_of_state_space)); + trainer.notifyListeners(listener -> listener.onTrainingBegin(trainer)); + + NDList net_output = trainer.evaluate(new NDList(states)); + + NDArray distribution = ModelHelper.gather(net_output.get(0).duplicate(), actions.toIntArray()); + NDArray values = net_output.get(1).duplicate(); + + NDArray rewards = batch.getRewards(); + NDList estimates = estimateAdvantage(values.duplicate(), rewards); + NDArray expected_returns = estimates.get(0); + NDArray advantages = estimates.get(1); + + int[] index = new int[inner_batch_size]; + + float rewardsValue = rewards.sum().getFloat(); + double lossValue = 0.0; + + long iters = inner_updates * (1 + actions.size() / inner_batch_size); + for (int i = 0; i < iters; i++) { + for (int j = 0; j < inner_batch_size; j++) { + index[j] = random.nextInt((int) actions.size()); + } + + NDArray states_subset = getSample(submanager, states, index); + NDArray actions_subset = getSample(submanager, actions, index); + NDArray distribution_subset = getSample(submanager, distribution, index); + NDArray expected_returns_subset = getSample(submanager, expected_returns, index); + NDArray advantages_subset = getSample(submanager, advantages, index); + + try (GradientCollector collector = trainer.newGradientCollector()) { + + NDList net_output_updated = trainer.forward(new NDList(states_subset)); + NDArray distribution_updated = ModelHelper.gather(net_output_updated.get(0), actions_subset.toIntArray()); + NDArray values_updated = net_output_updated.get(1); + + NDArray loss_critic = (expected_returns_subset.sub(values_updated.squeeze())).square().mean(); + + NDArray ratios = distribution_updated.sub(distribution_subset).exp(); + NDArray td_objective = ratios.mul(advantages_subset); + NDArray clipped_td_objective = ratios.clip(ratio_lower_bound, ratio_upper_bound).mul(advantages_subset); + NDArray loss_actor = td_objective.minimum(clipped_td_objective).mean(); + + NDArray distribution_entropy = net_output_updated.get(0).mul( + net_output_updated.get(0).add(new Float(1e-2)).log() + ).sum().neg(); + + NDArray loss = loss_critic; + loss = loss.sub(loss_actor); + loss = loss.sub(distribution_entropy.mul(0.05)); + + double _loss = loss.getDouble(); + + collector.backward(loss); + + lossValue += _loss; + + trainer.step(); + } } - NDArray states_subset = getSample(submanager, states, index); - NDArray actions_subset = getSample(submanager, actions, index); - NDArray distribution_subset = getSample(submanager, distribution, index); - NDArray expected_returns_subset = getSample(submanager, expected_returns, index); - NDArray advantages_subset = getSample(submanager, advantages, index); - - NDList net_output_updated = predictor.predict(new NDList(states_subset)); - NDArray distribution_updated = Helper.gather(net_output_updated.get(0), actions_subset.toIntArray()); - NDArray values_updated = net_output_updated.get(1); - - NDArray loss_critic = (expected_returns_subset.sub(values_updated)).square().sum(); - NDArray ratios = distribution_updated.div(distribution_subset).expandDims(1); + trainer.notifyListeners(listener -> listener.onEpoch(trainer)); + trainer.notifyListeners(listener -> listener.onTrainingEnd(trainer)); - NDArray loss_actor = ratios.clip(ratio_lower_bound, ratio_upper_bound).mul(advantages_subset) - .minimum(ratios.mul(advantages_subset)).sum().neg(); - NDArray loss = loss_actor.add(loss_critic); + System.out.println("Iters: " + iters); + System.out.println("Avg loss: " + lossValue / iters); + System.out.println("Total rewards: " + rewardsValue); - try (GradientCollector collector = Engine.getInstance().newGradientCollector()) { - collector.backward(loss); - - for (Pair params : model.getBlock().getParameters()) { - NDArray params_arr = params.getValue().getArray(); - - optimizer.update(params.getKey(), params_arr, params_arr.getGradient().duplicate()); - } - - } } } + private DefaultTrainingConfig getTrainingConfig() { + DefaultTrainingConfig trainingConfig = new DefaultTrainingConfig(Loss.l2Loss()) + .addTrainingListeners(TrainingListener.Defaults.basic()) + .optOptimizer(optimizer); + return trainingConfig; + } + private NDArray getSample(NDManager submanager, NDArray array, int[] index) { Shape shape = Shape.update(array.getShape(), 0, inner_batch_size); NDArray sample = submanager.zeros(shape, array.getDataType()); - for (int i = 0; i < inner_batch_size; i++) { + for (int i = 0; i < index.length; i++) { sample.set(new NDIndex(i), array.get(index[i])); } return sample; diff --git a/src/uet/oop/bomberman/agent/rl/BaseAgent.java b/src/uet/oop/bomberman/agent/rl/base/BaseAgent.java similarity index 95% rename from src/uet/oop/bomberman/agent/rl/BaseAgent.java rename to src/uet/oop/bomberman/agent/rl/base/BaseAgent.java index a927280..c9e01b1 100644 --- a/src/uet/oop/bomberman/agent/rl/BaseAgent.java +++ b/src/uet/oop/bomberman/agent/rl/base/BaseAgent.java @@ -1,4 +1,4 @@ -package uet.oop.bomberman.agent.rl; +package uet.oop.bomberman.agent.rl.base; public abstract class BaseAgent { private boolean is_eval = false; diff --git a/src/uet/oop/bomberman/agent/rl/BaseGAE.java b/src/uet/oop/bomberman/agent/rl/base/BaseGAE.java similarity index 51% rename from src/uet/oop/bomberman/agent/rl/BaseGAE.java rename to src/uet/oop/bomberman/agent/rl/base/BaseGAE.java index 2841349..4cf40a0 100644 --- a/src/uet/oop/bomberman/agent/rl/BaseGAE.java +++ b/src/uet/oop/bomberman/agent/rl/base/BaseGAE.java @@ -1,7 +1,19 @@ -package uet.oop.bomberman.agent.rl; - +package uet.oop.bomberman.agent.rl.base; + +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.NoSuchFileException; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.ArrayList; +import java.util.List; import java.util.Random; +import java.util.function.Supplier; +import ai.djl.MalformedModelException; import ai.djl.Model; import ai.djl.inference.Predictor; import ai.djl.ndarray.NDArray; @@ -14,20 +26,25 @@ import ai.djl.translate.TranslateException; import uet.oop.bomberman.agent.rl.dtypes.Memory; import uet.oop.bomberman.agent.rl.model.DistributionValueModel; +import uet.oop.bomberman.agent.rl.utils.ActionSampler; public abstract class BaseGAE extends BaseAgent { - protected final Random random = new Random(0); + protected final Random random = new Random(); protected final Memory memory = new Memory(1024); protected final Optimizer optimizer; - protected NDManager manager = NDManager.newBaseManager(); + public NDManager manager = NDManager.newBaseManager(); protected Model model; + public Model getModel() { + return model; + } + protected Predictor predictor; private final float gae_lambda; private final float gamma; - private final int num_of_action; - private final int dim_of_state_space; + protected final int num_of_action; + protected final int dim_of_state_space; private final int hidden_size; public BaseGAE(int dim_of_state_space, int num_of_action, int hidden_size, float gamma, float gae_lambda, @@ -37,8 +54,16 @@ public BaseGAE(int dim_of_state_space, int num_of_action, int hidden_size, float this.dim_of_state_space = dim_of_state_space; this.num_of_action = num_of_action; this.hidden_size = hidden_size; - this.optimizer = Optimizer.adam().optLearningRateTracker(Tracker.fixed(learning_rate)).build(); - reset(); + this.optimizer = Optimizer.adam() + .optLearningRateTracker(Tracker.fixed(learning_rate)) + .optClipGrad(1.0f) + .build(); + this.reset(); + } + + protected Supplier getActionMask; + public void setActionMaskGetter(Supplier getActionMask) { + this.getActionMask = getActionMask; } @Override @@ -47,9 +72,24 @@ public int react(float[] state) { if (!isEval()) { memory.setState(state); } - - NDArray prob = predictor.predict(new NDList(submanager.create(state))).get(0); - int action = ActionSampler.sampleMultinomial(prob, random); + + final float EXPLORE_RATE = 0.05f; + int action; + if (random.nextFloat() < EXPLORE_RATE) { + Boolean[] actionMask = getActionMask.get(); + List validActions = new ArrayList<>(); + for (int i = 0; i < num_of_action; i++) { + if (actionMask[i]) { + validActions.add(i); + } + } + action = validActions.get(random.nextInt(validActions.size())); + // System.out.println("Random action: " + action); + } else { + NDArray prob = predictor.predict(new NDList(submanager.create(state))).get(0); + action = ActionSampler.sampleMultinomial(prob, random); + System.out.println(" action: " + action); + } if (!isEval()) { memory.setAction(action); @@ -87,6 +127,36 @@ public void reset() { predictor = model.newPredictor(new NoopTranslator()); } + public void load() { + try { + Path dir = Paths.get("models"); + File file = new File("models/PPO.params"); + Files.createDirectories(dir); + DataInputStream is = new DataInputStream(Files.newInputStream(file.toPath())); + model.getBlock().loadParameters(manager, is); + } catch (NoSuchFileException e) { + System.out.println("No pre-trained model found"); + } catch (MalformedModelException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + + public void save() { + try { + File file = new File("models/PPO.params"); + + DataOutputStream os = new DataOutputStream(Files.newOutputStream(file.toPath())); + model.getBlock().saveParameters(os); + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + protected NDList estimateAdvantage(NDArray values, NDArray rewards) { NDArray expected_returns = rewards.duplicate(); NDArray advantages = rewards.sub(values.squeeze()); diff --git a/src/uet/oop/bomberman/agent/rl/model/DistributionValueModel.java b/src/uet/oop/bomberman/agent/rl/model/DistributionValueModel.java index dc605de..8a85fcc 100644 --- a/src/uet/oop/bomberman/agent/rl/model/DistributionValueModel.java +++ b/src/uet/oop/bomberman/agent/rl/model/DistributionValueModel.java @@ -8,9 +8,14 @@ import ai.djl.ndarray.types.Shape; import ai.djl.nn.Activation; import ai.djl.nn.Block; +import ai.djl.nn.Blocks; import ai.djl.nn.Parameter; +import ai.djl.nn.SequentialBlock; import ai.djl.nn.core.Linear; +import ai.djl.nn.norm.BatchNorm; import ai.djl.training.ParameterStore; +import ai.djl.training.initializer.ConstantInitializer; +import ai.djl.training.initializer.NormalInitializer; import ai.djl.training.initializer.XavierInitializer; import ai.djl.util.PairList; @@ -25,13 +30,24 @@ public class DistributionValueModel extends BaseModel { private final int output_size; private final Parameter gamma; private final Parameter beta; + + private boolean isFirstUpdate = true; private float moving_mean = 0.0f; private float moving_var = 1.0f; private DistributionValueModel(NDManager manager, int hidden_size, int output_size) { super(manager); - this.linear_input = addChildBlock("linear_input", Linear.builder().setUnits(hidden_size).build()); - this.linear_action = addChildBlock("linear_action", Linear.builder().setUnits(output_size).build()); + Block input_block = new SequentialBlock() + .add(Linear.builder().setUnits(hidden_size).build()) + .add(Activation.reluBlock()) + .add(Linear.builder().setUnits(hidden_size).build()) + .add(Activation.reluBlock()) + ; + Block action_block = new SequentialBlock() + .add(Linear.builder().setUnits(output_size).build()) + ; + this.linear_input = addChildBlock("linear_input", input_block); + this.linear_action = addChildBlock("linear_action", action_block); this.linear_value = addChildBlock("linear_value", Linear.builder().setUnits(1).build()); Parameter pGamma = Parameter.builder() @@ -68,9 +84,9 @@ public static Model newModel(NDManager manager, int input_size, int hidden_size, protected NDList forwardInternal(ParameterStore parameter_store, NDList inputs, boolean training, PairList params) { - NDList hidden = new NDList( - Activation.relu(linear_input.forward(parameter_store, inputs, training).singletonOrThrow())); - NDArray scores = normalize(linear_action.forward(parameter_store, hidden, training).singletonOrThrow()); + NDList hidden = linear_input.forward(parameter_store, inputs, training); + NDArray scores = linear_action.forward(parameter_store, hidden, training).singletonOrThrow(); + scores = normalize(scores); NDArray distribution = scores.softmax(scores.getShape().dimension() - 1); NDArray value = linear_value.forward(parameter_store, hidden, training).singletonOrThrow(); @@ -85,20 +101,33 @@ public Shape[] getOutputShapes(Shape[] inputShapes) { @Override public void initializeChildBlocks(NDManager manager, DataType data_type, Shape... input_shapes) { - setInitializer(new XavierInitializer(), Parameter.Type.WEIGHT); + setInitializer(new NormalInitializer(), Parameter.Type.WEIGHT); + setInitializer(new ConstantInitializer(1f), Parameter.Type.GAMMA); + setInitializer(new ConstantInitializer(0f), Parameter.Type.BETA); - linear_input.initialize(manager, data_type, input_shapes[0]); + linear_input.initialize(manager, data_type, input_shapes); linear_action.initialize(manager, data_type, new Shape(hidden_size)); linear_value.initialize(manager, data_type, new Shape(hidden_size)); + gamma.initialize(manager, data_type); + beta.initialize(manager, data_type); } private NDArray normalize(NDArray arr) { float score_mean = arr.mean().getFloat(); - moving_mean = moving_mean * LAYERNORM_MOMENTUM + score_mean * (1.0f - LAYERNORM_MOMENTUM); - moving_var = moving_var * LAYERNORM_MOMENTUM - + arr.sub(score_mean).pow(2).mean().getFloat() * (1.0f - LAYERNORM_MOMENTUM); - return arr.sub(moving_mean).div(Math.sqrt(moving_var + LAYERNORM_EPSILON)).mul(gamma.getArray()) - .add(beta.getArray()); + float score_var = arr.sub(score_mean).pow(2).mean().getFloat(); + if (isFirstUpdate) { + moving_mean = score_mean; + moving_var = score_var; + isFirstUpdate = false; + } else { + moving_mean = moving_mean * LAYERNORM_MOMENTUM + score_mean * (1.0f - LAYERNORM_MOMENTUM); + moving_var = moving_var * LAYERNORM_MOMENTUM + score_var * (1.0f - LAYERNORM_MOMENTUM); + } + return arr + .sub(moving_mean) + .div(Math.sqrt(moving_var + LAYERNORM_EPSILON)) + .mul(gamma.getArray()) + .add(beta.getArray()); } } diff --git a/src/uet/oop/bomberman/agent/rl/ActionSampler.java b/src/uet/oop/bomberman/agent/rl/utils/ActionSampler.java similarity index 95% rename from src/uet/oop/bomberman/agent/rl/ActionSampler.java rename to src/uet/oop/bomberman/agent/rl/utils/ActionSampler.java index b1598df..7ecf501 100644 --- a/src/uet/oop/bomberman/agent/rl/ActionSampler.java +++ b/src/uet/oop/bomberman/agent/rl/utils/ActionSampler.java @@ -1,4 +1,4 @@ -package uet.oop.bomberman.agent.rl; +package uet.oop.bomberman.agent.rl.utils; import java.util.Random; diff --git a/src/uet/oop/bomberman/agent/rl/Helper.java b/src/uet/oop/bomberman/agent/rl/utils/ModelHelper.java similarity index 92% rename from src/uet/oop/bomberman/agent/rl/Helper.java rename to src/uet/oop/bomberman/agent/rl/utils/ModelHelper.java index c86e2f3..a5f7d64 100644 --- a/src/uet/oop/bomberman/agent/rl/Helper.java +++ b/src/uet/oop/bomberman/agent/rl/utils/ModelHelper.java @@ -1,9 +1,9 @@ -package uet.oop.bomberman.agent.rl; +package uet.oop.bomberman.agent.rl.utils; import ai.djl.ndarray.NDArray; import ai.djl.ndarray.types.Shape; -public final class Helper { +public final class ModelHelper { public static NDArray gather(NDArray arr, int[] indexes) { boolean[][] mask = new boolean[(int) arr.size(0)][(int) arr.size(1)]; for (int i = 0; i < indexes.length; i++) { diff --git a/src/uet/oop/bomberman/agent/state/Helper.java b/src/uet/oop/bomberman/agent/state/Helper.java deleted file mode 100644 index ac6b37a..0000000 --- a/src/uet/oop/bomberman/agent/state/Helper.java +++ /dev/null @@ -1,5 +0,0 @@ -package uet.oop.bomberman.agent.state; - -public interface Helper { - -} diff --git a/src/uet/oop/bomberman/agent/state/NaivePlayerStateExtractor.java b/src/uet/oop/bomberman/agent/state/NaivePlayerStateExtractor.java index 8aeb280..dea3a75 100644 --- a/src/uet/oop/bomberman/agent/state/NaivePlayerStateExtractor.java +++ b/src/uet/oop/bomberman/agent/state/NaivePlayerStateExtractor.java @@ -3,14 +3,21 @@ import java.util.concurrent.atomic.AtomicInteger; import uet.oop.bomberman.Board; +import uet.oop.bomberman.Game; import uet.oop.bomberman.agent.state.base.PlayerStateExtractor; import uet.oop.bomberman.entities.Entity; import uet.oop.bomberman.entities.LayeredEntity; +import uet.oop.bomberman.entities.bomb.Bomb; +import uet.oop.bomberman.entities.bomb.Flame; +import uet.oop.bomberman.entities.bomb.FlameSegment; import uet.oop.bomberman.entities.character.Character; +import uet.oop.bomberman.entities.character.action.Action; +import uet.oop.bomberman.entities.tile.Tile; +import uet.oop.bomberman.entities.tile.item.Item; public class NaivePlayerStateExtractor extends PlayerStateExtractor { - private static final int FIELD_OF_VISION = 9; + private static final int FIELD_OF_VISION = 5; public NaivePlayerStateExtractor(Character player) { super(player); @@ -18,7 +25,16 @@ public NaivePlayerStateExtractor(Character player) { @Override public int getDimension() { - return 3 * FIELD_OF_VISION * FIELD_OF_VISION; + return ( + FIELD_OF_VISION * FIELD_OF_VISION // isPassable + + FIELD_OF_VISION * FIELD_OF_VISION // isItem + + FIELD_OF_VISION * FIELD_OF_VISION // isEnemy + + FIELD_OF_VISION * FIELD_OF_VISION // isBomb + + FIELD_OF_VISION * FIELD_OF_VISION // isFlame + + FIELD_OF_VISION * FIELD_OF_VISION // isDestroyable + + 1 // time + + player.getValidActions().size() // action availability + ); } private interface BoardTilePredicate { @@ -34,6 +50,19 @@ public float[] getEmbedding(Board board) { addSurroundingTileMask(board, embedding, currentIndex, this::isPassable); addSurroundingTileMask(board, embedding, currentIndex, this::isItem); addSurroundingTileMask(board, embedding, currentIndex, this::isEnemy); + addSurroundingTileMask(board, embedding, currentIndex, this::isBomb); + addSurroundingTileMask(board, embedding, currentIndex, this::isFlame); + addSurroundingTileMask(board, embedding, currentIndex, this::isDestroyable); + + embedding[currentIndex.getAndIncrement()] = board.getGameInfoManager().getTime(); + + for (Action action: player.getValidActions()) { + if (player.canPerformAction(action)) { + embedding[currentIndex.getAndIncrement()] = 1; + } else { + embedding[currentIndex.getAndIncrement()] = 0; + } + } return embedding; } @@ -55,27 +84,47 @@ private float isEnemy(Board board, int x, int y) { return character.isPlayer() ? 0 : 1; } + private float isBomb(Board board, int x, int y) { + Entity entity = board.getEntityManager().getEntityAt(x, y); + if (entity == null) return 0; + if (entity instanceof Bomb) { + return ((Bomb) entity)._timeAfter; + } + return 0; + } + + private float isFlame(Board board, int x, int y) { + Entity entity = board.getEntityManager().getEntityAt(x, y); + if (entity == null) return 0; + if (entity instanceof Flame || entity instanceof FlameSegment) { + return 1; + } + return 0; + } + private float isItem(Board board, int x, int y) { Entity entity = board.getEntityManager().getEntityAt(x, y); if (entity == null) return 0; if (entity instanceof LayeredEntity) { LayeredEntity layeredEntity = (LayeredEntity) entity; - return layeredEntity.hasItem() ? 1 : 0; + return layeredEntity.getTopEntity() instanceof Item ? 1 : 0; } return 0; } private float isPassable(Board board, int x, int y) { - int width = board.getLevelManager().getBoardWidth(); - int height = board.getLevelManager().getBoardHeight(); - if (x < 0 || y < 0 || x >= width || y >= height) { - return 0; - } Entity entity = board.getEntityManager().getEntityAt(x, y); if (entity == null) return 0; return entity.canBePassedThroughBy(player) ? 1 : 0; } + private float isDestroyable(Board board, int x, int y) { + Tile tile = board.getEntityManager().getTileManager().getTileAt(x, y); + if (tile == null) return 0; + if (tile.isDestroyable()) return 1; + return 0; + } + @Override public float getValue(Board board) { float value = 0; @@ -93,6 +142,43 @@ public float getValue(Board board) { } value -= enemyPoints; + // Reward based on survival time + value -= board.getGameInfoManager().getTime() / Game.TICKS_PER_SECOND; + + // Penalize based on number of destroyable tiles left + float destroyableTiles = 0; + for (int x = 0; x < board.getLevelManager().getBoardWidth(); x++) { + for (int y = 0; y < board.getLevelManager().getBoardHeight(); y++) { + Tile tile = board.getEntityManager().getTileManager().getTileAt(x, y); + if (tile == null) { + continue; + } + if (tile.isDestroyable()) { + destroyableTiles++; + } + } + } + value -= destroyableTiles * 10; + + // Penalize based on number of items left + float items = 0; + for (int x = 0; x < board.getLevelManager().getBoardWidth(); x++) { + for (int y = 0; y < board.getLevelManager().getBoardHeight(); y++) { + Tile tile = board.getEntityManager().getTileManager().getTileAt(x, y); + if (tile == null) { + continue; + } + if (!(tile instanceof LayeredEntity)) { + continue; + } + LayeredEntity layeredEntity = (LayeredEntity) tile; + if (layeredEntity.hasItem()) { + items++; + } + } + } + value -= items * 50; + return value; } diff --git a/src/uet/oop/bomberman/entities/character/Bomber.java b/src/uet/oop/bomberman/entities/character/Bomber.java index 12a059b..67e729e 100644 --- a/src/uet/oop/bomberman/entities/character/Bomber.java +++ b/src/uet/oop/bomberman/entities/character/Bomber.java @@ -164,6 +164,7 @@ public int getPoints() { private static final List VALID_ACTIONS = new ArrayList() { { addAll(ActionConstants.LIST_ACTION_MOVE); + add(ActionConstants.DO_NOTHING); add(ActionConstants.PLACE_BOMB); } }; diff --git a/src/uet/oop/bomberman/gui/Frame.java b/src/uet/oop/bomberman/gui/Frame.java index b0c6d0e..de66f0f 100644 --- a/src/uet/oop/bomberman/gui/Frame.java +++ b/src/uet/oop/bomberman/gui/Frame.java @@ -46,7 +46,9 @@ public Frame() { pack(); setLocationRelativeTo(null); setVisible(true); - + } + + public void start() { _game.start(); } diff --git a/src/uet/oop/bomberman/gui/InfoPanel.java b/src/uet/oop/bomberman/gui/InfoPanel.java index b2d2b07..848cb67 100644 --- a/src/uet/oop/bomberman/gui/InfoPanel.java +++ b/src/uet/oop/bomberman/gui/InfoPanel.java @@ -36,7 +36,7 @@ public InfoPanel(Game game) { enemyLabel.setFont(new Font("DejaVu Sans", Font.PLAIN, 15)); enemyLabel.setHorizontalAlignment(JLabel.CENTER); - timeLabel = new JLabel("Time: " + game.getBoard().getGameInfoManager().getTime()); + timeLabel = new JLabel("Time: " + game.getBoard().getGameInfoManager().getTime() / Game.TICKS_PER_SECOND); timeLabel.setForeground(Color.white); timeLabel.setFont(new Font("DejaVu Sans", Font.PLAIN, 15)); timeLabel.setHorizontalAlignment(JLabel.CENTER); @@ -63,7 +63,7 @@ public InfoPanel(Game game) { } public void setTime(int t) { - timeLabel.setText("⏰ " + t); + timeLabel.setText("⏰ " + t / Game.TICKS_PER_SECOND); } public void setPoints(int t) { diff --git a/src/uet/oop/bomberman/level/FileLevelLoader.java b/src/uet/oop/bomberman/level/FileLevelLoader.java index 636d786..be09c61 100644 --- a/src/uet/oop/bomberman/level/FileLevelLoader.java +++ b/src/uet/oop/bomberman/level/FileLevelLoader.java @@ -6,7 +6,6 @@ import java.util.List; import uet.oop.bomberman.Board; import uet.oop.bomberman.Game; -import uet.oop.bomberman.agent.Agent; import uet.oop.bomberman.agent.KeyboardAgent; import uet.oop.bomberman.agent.KeyboardAgentPlayer1; import uet.oop.bomberman.agent.KeyboardAgentPlayer2; @@ -86,7 +85,7 @@ public void loadLevel(int level) { @Override public void createEntities() { Enemy enemy; - Agent agent; + uet.oop.bomberman.agent.base.Agent agent; LayeredEntity layeredEntity; for (int y = 0; y < getHeight(); y++) { for (int x = 0; x < getWidth(); x++) { diff --git a/src/uet/oop/bomberman/manager/GameInfoManager.java b/src/uet/oop/bomberman/manager/GameInfoManager.java index 54063ea..74cbb35 100644 --- a/src/uet/oop/bomberman/manager/GameInfoManager.java +++ b/src/uet/oop/bomberman/manager/GameInfoManager.java @@ -86,6 +86,7 @@ public void addPoints(int points) { @Override public void update() { updateMessages(); + subtractTime(); } @Override diff --git a/src/uet/oop/bomberman/manager/LevelManager.java b/src/uet/oop/bomberman/manager/LevelManager.java index 1ef4ca9..23f28a0 100644 --- a/src/uet/oop/bomberman/manager/LevelManager.java +++ b/src/uet/oop/bomberman/manager/LevelManager.java @@ -12,7 +12,7 @@ public class LevelManager implements ILevelManager { private LevelLoader levelLoader; - private Board board; + protected Board board; public LevelManager(Board board) { this.board = board; @@ -20,6 +20,7 @@ public LevelManager(Board board) { @Override public void nextLevel() { + board.handleWinLevel(); Global.gameLevel += 1; loadGlobalLevel(); } @@ -63,6 +64,7 @@ private void calculateEnemies() { @Override public void endGame() { + board.handleLoseLevel(); Global.currentScreen = EScreenName.END_GAME_SCREEN; board.getGameInfoManager().pause(); diff --git a/src/uet/oop/bomberman/manager/TileManager.java b/src/uet/oop/bomberman/manager/TileManager.java index 5867774..7e6d377 100644 --- a/src/uet/oop/bomberman/manager/TileManager.java +++ b/src/uet/oop/bomberman/manager/TileManager.java @@ -19,7 +19,11 @@ public TileManager(int width, int height) { @Override public Tile getTileAt(double x, double y) { - return tiles[(int) x + (int) y * width]; + int index = (int) x + (int) y * width; + if (index < 0 || index >= tiles.length) { + return null; + } + return tiles[index]; } @Override diff --git a/src/uet/oop/bomberman/utils/Global.java b/src/uet/oop/bomberman/utils/Global.java index 299fa15..4e7a2c8 100644 --- a/src/uet/oop/bomberman/utils/Global.java +++ b/src/uet/oop/bomberman/utils/Global.java @@ -9,6 +9,6 @@ public class Global { // GAME PLAY public static int gameLevel = 1; - public static EGameMode gameMode; + public static EGameMode gameMode = EGameMode.ONE_PLAYER; public static int enemies = 0; } From c27a1c1de0757022d02c5e434ee3ecb51c7cebd6 Mon Sep 17 00:00:00 2001 From: phuonnngminh Date: Mon, 10 Jun 2024 05:35:44 +0000 Subject: [PATCH 86/93] remove norm layer, add NaN check for gradient --- models/PPO.params | Bin 0 -> 61965 bytes src/uet/oop/bomberman/Board.java | 6 ++ src/uet/oop/bomberman/TrainAgent.java | 2 +- src/uet/oop/bomberman/agent/ppo/PPOAgent.java | 2 +- src/uet/oop/bomberman/agent/rl/PPO.java | 61 ++++++++++++------ .../oop/bomberman/agent/rl/base/BaseGAE.java | 1 - .../rl/model/DistributionValueModel.java | 51 ++++++++++----- .../state/NaivePlayerStateExtractor.java | 10 ++- .../oop/bomberman/level/FileLevelLoader.java | 8 ++- 9 files changed, 97 insertions(+), 44 deletions(-) create mode 100644 models/PPO.params diff --git a/models/PPO.params b/models/PPO.params new file mode 100644 index 0000000000000000000000000000000000000000..64833eb499008d1752e560fe9b5bf69dae76eabe GIT binary patch literal 61965 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

    )AA-i7QBA3oLl8NCWB>j{)mi&k!)~oK2p2dm~ z-Qh(Ju1q7l;tvx}ggN1>JxZo8vm*=CC*eu*Uh-&_4%sA>PCf@c<0yx95vA4l@$0b+ zp4X=1x?3aqZK`3~mIfDrsib|>2%N{inOenMxGz7A=YdhUYnxRaJHL)B$lVIgSKb=& z6YR2>LQ8QM>KvaE)vRDVSa=1$1oKILza7GdwqxGZC*)IxErfQ4 z6OOYKlxGf;qr=z8ZkDH4`=yRof0LNI-xcuS&STC{P$lS-ZzTT03fMVrgu*_1d=Q*M z_i$6O_vjP&Gq%*PT8N6qdsCVDa_Es%CPU$(B&B5%QOpx3Uo9q+&l;NKtdl6Y9>h!g zqkv7HGD-GjP1yNZRwb;`N5&LjZtQflM<t|4-zHRK;tLEc$45>uZ*!X44zv<+8tYTk(O^2s1|#_7Z;T7#Ta-Nvcj z=SK8?g_EI&XNgJcMDki~jAQWKwd!tuE!pv~gs7(8AvQTbNrc{Ya&gs9(k<9etn4g^ zi}Q7|&9#`M&(TEA9z#rBUqD3DWpRGrVxk;>0>9g5V?)kX{2Nap@f%lz44LBGg}Y?h zy6HHv@g7s9aFrZ*HA-}a;)&ss`Dj;v_&+#0?|3Y~|BoYEBn?SMA(dn`6xVqj8f2!D z%11;|(jJz^ z<_k|JPR5VN`=GIEE&{!k;db2tcT)G^ar_^mAvFqtT}|Zc+h0U)x!4y-ts{+7^jOM+ z%d9VYI7?|iMmkbnk=v@n1g~@TWLxOK{1oNQ%zWEk922TY`r6AvZGR8J{A3)F7JFW} zQAWP86;RmghGCqJs3}?T&-B`IqJ=4W{ilu09e;YHRj<;IX_c|zxifZW<{sC-o;$&` zhS9llg&j)S8YV= z4|Ur0&VVWwJweR?XRUfLlX}=6dx?RTZOF5D4&wL{PmeUt^8z0l>P5}?1;X?ipkCdM5$7uLv7-@+XP@J0 z;Y*Bks)w0krI;CfDQb(a(VNO&A^g3Kxs2ae8M1>K4{R z`bj-D1wBViZ6lhrujAUUDD16Vh2IVP5$KwTIW1Rl>c4yV7+i)Y`iGz+`lvgKS75@d zo7mTAgZtL|kS6ZmZl6d)O?MpLd`m{4RTwf$Z(y8dJx;7ng-y06GzTYO_1iY+d^e&U z3+tdSqeJ7iS3}8f1kLcuN0Qc6oV#=l`}0+4vRos~f5^~+l2>qiG&o;dF9$^nN-%e6 z2Kt^vAnQyfJf=5b@qnLjDYu}uyez$Px&T3<&NFnB7PXojiP{@+sDGD)XP4VaV$flz zZn}*ZuN=^}HxpN;`#?ojhXzk6!F7We+$(s43EBhMR5>Y{n^ce3+i&nsD+n86a*?m* zO^qDBqg~9eKJas+q@M%r<$S67{+AfBWe+)hXfsI--a@V`?hw~)3_?p6Q7^cNKf=hvXqM?T+(3@?i5TU*8fL#E}cRA4L6Wa zlat7bY}EhODMowQ_}B%f1&Whx7ZMdwvXbOyEFjvRuH?~KDdM4&lb7RQz=eNQBp;Jj5!uq! zTvWc1^_=NH`RL{p&f|9|H{yyFIa+xy@3PdsTvwAM{>&tK^6B?N!uh5Ulc%}l_J!S~ zwSPTnxT{Hu$P8|R`U3Lk^jH%9K^ji$6!0!8lK2!oCt+1mB)}jLOQht`*ky}0X;<=H zaT5CP)5608kt9e%5*s5fFjwkBem3-wC1YOa?g<-#UElYSWmCj6?Y~}faN!aZzZe9W z6Y1pA7H#a&n~yz{zmc?HEkxBgk!b%^vNq@}8M}QsS!I#M4lPv>%2uYa2dPEY^{#8l znbUF~h>GukVSr{yTO-j>NY}>&%}T)_o7$tj`{Ql|~s9&%Khdw}Pg6@H3w-WeD)_$kiyFF^g+bFe761LyhY&`)GD z%wFG$Nt<6`)tPNchzPE!(&F^QHy8 z58jKNf00Ar+W^;^daU+&jW4}#;GEYCrOp=Yihc#Xd(C)l{uaDcDXuSImg(Rs@p6k>4o*ZPD$pN9LhRjA)Y;CNKF6Rc_BMf zS!ut=yx;J4R+H$@{P2<`oL3U|=EtyKA;E0ut3Kwn`VmVXcZoT<)sXJbJU9RGX7bB6 zQ`|RZvQcI0$m1hne9|&!xUcFaCI|MAf74sZ$V2LUW7iN&m24rGz5LPt!7!$nb&Kha zdP|O-I8723OEbC3UHq(7WuzxojW_Ck$KK9YBeHeMm@rsZDA2BBT(2Lia(~5pC!8V6 zdYXyL<4WT8og;%g-Ff*9f&7l=o^u_86kqvpd5rI)S@aXn9thf$RDO{c}}}@`6WS?e6gAz9}}>Z zKUi(c`~7If*4=KR4lzuqAJEP2KG9;S-}W$9{RrmWK1T3WCW7nzE5fXYam+yKHCZvr zUFcPO!_L->5jNfaC}@S~23bfLaRWSA!CG%NZ&MvXgbVq3 zEle1=ww3MZf1Ler8z7vT*U4Jy+?nC|8Wta{EBvj}6N+gcdzW9sCI=}B@e@W1e;daN z7M2<8QvP1SRNhdiF4GlO*y{`aZ6Y7ylb-Nn-FRX57*(O4(GX!r+7N-4(iV&sjS|LG z8VD~nM+-IS@~7}3Q9CtdRa$qCl4_;!9wQt!O zuA4o1afB`0U(e5@qX+t20Z#Phl?gdJ{u$%Q$ZlgwGevCbiy*LzVw3Kts? zWqD;GC~ht1p7Pde?!S1h)%FiFx|5%G{858&`qEJLPWmKU^Ps;lu+M0(%HHtlYr;tFbV|bO_OSH3|B(+qh5Ul{Mn2?Bh_#Z|7Sii>mT4ax zE}T$JX7ieEk;jjov3Xwc!qt)?!oS=LLh_za;^Fg)GYCJ<{56^Iyl0WHd+lpdw5@|> z`$?0@hYIp z$!>1Q)s2OsnG4?DnvIKM9znMDKWz8(Mv&|x*g7~PYo!Z5?s7#--*UV#48h0!E>L~y zh`(8L;NP|w!?uKC#c)@=KeZ6|{;q@D*)@2p5{-{f+>mc2?xl0RF!-x0USADF&Lbzx zJ@14~Do%JbTf9DVKIT^atr4h}Xzk>)Y%(5t`)k!|1fv*2HQ`;ik;8*%%|9GueM1F4nB zcdMqj9C(nty%tZlNG zJ83_g)BA++eJ?oM^*d1S+Dp<^-tp$uR@SM_;bich7V_Rx)aRnT5IxUE$O(1C(P@F$ zXdH?x|AlPF;V_c^=pSAL>tnKI1ct~r;PTcclF=eTpLgrPUwW?;5i3%rX-Cbv=QMD>BulA-?+uDj%0)A3kDof*ds!Gm@{(8pK?OG=`6rgzx)A zY%aILFj5QYMcsI5a|+)gL_dA-dE{lDhVu9Mm?8+!NxzDRXMDvx-ykgPOl&q>EQmpUlsoy4fnlW=%+ z7RMsa;F!Tl1RfFn>*{p8zj6vc2AxFLG0~Ukyo&pNQD_a1gU_$Cxa^#VHJ4IgCThi{ z1}S3pGYS`~O40r&97`8$#sdQ%Bo0c&&iFJ;3(dz^!({l6yo^#+3p{(n!zr#1-(oH! zqWS_TB+ZR%Me@e?P^vG5(z|+$I`s^}J`!}M zx+X2#u1L4d`h^wqMpAb*b!sLnOI-~=V3=_Zf}bc+ljTS8 z*9eD?U*I73jk457Lv4Smx*IXM?!ZlTUd&MSL2 z=bEvCdmgcaGx@TaOY=U;{nR-LAK5gVob`!+R3<4H9J#_9spOJVPYj6rb9rX+VIidN zPp39FwCSnE7fAZF8L*64MmL|dqyNf}(l5JgY2>&ud5-->9lq&5nyoyKhGh??imuh% z@tMnnRqH;$IlNWO9bbm;^GWntKTCSdXFT2YZoKH3kDwE^XVBC^cC==+Ej<)$O?@== z=mF85&0k|jj~tstPeqTThyNQuA4%BLzaF#b9M4&_^qxIUbF`zr8|m_lquCo5eL%)H#oe8D*nM zE|AE@BK(7yT? zrDMHtNc}S=t$T!dg>4vH@dU3QoI*=bExrVaS<@|d(Yh@YTORMlgpeoV@=}RcO{K7E zt3v&J2`az&8Uj6YMa`gG?3DIl@k$?@ES-l#>k5gDcTet(tvb*cnF z!!AA_E5jTSU>A$DDjWL#rwrX7cDO8*ZlS;BW9$jjqNPmrxJ_7wp_;uS^S?G{2H%v(D=n*8UT!$R>n?>KX$x!KmBLrEO zQ2xu3ujEgei}-#iAdSz%nb!qv-0V!kph`7LTw-9OmQ5s6a*%Vj7el@eq|3)lpwe+2 ztVy~F{okHKwzBwt5h_P5dX6w9ZBZW^(u(EBvM^L_D>gj+iRsSLbeDA(6kU#iT`Wa7${lSv7cTJx03!ekL<=?s5)>T1Xsvo5ZevM?5D3qmv7{{q^&( zXzv$dzgPw`wPr}L>mkNluabw#C&Mh+8@eR~Kx6S!5ob@FnwSRhR`bx;XoMF9?wD~^^fel`U{J_X+=^F2Mamd2>t4Q|f8#A@vye7_KbofEo{_$v#^BM!pv>}}rIC<7)_ z2GZG4k+>SBob>`_9>W*uR~5p5x3pqB8~ zQ(G8a`$zPL3$af+0R9q5tTF!`+1v1tE3AqkE4-hP=MgS^pk1o4V%2|4drdeOnDw1} zsV-x02UifCA2)<#+nK`Vec@b0n;p(9?G&^%h6=^&A_b?P2RJ2eDwygInho|u@@?~)qu`sD5RvYq(mU0P+4!BP$Z-|VfZ%yQQk3hTz)sX2y#iS#zkOW_= zAdZV`i1HdqC<&EB{ftN^JYGo7{k%_3oclt)Yg7<^ra)>lZjxM|7v#TE9pvt;CVQ?_ zldsz^5#<57rZr@f=TOwY7thA~?&KcG$RXDvB#~;E z!0KMfVQ{h{*St-ZtBdv{gEtkEy5pOOy6ZK5X}2TUF{qh1+^po;=@ycepGm%!ezHDl zS5A^9`Vob*RYdpHBy!0~j`I#_=B9D#f{IZ+A>3LamU;6Ig*w*ssx{l1 zUc{Dus3Mz<&hbI&c4S6!BsA(3;8rr8i?~+Cw2tbLP@RZjfH(wL<>BC+xgI4QbK1$G7RO5uA&n*@Y=YXur3X`=e(fXzeQyPGwINoFAhy&icHx&ip(v&NT$?{!01mwBw$Dk94eL{J565PV3{Y^mvh_pba+QFwq=^o>!(={zw;(MIZ2=iWbJM(}7%- zF1C5ga2NAdkmg@t#@vvbR+jyVGt=!6o?SCiTjygOFAZp5G`WF8Ezawi~~ctu4&)MW78ElGt&a2 z7mo+0a|8$WiCGo%9T@mhi%2e(hVsyP+}isKMIO~iq>Fpeub*u5>z+--E0Jd^x5f`) zU+Y*|ktGykRoSES--tOcaxoXhBJXb@Gtrs~L*-rI%}212@6Pk z^M=G-%-ywJAD_?NBE;5Rm|JBlG@M9fQ!jUu=1LV@x-*>FsH@RGYcJC5akr?G;dnYO zEru-Fok-p9E~Cd@D%tq@<R2V9~!`wi$0+Qyay?haYO5IW5{)C z=^{-}teHdqH7=k9r+jJF4oCWNwg(N_xm`BLROesrn) za{5?&Ox*yn*HST)nu$LfR{GIxM||m-=p{5fX$rNQw~XFy_oYMbd(xsCzO=S+GS#S9 zMtkL#QQmqPJ!jxY%iGo1;p1q7NvRpRxz>XWqSUxx&iy~5?t8os) zTbl4>_E+c+;PKf$94^sSNFJg}Khzzd@%Dza-ZhEV$V{ZY!#7Z6mmzf3dr8WfY18#5 zW$EaSIU;Xz4)q*lOPg%d^4B)}MZJd+T@Y?VU!K|7~2X4GV{WcD^ zc{K1C{UWj?vfdKTCUp&`Cz;93UAKF$+QE&_8TX%hVQw2vTX%_=1L*!$ehbcOdXhQ{(r1ICyoDG+h^^* zDUI`wm;)}4|WY{!%P{KSLNyiR*ko}Aow?&b$| zez)c;KKke^cK?kZoAXbaAC|U>cS*Ejqbe;~LA^1%IY2q@E72BYk56E$EX>&_2Pani zT8dA8X2YBf=CFGm+AOVmIExxv&-dwDv;RI2)_Qja+uYxlML#oOl`NB6bKZ{aTso7L zZ=S?HD`>GZGv{(8eb#J&xjk!pIh~a${o{YjuH_149N1(t3pQGL7JG8afkoSt@{8tA zXPvf|Y{)!ocCx^doeP`BieBH!Tj3>LMYF&^ycoiq?DQC>9AZP* zJO0+E-~5x`^La<(cy|58Aa-0`o{hdao^`A>Who!8So_=0V85~w_%9nza|K=#`CPNu zyog&y>{?JWztlkVD7L5(@1zc1O7jtO84({k{YwaDw3>Oq}^A7fB-C_0om_JE;){0Mj+deHq4>XJ5 zmstL8tUp0(D)UgyWY2f4;@ii3;3bFFpRfHrrK+>&>5qI zZP~|j?!NM68;rcz%8WP`zVIh|Iv|RlIN>>y^cucI(e&4yU!JjYZQd^-!EBX8-<3=BT~OA zoOM1L3zg|2V@GKrU8qrp_|Vf#{-@aU%C5mfqiwYJou8Pil@Qc}M$zBHx6_Vy@pNoO zFdc9(^ zxENZF(7bZA*F1sO$vQ}7R|BwsMtPl>m8->+FLk)Gg2$u_{{p)k4v)fokN z6J3p66_2s`M=h%3YSC--6f-o>!fSsm-t^TX;CD4F{3|i!`C056CiZ_qAEEc*WArvR zV3I}^M%p~V`ixq9G8Wm`AD?0V+*as(d;+t?8tge=i^^}cc)9io5>#j4b?_uyv`~S* z?LOSuv0u!N*&wfK9&T=!ho`SX#Penv3|84 zaK&d25=VujJpT+Xzdi&H6MHBO+XTg5aTxjxRCjkdhTRFGYkc+ToKP?N@Wx;0v`64r z@g+78BYY)SE%0&#c-huu1525^Y6kgqq#ZFa`U!ZUp+7?H! zW#T@}7tiaD-X|dN@=-94SX`8e!J+CnILRg;q$L)^H;F8a>=9n!wB zXo!!2HFp4$m&75j;W})k<8Ux24!-44qBeaHb-z=Q9}|n4>W9&$8HYJOasPkKeeG0o z?@=rFPodYkuEU#n{dq;Qb(6Tl#!Gztp9|cOb-VeMZ+p1uKSGI7s5)slRm(|u-r_E& zeC8YtQ;4zk09@(m%dKmQ6LT~oBX9CVv@F*Lv$;-`&X~g^b};^1^^L7F>Lg1HFEQ`_ zvxS^#-Xt?*AUg=?pU;95)cIN37?zdORtJLd$+lyqV3 zxZG(`8~bt7rX3a7mr|iJ_oxv6dny7ZPav5ox@75%v1H%t;bf-hZ3JtplPMX4$eloa z@+&h2FP}a|MrSAt@9%NQM|7X2nTn?!TGrN;kl+ z_G=hmJ&*T}@q_P_x7I;x1JEv`PwaOni@AMt0zy~)l`|?HnGR;M}{|Vd|`~9<$#Hi`qpF4XV@oOyBs zt{S(n=*4w0%l-nz18<_I?=rqj6!~u5w_ww86R+d0!ClPV|4h4u1#7Qi_&pvsX#w

    Cx-3Q5Cxl7I*RU$35H= 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∓np*LO%q0V`V+f2Q(+*dCgBr&!MQsGz~HYO2|k?z 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 YmE+s^|7ywh&#U~u0Uero#qGxb1MRQ?d;kCd literal 0 HcmV?d00001 diff --git a/src/uet/oop/bomberman/Board.java b/src/uet/oop/bomberman/Board.java index 86810e5..6b26a38 100644 --- a/src/uet/oop/bomberman/Board.java +++ b/src/uet/oop/bomberman/Board.java @@ -81,6 +81,12 @@ private void processAgentAction() { } catch (ActionOnCooldownException ex) { // Penalize the agent for spamming actions if (agent instanceof RewardBasedAgent) { + System.out.println( + "Character " + + agent.getCharacter().getClass().getSimpleName() + + " action on cooldown: " + + action.getClass().getSimpleName() + ); ((RewardBasedAgent)agent).addReward(-10); } } catch (CharacterActionException ignored) { diff --git a/src/uet/oop/bomberman/TrainAgent.java b/src/uet/oop/bomberman/TrainAgent.java index d37124c..e00e74b 100644 --- a/src/uet/oop/bomberman/TrainAgent.java +++ b/src/uet/oop/bomberman/TrainAgent.java @@ -17,7 +17,7 @@ private TrainAgent() { Global.currentScreen = EScreenName.GAME_PLAY_SCREEN; game.getBoard().setLevelManager(new LoopingLevelManager(game.getBoard())); game.headless = true; - // frame.setVisible(false); + frame.setVisible(false); Thread thread = new Thread(frame::start, "GameThread"); thread.start(); } diff --git a/src/uet/oop/bomberman/agent/ppo/PPOAgent.java b/src/uet/oop/bomberman/agent/ppo/PPOAgent.java index 3d8e6cf..0663e38 100644 --- a/src/uet/oop/bomberman/agent/ppo/PPOAgent.java +++ b/src/uet/oop/bomberman/agent/ppo/PPOAgent.java @@ -32,7 +32,7 @@ public PPOAgent(Character character, Board board, IStateExtractor stateExtractor stateExtractor.getDimension(), validActions.size(), 64, - 0.99f, + 0.97f, 0.95f, 3e-4f, 8, diff --git a/src/uet/oop/bomberman/agent/rl/PPO.java b/src/uet/oop/bomberman/agent/rl/PPO.java index 725b006..3584605 100644 --- a/src/uet/oop/bomberman/agent/rl/PPO.java +++ b/src/uet/oop/bomberman/agent/rl/PPO.java @@ -1,21 +1,17 @@ package uet.oop.bomberman.agent.rl; -import ai.djl.engine.Engine; import ai.djl.ndarray.NDArray; -import ai.djl.ndarray.NDArrays; import ai.djl.ndarray.NDList; import ai.djl.ndarray.NDManager; import ai.djl.ndarray.index.NDIndex; +import ai.djl.ndarray.types.DataType; import ai.djl.ndarray.types.Shape; -import ai.djl.nn.Parameter; import ai.djl.training.DefaultTrainingConfig; import ai.djl.training.GradientCollector; import ai.djl.training.Trainer; -import ai.djl.training.TrainingResult; import ai.djl.training.listener.TrainingListener; import ai.djl.training.loss.Loss; import ai.djl.translate.TranslateException; -import ai.djl.util.Pair; import uet.oop.bomberman.agent.rl.base.BaseGAE; import uet.oop.bomberman.agent.rl.dtypes.MemoryBatch; import uet.oop.bomberman.agent.rl.utils.ModelHelper; @@ -26,6 +22,8 @@ public class PPO extends BaseGAE { private final float ratio_lower_bound; private final float ratio_upper_bound; + private NDArray last_gradient_01 = null; + public PPO(int dim_of_state_space, int num_of_action, int hidden_size, float gamma, float gae_lambda, float learning_rate, int inner_updates, int inner_batch_size, float ratio_clip) { super(dim_of_state_space, num_of_action, hidden_size, gamma, gae_lambda, learning_rate); @@ -48,7 +46,10 @@ protected void updateModel(NDManager submanager) throws TranslateException { NDList net_output = trainer.evaluate(new NDList(states)); - NDArray distribution = ModelHelper.gather(net_output.get(0).duplicate(), actions.toIntArray()); + NDArray distribution = ModelHelper.gather( + net_output.get(0).duplicate(), + actions.toIntArray() + ); NDArray values = net_output.get(1).duplicate(); NDArray rewards = batch.getRewards(); @@ -56,27 +57,27 @@ protected void updateModel(NDManager submanager) throws TranslateException { NDArray expected_returns = estimates.get(0); NDArray advantages = estimates.get(1); - int[] index = new int[inner_batch_size]; - float rewardsValue = rewards.sum().getFloat(); - double lossValue = 0.0; + float lossValue = 0.0f; long iters = inner_updates * (1 + actions.size() / inner_batch_size); for (int i = 0; i < iters; i++) { - for (int j = 0; j < inner_batch_size; j++) { - index[j] = random.nextInt((int) actions.size()); - } + + NDArray index = manager.randomInteger(0, actions.size(), new Shape(inner_batch_size), DataType.INT32); - NDArray states_subset = getSample(submanager, states, index); - NDArray actions_subset = getSample(submanager, actions, index); - NDArray distribution_subset = getSample(submanager, distribution, index); - NDArray expected_returns_subset = getSample(submanager, expected_returns, index); - NDArray advantages_subset = getSample(submanager, advantages, index); + NDArray states_subset = states.get(index); + NDArray actions_subset = actions.get(index); + NDArray distribution_subset = distribution.get(index); + NDArray expected_returns_subset = expected_returns.get(index); + NDArray advantages_subset = advantages.get(index); try (GradientCollector collector = trainer.newGradientCollector()) { NDList net_output_updated = trainer.forward(new NDList(states_subset)); - NDArray distribution_updated = ModelHelper.gather(net_output_updated.get(0), actions_subset.toIntArray()); + NDArray distribution_updated = ModelHelper.gather( + net_output_updated.get(0), + actions_subset.toIntArray() + ); NDArray values_updated = net_output_updated.get(1); NDArray loss_critic = (expected_returns_subset.sub(values_updated.squeeze())).square().mean(); @@ -87,19 +88,35 @@ protected void updateModel(NDManager submanager) throws TranslateException { NDArray loss_actor = td_objective.minimum(clipped_td_objective).mean(); NDArray distribution_entropy = net_output_updated.get(0).mul( - net_output_updated.get(0).add(new Float(1e-2)).log() + net_output_updated.get(0).add(1e-2).log() ).sum().neg(); NDArray loss = loss_critic; loss = loss.sub(loss_actor); loss = loss.sub(distribution_entropy.mul(0.05)); - double _loss = loss.getDouble(); - collector.backward(loss); + float _loss = 0.0f; + try { + _loss = (float) loss.getDouble(); + } catch (IllegalStateException ex) { + ex.printStackTrace(); + _loss = loss.getFloat(); + } lossValue += _loss; + NDArray gradient = model.getBlock() + .getChildren().get(1).getValue() + .getParameters().get(0).getValue() + .getArray() + .getGradient() + .duplicate(); + if (gradient.isNaN().any().getBoolean() || gradient.isInfinite().any().getBoolean()) { + throw new IllegalStateException(); + } + last_gradient_01 = gradient; + trainer.step(); } } @@ -111,6 +128,8 @@ protected void updateModel(NDManager submanager) throws TranslateException { System.out.println("Avg loss: " + lossValue / iters); System.out.println("Total rewards: " + rewardsValue); + System.out.println(); + } } diff --git a/src/uet/oop/bomberman/agent/rl/base/BaseGAE.java b/src/uet/oop/bomberman/agent/rl/base/BaseGAE.java index 4cf40a0..ddea99b 100644 --- a/src/uet/oop/bomberman/agent/rl/base/BaseGAE.java +++ b/src/uet/oop/bomberman/agent/rl/base/BaseGAE.java @@ -56,7 +56,6 @@ public BaseGAE(int dim_of_state_space, int num_of_action, int hidden_size, float this.hidden_size = hidden_size; this.optimizer = Optimizer.adam() .optLearningRateTracker(Tracker.fixed(learning_rate)) - .optClipGrad(1.0f) .build(); this.reset(); } diff --git a/src/uet/oop/bomberman/agent/rl/model/DistributionValueModel.java b/src/uet/oop/bomberman/agent/rl/model/DistributionValueModel.java index 8a85fcc..91243cb 100644 --- a/src/uet/oop/bomberman/agent/rl/model/DistributionValueModel.java +++ b/src/uet/oop/bomberman/agent/rl/model/DistributionValueModel.java @@ -22,10 +22,17 @@ public class DistributionValueModel extends BaseModel { private static final float LAYERNORM_MOMENTUM = 0.9999f; private static final float LAYERNORM_EPSILON = 1e-5f; + private final Block linear_input; private final Block linear_action; private final Block linear_value; + public NDArray last_linear_input; + public NDArray last_linear_action; + public NDArray last_linear_action_norm; + public NDArray last_linear_action_dist; + public NDArray last_linear_value; + private final int hidden_size; private final int output_size; private final Parameter gamma; @@ -85,11 +92,18 @@ protected NDList forwardInternal(ParameterStore parameter_store, NDList inputs, PairList params) { NDList hidden = linear_input.forward(parameter_store, inputs, training); - NDArray scores = linear_action.forward(parameter_store, hidden, training).singletonOrThrow(); - scores = normalize(scores); - NDArray distribution = scores.softmax(scores.getShape().dimension() - 1); + last_linear_input = hidden.singletonOrThrow(); + + NDArray output_action = linear_action.forward(parameter_store, hidden, training).singletonOrThrow(); + last_linear_action = output_action; + // output_action = normalize(output_action, training); + // last_linear_action_norm = output_action; + + NDArray distribution = output_action.softmax(output_action.getShape().dimension() - 1); + last_linear_action_dist = distribution; NDArray value = linear_value.forward(parameter_store, hidden, training).singletonOrThrow(); + last_linear_value = value; return new NDList(distribution, value); } @@ -112,20 +126,25 @@ public void initializeChildBlocks(NDManager manager, DataType data_type, Shape.. beta.initialize(manager, data_type); } - private NDArray normalize(NDArray arr) { - float score_mean = arr.mean().getFloat(); - float score_var = arr.sub(score_mean).pow(2).mean().getFloat(); - if (isFirstUpdate) { - moving_mean = score_mean; - moving_var = score_var; - isFirstUpdate = false; - } else { - moving_mean = moving_mean * LAYERNORM_MOMENTUM + score_mean * (1.0f - LAYERNORM_MOMENTUM); - moving_var = moving_var * LAYERNORM_MOMENTUM + score_var * (1.0f - LAYERNORM_MOMENTUM); - } + private NDArray normalize(NDArray arr, boolean training) { + int last_dimension = arr.getShape().dimension() - 1; + NDArray score_mean = arr.mean(new int[]{last_dimension}).expandDims(last_dimension); + NDArray score_var = arr.sub(score_mean).pow(2) + .mean(new int[]{last_dimension}) + .expandDims(last_dimension); + // float score_mean = arr.mean().getFloat(); + // float score_var = arr.sub(score_mean).pow(2).mean().getFloat(); + // if (isFirstUpdate) { + // moving_mean = score_mean; + // moving_var = score_var; + // isFirstUpdate = false; + // } else { + // moving_mean = moving_mean * LAYERNORM_MOMENTUM + score_mean * (1.0f - LAYERNORM_MOMENTUM); + // moving_var = moving_var * LAYERNORM_MOMENTUM + score_var * (1.0f - LAYERNORM_MOMENTUM); + // } return arr - .sub(moving_mean) - .div(Math.sqrt(moving_var + LAYERNORM_EPSILON)) + .sub(score_mean) + .div(score_var.add(LAYERNORM_EPSILON).sqrt()) .mul(gamma.getArray()) .add(beta.getArray()); } diff --git a/src/uet/oop/bomberman/agent/state/NaivePlayerStateExtractor.java b/src/uet/oop/bomberman/agent/state/NaivePlayerStateExtractor.java index dea3a75..615a469 100644 --- a/src/uet/oop/bomberman/agent/state/NaivePlayerStateExtractor.java +++ b/src/uet/oop/bomberman/agent/state/NaivePlayerStateExtractor.java @@ -17,6 +17,7 @@ public class NaivePlayerStateExtractor extends PlayerStateExtractor { + private static final float EPSILON = 0.01f; private static final int FIELD_OF_VISION = 5; public NaivePlayerStateExtractor(Character player) { @@ -54,13 +55,13 @@ public float[] getEmbedding(Board board) { addSurroundingTileMask(board, embedding, currentIndex, this::isFlame); addSurroundingTileMask(board, embedding, currentIndex, this::isDestroyable); - embedding[currentIndex.getAndIncrement()] = board.getGameInfoManager().getTime(); + embedding[currentIndex.getAndIncrement()] = board.getGameInfoManager().getTime() * 1.0f / Game.TIME; for (Action action: player.getValidActions()) { if (player.canPerformAction(action)) { embedding[currentIndex.getAndIncrement()] = 1; } else { - embedding[currentIndex.getAndIncrement()] = 0; + embedding[currentIndex.getAndIncrement()] = EPSILON; } } @@ -72,7 +73,10 @@ private void addSurroundingTileMask(Board board, float[] embedding, AtomicIntege for (int dx = -FIELD_OF_VISION / 2; dx <= FIELD_OF_VISION / 2; dx++) { int x = player.getXTile() + dx; int y = player.getYTile() + dy; - float value = predicate.test(board, x + dx, y + dy); + float value = predicate.test(board, x, y); + if (value == 0) { + value += EPSILON; + } embedding[currentIndex.getAndIncrement()] = value; } } diff --git a/src/uet/oop/bomberman/level/FileLevelLoader.java b/src/uet/oop/bomberman/level/FileLevelLoader.java index be09c61..fccf6d2 100644 --- a/src/uet/oop/bomberman/level/FileLevelLoader.java +++ b/src/uet/oop/bomberman/level/FileLevelLoader.java @@ -2,6 +2,7 @@ import java.io.BufferedReader; import java.io.FileReader; +import java.io.IOException; import java.util.ArrayList; import java.util.List; import uet.oop.bomberman.Board; @@ -10,6 +11,9 @@ import uet.oop.bomberman.agent.KeyboardAgentPlayer1; import uet.oop.bomberman.agent.KeyboardAgentPlayer2; import uet.oop.bomberman.agent.MovingAgent; +import uet.oop.bomberman.agent.base.Agent; +import uet.oop.bomberman.agent.ppo.NaivePPOAgent; +import uet.oop.bomberman.agent.ppo.PPOAgent; import uet.oop.bomberman.entities.LayeredEntity; import uet.oop.bomberman.entities.character.Bomber; import uet.oop.bomberman.entities.character.Bomber2; @@ -136,7 +140,9 @@ public void createEntities() { if (Global.gameMode == EGameMode.TWO_PLAYER) { agent = new KeyboardAgentPlayer1(bomber); } else { - agent = new KeyboardAgent(bomber); + PPOAgent ppoAgent = new NaivePPOAgent(bomber, _board); + ppoAgent.load(); + agent = ppoAgent; } _board.addAgent(agent); break; From 76a0a8d1c9c1e162e4dd951f84a4864d4aea82c3 Mon Sep 17 00:00:00 2001 From: phuonnngminh Date: Mon, 10 Jun 2024 05:41:34 +0000 Subject: [PATCH 87/93] add flag to use AI Player --- src/uet/oop/bomberman/TrainAgent.java | 1 + src/uet/oop/bomberman/level/FileLevelLoader.java | 4 +++- src/uet/oop/bomberman/utils/Global.java | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/uet/oop/bomberman/TrainAgent.java b/src/uet/oop/bomberman/TrainAgent.java index e00e74b..ae78c02 100644 --- a/src/uet/oop/bomberman/TrainAgent.java +++ b/src/uet/oop/bomberman/TrainAgent.java @@ -12,6 +12,7 @@ public static void main(String[] args) { } private TrainAgent() { + Global.isAIPlayer = true; Frame frame = new Frame(); Game game = frame._gamepane.getGame(); Global.currentScreen = EScreenName.GAME_PLAY_SCREEN; diff --git a/src/uet/oop/bomberman/level/FileLevelLoader.java b/src/uet/oop/bomberman/level/FileLevelLoader.java index fccf6d2..7880979 100644 --- a/src/uet/oop/bomberman/level/FileLevelLoader.java +++ b/src/uet/oop/bomberman/level/FileLevelLoader.java @@ -139,10 +139,12 @@ public void createEntities() { // if if (Global.gameMode == EGameMode.TWO_PLAYER) { agent = new KeyboardAgentPlayer1(bomber); - } else { + } else if (Global.isAIPlayer) { PPOAgent ppoAgent = new NaivePPOAgent(bomber, _board); ppoAgent.load(); agent = ppoAgent; + } else { + agent = new KeyboardAgent(bomber); } _board.addAgent(agent); break; diff --git a/src/uet/oop/bomberman/utils/Global.java b/src/uet/oop/bomberman/utils/Global.java index 4e7a2c8..847990b 100644 --- a/src/uet/oop/bomberman/utils/Global.java +++ b/src/uet/oop/bomberman/utils/Global.java @@ -11,4 +11,6 @@ public class Global { public static int gameLevel = 1; public static EGameMode gameMode = EGameMode.ONE_PLAYER; public static int enemies = 0; + + public static boolean isAIPlayer = false; } From 62abbc63e9fd62975071312517bb91b2b096fd07 Mon Sep 17 00:00:00 2001 From: phuonnngminh Date: Mon, 10 Jun 2024 06:14:58 +0000 Subject: [PATCH 88/93] down version pytorch --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 9d5b440..c87a7a2 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ UTF-8 0.28.0 - 2.3.0 + 2.2.2 2.11.2 From bf7303d1f0d584db5f35b60bc475984a342e4460 Mon Sep 17 00:00:00 2001 From: Huy010302 <111289985+Huy010302@users.noreply.github.com> Date: Mon, 17 Jun 2024 09:22:18 +0700 Subject: [PATCH 89/93] BackScreenButton --- models/PPO.params | Bin 61965 -> 61965 bytes res/menu/pointer.png | Bin 1936 -> 1579 bytes .../entities/character/enemy/ai/AILow.java | 1 + src/uet/oop/bomberman/input/Keyboard.java | 6 ++ .../bomberman/manager/CharacterManager.java | 6 ++ src/uet/oop/bomberman/screen/DeadScreen.java | 54 ++++++++++-------- .../bomberman/screen/SelectLevelScreen.java | 24 +++++--- src/uet/oop/bomberman/utils/EGameControl.java | 1 + src/uet/oop/bomberman/utils/EGameLevel.java | 3 +- src/uet/oop/bomberman/utils/Global.java | 2 +- 10 files changed, 64 insertions(+), 33 deletions(-) diff --git a/models/PPO.params b/models/PPO.params index 64833eb499008d1752e560fe9b5bf69dae76eabe..0ef743a5dcc0fa25ecd51195dbadf195606693cb 100644 GIT binary patch delta 40923 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

    ~KvwZtRMrQ=c84=I^|BGmw+JlPLts4& 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 diff --git a/res/menu/pointer.png b/res/menu/pointer.png index 4c52f73e5a8423fd39509fdac234fc7eda608550..eb180344e8ab150d8594396bee78062e73c291c1 100644 GIT binary patch delta 1562 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 Hu0mjf9x#Tt diff --git a/src/uet/oop/bomberman/entities/character/enemy/ai/AILow.java b/src/uet/oop/bomberman/entities/character/enemy/ai/AILow.java index c0bcd79..19d9993 100644 --- a/src/uet/oop/bomberman/entities/character/enemy/ai/AILow.java +++ b/src/uet/oop/bomberman/entities/character/enemy/ai/AILow.java @@ -9,3 +9,4 @@ public int calculateDirection() { } } + \ No newline at end of file diff --git a/src/uet/oop/bomberman/input/Keyboard.java b/src/uet/oop/bomberman/input/Keyboard.java index 856f52b..88b8604 100644 --- a/src/uet/oop/bomberman/input/Keyboard.java +++ b/src/uet/oop/bomberman/input/Keyboard.java @@ -35,6 +35,8 @@ public interface KeyboardInputCallback { public boolean player1_up, player1_down, player1_left, player1_right, player1_bomb; public boolean player2_up, player2_down, player2_left, player2_right, player2_bomb; + public boolean back; + public void update() { up = keys[KeyEvent.VK_UP] || keys[KeyEvent.VK_W]; down = keys[KeyEvent.VK_DOWN] || keys[KeyEvent.VK_S]; @@ -46,6 +48,7 @@ public void update() { pause = keys[KeyEvent.VK_ESCAPE]; resume = keys[KeyEvent.VK_ENTER]; + back = keys[KeyEvent.VK_B]; // Player 1 player1_up = keys[KeyEvent.VK_W]; @@ -90,6 +93,9 @@ private EGameControl keyToGameControl(int keyCode) { if (keyCode == KeyEvent.VK_X) { return EGameControl.X; } + if (keyCode == KeyEvent.VK_B) { + return EGameControl.BACK; + } return EGameControl.NONE; } diff --git a/src/uet/oop/bomberman/manager/CharacterManager.java b/src/uet/oop/bomberman/manager/CharacterManager.java index 453ae83..9dd28f4 100644 --- a/src/uet/oop/bomberman/manager/CharacterManager.java +++ b/src/uet/oop/bomberman/manager/CharacterManager.java @@ -7,6 +7,7 @@ import java.util.stream.Collectors; import uet.oop.bomberman.Game; +import uet.oop.bomberman.base.IBombManager; import uet.oop.bomberman.base.ICharacterManager; import uet.oop.bomberman.base.IGameInfoManager; import uet.oop.bomberman.base.ILevelManager; @@ -131,4 +132,9 @@ public List getCharacters() { return characters; } + @Override + public IBombManager getBombManager() { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'getBombManager'"); + } } diff --git a/src/uet/oop/bomberman/screen/DeadScreen.java b/src/uet/oop/bomberman/screen/DeadScreen.java index 04e28cf..2906aca 100644 --- a/src/uet/oop/bomberman/screen/DeadScreen.java +++ b/src/uet/oop/bomberman/screen/DeadScreen.java @@ -1,4 +1,5 @@ package uet.oop.bomberman.screen; + import uet.oop.bomberman.Game; import uet.oop.bomberman.gui.GameScreen; import uet.oop.bomberman.input.Keyboard; @@ -18,8 +19,9 @@ public class DeadScreen extends GameScreen { private BufferedImage homeIcon; private BufferedImage backgroundImage; private BufferedImage gameover; + public DeadScreen(Game game) { - this.game = game; + this.game = game; options.add("Restart"); options.add("Back Home"); try { @@ -65,6 +67,7 @@ public void onKeyPressed(EGameControl gameControl) { } }); } + private BufferedImage resizeImage(BufferedImage originalImage, int targetWidth, int targetHeight) { BufferedImage resizedImage = new BufferedImage(targetWidth, targetHeight, BufferedImage.TYPE_INT_ARGB); Graphics2D g2d = resizedImage.createGraphics(); @@ -72,6 +75,7 @@ private BufferedImage resizeImage(BufferedImage originalImage, int targetWidth, g2d.dispose(); return resizedImage; } + // Rest of the class remains unchanged private BufferedImage colorizeIcon(BufferedImage icon, Color color) { BufferedImage newIcon = new BufferedImage(icon.getWidth(), icon.getHeight(), BufferedImage.TYPE_INT_ARGB); @@ -90,7 +94,7 @@ private BufferedImage colorizeIcon(BufferedImage icon, Color color) { @Override public void drawScreen(Graphics g) { - + if (backgroundImage != null) { g.drawImage(backgroundImage, 0, 0, Global.screenWidth, Global.screenHeight, null); } else { @@ -102,7 +106,8 @@ public void drawScreen(Graphics g) { drawTIMES(g, game.getBoard().getGameInfoManager().getTime()); drawOptions(g); drawSelector(g); - g.drawImage(gameover, Global.screenWidth/3 + 40, Global.screenHeight/2 + 80, 50*Game.SCALE, 50*Game.SCALE, null); + g.drawImage(gameover, Global.screenWidth / 3 + 40, Global.screenHeight / 2 + 80, 50 * Game.SCALE, + 50 * Game.SCALE, null); } private void drawTitle(Graphics g) { @@ -118,9 +123,9 @@ private void drawTitle(Graphics g) { g.drawString(title, x, y); } - private void drawPOINTS(Graphics g,int points) - { - String Point = "POINTS: " + points; + + private void drawPOINTS(Graphics g, int points) { + String Point = "POINTS: " + points; Font font = new Font("Arial", Font.BOLD, 6 * Game.SCALE); g.setFont(font); g.setColor(Color.BLACK); @@ -134,9 +139,9 @@ private void drawPOINTS(Graphics g,int points) g.drawString(Point, x, y); } - private void drawTIMES(Graphics g,int times) - { - String Point = "TIME : " + times; + + private void drawTIMES(Graphics g, int times) { + String Point = "TIME : " + times / Game.TICKS_PER_SECOND; Font font = new Font("Arial", Font.BOLD, 6 * Game.SCALE); g.setFont(font); g.setColor(Color.BLACK); @@ -150,44 +155,45 @@ private void drawTIMES(Graphics g,int times) g.drawString(Point, x, y); } + private void drawOptions(Graphics g) { int w = Global.screenWidth; int h = Global.screenHeight; int iconHeight = restartIcon.getHeight(); - int marginTop = (h - iconHeight + 50) / (2); - - int spacing = 70; + int marginTop = (h - iconHeight + 50) / (2); + + int spacing = 70; int totalOptionsWidth = restartIcon.getWidth() + spacing + homeIcon.getWidth(); - + int startX = (w - totalOptionsWidth) / 2; - + g.drawImage(restartIcon, startX, marginTop, null); - + int homeIconX = startX + restartIcon.getWidth() + spacing; g.drawImage(homeIcon, homeIconX, marginTop, null); } - + private void drawSelector(Graphics g) { int w = Global.screenWidth; int h = Global.screenHeight; int iconHeight = restartIcon.getHeight(); - int marginTop = (h - iconHeight) / 2; - - int spacing = 80; + int marginTop = (h - iconHeight) / 2; + + int spacing = 80; int totalOptionsWidth = restartIcon.getWidth() + spacing + homeIcon.getWidth(); - + int startX = (w - totalOptionsWidth) / 2; - + int selectorX = selectorIndex == 0 ? startX - 20 : startX + restartIcon.getWidth() + spacing - 30; - int y = marginTop + (iconHeight / 2) + 35; - + int y = marginTop + (iconHeight / 2) + 35; + g.drawString(">", selectorX, y); } - @Override public void update() { } + @Override public void onDestroy() { } diff --git a/src/uet/oop/bomberman/screen/SelectLevelScreen.java b/src/uet/oop/bomberman/screen/SelectLevelScreen.java index e609d60..dc31fdc 100644 --- a/src/uet/oop/bomberman/screen/SelectLevelScreen.java +++ b/src/uet/oop/bomberman/screen/SelectLevelScreen.java @@ -31,6 +31,7 @@ public SelectLevelScreen(Board board, Frame frame) { levels.add(EGameLevel.EASY.getStringLevel()); levels.add(EGameLevel.MEDIUM.getStringLevel()); levels.add(EGameLevel.HARD.getStringLevel()); + levels.add(EGameLevel.BACK.getStringLevel()); try { backgroundImage = ImageIO.read(getClass().getResource("/menu/bgBombman.png")); @@ -54,9 +55,18 @@ public void onKeyPressed(EGameControl gameControl) { selectorIndex++; break; case ENTER: - Global.gameLevel = selectorIndex + 1; - _board.getLevelManager().loadGlobalLevel(); - Global.currentScreen = EScreenName.GAME_PLAY_SCREEN; + if (selectorIndex == levels.size() - 1) { + Global.currentScreen = EScreenName.SELECT_GAME_MODE; + } else { + Global.gameLevel = selectorIndex + 1; + _board.getLevelManager().loadGlobalLevel(); + Global.currentScreen = EScreenName.GAME_PLAY_SCREEN; + } + _frame.loadInfo(); + onDestroy(); + break; + case BACK: + Global.currentScreen = EScreenName.SELECT_GAME_MODE; _frame.loadInfo(); onDestroy(); break; @@ -96,7 +106,7 @@ private void drawTitle(Graphics g, String title) { GradientText gradientText = new GradientText(font, color1, color2, color3); gradientText.draw((Graphics2D) g, title, (Global.screenWidth - g.getFontMetrics().stringWidth(title)) / 5, - 130); + 80); } private void drawOptions(Graphics g) { @@ -120,7 +130,7 @@ private void drawOptions(Graphics g) { String mode = levels.get(i); int x = (w - fm.stringWidth(mode)) / 2; - int y = marginTop + (textHeight + spacing) * i - 20; + int y = marginTop + (textHeight + spacing) * i - 50; if (i == selectorIndex) { g.setColor(Color.YELLOW); @@ -145,9 +155,9 @@ private void drawSelector(Graphics g) { int boxHeight = textHeight * this.levels.size(); int marginTop = (h - boxHeight) / 2; - int spacing = 9 * Game.SCALE; // Khoảng cách giống như trong drawOptions + int spacing = 9 * Game.SCALE; int x = (w - fm.stringWidth(level)) / 2 - 50; // Đặt vị trí mũi tên ở bên trái văn bản - int y = marginTop + fm.getAscent() + (textHeight + spacing) * selectorIndex - 28; + int y = marginTop + fm.getAscent() + (textHeight + spacing) * selectorIndex - 60; g.drawImage(pointerImage, x, y - fm.getAscent(), null); } diff --git a/src/uet/oop/bomberman/utils/EGameControl.java b/src/uet/oop/bomberman/utils/EGameControl.java index 4d1e3f8..c2e51b7 100644 --- a/src/uet/oop/bomberman/utils/EGameControl.java +++ b/src/uet/oop/bomberman/utils/EGameControl.java @@ -9,4 +9,5 @@ public enum EGameControl { ENTER, SPACE, X, + BACK, } diff --git a/src/uet/oop/bomberman/utils/EGameLevel.java b/src/uet/oop/bomberman/utils/EGameLevel.java index 7644772..9fcdc22 100644 --- a/src/uet/oop/bomberman/utils/EGameLevel.java +++ b/src/uet/oop/bomberman/utils/EGameLevel.java @@ -3,7 +3,8 @@ public enum EGameLevel { EASY("Easy"), MEDIUM("Medium"), - HARD("Hard"); + HARD("Hard"), + BACK("Back (B)"); private final String level; diff --git a/src/uet/oop/bomberman/utils/Global.java b/src/uet/oop/bomberman/utils/Global.java index 847990b..a9bd1c2 100644 --- a/src/uet/oop/bomberman/utils/Global.java +++ b/src/uet/oop/bomberman/utils/Global.java @@ -11,6 +11,6 @@ public class Global { public static int gameLevel = 1; public static EGameMode gameMode = EGameMode.ONE_PLAYER; public static int enemies = 0; - + public static boolean isAIPlayer = false; } From 8c32601a196b654dbcff6f2e22d60ce8b5ae1fe7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ph=C6=B0=C6=A1ng=20Minh?= <113281373+phuonnngminh@users.noreply.github.com> Date: Mon, 17 Jun 2024 15:31:28 +0700 Subject: [PATCH 90/93] add outline for text --- .../oop/bomberman/screen/GradientText.java | 41 +++++++++++-------- .../screen/SelectGameModeScreen.java | 39 +++++++++++++----- 2 files changed, 52 insertions(+), 28 deletions(-) diff --git a/src/uet/oop/bomberman/screen/GradientText.java b/src/uet/oop/bomberman/screen/GradientText.java index 93388e7..9c7064a 100644 --- a/src/uet/oop/bomberman/screen/GradientText.java +++ b/src/uet/oop/bomberman/screen/GradientText.java @@ -5,11 +5,14 @@ import java.awt.font.TextLayout; import java.awt.geom.AffineTransform; import java.awt.geom.Rectangle2D; +import java.awt.font.FontRenderContext; +import java.awt.font.GlyphVector; public class GradientText { - private Font font; - private Color color1, color2, color3; + private Color color1; + private Color color2; + private Color color3; public GradientText(Font font, Color color1, Color color2, Color color3) { this.font = font; @@ -19,22 +22,24 @@ public GradientText(Font font, Color color1, Color color2, Color color3) { } public void draw(Graphics2D g2d, String text, int x, int y) { - g2d.setFont(font); - - FontMetrics fm = g2d.getFontMetrics(); - - // Create LinearGradientPaint - float[] fractions = { 0.0f, 0.5f, 1.0f }; - Color[] colors = { color1, color2, color3 }; - LinearGradientPaint gradient = new LinearGradientPaint(0, 0, fm.stringWidth(text), 0, fractions, colors); - - g2d.setPaint(gradient); - FontRenderContext frc = g2d.getFontRenderContext(); - TextLayout textLayout = new TextLayout(text, font, frc); - Rectangle2D bounds = textLayout.getBounds(); - Shape shape = textLayout.getOutline(AffineTransform.getTranslateInstance(x, y + bounds.getHeight())); - - g2d.fill(shape); + GlyphVector gv = font.createGlyphVector(frc, text); + Shape outline = gv.getOutline(x, y); + + Rectangle bounds = outline.getBounds(); + GradientPaint gradientPaint1 = new GradientPaint( + bounds.x, bounds.y, color1, + bounds.x + bounds.width / 2f, bounds.y, color2); + GradientPaint gradientPaint2 = new GradientPaint( + bounds.x + bounds.width / 2f, bounds.y, color2, + bounds.x + bounds.width, bounds.y, color3); + + // Draw first half of the text + g2d.setPaint(gradientPaint1); + g2d.fill(outline); + + // Draw second half of the text + g2d.setPaint(gradientPaint2); + g2d.fill(outline); } } diff --git a/src/uet/oop/bomberman/screen/SelectGameModeScreen.java b/src/uet/oop/bomberman/screen/SelectGameModeScreen.java index 802edd8..b6bc77a 100644 --- a/src/uet/oop/bomberman/screen/SelectGameModeScreen.java +++ b/src/uet/oop/bomberman/screen/SelectGameModeScreen.java @@ -11,6 +11,8 @@ import java.io.IOException; import java.util.ArrayList; import java.util.Optional; +import java.awt.font.FontRenderContext; +import java.awt.font.GlyphVector; public class SelectGameModeScreen extends GameScreen { ArrayList gameModes = new ArrayList(); @@ -64,6 +66,7 @@ public void onKeyPressed(EGameControl gameControl) { }); } + @Override public void drawScreen(Graphics g) { // set background @@ -80,20 +83,36 @@ public void drawScreen(Graphics g) { } private void drawTitle(Graphics g, String title) { - Font font = new Font("Minecraft", Font.BOLD, 20 * Game.SCALE); + Graphics2D g2d = (Graphics2D) g; + g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); + Font font = new Font("Minecraft", Font.BOLD, 20 * Game.SCALE); - // Tạo màu gradient với 3 màu - Color color1 = Color.RED; - Color color2 = Color.ORANGE; - Color color3 = Color.YELLOW; + // Create gradient colors + Color color1 = Color.RED; + Color color2 = Color.ORANGE; + Color color3 = Color.YELLOW; - // Tạo đối tượng GradientText - GradientText gradientText = new GradientText(font, color1, color2, color3); + // Create GradientText object + GradientText gradientText = new GradientText(font, color1, color2, color3); - // Vẽ văn bản gradient bằng cách sử dụng GradientText - gradientText.draw((Graphics2D) g, title, (Global.screenWidth - g.getFontMetrics().stringWidth(title)) / 15, + // Calculate the position for the title + int x = (Global.screenWidth - g.getFontMetrics().stringWidth(title)) / 15; + int y = 190; + + // Draw the gradient text + gradientText.draw((Graphics2D) g, title, (Global.screenWidth - g.getFontMetrics().stringWidth(title)) / 15, 190); - } + + // Create outline for the text + FontRenderContext frc = g2d.getFontRenderContext(); + GlyphVector gv = font.createGlyphVector(frc, title); + Shape outline = gv.getOutline(x, y); + + // Draw the outline + g2d.setColor(Color.BLACK); + g2d.draw(outline); +} + private void drawOptions(Graphics g) { Font font = new Font("Minecraft", Font.PLAIN, 10 * Game.SCALE); From 36f064bba6aeb96b42a1b7c5399ba8ad55c1d052 Mon Sep 17 00:00:00 2001 From: Huy010302 <111289985+Huy010302@users.noreply.github.com> Date: Thu, 20 Jun 2024 05:03:33 +0700 Subject: [PATCH 91/93] fix number enemy and number item in map --- models/PPO.params | Bin 61965 -> 61965 bytes res/levels/Level1P_1.txt | 6 +++--- res/levels/Level1P_3.txt | 4 ++-- res/levels/Level2P_1.txt | 8 ++++---- res/levels/Level2P_3.txt | 8 ++++---- .../bomberman/manager/CharacterManager.java | 7 +++++++ .../oop/bomberman/manager/LevelManager.java | 4 ++-- src/uet/oop/bomberman/utils/EGameLevel.java | 6 +++--- src/uet/oop/bomberman/utils/EGameMode.java | 4 ++-- src/uet/oop/bomberman/utils/Global.java | 2 +- 10 files changed, 28 insertions(+), 21 deletions(-) diff --git a/models/PPO.params b/models/PPO.params index 64833eb499008d1752e560fe9b5bf69dae76eabe..ebcd6019c3b7bb4c00418cf5079c034b22788d02 100644 GIT binary patch delta 40923 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ⓈYw}N{& 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 delta 40923 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

    ~KvwZtRMrQ=c84=I^|BGmw+JlPLts4& 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 bb)C|%n`+|p#vB^DQ(D;VKQyagZTbHJ@O`Iv diff --git a/res/levels/Level1P_1.txt b/res/levels/Level1P_1.txt index 66c684f..38171c0 100644 --- a/res/levels/Level1P_1.txt +++ b/res/levels/Level1P_1.txt @@ -2,11 +2,11 @@ ############################### #p * s* * 1 * * * * * # # # # #*# # #*#*# # # #*#*#*# # -# x* b** * * * * # +# f* b** * * * * # #f# # # # #*# # #*#*# # # # #*# -# x ** * * # +# x ** * *1 # # # # # # # # # # #*# #*# # # # -#* * * * * # +#* b * * * # # # # # #*# # # #*#*# # # # # # #* ** * * # # #*# # # # # # #*# # # # # # # diff --git a/res/levels/Level1P_3.txt b/res/levels/Level1P_3.txt index d4db7f3..7aef208 100644 --- a/res/levels/Level1P_3.txt +++ b/res/levels/Level1P_3.txt @@ -7,8 +7,8 @@ # * * ** * **# # # #*# 3 # # # #*#*#*#*# # # # # * * * *x* * 4 # -# # # # #*# # # # # # #*# #*# # +# # # # #*#4# # # # # #*# #*# # # ***3 *2 # # # # # # # # # # #*# # # # #*# -# **4 ** * 5 # +# ** ** * 5 # ############################### diff --git a/res/levels/Level2P_1.txt b/res/levels/Level2P_1.txt index b8d79eb..4553efc 100644 --- a/res/levels/Level2P_1.txt +++ b/res/levels/Level2P_1.txt @@ -1,12 +1,12 @@ 1 13 31 ############################### -#p s* * 1 * * * * * # +#p * s* * 1 * * * * * # # # # #*# # #*#*# # # #*#*#*# # -# x* b** * * * * # +# f* b** * * * * # #f# # # # #*# # #*#*# # # # #*# -# x ** * * # +# x ** * *1 # # # # # # # # # # #*# #*# # # # -#* * * * * # +#* b * * * # # # # # #*# # # #*#*# # # # # # #* ** * * # # #*# # # # # # #*# # # # # # # diff --git a/res/levels/Level2P_3.txt b/res/levels/Level2P_3.txt index f1b0a29..5cd7ad5 100644 --- a/res/levels/Level2P_3.txt +++ b/res/levels/Level2P_3.txt @@ -2,13 +2,13 @@ ############################### #p * *3 * ** * * *# # # # # #*# # #*# # # # # #*# # -# * * *** ** # * ** # +# f* * *** ** # * ** # # #*# # # # #4# #b#1# # # # #*# -# * ** * **# +# * * ** * **# # # #*# 3 # # # #*#*#*#*# # # # # * * * *x* * 4 # -# # # # #*# # # # # # #*# #*# # +# # # # #*#4# # # # # #*# #*# # # ***3 *2 # # # # # # # # # # #*# # # # #*# -#a**4 ** * 5 # +#a** ** * 5 # ############################### diff --git a/src/uet/oop/bomberman/manager/CharacterManager.java b/src/uet/oop/bomberman/manager/CharacterManager.java index 453ae83..d44c637 100644 --- a/src/uet/oop/bomberman/manager/CharacterManager.java +++ b/src/uet/oop/bomberman/manager/CharacterManager.java @@ -7,6 +7,7 @@ import java.util.stream.Collectors; import uet.oop.bomberman.Game; +import uet.oop.bomberman.base.IBombManager; import uet.oop.bomberman.base.ICharacterManager; import uet.oop.bomberman.base.IGameInfoManager; import uet.oop.bomberman.base.ILevelManager; @@ -131,4 +132,10 @@ public List getCharacters() { return characters; } + @Override + public IBombManager getBombManager() { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'getBombManager'"); + } + } diff --git a/src/uet/oop/bomberman/manager/LevelManager.java b/src/uet/oop/bomberman/manager/LevelManager.java index 23f28a0..9db70ea 100644 --- a/src/uet/oop/bomberman/manager/LevelManager.java +++ b/src/uet/oop/bomberman/manager/LevelManager.java @@ -48,13 +48,13 @@ private void calculateEnemies() { int level = Global.gameLevel; EGameMode gameMode = Global.gameMode; if (level == 1 && gameMode == EGameMode.ONE_PLAYER) { - Global.enemies = 1; + Global.enemies = 2; } else if (level == 2 && gameMode == EGameMode.ONE_PLAYER) { Global.enemies = 5; } else if (level == 3 && gameMode == EGameMode.ONE_PLAYER) { Global.enemies = 9; } else if (level == 1 && gameMode == EGameMode.TWO_PLAYER) { - Global.enemies = 1; + Global.enemies = 2; } else if (level == 2 && gameMode == EGameMode.TWO_PLAYER) { Global.enemies = 5; } else if (level == 3 && gameMode == EGameMode.TWO_PLAYER) { diff --git a/src/uet/oop/bomberman/utils/EGameLevel.java b/src/uet/oop/bomberman/utils/EGameLevel.java index 7644772..69b7fcd 100644 --- a/src/uet/oop/bomberman/utils/EGameLevel.java +++ b/src/uet/oop/bomberman/utils/EGameLevel.java @@ -1,9 +1,9 @@ package uet.oop.bomberman.utils; public enum EGameLevel { - EASY("Easy"), - MEDIUM("Medium"), - HARD("Hard"); + EASY("EASY"), + MEDIUM("MEDIUM"), + HARD("HARD"); private final String level; diff --git a/src/uet/oop/bomberman/utils/EGameMode.java b/src/uet/oop/bomberman/utils/EGameMode.java index d45b474..ac77373 100644 --- a/src/uet/oop/bomberman/utils/EGameMode.java +++ b/src/uet/oop/bomberman/utils/EGameMode.java @@ -1,8 +1,8 @@ package uet.oop.bomberman.utils; public enum EGameMode { - ONE_PLAYER("1 Player"), - TWO_PLAYER("2 Player"); + ONE_PLAYER("1 PLAYER"), + TWO_PLAYER("2 PLAYER"); private final String mode; diff --git a/src/uet/oop/bomberman/utils/Global.java b/src/uet/oop/bomberman/utils/Global.java index 847990b..a9bd1c2 100644 --- a/src/uet/oop/bomberman/utils/Global.java +++ b/src/uet/oop/bomberman/utils/Global.java @@ -11,6 +11,6 @@ public class Global { public static int gameLevel = 1; public static EGameMode gameMode = EGameMode.ONE_PLAYER; public static int enemies = 0; - + public static boolean isAIPlayer = false; } From 3430cea740d893a11e9d8f06edddafd3419355fb Mon Sep 17 00:00:00 2001 From: Huy010302 <111289985+Huy010302@users.noreply.github.com> Date: Thu, 20 Jun 2024 10:34:40 +0700 Subject: [PATCH 92/93] add outline for title --- .../oop/bomberman/screen/GradientText.java | 25 ++++++---- .../screen/SelectGameModeScreen.java | 46 +++++++++---------- .../bomberman/screen/SelectLevelScreen.java | 21 ++++++++- 3 files changed, 58 insertions(+), 34 deletions(-) diff --git a/src/uet/oop/bomberman/screen/GradientText.java b/src/uet/oop/bomberman/screen/GradientText.java index 9c7064a..6f1e493 100644 --- a/src/uet/oop/bomberman/screen/GradientText.java +++ b/src/uet/oop/bomberman/screen/GradientText.java @@ -2,10 +2,6 @@ import java.awt.*; import java.awt.font.FontRenderContext; -import java.awt.font.TextLayout; -import java.awt.geom.AffineTransform; -import java.awt.geom.Rectangle2D; -import java.awt.font.FontRenderContext; import java.awt.font.GlyphVector; public class GradientText { @@ -27,19 +23,32 @@ public void draw(Graphics2D g2d, String text, int x, int y) { Shape outline = gv.getOutline(x, y); Rectangle bounds = outline.getBounds(); + float thirdWidth = bounds.width / 2f; + GradientPaint gradientPaint1 = new GradientPaint( bounds.x, bounds.y, color1, - bounds.x + bounds.width / 2f, bounds.y, color2); + bounds.x + thirdWidth, bounds.y, color2); GradientPaint gradientPaint2 = new GradientPaint( - bounds.x + bounds.width / 2f, bounds.y, color2, + bounds.x + thirdWidth, bounds.y, color2, + bounds.x + 2 * thirdWidth, bounds.y, color3); + GradientPaint gradientPaint3 = new GradientPaint( + bounds.x + 2 * thirdWidth, bounds.y, color3, bounds.x + bounds.width, bounds.y, color3); - // Draw first half of the text + Shape originalClip = g2d.getClip(); + + g2d.setClip(bounds.x, bounds.y, (int) thirdWidth, bounds.height); g2d.setPaint(gradientPaint1); g2d.fill(outline); - // Draw second half of the text + g2d.setClip(bounds.x + (int) thirdWidth, bounds.y, (int) thirdWidth, bounds.height); g2d.setPaint(gradientPaint2); g2d.fill(outline); + + g2d.setClip(bounds.x + 2 * (int) thirdWidth, bounds.y, (int) thirdWidth, bounds.height); + g2d.setPaint(gradientPaint3); + g2d.fill(outline); + + g2d.setClip(originalClip); } } diff --git a/src/uet/oop/bomberman/screen/SelectGameModeScreen.java b/src/uet/oop/bomberman/screen/SelectGameModeScreen.java index b6bc77a..5712767 100644 --- a/src/uet/oop/bomberman/screen/SelectGameModeScreen.java +++ b/src/uet/oop/bomberman/screen/SelectGameModeScreen.java @@ -66,7 +66,6 @@ public void onKeyPressed(EGameControl gameControl) { }); } - @Override public void drawScreen(Graphics g) { // set background @@ -83,36 +82,35 @@ public void drawScreen(Graphics g) { } private void drawTitle(Graphics g, String title) { - Graphics2D g2d = (Graphics2D) g; - g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); - Font font = new Font("Minecraft", Font.BOLD, 20 * Game.SCALE); + Graphics2D g2d = (Graphics2D) g; + g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); + Font font = new Font("Minecraft", Font.BOLD, 20 * Game.SCALE); - // Create gradient colors - Color color1 = Color.RED; - Color color2 = Color.ORANGE; - Color color3 = Color.YELLOW; + // Create gradient colors + Color color1 = Color.RED; + Color color2 = Color.ORANGE; + Color color3 = Color.YELLOW; - // Create GradientText object - GradientText gradientText = new GradientText(font, color1, color2, color3); + // Create GradientText object + GradientText gradientText = new GradientText(font, color1, color2, color3); - // Calculate the position for the title - int x = (Global.screenWidth - g.getFontMetrics().stringWidth(title)) / 15; - int y = 190; + // Calculate the position for the title + int x = (Global.screenWidth - g.getFontMetrics().stringWidth(title)) / 15; + int y = 190; - // Draw the gradient text - gradientText.draw((Graphics2D) g, title, (Global.screenWidth - g.getFontMetrics().stringWidth(title)) / 15, + // Draw the gradient text + gradientText.draw((Graphics2D) g, title, (Global.screenWidth - g.getFontMetrics().stringWidth(title)) / 15, 190); - // Create outline for the text - FontRenderContext frc = g2d.getFontRenderContext(); - GlyphVector gv = font.createGlyphVector(frc, title); - Shape outline = gv.getOutline(x, y); - - // Draw the outline - g2d.setColor(Color.BLACK); - g2d.draw(outline); -} + // Create outline for the text + FontRenderContext frc = g2d.getFontRenderContext(); + GlyphVector gv = font.createGlyphVector(frc, title); + Shape outline = gv.getOutline(x, y); + // Draw the outline + g2d.setColor(Color.BLACK); + g2d.draw(outline); + } private void drawOptions(Graphics g) { Font font = new Font("Minecraft", Font.PLAIN, 10 * Game.SCALE); diff --git a/src/uet/oop/bomberman/screen/SelectLevelScreen.java b/src/uet/oop/bomberman/screen/SelectLevelScreen.java index dc31fdc..475e95d 100644 --- a/src/uet/oop/bomberman/screen/SelectLevelScreen.java +++ b/src/uet/oop/bomberman/screen/SelectLevelScreen.java @@ -10,6 +10,8 @@ import javax.imageio.ImageIO; import java.awt.*; +import java.awt.font.FontRenderContext; +import java.awt.font.GlyphVector; import java.awt.image.BufferedImage; import java.io.IOException; import java.util.ArrayList; @@ -99,14 +101,29 @@ public void drawScreen(Graphics g) { } private void drawTitle(Graphics g, String title) { + Graphics2D g2d = (Graphics2D) g; + g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); Font font = new Font("Minecraft", Font.BOLD, 20 * Game.SCALE); Color color1 = Color.RED; Color color2 = Color.ORANGE; Color color3 = Color.YELLOW; + // Calculate the position for the title + int x = (Global.screenWidth - g.getFontMetrics().stringWidth(title)) / 5; + int y = 120; + GradientText gradientText = new GradientText(font, color1, color2, color3); gradientText.draw((Graphics2D) g, title, (Global.screenWidth - g.getFontMetrics().stringWidth(title)) / 5, - 80); + 120); + + // Create outline for the text + FontRenderContext frc = g2d.getFontRenderContext(); + GlyphVector gv = font.createGlyphVector(frc, title); + Shape outline = gv.getOutline(x, y); + + // Draw the outline + g2d.setColor(Color.BLACK); + g2d.draw(outline); } private void drawOptions(Graphics g) { @@ -130,7 +147,7 @@ private void drawOptions(Graphics g) { String mode = levels.get(i); int x = (w - fm.stringWidth(mode)) / 2; - int y = marginTop + (textHeight + spacing) * i - 50; + int y = marginTop + (textHeight + spacing) * i - 55; if (i == selectorIndex) { g.setColor(Color.YELLOW); From 238831ab7ad06ea0944e17ebcf10326d8943f8d2 Mon Sep 17 00:00:00 2001 From: phuonnngminh Date: Thu, 20 Jun 2024 16:20:32 +0000 Subject: [PATCH 93/93] implement SAC --- models/PPO.params | Bin 61965 -> 0 bytes models/sac/logs.csv | 152 +++++++ models/sac/metadata.json | 1 + models/sac/policy/model-0001.params | Bin 0 -> 406234 bytes models/sac/q1/model-0001.params | Bin 0 -> 409610 bytes models/sac/q2/model-0001.params | Bin 0 -> 409610 bytes src/uet/oop/bomberman/Board.java | 4 + src/uet/oop/bomberman/BombermanGame.java | 4 +- src/uet/oop/bomberman/Game.java | 2 +- src/uet/oop/bomberman/TrainAgent.java | 5 +- .../agent/base/SerializableAgent.java | 4 +- src/uet/oop/bomberman/agent/ppo/PPOAgent.java | 12 +- .../bomberman/agent/rl/ExpertGuidedAgent.java | 121 +++++ src/uet/oop/bomberman/agent/rl/PPO.java | 2 +- src/uet/oop/bomberman/agent/rl/SAC.java | 421 ++++++++++++++++++ .../bomberman/agent/rl/base/BaseAgent.java | 1 + .../agent/rl/base/BaseAgentImpl.java | 155 +++++++ .../oop/bomberman/agent/rl/base/BaseGAE.java | 124 ++---- .../oop/bomberman/agent/rl/dtypes/Memory.java | 4 +- .../bomberman/agent/rl/model/BaseNetwork.java | 47 ++ .../model/sac/DeterministicPolicyNetwork.java | 178 ++++++++ .../agent/rl/model/sac/IPolicyNetwork.java | 11 + .../agent/rl/model/sac/PolicyNetwork.java | 11 + .../agent/rl/model/sac/QNetwork.java | 149 +++++++ .../agent/rulebased/RuleBasedBomberAgent.java | 201 +++++++++ src/uet/oop/bomberman/agent/sac/SacAgent.java | 122 +++++ .../state/NaivePlayerStateExtractor.java | 17 +- src/uet/oop/bomberman/gui/Frame.java | 1 - .../oop/bomberman/level/FileLevelLoader.java | 17 +- src/uet/oop/bomberman/utils/Global.java | 5 +- 30 files changed, 1657 insertions(+), 114 deletions(-) delete mode 100644 models/PPO.params create mode 100644 models/sac/logs.csv create mode 100644 models/sac/metadata.json create mode 100644 models/sac/policy/model-0001.params create mode 100644 models/sac/q1/model-0001.params create mode 100644 models/sac/q2/model-0001.params create mode 100644 src/uet/oop/bomberman/agent/rl/ExpertGuidedAgent.java create mode 100644 src/uet/oop/bomberman/agent/rl/SAC.java create mode 100644 src/uet/oop/bomberman/agent/rl/base/BaseAgentImpl.java create mode 100644 src/uet/oop/bomberman/agent/rl/model/BaseNetwork.java create mode 100644 src/uet/oop/bomberman/agent/rl/model/sac/DeterministicPolicyNetwork.java create mode 100644 src/uet/oop/bomberman/agent/rl/model/sac/IPolicyNetwork.java create mode 100644 src/uet/oop/bomberman/agent/rl/model/sac/PolicyNetwork.java create mode 100644 src/uet/oop/bomberman/agent/rl/model/sac/QNetwork.java create mode 100644 src/uet/oop/bomberman/agent/rulebased/RuleBasedBomberAgent.java create mode 100644 src/uet/oop/bomberman/agent/sac/SacAgent.java diff --git a/models/PPO.params b/models/PPO.params deleted file mode 100644 index 7f71ab58deeb70145091ab89c12e688b4e1586e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 61965 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

    d%Ce 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ǒ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

    Jv(Y<2bHsX!F|MYZre;fcJDz3 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 z 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

    {C%HFu~SaK+FuWF=H4RQpCNF> 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 z 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

    gFmOsP>Xd_@1u3{l zT%*-D>XcZl51Uto*d|BX+-3Q7-t>@V*}}x$9~AetBNfA>LT6BV%meZdgH}l9+bvNgAbR%M#BD=ZXmoe zs}y>a(YjY67G5_z;jIu1%OT4!y3ieJn&eN|t%AOT>2P?o8imD~(0;9l#s!YhqW$|d zY;o*p3C88gpl*gSwyh6CC%v;bdIRvWrvzuStH^Vafq$)*7_m4WOD$<97t)?US*dch zvDmKXg~HZMR6R<9u!5dxrXmJuXU|$f_h^9+_S750K{gUYx@xc^mpUeR%Jn~%2jeSl zIC`xSPmZ+Wm7YDC3CH9cBcSQ54qei4xL)%^b_LBX(z;Nq4aO%66WCjtL1Tk4lm~s0 zo<T?Wc&<M zYEDAyttzb0*T=yvm8gzdfRjpvSXrEl53d~IrxS&XfiAeYIfU-F1<1Rphlg3_IPfz7 z4{a+Uad8RaY8VdtmErNvAgtQqhvVdLJJD#5jpEf9h0x#>XPoU?j@BKK2tOT)ni+BUmu-pJR~%4fyb>X8!FX@)07v9O+#n7lL*;`z{z^v0%lz_ssM=pYPV z>cwjOut|YUkOy^KRX}0b7~WN00>|=bccSw&{tRjHi0eA<+la+8(r8}vgBP7;??+@q z^pY)F#-_lTG(zupnj+9;AM=?O1+i`9d3G)Vquk%2>y2T1LkH%h2b*eShQz^Y+=z3a zKD0lqP5U$Zo4ScTu-?J0)NW*XgmIjtU1t1dO>F4QM5Z;#mMXym(uW84f{Y~(!Q z)i)ihM?PZ-7fi8IQ~{SQ=fFIP{CRhSpnZ+F<87trj-tQ6YAt@!PBSP%GeLVQ%~EPu zEbf8prFnSN><+JCC2(jYUiW%Dnp8be(n9z@okfS%6Q;-4!ZVDtQF9CNr_%v(a@y!C zroT<@EIhrQg{t3aup)n8lX@96WvwwMDHpD<>Tq>-I41_%HHb5YE5PR|6#r=3s4T z9kOB?Az>4Yba5ZZ9B_kdnjcOsYbD&E5LVR3<+z>R$B10?pDBd*^=jC7rQmUBBF+*Q zC0>_`RMNzo&u-&y9k~Rnj<+KOtsp6wtD89J0dHiBQm%L*^%*I+;80T* zY?Nbg^BBYXu7&h`9VpNGCii1e6^`xo#d|OE%2zmJ{0I#kips-;Et%Lkoit9d5eT)h zrTbX~HeY98`i@XkEh*sJ<(1$?Jo`$!61==Y|D8;F1>(XS-!tqPB<_jkx8aqO5%jr; z9Zk(aym&JUGqq=q*Wa*P0incWh*4L@c-rzLr_FW9;1LXBvs0RnD zWbza^;?*%}{QW73H0lItmy3W!sxlHu<2sJcmTYIj0Q!RvFeVNyvo>Ksa~^sdNh4!O z7+YTm;{Fj2)5PIEox3|nFM|zvOzbLhARa`1&l9;gd5U!9I@a_v`5@q{BaZLQf%cv} z%6wOX_K-@5AF_tOUm@CyTd=(^05>l*VCz+H>cgmnVjAffYDh=yV2noMS2jqL;1qe- zG|v+^o05b>!T^k&V+^+59Lwbt5klVfqg#tmv(6W3+m`_4fw0^XkH$sO*!MLX+cy@$ zL#qYTBEpe=BM_dGy`f_6jUkuJF#j@jU1lW0llGJ=#KmpU&Vu$=@h5+W}K%IpDphF6Q+vKup+T z_)OEpNW%1`$yeJl-vg<-P1v|K8sms}Qw|ry{y!`6_<1nai7i2djt3h`yZ_g9FW9wO z@=&~3h=JQ8_^J3vFLU-n3^}3)LGe@e_`wTSmmP<@mfBeGL_3&Os14FV^p&K~^_xFBcU(-Y}(|Q!1#yX*>>nwwOP1n8t@z@#pie;aC z#|i$BCIt4-KOzaTQLtK(;aK(HC>!se%%00AQ2xl?ZtdR!R&_Ll{^sTErD+}%+Nncg zZVAlp*g!|h7y~-~)a4|O4L-r}aqnd7Pt1q;wy9Wu{FzXy`yG36Oahu?J}~>|rnnHH zhF4w%%;jziL@TB6VcHs`ri_H=y+3vsLc3_hQN4f(YtUj#C&KwTLGA~EG-Q|To|0LWpI)ww@l5wxw zfmKh}hv|Vt=q+)>^(X(ILE;5#XWC<>$*(c(22(efhsm20(BnB1n?p<}E8;zyY%hy3 zhP8O|papw|$YPYgF*=(nuxoM_uHQAncE?7nT9c1=TiwvTxq8r`*kDc=!fGsaq-{oY{X;#TD)1G1>rNw z1$aeTP$PHblIQaaXO4(#)JL32_rum$47><|GkIHvrg}h3s~Eo2w=iW?E@URxK)$II zC#=orGgnW3`Vs_1 zCM~eWm7(EyDJX;DQ6F4=kcXdy&9_d;M(<1FDyC2`B5AAc-KROcDhuL2t-z{i*QH%z zluHWd4!FupPf^RDD#MIzmQKm3s1Mf=!l zXZ*1A#aIpMCFyp-kiFzR+(h_`kso2VVi=#-2-T&*lpm0f8I%d~#x)eAHPoO?goUu(Og*#iHCVFU8dc5I%O@F$DO3DlNL?(tH)60&b3T?8 zEyocp9|Vpz!qj8laJ`oV_5bWqb%!)}`K$0iD**4u`=EyK443R?$T}NP4{V>@-Te9xy@ zC5<#Y@koDDfmN%0;c8=vzn`lyV!apq?@&gOcOedy#o;vJ26aka@V-$5{hyxH8{2@d zt4IrTnY`?I)Z5`tn)#x-(#Pq*)xgwm9?{7 z@S|K4KI>1j=cLPfs$qeVOQvJPga)j-R>g8(Her(0GojVSvn;~Mhqc`+2>!41E;sL3M2F*j71=3oh%JXe8j@N{NV2K@yd3odf?jhh4yS6g&n zxZKY)bfpECtkv1UXT5xi;}qcmi7D*QjyU!*c0B8fDdinctYurSwsJkm3)sE6r`c%IS-M^!7EYauFJ>bj7YJTH@|{&h*S}#vgYp8mbcxx3&->6 zqK544BwOL&&Q@N^T23H-@qG90D~8>P-R^=)%?5sc_n~h2n)}?~IwNk##A0MESqRM8uBV$RGk*+gPwVTJ6CP%( z1|vAP-I}cLT$^zBMi+jiZws?u(Z(Mtp75l%8(ZFdit9W6 zkd2V*;_udWv6057Ibl&5+t*ksFtsz{j;w#i8Fmlh{u|XNJT~PJTiTJxjLUy=(pL?5 zHPm#sI*#MYHy3xOY7`0M+V!~aC!K^bg1YXM$T&7~V=+6O)5~o&Hx?egbC|n%DTHnM zp~BrP)MoQfd2q?@#%$KmQ(WZ6a%MZvQ#i#yij{hZ^OJ@1Sl54rLRJ1__qD{X?pYJt znCGj0VPLeXaM!+Uu3a>Zo!I9l@H=NNQwaa=-Q!nc6-m{1OJ#bX`M#hWNx%R5tzqpdgE-(=e z9^K3<8?deVTUCEVs^6w-Slm9JJ)HSXB6t}!Ih>7pB;3{r_o%&qL zI~{El7_F1-E@&AeT;x5#DcZ&e{cg?`np`X3y#FL{2}e?y%Zvv8So0{}OKP5QOZO?J z>GPadmK76@3zcK54n*l47(JeS391klP+!B__aV&dNI9=Ou8DgVy@8W|EXCv^B)NZ0 zUpbAAHQe|wVZ8ES2D4dui7UD1%pR8;u<38D*gcI;oaO69Y>9pq`!z&CIN7b8J9WE` zyLNUQKjO+(POL_asm?YRc5YH(^OF{Ft*fqc$7ZkPwr{-88GN`VsIK@UP@J63Qp_#5 zSDsvlBmUO&M3_BgIx` zKH$b=iScU6OZd7wBUrbkBP%j{!tHo{hhOLSk-Hf-TR76Bl8N?R;@Tfg7F;@hg1atI z5?aU%bUT`>2%4+b+ z_RiOh+dt#t}K41T)RymSPvn zjj1l+cD+&KWu^>psc|Q{_9b`tiQ7%tx`}dZa_wynmTS6|otrt;H4Yz6Q4<2|R8;>drr_hSPe!OhxsPPcNwTJ~aB8*|atV$%!@xIdQ;b8&gy z+}b4B?);{8f-}BT*uo$8xT>}5_~AQSx))T|a*|4mxDTVhF!TI2K7E3OaD{C<_vK0V zVd)VA{Ceq&eA%jSz9M`$`}O7}H!M(wt)8@<|5(((zrJnA4!wBKJ5T+lg)%WU^+DWq8K1o9NwCe(+ zJfYy%^Nak+`K3bnDKXr^7o*u-lS9n-(s(BMj&&c7+0E^{mBXEl8_E9jYGFflzi=Zj zJF-vRDT2M?nrv>5J!>2#!sea*$LG4sYu6=i=eEBJ;J?dN@Y^ocvOvX6-E+Q;V?DDA znD5eDw$tr1f2paO)8AIiHF>LYJMMILPtf})cpXsB%vR3pzA~enAFtibKAaL~3uCUa zG)Idr>lKUGgUWoC-}R4ES{KKhH=bg@Pjqtm*T6m=vSU-$6m^TVoz^=%U5>qRbmzoc z?&@9s(A9l=uQfkw(k6l8hjmP_!OSib#gENc#vO?|$C-+(>bzj&wMDG-v>JbY4$pSRhp@c9v)s2?^Vtny8}}hR zo^zl4oxj|-N6?YbtGh`4EVqz&ZIy|tf{jNtg$Ja63%)*l!99r&<|5`V6AHI#3X8oC z^W*oAUrlMFznzPjVND2Awn}Ag1FySRR8cQVx)@u$&wwjl_k$1pIa9EI%^-L3+D2APHL12r z3f-52@A%N2M*$q*KpazoG{s=y}Ybh9%pv25kXAjU>t=iVENFm;d3-1s9kT>4{e z;X|8JuJ_D)UT$2SAi}$mx82|+xR;&C<|fmOk><>=-m#JIFdxcq6Y&{^Kr=d@1-|r_B7f0C9O)t5x7S){gKTBqF zM~-zEi||{mZs^IBTCqvXdIawzCA-y*4qRG~jPc?B@q(O%ne5*30P} zTh07qMljiOk?tL}8@fYeYPed-uk7{OGhDzI1J2*zy`cB#Z?4TIn0uM~k^8Y&$jJ}J za6csXuzyC*%-ZKZzvyI<-nh0Drmbzp;sW<`V-3giVNd;q!#_^s9Mpz&51#(W{k`MJ zuOAk|dDq0U3l$TYa;XAa%}*6Ny;2iCxwnzi(N^OVb-USg+BYiV#D$SRhYDMsDhtJX zLImx1?($IuOc*qCJu8^j$2(?U>X!R^jT8B-Bb@!zpD!PKj+@6uu(@;nS<>QgEs45qmzp`!F3z9?%5cjb=zE~d|8RjU9ZeamL23f*3#!9b#nK@!iQaQo1)pd z(&@}+Wi4}DRlssaXL3_M-ss9`i{pMtuj8KS&f?ye3K-9)a&`Z#*uQa#%=}9NyJoPg zd#~FA&SSP3yV)rwJUA+Y&hv3xU1Qn(&?b&+{{PuyKfR@mV?#r^O0?NZPa7 zKli(x;{4g|lCuJ%^Iuq*?i)TlGn?yV+3eSmGkPM@16+NX4!3UdeQvDXR%T#1QqOv$ z65DC-&DQB={O{|NA1o2-T5aOi>$Y@n)!4&DU3ahRNs>qhZP)kO2zOTI#)0!=*Qh0i-Y zK#~E7Y%lh~?{ZEco7$_`dW9Sjv_6FT4@8m2{e|evb4jWsbcHOGoQhrgb@A5wFVPgo z<#_!*Z6ws8k7I+Hk(b^LoZqsR%;@`ow`$x(eWtrn<107*q=bW9+2tRo@RB`$VzdO! zH!wsOE=l0Ig;m^c-vs(|i!`)sDniAUV!(Z#igo{JBQ4`ebluD#l>c`p|H8dN&M9L# zK69@EzY95tJj;AgZrwqwIsT~Uozat?(!dd1Ym$eTUU-c^pRB=>lQr;K2V*>McOemJ z6~s%z?*S;8Q$!p!I;e^)cbS@e^fYt%TG6xSt-}>`*d9#sjNfNpN=73%VIjR zJ&y2HB=E7x6}Yk?kvqY9Qw$#-K>2eIVuP?<#A(HS()`OFT|6iNOQT{?{@G(#e(PN7 z{>+HT1)ag~Ws=eDpO^9H)=gaf$7#4q#)N)keICCBd^qvh*ZGA}O(Q0`Z0d>@HmVV^B{@KHG`cp`|WDc&c~Vnwis`F50O7lL!Q`tc;`B3$w-9orOU z;**>AqjitPxfNp<_$rNp_}0K`lyU4lN#6YmJw2z?O>HE1g@ixR| z`hIleP!axIG{)bn2q^Ct>ohFVz??ug8k?zvpLp*iCv#QE=IA{=8>UaDgU5FAAI3Uj zr4^dE;afE3k4?iS>uPbz>{hPz@qQ#a*O0DsSMA9SA2Vn@u^%t}x!=I}#X%C8FbkiY zbBmw#x&~WMxK4&EqVR;$4}8)m!EakTi<-aU<5+G7Hw4z`=gK3IgWHE!V98f_=VLA7}QiTQZeSTwrWu@*a$n_Q%O9+xbnghf=#(S({^*gRJe zhe$5OS~GNUN#+HlqqrYQjfY`*$F;n3;EgAiX5&4V>Nez0 zo;#0buU|kvM69Cwlr`|0`CSGzm!{#f&)#BwvkAV)vi8ihg+=7!aCIVwn@hLg`c=(j z;SwF3y;2uPJ2YbJPqVS!SSj8a&Zps1rn0d$n(wJ(ivF4AVqQ@r*WOr-D~IE8*wF&s zy^lRux}g9MPpiUHoP+TDO*66avO28Noq!Lg{D*d5szvAB8nJnJC*JPLey4UQf7Xth z_-52hJTEE~_cSfVTjx}v9iJt!j7~Vd8_|KycVvp>kKeBw;GwnFqPOcD<+xk)`btqLqG`=;(((=(YMqoFYA+syPZ^LF*8#bbBwIymAg#IX4=cukE1o_6?E9qJyN+ z{SLBwrbK=ItjGF)Uvl4yUXp~JY%fRaHVxIDifpeu#Irt~!Ug^Hcz8!Z2rJs%$KT)EqxZNH z$JA(J&+BbCH^hc)U!IL+k}UAWyee$e;(-hYHskktcIbM=8$5gCbACf`2R?sQ0*_o4 zr1f%LSkUq`Y1{0?oWTlo-#`b~^|cwjPW8abS?2V*o)s0_agxsdBtlPK(xJD@ci~k~ zgwOCqk?@U~^kj@24sF?n3oIAn{ZkI31cfn@Fx1~Oa##ZWG>)a)zwW29yyx8YgarKK zP9`lXyh)GS9i@K*8tBPAb8v)nGv0J$A6GZ(P3mv$#tw2*XiHoj-#t7TS-Lc$1&973 zX1_*(nu>`3NF68MW_yhvyoqp!I$prm8(c;UIpDg@zyq(QIs$#@xL`jSNvy&Fb(@L! zSP3mJX1%}b6!425UFgyW1-!EO1-C(P1Nq`~g#1Zi0K)q{J$F9ql0aP{{JKJqP_|aE zVjUPW@&eHQJ%)Hf=}>{No4Cl21e7w0G$wE@z<$_S*lI{PLNF&&a#e z-+>t@H>w83hdn^%7Ha7JrcEScUI2Ri*B5PxKhJ;sRD#5N*t5^{f_J<02B2%ZGh{YC7SV>k>a0fUJ1(HZ`~$pJXC8jeYeYA5Dc{{D6&39; z!TWcmW6kxJe3{Or*fds_S_VBvr6F1*@uU!a-1+^4R?Gl3cz73GoA`prjM!k?Dc6bU z33lun2e6v(M*L3d65240PaRbH(cSLdB;>do);yt$oPSE-HU9Bjmfj$l zwX72#by$SWF6B`z#%^OBNp$kZBHoD9a};w@4ZRhbgL9jM^lxdgPR+;OxMofRuSq$K zs(&6qVZ*uP>PA_dzhM%5I(?b6scF)t`Elgmm=uED%{_Y$9YyiosaStw1!@>Jq_tii zDDQS6-r|!>Pt+I_)4h5$`ltw+yhf2<)?S6QPs-r(oJRWR_yW9m@nNL!>jJ_7$H;6k zak5Kz6~1y-7^kd{B16s#QH)?SIWB$?nVV+POH6$7|$_Ym+zMGP> zU(HBLY%^Xu!_jaAy;}k1>M*tkCk!)@Wah+B=gu!H2;bh zvOhbUdhNW5%C=i!L$P`EfWiuta;FbZUoL=WClz6#1F^Vp7{SJ!C-J}MyYV@`0#3T{ z9WVZ`15cYQ3b!vg;Py#12Ag6<(5~dyR4}B9Zpq^4sF7gr>6>jdrMiV4sdc3Stq*Bd zcso|!sX{`k2&&FrFp?hvD;`-xTJmN*Fk=B^{hkKj z+Jc}skO#@P=E2i6VV0rwhOLM5U}}v49Q~jJPnIS^(HuP(TPXtnV!vUzH;mU{EDkq` zWxc2BfxRa4nPtudTZ>p&wJaIj7e&La!Eku6h@FWsmqbnx%b?`cKy=4^2zwF&Ya}&5 zD9wm@{G?znVO%>qhg#rT#&TZYd_{Oug0~BFwI08#y{J@gtvBJ&zu=q@fEP~ zN;cfjbA|WQl_2p~IIP;#j5U1z>xu7;gwMpT1Cr~$l?HG(Skb59eNf#JL1mMbnzrlxM zz2T!*37ovK92x~M1hHJ$+f7<5cV!E&Rp&uqQaik1zG>Gp_F!2q1zwL?c6^~Tn6bW@ z)Oqi)PwfhLsaFo!`Fu#+tqWOgQ=l?M7TimO;J}o5;Lb8h;_Vh-xCdCZGV|hVYQUc( z%i&yMF}!@C0RHotTiVP4#tJLo)mj6eeK0~ zyb^e^JQ*&25`e+cATV}e3kjEtI_0fk&f_kp8g|;&0|b#Gx24 zXI?Ct=nmDfxu6&42}ee%;m^r1;QX0qGNTEq{ws$7<}MhKV%}U6FNnKn2ICre&>U9? zsZOoX&2l&Uxp>&Isti0E3L&03tLm-GKxql{de3xZXV2acKN<&PoG%D7&aH?uhu24P zA;!lO=18!!cA5$X?0nv3T``Oo6*Hc55x{~J@Usno7nWua)=>n4WsDtbOo7BDP0(5w z1EY>C-{Fx5PCLxNl~#Zk7X-Hz;^41j7{s{O!9kYw9NrxV_B}c9Au9m_+`K`~lI5_| zl_B7K5@W9QL4sw@uDl9_qrQodC}acLHZm}vpAG74+|7Ge38I&^;qb&(Sk_$vPGX*L zyxbAGZTRrx1sk8=vK+viaQJ?<4T5d+V8zFL=A$oz)MN}#7*na>QVB&bL!cy~1T+pc zLF{-Y`1tBE*Sa?tSb2eQH*9f9qC)1!H46 zBRt{3gj~3^#Rkj;Dk0N0jPWrpaC>GTxW-pPiFpRpku8j2O@hU7A#mKZ0;E)nK#psK z+9QmIzQ|aP#8ftCc)>O1(NIbAhPzjp2V=k-o_=7RL>uiP=UyTN?qp6!`6RgMHy8T; zdBL1oSCEK}g@5W8p6b|wlzKH}JrD=0v3!V92UyB7lye6Xncu7k*1YhB^)@LGe#sct ze+`7C|KeCTj2&FH^?+7!1QDzop==-(%BU5*N!kU20xm3{$-16wYvIh?8b~-A2=9&v zL9p2%u3}j>V^QWSN@SlsG6QCYtcO>wOW|%}B-~@4zfYtRj`#k=fq$!EPml(1jAePN z;R<`%Gv9KY2SJ8j@NsTF99x$MH)FtSH8pwDV8-1wXhvW_wE#KaozvV7wF zrfPV{I&Hj;u=&7vF4Xv}fyEtO&=BDb_4ihSS3v<798G~Kwgq6mP!E)u%W0Wh0&}+^ zxX#$9IxSf^xf8*s_((95W}P?@IY8U9AxFv;gvXK~;dv(X^~FHeReiYrG7(}7?Lk>^ zI#itZ0FV8A`1r?!WrNsv;o=5!Vxyq`Sv0g~XEIK=8KMq`z-@VU&nymw|C|uKoLB@m z)32j-0Fu5fcx>lxu_Id}_A>jxS_RImnycdgE|4e}+^FXyaf%XB$ z*s(0Sz*Q~qQAvYax@+L>mIg>(VFj_z*gX-P3;)X2f?w<^5Mf!*`jjZR!B~fu^?C54 zkui#|Sy#hM=EzxT17*2I&?XTGUs!%|$EPGX%bux;J6FN8(~0oDt^$%A3gL_;%j))3 zvP`EKc0q~bG8p|Tg2Po2@Zm=|T>iq? zyt^UL>75HIcb2kVFP7VyRKOgTNw6rX5G1@9lV<1y(u~_V?(sjLb~1QB$N&?KW^n#e z2ya-H^#0`t5N2Fan5-iNb$G&uGhvMB@PKZAA83g8huZah@d5Dk zObN@jg@X)(8?D>HgYmdhEEnE(I2``OxPwPJ>xDYm z0c|c$kUTR5&M4Kx{ZrA$e*3+0 zLFir?=GkUk1Izt2z4e1#Z{py{mlC-8EdzEtW0%QQv63w9qX%2~jUxYaOdVGRz0N$`bR1KYi$nE%%aj>x;g#SaT$ zx05>TdY%M{%jLngVHAru&f}9{D+si{g=ai5guS1{p!J9ju<3wh-|ZmX+a6l3wt~bN zZ|JWMfe$a{g6^F>)=?wJxS!~YN8P1yp)Q}hQFt> zpdc*@ei)}hQNd8q+m;L|cPbdq9SaLowV?Z_2aMcF zfopHPL7H`Il-$&TIKf(Y`hs=y{mO^!`}AV)?+E^$<`N30KtP!O1EEWYa1^ z(w*hwN2(z8x-pzctAJ;1(okc>Jdu0jp~Bk>!c24FeBoj^b;l0|+570VXf}>NsRpmD zNud3Y2QIV9;N!vq7;Rn2m_cp0kHP_Mse`ze3Gh=t9%_EXfXv=75Yb_uCod3=k1vOn z>LqaMy$<*sOM|dUsqlJw7SuBy`23MIU~q!*xMFPHjk0HRiwT6aEr%;Hu`H8b1Kn($ z*t@9!@=hc`MSeDDFmFYWK`f{bhr^oyFBneeL)r2moX5HaPVMuBx6XxN_PY|+=M+Q5 z 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 Zz%G>jviFwN$V^6efgPMA2n?P2#_e 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 literal 0 HcmV?d00001 diff --git a/src/uet/oop/bomberman/Board.java b/src/uet/oop/bomberman/Board.java index c92cf74..de59abd 100644 --- a/src/uet/oop/bomberman/Board.java +++ b/src/uet/oop/bomberman/Board.java @@ -93,6 +93,10 @@ private void processAgentAction() { ((RewardBasedAgent)agent).addReward(-10); } } catch (CharacterActionException ignored) { + // Penalize the agent for doing invalid actions + if (agent instanceof RewardBasedAgent) { + ((RewardBasedAgent)agent).addReward(-10); + } } } } diff --git a/src/uet/oop/bomberman/BombermanGame.java b/src/uet/oop/bomberman/BombermanGame.java index 690f33c..43c5a73 100644 --- a/src/uet/oop/bomberman/BombermanGame.java +++ b/src/uet/oop/bomberman/BombermanGame.java @@ -7,6 +7,8 @@ public class BombermanGame { public static void main(String[] args) { Sound.play("soundtrack"); - new Frame().start(); + Frame frame = new Frame(); + frame.setVisible(true); + frame.start(); } } diff --git a/src/uet/oop/bomberman/Game.java b/src/uet/oop/bomberman/Game.java index 9bd54a4..b40681a 100644 --- a/src/uet/oop/bomberman/Game.java +++ b/src/uet/oop/bomberman/Game.java @@ -226,7 +226,7 @@ public void start() { long lastTime = System.nanoTime(); final double ns = 1000000000.0 / 60.0; // nanosecond, 60 frames per second double delta = 0; - requestFocus(); + // requestFocus(); while (_running) { long now = System.nanoTime(); delta += (now - lastTime) / ns; diff --git a/src/uet/oop/bomberman/TrainAgent.java b/src/uet/oop/bomberman/TrainAgent.java index ae78c02..2b4d867 100644 --- a/src/uet/oop/bomberman/TrainAgent.java +++ b/src/uet/oop/bomberman/TrainAgent.java @@ -18,9 +18,8 @@ private TrainAgent() { Global.currentScreen = EScreenName.GAME_PLAY_SCREEN; game.getBoard().setLevelManager(new LoopingLevelManager(game.getBoard())); game.headless = true; - frame.setVisible(false); - Thread thread = new Thread(frame::start, "GameThread"); - thread.start(); + frame.setVisible(true); + frame.start(); } private class LoopingLevelManager extends LevelManager { diff --git a/src/uet/oop/bomberman/agent/base/SerializableAgent.java b/src/uet/oop/bomberman/agent/base/SerializableAgent.java index f936ee1..677fd43 100644 --- a/src/uet/oop/bomberman/agent/base/SerializableAgent.java +++ b/src/uet/oop/bomberman/agent/base/SerializableAgent.java @@ -2,7 +2,7 @@ public interface SerializableAgent { - public void load(); - public void save(); + public void load(String path); + public void save(String path); } diff --git a/src/uet/oop/bomberman/agent/ppo/PPOAgent.java b/src/uet/oop/bomberman/agent/ppo/PPOAgent.java index 0663e38..9465ccb 100644 --- a/src/uet/oop/bomberman/agent/ppo/PPOAgent.java +++ b/src/uet/oop/bomberman/agent/ppo/PPOAgent.java @@ -75,25 +75,25 @@ private Action getAction() { } @Override - public void load() { - ppo.load(); + public void load(String path) { + ppo.load(path); } @Override - public void save() { - ppo.save(); + public void save(String path) { + ppo.save(path); } @Override public void handleWinLevel() { ppo.collect(100, true); - save(); + save(null); } @Override public void handleLoseLevel() { ppo.collect(-100, true); - save(); + save(null); } @Override diff --git a/src/uet/oop/bomberman/agent/rl/ExpertGuidedAgent.java b/src/uet/oop/bomberman/agent/rl/ExpertGuidedAgent.java new file mode 100644 index 0000000..8d88b35 --- /dev/null +++ b/src/uet/oop/bomberman/agent/rl/ExpertGuidedAgent.java @@ -0,0 +1,121 @@ +package uet.oop.bomberman.agent.rl; + +import java.util.List; +import java.util.Random; + +import ai.djl.ndarray.NDManager; +import ai.djl.translate.TranslateException; +import uet.oop.bomberman.Game; +import uet.oop.bomberman.agent.base.IAgent; +import uet.oop.bomberman.agent.rl.base.BaseAgentImpl; +import uet.oop.bomberman.entities.character.action.Action; + +public class ExpertGuidedAgent extends BaseAgentImpl { + + private static final float EXPERT_RATE = 0.5f; + private static final int SWITCHING_DURATION = 10 * Game.TICKS_PER_SECOND; + + + private BaseAgentImpl originalAgent; + private IAgent expertAgent; + private List validActions; + private final Random RANDOM = new Random(); + + private boolean isExpertGuided = false; + private int switchingDuration = 0; + + protected ExpertGuidedAgent(Builder builder) { + super(builder); + this.originalAgent = builder.originalAgent; + this.expertAgent = builder.expertAgent; + this.validActions = builder.validActions; + } + + @Override + public int react(float[] state) { + switchingDuration -= 1; + if (switchingDuration <= 0) { + float chance = RANDOM.nextFloat(); + if (chance < EXPERT_RATE) { + isExpertGuided = true; + } else { + isExpertGuided = false; + } + switchingDuration = SWITCHING_DURATION; + } + if (isExpertGuided) { + Action action = expertAgent.getNextActions().get(0); + int actionId = validActions.indexOf(action); + return react(state, actionId); + } else { + return originalAgent.react(state); + } + } + + @Override + public int react(float[] state, int action) { + return originalAgent.react(state, action); + } + + @Override + public void collect(float reward, boolean done) { + originalAgent.collect(reward, done); + } + + @Override + public void reset() { + originalAgent.reset(); + } + + @Override + public int sampleAction(NDManager submanager, float[] state) { + return originalAgent.sampleAction(submanager, state); + } + + @Override + public void load(String path) { + originalAgent.load(path); + } + + @Override + public void save(String path) { + originalAgent.save(path); + } + + @Override + public void updateModel(NDManager submanager) throws TranslateException { + originalAgent.updateModel(submanager); + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder extends BaseBuilder { + + private BaseAgentImpl originalAgent; + private IAgent expertAgent; + private List validActions; + + public Builder setOriginalAgent(BaseAgentImpl originalAgent) { + this.originalAgent = originalAgent; + return this; + } + + public Builder setExpertAgent(IAgent expertAgent) { + this.expertAgent = expertAgent; + return this; + } + + public Builder setValidActions(List validActions) { + this.validActions = validActions; + return this; + } + + public ExpertGuidedAgent build() { + return new ExpertGuidedAgent(this); + } + + } + +} diff --git a/src/uet/oop/bomberman/agent/rl/PPO.java b/src/uet/oop/bomberman/agent/rl/PPO.java index 3584605..340cc1b 100644 --- a/src/uet/oop/bomberman/agent/rl/PPO.java +++ b/src/uet/oop/bomberman/agent/rl/PPO.java @@ -34,7 +34,7 @@ public PPO(int dim_of_state_space, int num_of_action, int hidden_size, float gam } @Override - protected void updateModel(NDManager submanager) throws TranslateException { + public void updateModel(NDManager submanager) throws TranslateException { MemoryBatch batch = memory.getOrderedBatch(submanager); NDArray states = batch.getStates(); NDArray actions = batch.getActions(); diff --git a/src/uet/oop/bomberman/agent/rl/SAC.java b/src/uet/oop/bomberman/agent/rl/SAC.java new file mode 100644 index 0000000..60f1c05 --- /dev/null +++ b/src/uet/oop/bomberman/agent/rl/SAC.java @@ -0,0 +1,421 @@ +package uet.oop.bomberman.agent.rl; + +import java.io.BufferedWriter; +import java.io.FileWriter; +import java.io.IOException; +import java.lang.reflect.Field; +import java.lang.reflect.Modifier; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; + +import com.fasterxml.jackson.databind.ObjectMapper; + +import ai.djl.MalformedModelException; +import ai.djl.Model; +import ai.djl.inference.Predictor; +import ai.djl.ndarray.NDArray; +import ai.djl.ndarray.NDList; +import ai.djl.ndarray.NDManager; +import ai.djl.ndarray.index.NDIndex; +import ai.djl.ndarray.types.DataType; +import ai.djl.ndarray.types.Shape; +import ai.djl.training.DefaultTrainingConfig; +import ai.djl.training.GradientCollector; +import ai.djl.training.Trainer; +import ai.djl.training.listener.TrainingListener; +import ai.djl.training.loss.Loss; +import ai.djl.translate.NoopTranslator; +import ai.djl.translate.TranslateException; +import uet.oop.bomberman.agent.rl.base.BaseAgentImpl; +import uet.oop.bomberman.agent.rl.base.BaseGAE; +import uet.oop.bomberman.agent.rl.dtypes.MemoryBatch; +import uet.oop.bomberman.agent.rl.model.sac.DeterministicPolicyNetwork; +import uet.oop.bomberman.agent.rl.model.sac.PolicyNetwork; +import uet.oop.bomberman.agent.rl.model.sac.QNetwork; + +public class SAC extends BaseAgentImpl { + + private static final String FILE_NAME_Q1 = "q1"; + private static final String FILE_NAME_Q2 = "q2"; + private static final String FILE_NAME_POLICY = "policy"; + private static final String FILE_NAME_METADATA = "metadata.json"; + private static final String FILE_NAME_LOGS = "logs.csv"; + private static final float EPSILON = 1e-6f; + + private final int batchSize; + private final int trainingIters; + private final int policyUpdateInterval; + private final float gamma; + private final float alpha; + + private QNetwork q1Network; + private QNetwork q2Network; + private PolicyNetwork policyNetwork; + + private Model q1Model; + private Model q2Model; + private Model policyModel; + private Predictor policyPredictor; + private int policyUpdateCounter = 0; + + private List logs = new ArrayList<>(); + + public static class AgentLog { + public int episode; + public int steps; + public float totalReward; + + public float avgLoss; + public float avgQ1Loss; + public float avgQ2Loss; + public float avgPolicyLoss; + } + + public SAC(Builder builder) { + super(builder); + this.batchSize = builder.batchSize; + this.trainingIters = builder.trainingIters; + this.policyUpdateInterval = builder.policyUpdateInterval; + this.policyUpdateCounter = policyUpdateInterval; + this.gamma = builder.gamma; + this.alpha = builder.alpha; + this.reset(); + } + + @Override + public int sampleAction(NDManager submanager, float[] state) { + try { + NDList output = policyPredictor.predict(new NDList(submanager.create(state))); + int action = policyNetwork.sampleAction(submanager, output) + .toType(DataType.INT32, true) + .getInt(); + return action; + } catch (TranslateException e) { + throw new RuntimeException(e); + } + } + + protected NDArray calculateExpectedReturns(NDArray rewards) { + NDArray expectedReturns = rewards.duplicate(); + for (long i = expectedReturns.getShape().get(0) - 2; i >= 0; i--) { + NDIndex index = new NDIndex(i); + expectedReturns.set(index, expectedReturns.get(i).add(expectedReturns.get(i + 1).mul(gamma))); + } + + return expectedReturns; + } + + @Override + public void updateModel(NDManager submanager) throws TranslateException { + MemoryBatch memoryBatch = memory.getOrderedBatch(submanager); + NDArray states = memoryBatch.getStates(); + NDArray actions = memoryBatch.getActions(); + NDArray nextStates = memoryBatch.getNextStates(); + NDArray rewards = memoryBatch.getRewards(); + NDArray masks = memoryBatch.getMasks(); + NDArray expectedReturns = calculateExpectedReturns(rewards); + + final int[] lastDimension = new int[] { states.getShape().dimension() - 1 }; + + try ( + Trainer q1Trainer = q1Model.newTrainer(getTrainingConfig()); + Trainer q2Trainer = q2Model.newTrainer(getTrainingConfig()); + Trainer policyTrainer = policyModel.newTrainer(getTrainingConfig()) + ) { + q1Trainer.notifyListeners(listener -> listener.onTrainingBegin(q1Trainer)); + q2Trainer.notifyListeners(listener -> listener.onTrainingBegin(q2Trainer)); + policyTrainer.notifyListeners(listener -> listener.onTrainingBegin(policyTrainer)); + + float totalLossQ1 = 0.0f; + float totalLossQ2 = 0.0f; + float totalLossPolicy = 0.0f; + + for (int iter = 0; iter < trainingIters; iter++) { + + NDArray randomIndex = submanager.randomInteger( + 0, + actions.size(), + new Shape(batchSize), + DataType.INT32 + ); + + NDArray batchStates = states.get(randomIndex); + NDArray batchActions = actions.get(randomIndex); + NDArray batchNextStates = nextStates.get(randomIndex); + NDArray batchRewards = rewards.get(randomIndex); + NDArray batchExpectedReturns = expectedReturns.get(randomIndex); + NDArray batchMasks = masks.get(randomIndex); + + // After each line, the shape of the NDArray is shown in the comment + // where N is the batch size, e.g. (N, 1), (N, actionSize) + + NDArray indexAction = batchActions.expandDims(1); // (N, 1) + + NDArray nextPi = policyTrainer.evaluate(new NDList(batchNextStates)).singletonOrThrow(); // (N, actionSize) + NDArray nextQ1 = q1Trainer.evaluate(new NDList(batchNextStates, nextPi)).singletonOrThrow(); // (N) + NDArray nextQ2 = q2Trainer.evaluate(new NDList(batchNextStates, nextPi)).singletonOrThrow(); // (N) + NDArray nextPiSingle = nextPi.max(lastDimension); // (N) + NDArray nextEntropy = nextPiSingle.maximum(EPSILON).log().neg(); // (N) + NDArray nextMinQ = nextQ1.minimum(nextQ2).add(nextEntropy.mul(alpha)); // (N) + NDArray maskNotDone = batchMasks.sub(1).neg(); + NDArray estimatedQ = batchRewards.add(nextMinQ.mul(gamma).mul(maskNotDone)); // (N) + + NDArray actualPiZeros = submanager.zeros(new Shape(batchSize, actionSize)); // (N, actionSize) + NDArray actualPiOnes = submanager.ones(new Shape(batchSize, actionSize)); // (N, actionSize) + NDArray actualPi = actualPiZeros.scatter(indexAction, actualPiOnes, 1); // (N, actionSize) + + try ( + GradientCollector collector = policyTrainer.newGradientCollector(); + ) { + NDArray q1 = q1Trainer.forward(new NDList(batchStates, actualPi)).singletonOrThrow(); + NDArray q2 = q2Trainer.forward(new NDList(batchStates, actualPi)).singletonOrThrow(); + + NDArray q1Loss = q1.sub(estimatedQ).square().mean(); + NDArray q2Loss = q2.sub(estimatedQ).square().mean(); + + totalLossQ1 += q1Loss.getFloat(); + totalLossQ2 += q2Loss.getFloat(); + + NDArray pi = policyTrainer.forward(new NDList(batchStates)).singletonOrThrow(); // (N, actionSize) + NDArray piSingle = pi.max(lastDimension); // (N) + NDArray entropy = piSingle.maximum(EPSILON).log().neg(); // (N) + NDArray minQ = q1.minimum(q2).add(entropy.mul(alpha)); // (N) + NDArray policyLoss = minQ.neg().mean(); + + totalLossPolicy += policyLoss.getFloat(); + + NDArray gradient = q1Model.getBlock() + .getParameters() + .get(2).getValue() + .getArray() + .getGradient() + .duplicate(); + if (gradient.isNaN().any().getBoolean() || gradient.isInfinite().any().getBoolean()) { + throw new IllegalStateException(); + } + + NDArray loss = q1Loss.add(q2Loss); + + collector.backward(loss); + q1Trainer.step(); + q2Trainer.step(); + + policyUpdateCounter -= 1; + if (policyUpdateCounter <= 0) { + policyUpdateCounter = policyUpdateInterval; + collector.zeroGradients(); + collector.backward(policyLoss); + policyTrainer.step(); + } + } + } + + q1Trainer.notifyListeners(listener -> listener.onEpoch(q1Trainer)); + q2Trainer.notifyListeners(listener -> listener.onEpoch(q2Trainer)); + policyTrainer.notifyListeners(listener -> listener.onEpoch(policyTrainer)); + + q1Trainer.notifyListeners(listener -> listener.onTrainingEnd(q1Trainer)); + q2Trainer.notifyListeners(listener -> listener.onTrainingEnd(q2Trainer)); + policyTrainer.notifyListeners(listener -> listener.onTrainingEnd(policyTrainer)); + + float totalLoss = totalLossQ1 + totalLossQ2 + totalLossPolicy; + + System.out.println("Iters: " + trainingIters); + System.out.println("Avg loss: " + totalLoss / trainingIters); + float totalRewards = rewards.sum().getFloat(); + System.out.println("Total rewards: " + totalRewards); + + AgentLog log = new AgentLog(); + log.episode = metadata.episode; + log.steps = (int) states.getShape().get(0); + log.avgLoss = totalLoss / trainingIters; + log.avgQ1Loss = totalLossQ1 / trainingIters; + log.avgQ2Loss = totalLossQ2 / trainingIters; + log.avgPolicyLoss = totalLossPolicy / trainingIters; + log.totalReward = totalRewards; + logs.add(log); + + System.out.println(); + + } + } + + @Override + public void load(String path) { + try { + Path dir = Paths.get(path); + if (!Files.exists(dir)) { + System.out.println("No pre-trained model found"); + return; + } + q1Model = loadParams(path, FILE_NAME_Q1, q1Model); + q2Model = loadParams(path, FILE_NAME_Q2, q2Model); + policyModel = loadParams(path, FILE_NAME_POLICY, policyModel); + + Path pathMetadata = Paths.get(path, FILE_NAME_METADATA); + if (Files.exists(pathMetadata)) { + metadata = new ObjectMapper().readValue(pathMetadata.toFile(), AgentMetadata.class); + } else { + System.out.println("No metadata found"); + } + + } catch (Exception e) { + throw new RuntimeException(e); + } + } + + private Model loadParams(String dir, String fileName, Model model) throws IOException, MalformedModelException { + Path path = Paths.get(dir, fileName); + model.load(path, "model"); + // try (DataInputStream is = new DataInputStream(Files.newInputStream(path))) { + // model.getBlock().loadParameters(manager, is); + // } + return model; + } + + @Override + public void save(String path) { + try { + Path dir = Paths.get(path); + Files.createDirectories(dir); + saveParams(path, FILE_NAME_Q1, q1Model); + saveParams(path, FILE_NAME_Q2, q2Model); + saveParams(path, FILE_NAME_POLICY, policyModel); + + Path pathMetadata = Paths.get(path, FILE_NAME_METADATA); + try (BufferedWriter bw = new BufferedWriter(new FileWriter(pathMetadata.toFile()))) { + new ObjectMapper().writeValue(bw, metadata); + } + + Path pathCsv = Paths.get(path, FILE_NAME_LOGS); + if (!Files.exists(pathCsv)) { + pathCsv.toFile().createNewFile(); + try (BufferedWriter bw = new BufferedWriter(new FileWriter(pathCsv.toFile(), false))) { + String header = Arrays.stream(AgentLog.class.getFields()) + .filter(field -> Modifier.isPublic(field.getModifiers())) + .map(Field::getName) + .collect(Collectors.joining(",")); + bw.write(header); + bw.newLine(); + } catch (SecurityException e) { + e.printStackTrace(); + } + } + try (BufferedWriter bw = new BufferedWriter(new FileWriter(pathCsv.toFile(), true))) { + for (AgentLog log : logs) { + String line = Arrays.stream(AgentLog.class.getFields()) + .filter(field -> Modifier.isPublic(field.getModifiers())) + .map(field -> { + try { + return field.get(log).toString(); + } catch (IllegalAccessException e) { + e.printStackTrace(); + return ""; + } + }) + .collect(Collectors.joining(",")); + bw.write(line); + bw.newLine(); + } + } + } catch (IOException e) { + throw new RuntimeException(e); + } + } + + private void saveParams(String dir, String fileName, Model model) throws IOException { + Path path = Paths.get(dir, fileName); + + Files.createDirectories(path); + model.save(path, "model"); + } + + @Override + public void reset() { + if (manager != null) { + manager.close(); + } + manager = NDManager.newBaseManager(); + + q1Network = QNetwork.builder() + .setManager(manager) + .setStateSize(stateSize) + .setActionSize(actionSize) + .build(); + q1Network.initialize(manager, DataType.FLOAT32, new Shape(stateSize), new Shape(actionSize)); + q1Model = q1Network.toModel(); + + q2Network = QNetwork.builder() + .setManager(manager) + .setStateSize(stateSize) + .setActionSize(actionSize) + .build(); + q2Network.initialize(manager, DataType.FLOAT32, new Shape(stateSize), new Shape(actionSize)); + q2Model = q2Network.toModel(); + + policyNetwork = DeterministicPolicyNetwork.builder() + .setManager(manager) + .setStateSize(stateSize) + .setActionSize(actionSize) + .build(); + policyNetwork.initialize(manager, DataType.FLOAT32, new Shape(stateSize)); + policyModel = policyNetwork.toModel(); + policyPredictor = policyModel.newPredictor(new NoopTranslator()); + } + + private DefaultTrainingConfig getTrainingConfig() { + DefaultTrainingConfig trainingConfig = new DefaultTrainingConfig(Loss.l2Loss()) + .addTrainingListeners(TrainingListener.Defaults.basic()) + .optOptimizer(optimizer); + return trainingConfig; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder extends BaseGAE.BaseBuilder { + + private int batchSize = 128; + private int trainingIters = 10; + private int policyUpdateInterval = 1; + private float gamma = 0.99f; + private float alpha = 0.2f; + + public Builder optBatchSize(int batchSize) { + this.batchSize = batchSize; + return self(); + } + + public Builder optTrainingIters(int trainingIters) { + this.trainingIters = trainingIters; + return self(); + } + + public Builder optPolicyUpdateInterval(int policyUpdateInterval) { + this.policyUpdateInterval = policyUpdateInterval; + return self(); + } + + public Builder optGamma(float gamma) { + this.gamma = gamma; + return self(); + } + + public Builder optAlpha(float alpha) { + this.alpha = alpha; + return self(); + } + + public SAC build() { + return new SAC(this); + } + + } + +} diff --git a/src/uet/oop/bomberman/agent/rl/base/BaseAgent.java b/src/uet/oop/bomberman/agent/rl/base/BaseAgent.java index c9e01b1..d5d1c7e 100644 --- a/src/uet/oop/bomberman/agent/rl/base/BaseAgent.java +++ b/src/uet/oop/bomberman/agent/rl/base/BaseAgent.java @@ -10,6 +10,7 @@ public abstract class BaseAgent { * @return action */ public abstract int react(float[] state); + public abstract int react(float[] state, int action); /** * Collect the result of the previous action diff --git a/src/uet/oop/bomberman/agent/rl/base/BaseAgentImpl.java b/src/uet/oop/bomberman/agent/rl/base/BaseAgentImpl.java new file mode 100644 index 0000000..311af04 --- /dev/null +++ b/src/uet/oop/bomberman/agent/rl/base/BaseAgentImpl.java @@ -0,0 +1,155 @@ +package uet.oop.bomberman.agent.rl.base; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; +import java.util.Random; +import java.util.function.Supplier; + +import ai.djl.ndarray.NDManager; +import ai.djl.training.optimizer.Optimizer; +import ai.djl.translate.TranslateException; +import uet.oop.bomberman.agent.rl.dtypes.Memory; + +public abstract class BaseAgentImpl extends BaseAgent { + + private static final float EXPLORE_RATE = 0.05f; + protected final Random random = new Random(); + + protected Memory memory = new Memory(65535); + protected Optimizer optimizer; + protected int stateSize; + protected int actionSize; + + protected NDManager manager; + + protected Supplier getActionMask; + + protected AgentMetadata metadata = new AgentMetadata(); + + public static class AgentMetadata implements Serializable { + public int episode = 0; + } + + protected BaseAgentImpl(Optimizer optimizer, int stateSize, int actionSize) { + this( + builder() + .setOptimizer(optimizer) + .setStateSize(stateSize) + .setActionSize(actionSize) + ); + } + + protected BaseAgentImpl(BaseBuilder builder) { + this.manager = NDManager.newBaseManager(); + this.optimizer = builder.optimizer; + this.stateSize = builder.stateSize; + this.actionSize = builder.actionSize; + } + + public void setActionMaskGetter(Supplier getActionMask) { + this.getActionMask = getActionMask; + } + + @Override + public int react(float[] state) { + int action = sampleAction(state); + return react(state, action); + } + + @Override + public int react(float[] state, int action) { + if (!isEval()) { + memory.setState(state); + } + if (!isEval()) { + memory.setAction(action); + } + + return action; + + } + + private int sampleAction(float[] state) { + int action; + if (random.nextFloat() < EXPLORE_RATE) { + action = randomAction(); + } else { + try (NDManager submanager = manager.newSubManager()) { + action = sampleAction(submanager, state); + } catch (RuntimeException ex) { + ex.printStackTrace(); + action = randomAction(); + } + System.out.println(" action: " + action); + } + return action; + } + + private int randomAction() { + int action; + Boolean[] actionMask = getActionMask.get(); + List validActions = new ArrayList<>(); + for (int i = 0; i < actionSize; i++) { + if (actionMask[i]) { + validActions.add(i); + } + } + action = validActions.get(random.nextInt(validActions.size())); + return action; + } + + public abstract int sampleAction(NDManager submanager, float[] state); + public abstract void load(String path); + public abstract void save(String path); + + @Override + public void collect(float reward, boolean done) { + if (!isEval()) { + memory.setRewardAndMask(reward, done); + if (done) { + try { + updateModel(manager); + } catch (TranslateException e) { + throw new IllegalStateException(e); + } + metadata.episode += 1; + memory.reset(); + } + } + } + + private static BaseBuilder builder() { + return new BaseBuilder<>(); + } + + public abstract void updateModel(NDManager submanager) throws TranslateException; + + public static class BaseBuilder> { + + private Optimizer optimizer; + private int stateSize; + private int actionSize; + + public T setOptimizer(Optimizer optimizer) { + this.optimizer = optimizer; + return self(); + } + + public T setStateSize(int stateSize) { + this.stateSize = stateSize; + return self(); + } + + public T setActionSize(int actionSize) { + this.actionSize = actionSize; + return self(); + } + + @SuppressWarnings("unchecked") + protected final T self() { + return (T) this; + } + } + +} diff --git a/src/uet/oop/bomberman/agent/rl/base/BaseGAE.java b/src/uet/oop/bomberman/agent/rl/base/BaseGAE.java index ddea99b..2df74e9 100644 --- a/src/uet/oop/bomberman/agent/rl/base/BaseGAE.java +++ b/src/uet/oop/bomberman/agent/rl/base/BaseGAE.java @@ -8,10 +8,6 @@ import java.nio.file.NoSuchFileException; import java.nio.file.Path; import java.nio.file.Paths; -import java.util.ArrayList; -import java.util.List; -import java.util.Random; -import java.util.function.Supplier; import ai.djl.MalformedModelException; import ai.djl.Model; @@ -24,22 +20,10 @@ import ai.djl.training.tracker.Tracker; import ai.djl.translate.NoopTranslator; import ai.djl.translate.TranslateException; -import uet.oop.bomberman.agent.rl.dtypes.Memory; import uet.oop.bomberman.agent.rl.model.DistributionValueModel; import uet.oop.bomberman.agent.rl.utils.ActionSampler; -public abstract class BaseGAE extends BaseAgent { - protected final Random random = new Random(); - protected final Memory memory = new Memory(1024); - protected final Optimizer optimizer; - - public NDManager manager = NDManager.newBaseManager(); - protected Model model; - public Model getModel() { - return model; - } - - protected Predictor predictor; +public abstract class BaseGAE extends BaseAgentImpl { private final float gae_lambda; private final float gamma; @@ -47,86 +31,28 @@ public Model getModel() { protected final int dim_of_state_space; private final int hidden_size; + protected Model model; + protected Predictor predictor; + public BaseGAE(int dim_of_state_space, int num_of_action, int hidden_size, float gamma, float gae_lambda, float learning_rate) { + super( + Optimizer.adam() + .optLearningRateTracker(Tracker.fixed(learning_rate)) + .build(), + dim_of_state_space, + num_of_action + ); this.gae_lambda = gae_lambda; this.gamma = gamma; this.dim_of_state_space = dim_of_state_space; this.num_of_action = num_of_action; this.hidden_size = hidden_size; - this.optimizer = Optimizer.adam() - .optLearningRateTracker(Tracker.fixed(learning_rate)) - .build(); this.reset(); } - protected Supplier getActionMask; - public void setActionMaskGetter(Supplier getActionMask) { - this.getActionMask = getActionMask; - } - @Override - public int react(float[] state) { - try (NDManager submanager = manager.newSubManager()) { - if (!isEval()) { - memory.setState(state); - } - - final float EXPLORE_RATE = 0.05f; - int action; - if (random.nextFloat() < EXPLORE_RATE) { - Boolean[] actionMask = getActionMask.get(); - List validActions = new ArrayList<>(); - for (int i = 0; i < num_of_action; i++) { - if (actionMask[i]) { - validActions.add(i); - } - } - action = validActions.get(random.nextInt(validActions.size())); - // System.out.println("Random action: " + action); - } else { - NDArray prob = predictor.predict(new NDList(submanager.create(state))).get(0); - action = ActionSampler.sampleMultinomial(prob, random); - System.out.println(" action: " + action); - } - - if (!isEval()) { - memory.setAction(action); - } - - return action; - - } catch (TranslateException e) { - throw new IllegalStateException(e); - } - } - - @Override - public void collect(float reward, boolean done) { - if (!isEval()) { - memory.setRewardAndMask(reward, done); - if (done) { - try (NDManager submanager = manager.newSubManager()) { - updateModel(submanager); - } catch (TranslateException e) { - throw new IllegalStateException(e); - } - memory.reset(); - } - } - } - - @Override - public void reset() { - if (manager != null) { - manager.close(); - } - manager = NDManager.newBaseManager(); - model = DistributionValueModel.newModel(manager, dim_of_state_space, hidden_size, num_of_action); - predictor = model.newPredictor(new NoopTranslator()); - } - - public void load() { + public void load(String path) { try { Path dir = Paths.get("models"); File file = new File("models/PPO.params"); @@ -144,7 +70,8 @@ public void load() { } } - public void save() { + @Override + public void save(String path) { try { File file = new File("models/PPO.params"); @@ -156,6 +83,27 @@ public void save() { } } + @Override + public int sampleAction(NDManager submanager, float[] state) { + try { + NDArray prob = predictor.predict(new NDList(submanager.create(state))).get(0); + int action = ActionSampler.sampleMultinomial(prob, random); + return action; + } catch (TranslateException ex) { + throw new RuntimeException(ex); + } + } + + @Override + public void reset() { + if (manager != null) { + manager.close(); + } + manager = NDManager.newBaseManager(); + model = DistributionValueModel.newModel(manager, dim_of_state_space, hidden_size, num_of_action); + predictor = model.newPredictor(new NoopTranslator()); + } + protected NDList estimateAdvantage(NDArray values, NDArray rewards) { NDArray expected_returns = rewards.duplicate(); NDArray advantages = rewards.sub(values.squeeze()); @@ -169,6 +117,4 @@ protected NDList estimateAdvantage(NDArray values, NDArray rewards) { return new NDList(expected_returns, advantages); } - protected abstract void updateModel(NDManager submanager) throws TranslateException; - } diff --git a/src/uet/oop/bomberman/agent/rl/dtypes/Memory.java b/src/uet/oop/bomberman/agent/rl/dtypes/Memory.java index c271b5f..70d1ccf 100644 --- a/src/uet/oop/bomberman/agent/rl/dtypes/Memory.java +++ b/src/uet/oop/bomberman/agent/rl/dtypes/Memory.java @@ -143,7 +143,7 @@ private MemoryBatch getBatch(Transition[] transitions, NDManager manager, int ba float[][] next_states = new float[batch_size][]; int[] actions = new int[batch_size]; float[] rewards = new float[batch_size]; - boolean[] masks = new boolean[batch_size]; + int[] masks = new int[batch_size]; int index = head; for (int i = 0; i < batch_size; i++) { @@ -156,7 +156,7 @@ private MemoryBatch getBatch(Transition[] transitions, NDManager manager, int ba next_states[i] = next_state != null ? next_state : new float[states[i].length]; actions[i] = transitions[index].getAction(); rewards[i] = transitions[index].getReward(); - masks[i] = transitions[index].isMasked(); + masks[i] = transitions[index].isMasked() ? 1 : 0; } return new MemoryBatch(manager.create(states), manager.create(next_states), manager.create(actions), diff --git a/src/uet/oop/bomberman/agent/rl/model/BaseNetwork.java b/src/uet/oop/bomberman/agent/rl/model/BaseNetwork.java new file mode 100644 index 0000000..713f90b --- /dev/null +++ b/src/uet/oop/bomberman/agent/rl/model/BaseNetwork.java @@ -0,0 +1,47 @@ +package uet.oop.bomberman.agent.rl.model; + +import ai.djl.Model; +import ai.djl.ndarray.NDManager; +import ai.djl.ndarray.types.DataType; +import ai.djl.ndarray.types.Shape; +import ai.djl.nn.Parameter; +import ai.djl.training.initializer.ConstantInitializer; +import ai.djl.training.initializer.NormalInitializer; + +public abstract class BaseNetwork extends BaseModel { + + protected BaseNetwork(BaseBuilder builder) { + super(builder.manager); + setInitializer(new NormalInitializer(), Parameter.Type.WEIGHT); + setInitializer(new ConstantInitializer(1f), Parameter.Type.GAMMA); + setInitializer(new ConstantInitializer(0f), Parameter.Type.BETA); + } + + @Override + protected abstract void initializeChildBlocks( + NDManager manager, + DataType dataType, + Shape... inputShapes + ); + + public abstract Model toModel(); + + public static abstract class BaseBuilder>{ + + private NDManager manager; + + public S setManager(NDManager manager) { + this.manager = manager; + return self(); + } + + @SuppressWarnings("unchecked") + protected final S self() { + return (S) this; + } + + public abstract BaseNetwork build(); + + } + +} diff --git a/src/uet/oop/bomberman/agent/rl/model/sac/DeterministicPolicyNetwork.java b/src/uet/oop/bomberman/agent/rl/model/sac/DeterministicPolicyNetwork.java new file mode 100644 index 0000000..18ba5f5 --- /dev/null +++ b/src/uet/oop/bomberman/agent/rl/model/sac/DeterministicPolicyNetwork.java @@ -0,0 +1,178 @@ +package uet.oop.bomberman.agent.rl.model.sac; + +import java.util.Random; + +import ai.djl.Model; +import ai.djl.inference.Predictor; +import ai.djl.ndarray.NDArray; +import ai.djl.ndarray.NDArrays; +import ai.djl.ndarray.NDList; +import ai.djl.ndarray.NDManager; +import ai.djl.ndarray.types.DataType; +import ai.djl.ndarray.types.Shape; +import ai.djl.nn.Activation; +import ai.djl.nn.Block; +import ai.djl.nn.SequentialBlock; +import ai.djl.nn.core.Linear; +import ai.djl.training.ParameterStore; +import ai.djl.translate.NoopTranslator; +import ai.djl.translate.TranslateException; +import ai.djl.util.PairList; +import uet.oop.bomberman.agent.rl.utils.ActionSampler; + +public class DeterministicPolicyNetwork extends PolicyNetwork { + + private final Random random = new Random(); + + private final int actionSize; + + private Block block; + + protected DeterministicPolicyNetwork(Builder builder) { + super(builder); + this.actionSize = builder.actionSize; + + SequentialBlock block = new SequentialBlock(); + for (int i = 0; i < builder.numHiddenLayer; i++) { + block.add(Linear.builder().setUnits(builder.hiddenSize).build()); + block.add(Activation.reluBlock()); + } + block.add(Linear.builder().setUnits(builder.actionSize).build()); + this.block = addChildBlock("Network", block); + } + + @Override + public Shape[] getOutputShapes(Shape[] inputShapes) { + final Shape[] OUTPUT_SHAPE_SINGLE = new Shape[] {new Shape(actionSize)}; + long batchSize = -1; + for (Shape shape : inputShapes) { + if (shape.dimension() <= 1) { + return OUTPUT_SHAPE_SINGLE; + } + long _batch_size = shape.get(0); + if (batchSize == -1) { + batchSize = _batch_size; + } else if (batchSize != _batch_size) { + throw new IllegalArgumentException("Inconsistent batch size"); + } + } + return new Shape[] {new Shape(batchSize, actionSize)}; + } + + @Override + protected NDList forwardInternal(ParameterStore parameterStore, NDList inputs, boolean training, + PairList params) { + int lastDimension = inputs.get(0).getShape().dimension() - 1; + NDArray input = NDArrays.concat(inputs, lastDimension); + NDArray output = block.forward(parameterStore, new NDList(input), training, params).singletonOrThrow(); + output = output.softmax(output.getShape().dimension() - 1); + return new NDList(output); + } + + @Override + protected void initializeChildBlocks(NDManager manager, DataType dataType, Shape... inputShapes) { + int dimensions = inputShapes[0].dimension(); + int lastDimensionSize = 0; + for (Shape shape: inputShapes) { + lastDimensionSize += shape.get(dimensions - 1); + } + block.initialize(manager, dataType, new Shape(lastDimensionSize)); + } + + @Override + public NDArray sampleAction(NDManager manager, NDList modelOutput) { + // modelOutput[0].shape should be either (N, actionSize) or (actionSize,) + // after sampling, the shape should be (N,) or () + + // NDArray dist = modelOutput.singletonOrThrow(); + // if (dist.getShape().dimension() == 1) { + // int action = ActionSampler.sampleMultinomial(dist, random); + // return manager.create(action); + // } else { + // int N = (int) dist.getShape().get(0); + // int[] actions = new int[N]; + // for (int i = 0; i < N; i++) { + // actions[i] = ActionSampler.sampleMultinomial(dist.get(i), random); + // } + // return manager.create(actions); + // } + + return modelOutput.singletonOrThrow().argMax(-1); + } + + @Override + public Model toModel() { + Model model = Model.newInstance("DeterministicPolicyNetwork"); + model.setBlock(this); + return model; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder extends BaseBuilder { + + private int stateSize; + private int actionSize; + private int hiddenSize = 64; + private int numHiddenLayer = 1; + + private Builder() { + } + + public Builder setStateSize(int inputSize) { + this.stateSize = inputSize; + return self(); + } + + public Builder setActionSize(int actionSize) { + this.actionSize = actionSize; + return self(); + } + + public Builder optHiddenSize(int hiddenSize) { + this.hiddenSize = hiddenSize; + return self(); + } + + public Builder optNumLayer(int numLayer) { + this.numHiddenLayer = numLayer; + return self(); + } + + @Override + public DeterministicPolicyNetwork build() { + return new DeterministicPolicyNetwork(this); + } + + } + + public static void main(String[] args) { + NDManager manager = NDManager.newBaseManager(); + DeterministicPolicyNetwork network = DeterministicPolicyNetwork.builder() + .setManager(manager) + .setStateSize(4) + .setActionSize(2) + .optHiddenSize(64) + .optNumLayer(2) + .build(); + Model model = network.toModel(); + Predictor predictor = model.newPredictor(new NoopTranslator()); + long batchSize = 8; + NDArray state = manager.ones(new Shape(batchSize, 4)); + NDArray action = manager.ones(new Shape(batchSize, 2)); + NDList result = null; + try { + result = predictor.predict(new NDList(state, action)); + } catch (TranslateException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + NDArray resultArray = result.singletonOrThrow(); + if (!resultArray.getShape().equals(new Shape(batchSize, 1))) { + throw new IllegalStateException("Invalid output shape"); + } + } + +} diff --git a/src/uet/oop/bomberman/agent/rl/model/sac/IPolicyNetwork.java b/src/uet/oop/bomberman/agent/rl/model/sac/IPolicyNetwork.java new file mode 100644 index 0000000..1ca2b67 --- /dev/null +++ b/src/uet/oop/bomberman/agent/rl/model/sac/IPolicyNetwork.java @@ -0,0 +1,11 @@ +package uet.oop.bomberman.agent.rl.model.sac; + +import ai.djl.ndarray.NDArray; +import ai.djl.ndarray.NDList; +import ai.djl.ndarray.NDManager; + +public interface IPolicyNetwork { + + public NDArray sampleAction(NDManager manager, NDList modelOutput); + +} diff --git a/src/uet/oop/bomberman/agent/rl/model/sac/PolicyNetwork.java b/src/uet/oop/bomberman/agent/rl/model/sac/PolicyNetwork.java new file mode 100644 index 0000000..f55bb4a --- /dev/null +++ b/src/uet/oop/bomberman/agent/rl/model/sac/PolicyNetwork.java @@ -0,0 +1,11 @@ +package uet.oop.bomberman.agent.rl.model.sac; + +import uet.oop.bomberman.agent.rl.model.BaseNetwork; + +public abstract class PolicyNetwork extends BaseNetwork implements IPolicyNetwork { + + public PolicyNetwork(BaseNetwork.BaseBuilder builder) { + super(builder); + } + +} diff --git a/src/uet/oop/bomberman/agent/rl/model/sac/QNetwork.java b/src/uet/oop/bomberman/agent/rl/model/sac/QNetwork.java new file mode 100644 index 0000000..3d91e1b --- /dev/null +++ b/src/uet/oop/bomberman/agent/rl/model/sac/QNetwork.java @@ -0,0 +1,149 @@ +package uet.oop.bomberman.agent.rl.model.sac; + +import java.util.Arrays; + +import ai.djl.Model; +import ai.djl.inference.Predictor; +import ai.djl.ndarray.NDArray; +import ai.djl.ndarray.NDArrays; +import ai.djl.ndarray.NDList; +import ai.djl.ndarray.NDManager; +import ai.djl.ndarray.types.DataType; +import ai.djl.ndarray.types.Shape; +import ai.djl.nn.Activation; +import ai.djl.nn.Block; +import ai.djl.nn.SequentialBlock; +import ai.djl.nn.core.Linear; +import ai.djl.training.ParameterStore; +import ai.djl.translate.NoopTranslator; +import ai.djl.translate.TranslateException; +import ai.djl.util.PairList; +import uet.oop.bomberman.agent.rl.model.BaseNetwork; + +public class QNetwork extends BaseNetwork { + + private Block block; + + protected QNetwork(Builder builder) { + super(builder); + SequentialBlock block = new SequentialBlock(); + for (int i = 0; i < builder.numHiddenLayer; i++) { + block.add(Linear.builder().setUnits(builder.hiddenSize).build()); + block.add(Activation.reluBlock()); + } + block.add(Linear.builder().setUnits(1).build()); + this.block = addChildBlock("QNetwork", block); + } + + @Override + public Shape[] getOutputShapes(Shape[] inputShapes) { + final Shape[] OUTPUT_SHAPE_SINGLE = new Shape[] {new Shape()}; + long batchSize = -1; + for (Shape shape : inputShapes) { + if (shape.dimension() <= 1) { + return OUTPUT_SHAPE_SINGLE; + } + long _batch_size = shape.get(0); + if (batchSize == -1) { + batchSize = _batch_size; + } else if (batchSize != _batch_size) { + throw new IllegalArgumentException("Inconsistent batch size"); + } + } + return new Shape[] {new Shape(batchSize)}; + } + + @Override + protected NDList forwardInternal(ParameterStore parameterStore, NDList inputs, boolean training, + PairList params) { + int lastDimension = inputs.get(0).getShape().dimension() - 1; + NDArray input = NDArrays.concat(inputs, lastDimension); + NDArray output = block.forward(parameterStore, new NDList(input), training, params).singletonOrThrow(); + return new NDList(output.squeeze(-1)); + } + + @Override + protected void initializeChildBlocks(NDManager manager, DataType dataType, Shape... inputShapes) { + int dimensions = inputShapes[0].dimension(); + int lastDimensionSize = 0; + for (Shape shape: inputShapes) { + lastDimensionSize += shape.get(dimensions - 1); + } + block.initialize(manager, dataType, new Shape(lastDimensionSize)); + } + + public Model toModel() { + Model model = Model.newInstance("QNetwork"); + model.setBlock(this); + return model; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder extends BaseBuilder { + + private int stateSize; + private int actionSize; + private int hiddenSize = 64; + private int numHiddenLayer = 1; + + private Builder() { + } + + public Builder setStateSize(int inputSize) { + this.stateSize = inputSize; + return self(); + } + + public Builder setActionSize(int actionSize) { + this.actionSize = actionSize; + return self(); + } + + public Builder optHiddenSize(int hiddenSize) { + this.hiddenSize = hiddenSize; + return self(); + } + + public Builder optNumLayer(int numLayer) { + this.numHiddenLayer = numLayer; + return self(); + } + + @Override + public QNetwork build() { + return new QNetwork(this); + } + + } + + public static void main(String[] args) { + NDManager manager = NDManager.newBaseManager(); + QNetwork network = QNetwork.builder() + .setManager(manager) + .setStateSize(4) + .setActionSize(2) + .optHiddenSize(64) + .optNumLayer(2) + .build(); + Model model = network.toModel(); + Predictor predictor = model.newPredictor(new NoopTranslator()); + long batchSize = 8; + NDArray state = manager.ones(new Shape(batchSize, 4)); + NDArray action = manager.ones(new Shape(batchSize, 2)); + NDList result = null; + try { + result = predictor.predict(new NDList(state, action)); + } catch (TranslateException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + NDArray resultArray = result.singletonOrThrow(); + if (!resultArray.getShape().equals(new Shape(batchSize, 1))) { + throw new IllegalStateException("Invalid output shape"); + } + } + +} diff --git a/src/uet/oop/bomberman/agent/rulebased/RuleBasedBomberAgent.java b/src/uet/oop/bomberman/agent/rulebased/RuleBasedBomberAgent.java new file mode 100644 index 0000000..bc56e86 --- /dev/null +++ b/src/uet/oop/bomberman/agent/rulebased/RuleBasedBomberAgent.java @@ -0,0 +1,201 @@ +package uet.oop.bomberman.agent.rulebased; + +import java.util.Arrays; +import java.util.LinkedList; +import java.util.List; +import java.util.Queue; + +import uet.oop.bomberman.Board; +import uet.oop.bomberman.agent.base.Agent; +import uet.oop.bomberman.entities.Entity; +import uet.oop.bomberman.entities.LayeredEntity; +import uet.oop.bomberman.entities.bomb.Bomb; +import uet.oop.bomberman.entities.bomb.Flame; +import uet.oop.bomberman.entities.bomb.FlameSegment; +import uet.oop.bomberman.entities.character.Character; +import uet.oop.bomberman.entities.character.action.Action; +import uet.oop.bomberman.entities.character.action.ActionConstants; +import uet.oop.bomberman.entities.tile.Tile; + +public class RuleBasedBomberAgent extends Agent { + + private Board board; + + public RuleBasedBomberAgent(Character character, Board board) { + super(character); + this.board = board; + } + + @Override + public List getNextActions() { + int x = character.getXTile(); + int y = character.getYTile(); + boolean canPlaceBomb = character.canPerformAction(ActionConstants.PLACE_BOMB); + boolean canDestroy = getDestroyableNeighbourEntities(x, y) > 0; + if (canPlaceBomb && canDestroy) { + return Arrays.asList(ActionConstants.PLACE_BOMB); + } + if (!character.isMoving()) { + int width = board.getLevelManager().getBoardWidth(); + int height = board.getLevelManager().getBoardHeight(); + + // BFS to find shortest path + Queue queue = new LinkedList<>(); + queue.add(new Coordinate(x, y, 0)); + boolean[][] visited = new boolean[width][height]; + int[][] distance = new int[width][height]; + visited[x][y] = true; + int[][] parentX = new int[width][height]; + int[][] parentY = new int[width][height]; + while (!queue.isEmpty()) { + Coordinate current = queue.poll(); + int[] dx = {-1, 1, 0, 0}; + int[] dy = {0, 0, -1, 1}; + for (int i = 0; i < dx.length; i++) { + int newX = current.x + dx[i]; + int newY = current.y + dy[i]; + if (newX < 0 || newX >= width || newY < 0 || newY >= height) { + continue; + } + if (visited[newX][newY]) { + continue; + } + Tile tile = board.getEntityManager().getTileManager().getTileAt(newX, newY); + if (!tile.canBePassedThroughBy(character)) { + continue; + } + visited[newX][newY] = true; + parentX[newX][newY] = current.x; + parentY[newX][newY] = current.y; + distance[newX][newY] = current.distance + 1; + queue.add(new Coordinate(newX, newY, current.distance + 1)); + } + } + + int[][] tileScore = new int[width][height]; + for (int i = 0; i < width; i++) { + for (int j = 0; j < height; j++) { + Entity entity = board.getEntityManager().getEntityAtExcluding(i, j, character); + if (entity == null) { + tileScore[i][j] = Integer.MIN_VALUE; + continue; + } + if (i == x && j == y) { + tileScore[i][j] = Integer.MIN_VALUE; + continue; + } + if (!entity.canBePassedThroughBy(character)) { + tileScore[i][j] = Integer.MIN_VALUE; + continue; + } + if (!visited[i][j]) { + tileScore[i][j] = Integer.MIN_VALUE; + continue; + } + if (getNeighbourBombs(i, j) > 0) { + tileScore[i][j] = Integer.MIN_VALUE; + continue; + } + if (entity instanceof Flame || entity instanceof FlameSegment) { + tileScore[i][j] = Integer.MIN_VALUE; + continue; + } + if (entity instanceof Character && !((Character) entity).isPlayer()) { + tileScore[i][j] = Integer.MIN_VALUE; + continue; + } + int destroyableEntities = getDestroyableNeighbourEntities(i, j); + tileScore[i][j] += destroyableEntities; + + if (entity instanceof LayeredEntity && ((LayeredEntity) entity).hasItem()) { + tileScore[i][j] += 5; + } + + if (distance[i][j] < 5) { + float bonus = tileScore[i][j] * (5 - distance[i][j]) / 5.0f; + tileScore[i][j] += bonus; + } + } + } + int bestScore = Integer.MIN_VALUE; + int bestX = x; + int bestY = y; + for (int i = 0; i < width; i++) { + for (int j = 0; j < height; j++) { + if (tileScore[i][j] > bestScore) { + bestScore = tileScore[i][j]; + bestX = i; + bestY = j; + } + } + } + if (bestX == x && bestY == y) { + return Arrays.asList(ActionConstants.DO_NOTHING); + } + // trace back to current tile and output the immediate next action that player should perform + int currentX = bestX; + int currentY = bestY; + while (parentX[currentX][currentY] != x || parentY[currentX][currentY] != y) { + int nextX = parentX[currentX][currentY]; + int nextY = parentY[currentX][currentY]; + currentX = nextX; + currentY = nextY; + } + if (currentX == x - 1) { + return Arrays.asList(ActionConstants.MOVE_LEFT); + } + if (currentX == x + 1) { + return Arrays.asList(ActionConstants.MOVE_RIGHT); + } + if (currentY == y - 1) { + return Arrays.asList(ActionConstants.MOVE_UP); + } + if (currentY == y + 1) { + return Arrays.asList(ActionConstants.MOVE_DOWN); + } + } + + return Arrays.asList(ActionConstants.DO_NOTHING); + } + + private class Coordinate { + int x; + int y; + int distance; + Coordinate(int x, int y, int distance) { + this.x = x; + this.y = y; + this.distance = distance; + } + } + + private int getDestroyableNeighbourEntities(int x, int y) { + int destroyableEntities = 0; + int[] dx = {-1, 1, 0, 0}; + int[] dy = {0, 0, -1, 1}; + for (int i = 0; i < dx.length; i++) { + Entity entity = board.getEntityManager().getEntityAtExcluding(x + dx[i], y + dy[i], character); + if (entity == null) continue; + if (entity instanceof Tile && ((Tile) entity).isDestroyable()) { + destroyableEntities += 1; + } + if (entity instanceof Character && !((Character) entity).isPlayer()) { + destroyableEntities += 1; + } + } + return destroyableEntities; + } + + private int getNeighbourBombs(int x, int y) { + int bombs = 0; + int[] dx = {-1, 1, 0, 0}; + int[] dy = {0, 0, -1, 1}; + for (int i = 0; i < dx.length; i++) { + Entity entity = board.getEntityManager().getEntityAtExcluding(x + dx[i], y + dy[i], character); + if (entity == null) continue; + if (entity instanceof Bomb) bombs += 1; + } + return bombs; + } + +} diff --git a/src/uet/oop/bomberman/agent/sac/SacAgent.java b/src/uet/oop/bomberman/agent/sac/SacAgent.java new file mode 100644 index 0000000..b0614f9 --- /dev/null +++ b/src/uet/oop/bomberman/agent/sac/SacAgent.java @@ -0,0 +1,122 @@ +package uet.oop.bomberman.agent.sac; + +import java.util.ArrayList; +import java.util.List; + +import ai.djl.training.optimizer.Optimizer; +import ai.djl.training.tracker.Tracker; +import uet.oop.bomberman.Board; +import uet.oop.bomberman.agent.base.Agent; +import uet.oop.bomberman.agent.base.RewardBasedAgent; +import uet.oop.bomberman.agent.base.SerializableAgent; +import uet.oop.bomberman.agent.rl.ExpertGuidedAgent; +import uet.oop.bomberman.agent.rl.SAC; +import uet.oop.bomberman.agent.rl.base.BaseAgentImpl; +import uet.oop.bomberman.agent.rulebased.RuleBasedBomberAgent; +import uet.oop.bomberman.agent.state.base.IStateExtractor; +import uet.oop.bomberman.entities.character.Character; +import uet.oop.bomberman.entities.character.action.Action; + +public class SacAgent extends Agent implements SerializableAgent, RewardBasedAgent { + + private IStateExtractor stateExtractor; + private Board board; + private BaseAgentImpl agent; + private List validActions; + + private float prevValue; + private float bonusReward = 0; + + private String dir = "models"; + + public SacAgent(Character character, Board board, IStateExtractor stateExtractor) { + super(character); + this.board = board; + this.prevValue = stateExtractor.getValue(board); + this.stateExtractor = stateExtractor; + this.validActions = character.getValidActions(); + final Optimizer optimizer = Optimizer.adam() + .optLearningRateTracker(Tracker.fixed(3e-4f)) + .build(); + this.agent = SAC.builder() + .setStateSize(stateExtractor.getDimension()) + .setActionSize(validActions.size()) + .setOptimizer(optimizer) + .optPolicyUpdateInterval(32) + .build(); + this.agent.setActionMaskGetter(() -> { + List performableActions = character.getPerformableActions(); + Boolean[] mask = new Boolean[validActions.size()]; + for (int i = 0; i < validActions.size(); i++) { + mask[i] = performableActions.contains(validActions.get(i)); + } + return mask; + }); + this.agent = ExpertGuidedAgent.builder() + .setOriginalAgent(this.agent) + .setExpertAgent(new RuleBasedBomberAgent(character, board)) + .setValidActions(validActions) + .build(); + } + + public String getModelPath() { + return dir; + } + + public void setModelPath(String dir) { + this.dir = dir; + } + + @Override + public List getNextActions() { + collectReward(); + Action action = getAction(); + List actions = new ArrayList<>(); + actions.add(action); + prevValue = stateExtractor.getValue(board); + return actions; + } + + private void collectReward() { + float currentValue = stateExtractor.getValue(board); + try { + agent.collect(currentValue - prevValue + bonusReward, false); + bonusReward = 0; + } catch (IllegalStateException ignored) {} + } + + private Action getAction() { + float[] state = stateExtractor.getEmbedding(board); + int actionIndex = agent.react(state); + Action action = validActions.get(actionIndex); + return action; + } + + @Override + public void load(String path) { + agent.load(path); + } + + @Override + public void save(String path) { + agent.save(path); + } + + @Override + public void handleWinLevel() { + agent.collect(100, true); + save(dir); + } + + @Override + public void handleLoseLevel() { + agent.collect(-100, true); + save(dir); + } + + @Override + public void addReward(float reward) { + bonusReward += reward; + } + +} diff --git a/src/uet/oop/bomberman/agent/state/NaivePlayerStateExtractor.java b/src/uet/oop/bomberman/agent/state/NaivePlayerStateExtractor.java index 615a469..d236421 100644 --- a/src/uet/oop/bomberman/agent/state/NaivePlayerStateExtractor.java +++ b/src/uet/oop/bomberman/agent/state/NaivePlayerStateExtractor.java @@ -12,13 +12,14 @@ import uet.oop.bomberman.entities.bomb.FlameSegment; import uet.oop.bomberman.entities.character.Character; import uet.oop.bomberman.entities.character.action.Action; +import uet.oop.bomberman.entities.tile.Portal; import uet.oop.bomberman.entities.tile.Tile; import uet.oop.bomberman.entities.tile.item.Item; public class NaivePlayerStateExtractor extends PlayerStateExtractor { private static final float EPSILON = 0.01f; - private static final int FIELD_OF_VISION = 5; + private static final int FIELD_OF_VISION = 15; public NaivePlayerStateExtractor(Character player) { super(player); @@ -33,6 +34,7 @@ public int getDimension() { + FIELD_OF_VISION * FIELD_OF_VISION // isBomb + FIELD_OF_VISION * FIELD_OF_VISION // isFlame + FIELD_OF_VISION * FIELD_OF_VISION // isDestroyable + + FIELD_OF_VISION * FIELD_OF_VISION // isPortal + 1 // time + player.getValidActions().size() // action availability ); @@ -54,6 +56,7 @@ public float[] getEmbedding(Board board) { addSurroundingTileMask(board, embedding, currentIndex, this::isBomb); addSurroundingTileMask(board, embedding, currentIndex, this::isFlame); addSurroundingTileMask(board, embedding, currentIndex, this::isDestroyable); + addSurroundingTileMask(board, embedding, currentIndex, this::isPortal); embedding[currentIndex.getAndIncrement()] = board.getGameInfoManager().getTime() * 1.0f / Game.TIME; @@ -129,6 +132,16 @@ private float isDestroyable(Board board, int x, int y) { return 0; } + private float isPortal(Board board, int x, int y) { + Tile tile = board.getEntityManager().getTileManager().getTileAt(x, y); + if (tile == null) return 0; + if (tile instanceof LayeredEntity) { + LayeredEntity layeredEntity = (LayeredEntity) tile; + return layeredEntity.getTopEntity() instanceof Portal ? 1 : 0; + } + return 0; + } + @Override public float getValue(Board board) { float value = 0; @@ -147,7 +160,7 @@ public float getValue(Board board) { value -= enemyPoints; // Reward based on survival time - value -= board.getGameInfoManager().getTime() / Game.TICKS_PER_SECOND; + value -= 5 * board.getGameInfoManager().getTime() / Game.TICKS_PER_SECOND; // Penalize based on number of destroyable tiles left float destroyableTiles = 0; diff --git a/src/uet/oop/bomberman/gui/Frame.java b/src/uet/oop/bomberman/gui/Frame.java index de66f0f..5aeb3bc 100644 --- a/src/uet/oop/bomberman/gui/Frame.java +++ b/src/uet/oop/bomberman/gui/Frame.java @@ -45,7 +45,6 @@ public Frame() { setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); pack(); setLocationRelativeTo(null); - setVisible(true); } public void start() { diff --git a/src/uet/oop/bomberman/level/FileLevelLoader.java b/src/uet/oop/bomberman/level/FileLevelLoader.java index b182851..60a6853 100644 --- a/src/uet/oop/bomberman/level/FileLevelLoader.java +++ b/src/uet/oop/bomberman/level/FileLevelLoader.java @@ -13,7 +13,9 @@ import uet.oop.bomberman.agent.MovingAgent; import uet.oop.bomberman.agent.base.Agent; import uet.oop.bomberman.agent.ppo.NaivePPOAgent; -import uet.oop.bomberman.agent.ppo.PPOAgent; +import uet.oop.bomberman.agent.rulebased.RuleBasedBomberAgent; +import uet.oop.bomberman.agent.sac.SacAgent; +import uet.oop.bomberman.agent.state.NaivePlayerStateExtractor; import uet.oop.bomberman.entities.LayeredEntity; import uet.oop.bomberman.entities.character.Bomber; import uet.oop.bomberman.entities.character.Bomber2; @@ -140,10 +142,17 @@ public void createEntities() { // if if (Global.gameMode == EGameMode.TWO_PLAYER) { agent = new KeyboardAgentPlayer1(bomber); + } else if (Global.isRuleBasedPlayer) { + agent = new RuleBasedBomberAgent(bomber, _board); } else if (Global.isAIPlayer) { - PPOAgent ppoAgent = new NaivePPOAgent(bomber, _board); - ppoAgent.load(); - agent = ppoAgent; + SacAgent bomberAgent = new SacAgent( + bomber, + _board, + new NaivePlayerStateExtractor(bomber) + ); + bomberAgent.setModelPath("models/sac"); + bomberAgent.load(bomberAgent.getModelPath()); + agent = bomberAgent; } else { agent = new KeyboardAgent(bomber); } diff --git a/src/uet/oop/bomberman/utils/Global.java b/src/uet/oop/bomberman/utils/Global.java index 0190b78..46dbabe 100644 --- a/src/uet/oop/bomberman/utils/Global.java +++ b/src/uet/oop/bomberman/utils/Global.java @@ -11,6 +11,7 @@ public class Global { public static int gameLevel = 1; public static EGameMode gameMode = EGameMode.ONE_PLAYER; public static int enemies = 0; - - public static boolean isAIPlayer = true; + + public static boolean isAIPlayer = false; + public static boolean isRuleBasedPlayer = false; }

    O&7X~|WrEnG6QR|{OzA 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

    ri*?QDuN&CndZ4pf@G~ym-O(`JWE~^5zzRgvgbq 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%0AX<4(tHU-Os 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Ⓢ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π4WL_bij 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