diff --git a/src/main/java/WindowOfFreeMove.java b/src/main/java/WindowOfFreeMove.java index a4e455a..e8c486a 100644 --- a/src/main/java/WindowOfFreeMove.java +++ b/src/main/java/WindowOfFreeMove.java @@ -8,7 +8,7 @@ public class WindowOfFreeMove extends JFrame { static final int CANVAS_WIDTH = 20; static final int CANVAS_HEIGHT = 20; - private static boolean isMoveablePerson; + private static boolean canPersonMove; static final int KEY_LEFT = 37; static final int KEY_UP = 38; @@ -20,19 +20,32 @@ public class WindowOfFreeMove extends JFrame { private JLayeredPane lp; private static Map map; - public static Map getMap() { return map; } - public static JPanel getDialogBar() { return dialogBar; } - - public static void setIsMoveablePerson(boolean isMoveablePerson) { - WindowOfFreeMove.isMoveablePerson = isMoveablePerson; + public static Map getMap() { + return map; } - public static void setDialogBar(JPanel dialogBar) { WindowOfFreeMove.dialogBar = dialogBar; } - public static void setMap(Map map){ WindowOfFreeMove.map = map; } - public static void paintMapOnWindow() {WindowOfFreeMove.map.createMap();} + public static JPanel getDialogBar() { + return dialogBar; + } + + public static void setCanPersonMove(boolean canPersonMove) { + WindowOfFreeMove.canPersonMove = canPersonMove; + } + + public static void setDialogBar(JPanel dialogBar) { + WindowOfFreeMove.dialogBar = dialogBar; + } + + public static void setMap(Map map) { + WindowOfFreeMove.map = map; + } + + public static void paintMapOnWindow() { + WindowOfFreeMove.map.createMap(); + } public WindowOfFreeMove() { - isMoveablePerson = true; + canPersonMove = true; lp = getLayeredPane(); canvas = new Canvas(); @@ -40,27 +53,28 @@ public class WindowOfFreeMove extends JFrame { canvas.setPreferredSize(new Dimension( CELL_SIZE * CANVAS_WIDTH, CELL_SIZE * CANVAS_HEIGHT)); - canvas.setBounds(0,0,CELL_SIZE * CANVAS_HEIGHT, CELL_SIZE * CANVAS_WIDTH); + canvas.setBounds(0, 0, CELL_SIZE * CANVAS_HEIGHT, CELL_SIZE * CANVAS_WIDTH); dialogBar = new JPanel(); - dialogBar.setBounds(0, WindowOfFreeMove.CELL_SIZE * WindowOfFreeMove.CANVAS_HEIGHT * 3 / 4, WindowOfFreeMove.CELL_SIZE * WindowOfFreeMove.CANVAS_WIDTH, WindowOfFreeMove.CELL_SIZE * WindowOfFreeMove.CANVAS_HEIGHT / 4); + dialogBar.setBounds(0, WindowOfFreeMove.CELL_SIZE * WindowOfFreeMove.CANVAS_HEIGHT * 3 / 4, WindowOfFreeMove.CELL_SIZE * WindowOfFreeMove.CANVAS_WIDTH, WindowOfFreeMove.CELL_SIZE * WindowOfFreeMove.CANVAS_HEIGHT / 4); dialogBar.setBackground(Color.BLACK); dialogBar.setVisible(false); addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { - if (isMoveablePerson) + if (canPersonMove) map.getPerson().setDirection(e.getKeyCode()); } }); - lp.add(dialogBar, JLayeredPane.PALETTE_LAYER); lp.add(canvas, JLayeredPane.PALETTE_LAYER); + lp.add(dialogBar, JLayeredPane.POPUP_LAYER); + setTitle("Ahoj"); setDefaultCloseOperation(EXIT_ON_CLOSE); - setBounds(0,0,CELL_SIZE*CANVAS_WIDTH + 15, CELL_SIZE*CANVAS_HEIGHT + 40); + setBounds(0, 0, CELL_SIZE * CANVAS_WIDTH, CELL_SIZE * CANVAS_HEIGHT); setLocationRelativeTo(null); setResizable(true); setVisible(true); @@ -69,9 +83,9 @@ public class WindowOfFreeMove extends JFrame { public void start() { - Map m1 = new Map(CANVAS_HEIGHT,CANVAS_WIDTH, true); + Map m1 = new Map(CANVAS_HEIGHT, CANVAS_WIDTH, true); m1.setName("1"); - m1.setSpawnPoint(12,12); + m1.setSpawnPoint(1, 1); Map m2 = new Map(CANVAS_HEIGHT, CANVAS_WIDTH, false); m2.setName("2"); Map m3 = new Map(CANVAS_HEIGHT, CANVAS_WIDTH, true); @@ -80,21 +94,45 @@ public class WindowOfFreeMove extends JFrame { m4.setName("4"); - m1.addMoveToEvent(new EventMoveToCell(1,1,18,18, m2)); - m1.addMoveToEvent(new EventMoveToCell(4, 3,18,1, m4)); + m1.addMoveToEvent(new EventMoveToCell(1, 1, 18, 18, m2)); + m1.addMoveToEvent(new EventMoveToCell(4, 3, 18, 1, m4)); - m2.addMoveToEvent(new EventMoveToCell(2,1, 18, 18, m3)); - m2.addMoveToEvent(new EventMoveToCell(1, 3,18, 1, m1)); + m2.addMoveToEvent(new EventMoveToCell(2, 1, 18, 18, m3)); + m2.addMoveToEvent(new EventMoveToCell(1, 3, 18, 1, m1)); - m3.addMoveToEvent(new EventMoveToCell(3, 1,18, 18, m4)); - m3.addMoveToEvent(new EventMoveToCell(2, 3,18, 1, m2)); + m3.addMoveToEvent(new EventMoveToCell(3, 1, 18, 18, m4)); + m3.addMoveToEvent(new EventMoveToCell(2, 3, 18, 1, m2)); - m4.addMoveToEvent(new EventMoveToCell(4, 1,18, 18, m1)); - m4.addMoveToEvent(new EventMoveToCell(3,3,18,1, m3)); + m4.addMoveToEvent(new EventMoveToCell(4, 1, 18, 18, m1)); + m4.addMoveToEvent(new EventMoveToCell(3, 3, 18, 1, m3)); setMap(m1); map.createMap(); + lp.remove(dialogBar); + + + JPanel jf = new JPanel() { + Font f = new Font("Times New Roman", Font.ITALIC, 50); + + @Override + public void paint(Graphics g) { + super.paint(g); + g.setColor(Color.green); + g.setFont(f); + g.drawString("> Test", 10, 50); + } + }; + + jf.setBounds(0, WindowOfFreeMove.CELL_SIZE * WindowOfFreeMove.CANVAS_HEIGHT * 3 / 4, WindowOfFreeMove.CELL_SIZE * WindowOfFreeMove.CANVAS_WIDTH, WindowOfFreeMove.CELL_SIZE * WindowOfFreeMove.CANVAS_HEIGHT / 4); + jf.setBackground(Color.BLACK); + jf.setVisible(false); + + setDialogBar(jf); + dialogBar.setVisible(true); + lp.add(jf, JLayeredPane.POPUP_LAYER); + + while (true) { map.getPerson().move(); canvas.repaint();