fixed camera?, added office and boss
@ -12,9 +12,6 @@ public class Game extends JFrame {
|
||||
private static final int WINDOW_HEIGHT = 13;
|
||||
public static final int CELL_SIZE = 50;
|
||||
|
||||
private static final int KEY_FULLSCREEN = 115;
|
||||
private static final int KEY_ESCAPE = 27;
|
||||
|
||||
private WindowOfMenu menu;
|
||||
private WindowOfFreeMove freeMove;
|
||||
|
||||
@ -40,42 +37,6 @@ public class Game extends JFrame {
|
||||
setResizable(false);
|
||||
setVisible(true);
|
||||
|
||||
addKeyListener(new KeyAdapter() {
|
||||
@Override
|
||||
public void keyPressed(KeyEvent e) {
|
||||
if (e.getKeyCode() == KEY_ESCAPE){
|
||||
dispatchEvent(new WindowEvent(game(), WindowEvent.WINDOW_CLOSING));
|
||||
return;
|
||||
}
|
||||
|
||||
if (e.getKeyCode() == KEY_FULLSCREEN){
|
||||
|
||||
if (getExtendedState() == MAXIMIZED_BOTH)
|
||||
setExtendedState(NORMAL);
|
||||
else
|
||||
setExtendedState(MAXIMIZED_BOTH);
|
||||
}
|
||||
|
||||
else {
|
||||
freeMove.keyPressed(e);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
addKeyListener(new KeyAdapter() {
|
||||
@Override
|
||||
public void keyTyped(KeyEvent e) {
|
||||
freeMove.keyTyped(e);
|
||||
}
|
||||
});
|
||||
|
||||
addKeyListener(new KeyAdapter() {
|
||||
@Override
|
||||
public void keyReleased(KeyEvent e) {
|
||||
freeMove.keyReleased(e);
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
public Game game() {return this;}
|
||||
|
||||
@ -65,6 +65,9 @@ public class InteractionCell extends Cell {
|
||||
window.getCamera().setCameraStopped(false);
|
||||
readNextLine();
|
||||
}
|
||||
else if (data.contains("<wait>")) {
|
||||
return;
|
||||
}
|
||||
else if (data.contains("<dialog>")) {
|
||||
String[] dialogInfo = data.split(" ");
|
||||
switch (dialogInfo[1]) {
|
||||
|
||||
@ -6,7 +6,11 @@ import ruscz.game.gameOfProd.Scripts.Direction;
|
||||
import ruscz.game.gameOfProd.Scripts.PathFinder;
|
||||
import ruscz.game.gameOfProd.Windows.WindowOfFreeMove;
|
||||
|
||||
import javax.imageio.ImageIO;
|
||||
import java.awt.*;
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
|
||||
public class Npc extends Person {
|
||||
private MapManager mapManager;
|
||||
@ -61,6 +65,13 @@ public class Npc extends Person {
|
||||
|
||||
@Override
|
||||
public void paint(Graphics2D g) {
|
||||
g.fillOval(getX() * WindowOfFreeMove.CELL_SIZE, getY() * WindowOfFreeMove.CELL_SIZE, WindowOfFreeMove.CELL_SIZE, WindowOfFreeMove.CELL_SIZE);
|
||||
BufferedImage image = null;
|
||||
try {
|
||||
image = ImageIO.read(new File("src/main/resources/characters/Fox/foxi.gif"));
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
g.drawImage(image, getX() * WindowOfFreeMove.CELL_SIZE,
|
||||
getY() * WindowOfFreeMove.CELL_SIZE, WindowOfFreeMove.CELL_SIZE, WindowOfFreeMove.CELL_SIZE, null);
|
||||
}
|
||||
}
|
||||
|
||||
@ -41,7 +41,7 @@ public class Map {
|
||||
type = TypeOfCell.EMPTY;
|
||||
|
||||
for (int i = 0; i < mapArray.length; i++) {
|
||||
for (int j = 0; j < mapArray.length; j++) {
|
||||
for (int j = 0; j < mapArray[0].length; j++) {
|
||||
mapArray[0][j] = type;
|
||||
mapArray[mapArray.length - 1][j] = type;
|
||||
}
|
||||
|
||||
@ -53,7 +53,7 @@ public class MapManager {
|
||||
|
||||
public void createMap() {
|
||||
for (int i = 0; i < actualMap.getMapArray().length; i++) {
|
||||
for (int j = 0; j < actualMap.getMapArray().length; j++) {
|
||||
for (int j = 0; j < actualMap.getMapArray()[0].length; j++) {
|
||||
if (actualMap.getMapArray()[i][j] == TypeOfCell.BLOCK && !actualMap.isBusyCell(i, j)) {
|
||||
actualMap.getBlocks().add(new Block(i, j, actualMap.getImageCell(), true));
|
||||
}
|
||||
|
||||
@ -12,8 +12,8 @@ public class Camera {
|
||||
private int startX;
|
||||
private int startY;
|
||||
private boolean isReturning;
|
||||
private static int count = 0;
|
||||
private boolean isStopped;
|
||||
private int count;
|
||||
|
||||
public Camera(WindowOfFreeMove window, WindowOfFreeMove.Canvas canvas) {
|
||||
this.window = window;
|
||||
@ -86,58 +86,73 @@ public class Camera {
|
||||
public void moveFreeCamera() {
|
||||
int coordX = (int) (canvas.getLocation().getX());
|
||||
int coordY = (int) (canvas.getLocation().getY());
|
||||
if (coordX > 0) {
|
||||
endX = 0;
|
||||
if (isReturning) boundCamera();
|
||||
}
|
||||
else if (CELL_SIZE * WINDOW_WIDTH - coordX + 8 >= CELL_SIZE * CANVAS_WIDTH) {
|
||||
if (isReturning) boundCamera();
|
||||
else isStopped = true;
|
||||
}
|
||||
if (coordY > 0) {
|
||||
if (isReturning) boundCamera();
|
||||
else isStopped = true;
|
||||
}
|
||||
else if (CELL_SIZE * WINDOW_WIDTH - coordY >= CELL_SIZE * CANVAS_WIDTH) {
|
||||
if (isReturning) boundCamera();
|
||||
else isStopped = true;
|
||||
}
|
||||
if (coordX != endX || coordY != endY) {
|
||||
int distanceX = endX - startX;
|
||||
int distanceY = endY - startY;
|
||||
if (Math.abs(distanceX) < CELL_SIZE && Math.abs(distanceY) < CELL_SIZE) {
|
||||
isBound = true;
|
||||
isReturning = false;
|
||||
return;
|
||||
int stepX = 0;
|
||||
int stepY = 0;
|
||||
if (WINDOW_WIDTH < CANVAS_WIDTH) {
|
||||
if (coordX > 0) {
|
||||
endX = 0;
|
||||
if (isReturning) boundCamera();
|
||||
} else if (CELL_SIZE * WINDOW_WIDTH - coordX >= CELL_SIZE * CANVAS_WIDTH) {
|
||||
endX = CELL_SIZE * (CANVAS_WIDTH - WINDOW_WIDTH);
|
||||
if (isReturning) boundCamera();
|
||||
}
|
||||
if (count >= time / 2) {
|
||||
int stepX = (int) (distanceX / CELL_SIZE / (time / 2));
|
||||
int stepY = (int) (distanceY / CELL_SIZE / (time / 2));
|
||||
canvas.setLocation(coordX + stepX, coordY + stepY);
|
||||
count = 0;
|
||||
}
|
||||
if (WINDOW_HEIGHT < CANVAS_HEIGHT) {
|
||||
if (coordY > 0) {
|
||||
endY = 0;
|
||||
if (isReturning) boundCamera();
|
||||
} else if (CELL_SIZE * WINDOW_HEIGHT - coordY >= CELL_SIZE * CANVAS_HEIGHT) {
|
||||
endY = CELL_SIZE * (CANVAS_HEIGHT - WINDOW_HEIGHT);
|
||||
if (isReturning) boundCamera();
|
||||
}
|
||||
}
|
||||
if (Math.abs(coordX - endX) >= 5 || Math.abs(coordY - endY) >= 5) {
|
||||
int distanceX = endX - coordX;
|
||||
int distanceY = endY - coordY;
|
||||
double distance = Math.sqrt(Math.pow(distanceX, 2) + Math.pow(distanceY, 2));
|
||||
double angleX = 0;
|
||||
double angleY = 0;
|
||||
if (distanceX != 0 && distanceY != 0) {
|
||||
angleX = distance / distanceX;
|
||||
angleY = distance / distanceY;
|
||||
if (count >= time / 2) {
|
||||
stepX = (int) (-angleY);
|
||||
stepY = (int) (-angleX);
|
||||
System.out.println(angleX + " " + angleY);
|
||||
count = 0;
|
||||
}
|
||||
}
|
||||
else if (distanceX == 0) {
|
||||
stepY = (int) (CELL_SIZE / time);
|
||||
if (distanceY < 0) stepY *= -1;
|
||||
}
|
||||
else if (distanceY == 0) {
|
||||
stepX = (int) (CELL_SIZE / time);
|
||||
if (distanceX < 0) stepX *= -1;
|
||||
}
|
||||
canvas.setLocation(coordX + stepX, coordY + stepY);
|
||||
count++;
|
||||
}
|
||||
if (coordX == endX && coordY == endY && isReturning) boundCamera();
|
||||
if (Math.abs(coordX - endX) <= stepX && Math.abs(coordY - endY) <= stepY && isReturning) boundCamera();
|
||||
}
|
||||
|
||||
public void returnFreeCamera() {
|
||||
setCameraStart();
|
||||
endX = (-1) * CELL_SIZE * (window.getMapManager().getActualMap().getPerson().getX() - WINDOW_WIDTH / 2);
|
||||
endY = (-1) * CELL_SIZE * (window.getMapManager().getActualMap().getPerson().getY() - WINDOW_HEIGHT / 2);
|
||||
if (endX > 0) {
|
||||
endX = 0;
|
||||
}
|
||||
else if (CELL_SIZE * WINDOW_WIDTH - endX > CELL_SIZE * CANVAS_WIDTH) {
|
||||
endX = (-1) * (CELL_SIZE * CANVAS_WIDTH - CELL_SIZE * WINDOW_WIDTH);
|
||||
}
|
||||
if (endY > 0) {
|
||||
endY = 0;
|
||||
}
|
||||
else if (CELL_SIZE * WINDOW_WIDTH - endY > CELL_SIZE * CANVAS_WIDTH) {
|
||||
endY = (-1) * (CELL_SIZE * CANVAS_HEIGHT - CELL_SIZE * WINDOW_HEIGHT);
|
||||
}
|
||||
time = 1;
|
||||
endX = (-1) * CELL_SIZE * (window.getMapManager().getActualMap().getPerson().getX() - (WINDOW_WIDTH / 2));
|
||||
endY = (-1) * CELL_SIZE * (window.getMapManager().getActualMap().getPerson().getY() - (WINDOW_HEIGHT / 2));
|
||||
// if (endX > 0) {
|
||||
// endX = 0;
|
||||
// }
|
||||
// else if (CELL_SIZE * WINDOW_WIDTH - endX > CELL_SIZE * CANVAS_WIDTH) {
|
||||
// endX = (-1) * (CELL_SIZE * CANVAS_WIDTH - CELL_SIZE * WINDOW_WIDTH);
|
||||
// }
|
||||
// if (endY > 0) {
|
||||
// endY = 0;
|
||||
// }
|
||||
// else if (CELL_SIZE * WINDOW_WIDTH - endY > CELL_SIZE * CANVAS_WIDTH) {
|
||||
// endY = (-1) * (CELL_SIZE * CANVAS_HEIGHT - CELL_SIZE * WINDOW_HEIGHT);
|
||||
// }
|
||||
time = 2;
|
||||
isReturning = true;
|
||||
}
|
||||
|
||||
|
||||
@ -54,10 +54,6 @@ public class WindowOfFreeMove extends JLayeredPane {
|
||||
canvas.repaint();
|
||||
}
|
||||
|
||||
private WindowOfFreeMove windowOfFreeMove(){
|
||||
return this;
|
||||
}
|
||||
|
||||
public static void setCanPersonMove(boolean canPersonMove) {
|
||||
WindowOfFreeMove.canPersonMove = canPersonMove;
|
||||
}
|
||||
@ -117,6 +113,45 @@ public class WindowOfFreeMove extends JLayeredPane {
|
||||
add(canvas, JLayeredPane.PALETTE_LAYER);
|
||||
add(background, JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
addKeyListener(new KeyAdapter() {
|
||||
@Override
|
||||
public void keyPressed(KeyEvent e) {
|
||||
if (e.getKeyCode() == KEY_ESCAPE){
|
||||
System.out.println("escape");
|
||||
game.dispatchEvent(new WindowEvent(game, WindowEvent.WINDOW_CLOSING));
|
||||
return;
|
||||
}
|
||||
if (e.getKeyCode() == KEY_FULLSCREEN){
|
||||
if (game.getExtendedState() == game.MAXIMIZED_BOTH)
|
||||
game.setExtendedState(game.NORMAL);
|
||||
else
|
||||
game.setExtendedState(game.MAXIMIZED_BOTH);
|
||||
}
|
||||
else {
|
||||
if (canPersonMove) {
|
||||
nextMove = e.getKeyCode();
|
||||
inputTimer.start();
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
addKeyListener(new KeyAdapter() {
|
||||
@Override
|
||||
public void keyTyped(KeyEvent e) {
|
||||
if (!mapManager.getActualMap().getPerson().getIsMoving() && canPersonMove || nextMove == KEY_EVENT) {
|
||||
mapManager.getActualMap().getPerson().setDirectionMove(nextMove);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
addKeyListener(new KeyAdapter() {
|
||||
@Override
|
||||
public void keyReleased(KeyEvent e) {
|
||||
inputTimer.stop();
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
public void start(boolean newGame) {
|
||||
@ -133,20 +168,18 @@ public class WindowOfFreeMove extends JLayeredPane {
|
||||
mapManager.getLoadManager().loadSavedGame();
|
||||
}
|
||||
|
||||
Map m6 = Map.findMapByName("m6", this);
|
||||
Map boss = Map.findMapByName("boss", this);
|
||||
|
||||
int startX = 1;
|
||||
int startY = 1;
|
||||
int endX = 8;
|
||||
int endY = 8;
|
||||
int startX = 4;
|
||||
int startY = 2;
|
||||
|
||||
camera.moveCamera();
|
||||
mapManager.createMap();
|
||||
isReadyToPaint = true;
|
||||
canvas.repaint();
|
||||
|
||||
Npc npc2 = new Npc(startX, startY, m6, mapManager);
|
||||
m6.setNpcs(npc2);
|
||||
Npc npc2 = new Npc(startX, startY, boss, mapManager);
|
||||
boss.setNpcs(npc2);
|
||||
|
||||
musicManager = new MusicManager("Town1.wav");
|
||||
// musicManager.playMusic();
|
||||
@ -159,23 +192,6 @@ public class WindowOfFreeMove extends JLayeredPane {
|
||||
timer.start();
|
||||
}
|
||||
|
||||
public void keyTyped(KeyEvent e) {
|
||||
if (!mapManager.getActualMap().getPerson().getIsMoving() && canPersonMove || nextMove == KEY_EVENT) {
|
||||
mapManager.getActualMap().getPerson().setDirectionMove(nextMove);
|
||||
}
|
||||
}
|
||||
|
||||
public void keyPressed(KeyEvent e) {
|
||||
if (canPersonMove) {
|
||||
nextMove = e.getKeyCode();
|
||||
inputTimer.start();
|
||||
}
|
||||
}
|
||||
|
||||
public void keyReleased(KeyEvent e) {
|
||||
inputTimer.stop();
|
||||
}
|
||||
|
||||
public class Canvas extends JPanel {
|
||||
@Override
|
||||
public void paint(Graphics g) {
|
||||
|
||||
@ -2,15 +2,16 @@ package ruscz.game.gameOfProd.Windows;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.awt.event.WindowEvent;
|
||||
import java.awt.event.*;
|
||||
|
||||
public class WindowOfMenu extends JLayeredPane {
|
||||
public static final int WINDOW_WIDTH = 13;
|
||||
public static final int WINDOW_HEIGHT = 13;
|
||||
public static final int CELL_SIZE = 50;
|
||||
|
||||
private static final int KEY_FULLSCREEN = 115;
|
||||
private static final int KEY_ESCAPE = 27;
|
||||
|
||||
private JFrame game;
|
||||
private WindowOfFreeMove freeMove;
|
||||
private JButton startNewGame;
|
||||
@ -32,7 +33,7 @@ public class WindowOfMenu extends JLayeredPane {
|
||||
startNewGame.addActionListener(actionEvent -> {
|
||||
cleanUp();
|
||||
game.add(freeMove);
|
||||
game.requestFocus();
|
||||
freeMove.requestFocus();
|
||||
freeMove.start(true);
|
||||
});
|
||||
|
||||
@ -43,7 +44,7 @@ public class WindowOfMenu extends JLayeredPane {
|
||||
loadSavedGame.addActionListener(actionEvent -> {
|
||||
cleanUp();
|
||||
game.add(freeMove);
|
||||
game.requestFocus();
|
||||
freeMove.requestFocus();
|
||||
freeMove.start(false);
|
||||
});
|
||||
|
||||
@ -57,6 +58,23 @@ public class WindowOfMenu extends JLayeredPane {
|
||||
add(loadSavedGame);
|
||||
add(exitGame);
|
||||
add(background);
|
||||
|
||||
addKeyListener(new KeyAdapter() {
|
||||
@Override
|
||||
public void keyPressed(KeyEvent e) {
|
||||
if (e.getKeyCode() == KEY_ESCAPE){
|
||||
game.dispatchEvent(new WindowEvent(game, WindowEvent.WINDOW_CLOSING));
|
||||
return;
|
||||
}
|
||||
if (e.getKeyCode() == KEY_FULLSCREEN){
|
||||
|
||||
if (game.getExtendedState() == game.MAXIMIZED_BOTH)
|
||||
game.setExtendedState(game.NORMAL);
|
||||
else
|
||||
game.setExtendedState(game.MAXIMIZED_BOTH);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void cleanUp() {
|
||||
@ -64,6 +82,7 @@ public class WindowOfMenu extends JLayeredPane {
|
||||
startNewGame.removeActionListener(startNewGame.getActionListeners()[0]);
|
||||
loadSavedGame.removeActionListener(loadSavedGame.getActionListeners()[0]);
|
||||
exitGame.removeActionListener(exitGame.getActionListeners()[0]);
|
||||
menu().removeAll();
|
||||
game.remove(this);
|
||||
menu().revalidate();
|
||||
menu().repaint();
|
||||
|
||||
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 50 KiB |
|
Before Width: | Height: | Size: 61 KiB After Width: | Height: | Size: 62 KiB |
BIN
src/main/resources/characters/Fox/foxi.gif
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
src/main/resources/characters/Fox/foxi.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
src/main/resources/characters/Fox/foxr.gif
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
src/main/resources/characters/Fox/foxr.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
src/main/resources/characters/Fox/idle/foxidle1.png
Normal file
|
After Width: | Height: | Size: 292 B |
BIN
src/main/resources/characters/Fox/idle/foxidle2.png
Normal file
|
After Width: | Height: | Size: 291 B |
BIN
src/main/resources/characters/Fox/idle/foxidle3.png
Normal file
|
After Width: | Height: | Size: 285 B |
BIN
src/main/resources/characters/Fox/idle/foxidle4.png
Normal file
|
After Width: | Height: | Size: 273 B |
BIN
src/main/resources/characters/Fox/idle/foxidle5.png
Normal file
|
After Width: | Height: | Size: 286 B |
BIN
src/main/resources/characters/Fox/idle/foxidle6.png
Normal file
|
After Width: | Height: | Size: 283 B |
BIN
src/main/resources/characters/Fox/idle/foxidle7.png
Normal file
|
After Width: | Height: | Size: 284 B |
BIN
src/main/resources/characters/Fox/idle/foxidle8.png
Normal file
|
After Width: | Height: | Size: 290 B |
BIN
src/main/resources/characters/Fox/idle/foxidle9.png
Normal file
|
After Width: | Height: | Size: 283 B |
BIN
src/main/resources/characters/Fox/run/foxrun1.png
Normal file
|
After Width: | Height: | Size: 1023 B |
BIN
src/main/resources/characters/Fox/run/foxrun2.png
Normal file
|
After Width: | Height: | Size: 1.0 KiB |
BIN
src/main/resources/characters/Fox/run/foxrun3.png
Normal file
|
After Width: | Height: | Size: 1.0 KiB |
BIN
src/main/resources/characters/Fox/run/foxrun4.png
Normal file
|
After Width: | Height: | Size: 1.0 KiB |
BIN
src/main/resources/characters/Fox/run/foxrun5.png
Normal file
|
After Width: | Height: | Size: 1.0 KiB |
BIN
src/main/resources/characters/Fox/run/foxrun6.png
Normal file
|
After Width: | Height: | Size: 1.0 KiB |
BIN
src/main/resources/characters/Fox/run/foxrun7.png
Normal file
|
After Width: | Height: | Size: 1.0 KiB |
BIN
src/main/resources/characters/Fox/run/foxrun8.png
Normal file
|
After Width: | Height: | Size: 1.0 KiB |
4
src/main/resources/dialogs/ohhimark.txt
Normal file
@ -0,0 +1,4 @@
|
||||
<cameraFree> 100 0 35
|
||||
<wait>
|
||||
Oh, hi Mark.
|
||||
<end>
|
||||
@ -1,4 +1,4 @@
|
||||
Roses are red<br/>violets are blue
|
||||
<cameraFree> -1200 -240 4
|
||||
<cameraFree> -1050 -250 8
|
||||
unexpected "{"<br/>on line 32
|
||||
<end>
|
||||
4
src/main/resources/maps/boss-cellmap.txt
Normal file
@ -0,0 +1,4 @@
|
||||
BLOCK 2
|
||||
MOVETO 1
|
||||
EVENT 3
|
||||
TRIGGER 4
|
||||
20
src/main/resources/maps/boss-objectset.txt
Normal file
@ -0,0 +1,20 @@
|
||||
0 0 7 7 7 7 7 0 0
|
||||
0 0 0 0 0 0 0 0 0
|
||||
0 0 0 636 0 638 0 0 0
|
||||
0 0 0 637 738 639 0 0 0
|
||||
0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0
|
||||
24
src/main/resources/maps/boss-tileset.txt
Normal file
@ -0,0 +1,24 @@
|
||||
<tileset> A5_Tiles.png 256 512 32
|
||||
<tileset> Openspace1.png 512 512 32
|
||||
<tileset> Openspace2.png 512 512 32
|
||||
<tileset> D_Inside_House.png 512 512 32
|
||||
6 6 6 6 6 6 6 6 6
|
||||
6 6 6 6 6 6 6 6 6
|
||||
6 6 6 22 38 54 6 6 6
|
||||
6 6 6 23 39 55 6 6 6
|
||||
6 6 6 23 39 55 6 6 6
|
||||
6 6 6 23 39 55 6 6 6
|
||||
6 6 6 23 39 55 6 6 6
|
||||
6 6 6 23 39 55 6 6 6
|
||||
6 6 6 23 39 55 6 6 6
|
||||
6 6 6 23 39 55 6 6 6
|
||||
6 6 6 23 39 55 6 6 6
|
||||
6 6 6 23 39 55 6 6 6
|
||||
6 6 6 23 39 55 6 6 6
|
||||
6 6 6 23 39 55 6 6 6
|
||||
6 6 6 23 39 55 6 6 6
|
||||
6 6 6 23 39 55 6 6 6
|
||||
6 6 6 23 39 55 6 6 6
|
||||
6 6 6 24 40 56 6 6 6
|
||||
6 6 6 6 6 6 6 6 6
|
||||
6 6 6 6 6 6 6 6 6
|
||||
21
src/main/resources/maps/boss.txt
Normal file
@ -0,0 +1,21 @@
|
||||
9 20
|
||||
BLOCK BLOCK block block block block block BLOCK BLOCK
|
||||
BLOCK EMPTY EMPTY block block block EMPTY EMPTY BLOCK
|
||||
BLOCK EMPTY EMPTY block EMPTY block EMPTY EMPTY BLOCK
|
||||
BLOCK EMPTY EMPTY block block block EMPTY EMPTY BLOCK
|
||||
BLOCK EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY BLOCK
|
||||
BLOCK EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY BLOCK
|
||||
BLOCK EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY BLOCK
|
||||
BLOCK EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY BLOCK
|
||||
BLOCK EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY BLOCK
|
||||
BLOCK EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY BLOCK
|
||||
BLOCK EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY BLOCK
|
||||
BLOCK EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY BLOCK
|
||||
BLOCK EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY BLOCK
|
||||
BLOCK EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY BLOCK
|
||||
BLOCK EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY BLOCK
|
||||
BLOCK EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY BLOCK
|
||||
BLOCK EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY BLOCK
|
||||
BLOCK EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY BLOCK
|
||||
BLOCK EMPTY EMPTY EMPTY TRIGGER,ohhimark EMPTY EMPTY EMPTY BLOCK
|
||||
BLOCK BLOCK BLOCK BLOCK moveto,0,1,office BLOCK BLOCK BLOCK BLOCK
|
||||
4
src/main/resources/maps/office-cellmap.txt
Normal file
@ -0,0 +1,4 @@
|
||||
BLOCK 2
|
||||
MOVETO 1
|
||||
EVENT 3
|
||||
TRIGGER 4
|
||||
12
src/main/resources/maps/office-objectset.txt
Normal file
@ -0,0 +1,12 @@
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 373 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 390 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
16
src/main/resources/maps/office-tileset.txt
Normal file
@ -0,0 +1,16 @@
|
||||
<tileset> A5_Tiles.png 256 512 32
|
||||
<tileset> Openspace1.png 512 512 32
|
||||
<tileset> Openspace2.png 512 512 32
|
||||
<tileset> D_Inside_House.png 512 512 32
|
||||
6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
|
||||
6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
|
||||
6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
|
||||
6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
|
||||
6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
|
||||
6 6 6 6 6 6 86 86 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
|
||||
6 6 6 6 6 6 86 86 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
|
||||
6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
|
||||
6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
|
||||
6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
|
||||
6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
|
||||
6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
|
||||
13
src/main/resources/maps/office.txt
Normal file
@ -0,0 +1,13 @@
|
||||
20 12
|
||||
BLOCK BLOCK BLOCK BLOCK moveto,0,3,boss BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK block BLOCK BLOCK BLOCK BLOCK block BLOCK BLOCK
|
||||
BLOCK EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY BLOCK
|
||||
BLOCK EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY block
|
||||
BLOCK EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY block BLOCK
|
||||
BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK EMPTY EMPTY EMPTY BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK
|
||||
BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK EMPTY moveto,1,2,openspace EMPTY EMPTY EMPTY EMPTY BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK
|
||||
BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK EMPTY moveto,1,2,openspace EMPTY EMPTY EMPTY EMPTY BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK
|
||||
BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK EMPTY EMPTY EMPTY BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK
|
||||
BLOCK block EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY BLOCK
|
||||
BLOCK EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY block
|
||||
BLOCK EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY BLOCK
|
||||
BLOCK BLOCK block BLOCK BLOCK BLOCK BLOCK block BLOCK BLOCK BLOCK BLOCK block BLOCK BLOCK BLOCK BLOCK block BLOCK BLOCK
|
||||
@ -14,7 +14,7 @@ BLOCK EMPTY block block EMPTY inter,minecraft inter,minecraft EMPTY BLOCK EMPTY
|
||||
BLOCK EMPTY block block EMPTY inter,minecraft inter,minecraft EMPTY BLOCK EMPTY EMPTY EMPTY EMPTY EMPTY block EMPTY EMPTY EMPTY block block
|
||||
BLOCK EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY block block EMPTY block block block
|
||||
BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY block
|
||||
BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK EMPTY moveto,0,2,m1 EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY BLOCK
|
||||
BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK EMPTY moveto,1,2,office EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY BLOCK
|
||||
BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK EMPTY moveto,0,2,m1 EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY block EMPTY block EMPTY BLOCK
|
||||
BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK BLOCK EMPTY EMPTY EMPTY EMPTY EMPTY block block EMPTY block block block
|
||||
BLOCK block EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY block
|
||||
|
||||
@ -5,3 +5,5 @@ m4
|
||||
m5
|
||||
m6
|
||||
openspace
|
||||
office
|
||||
boss
|
||||
@ -53,3 +53,18 @@
|
||||
<events>
|
||||
</events>
|
||||
</map>
|
||||
<map>
|
||||
<mapName>office</mapName>
|
||||
<events>
|
||||
</events>
|
||||
</map>
|
||||
<map>
|
||||
<mapName>boss</mapName>
|
||||
<events>
|
||||
<event>
|
||||
<x>4</x>
|
||||
<y>18</y>
|
||||
<active>true</active>
|
||||
</event>
|
||||
</events>
|
||||
</map>
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
<location>
|
||||
<map>openspace</map>
|
||||
<x>8</x>
|
||||
<y>16</y>
|
||||
<map>m5</map>
|
||||
<x>4</x>
|
||||
<y>3</y>
|
||||
</location>
|
||||