fixed camera?, added office and boss
@ -12,9 +12,6 @@ public class Game extends JFrame {
|
|||||||
private static final int WINDOW_HEIGHT = 13;
|
private static final int WINDOW_HEIGHT = 13;
|
||||||
public static final int CELL_SIZE = 50;
|
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 WindowOfMenu menu;
|
||||||
private WindowOfFreeMove freeMove;
|
private WindowOfFreeMove freeMove;
|
||||||
|
|
||||||
@ -40,42 +37,6 @@ public class Game extends JFrame {
|
|||||||
setResizable(false);
|
setResizable(false);
|
||||||
setVisible(true);
|
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;}
|
public Game game() {return this;}
|
||||||
|
|||||||
@ -65,6 +65,9 @@ public class InteractionCell extends Cell {
|
|||||||
window.getCamera().setCameraStopped(false);
|
window.getCamera().setCameraStopped(false);
|
||||||
readNextLine();
|
readNextLine();
|
||||||
}
|
}
|
||||||
|
else if (data.contains("<wait>")) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
else if (data.contains("<dialog>")) {
|
else if (data.contains("<dialog>")) {
|
||||||
String[] dialogInfo = data.split(" ");
|
String[] dialogInfo = data.split(" ");
|
||||||
switch (dialogInfo[1]) {
|
switch (dialogInfo[1]) {
|
||||||
|
|||||||
@ -6,7 +6,11 @@ import ruscz.game.gameOfProd.Scripts.Direction;
|
|||||||
import ruscz.game.gameOfProd.Scripts.PathFinder;
|
import ruscz.game.gameOfProd.Scripts.PathFinder;
|
||||||
import ruscz.game.gameOfProd.Windows.WindowOfFreeMove;
|
import ruscz.game.gameOfProd.Windows.WindowOfFreeMove;
|
||||||
|
|
||||||
|
import javax.imageio.ImageIO;
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
|
import java.awt.image.BufferedImage;
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
public class Npc extends Person {
|
public class Npc extends Person {
|
||||||
private MapManager mapManager;
|
private MapManager mapManager;
|
||||||
@ -61,6 +65,13 @@ public class Npc extends Person {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void paint(Graphics2D g) {
|
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;
|
type = TypeOfCell.EMPTY;
|
||||||
|
|
||||||
for (int i = 0; i < mapArray.length; i++) {
|
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[0][j] = type;
|
||||||
mapArray[mapArray.length - 1][j] = type;
|
mapArray[mapArray.length - 1][j] = type;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -53,7 +53,7 @@ public class MapManager {
|
|||||||
|
|
||||||
public void createMap() {
|
public void createMap() {
|
||||||
for (int i = 0; i < actualMap.getMapArray().length; i++) {
|
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)) {
|
if (actualMap.getMapArray()[i][j] == TypeOfCell.BLOCK && !actualMap.isBusyCell(i, j)) {
|
||||||
actualMap.getBlocks().add(new Block(i, j, actualMap.getImageCell(), true));
|
actualMap.getBlocks().add(new Block(i, j, actualMap.getImageCell(), true));
|
||||||
}
|
}
|
||||||
|
|||||||
@ -12,8 +12,8 @@ public class Camera {
|
|||||||
private int startX;
|
private int startX;
|
||||||
private int startY;
|
private int startY;
|
||||||
private boolean isReturning;
|
private boolean isReturning;
|
||||||
private static int count = 0;
|
|
||||||
private boolean isStopped;
|
private boolean isStopped;
|
||||||
|
private int count;
|
||||||
|
|
||||||
public Camera(WindowOfFreeMove window, WindowOfFreeMove.Canvas canvas) {
|
public Camera(WindowOfFreeMove window, WindowOfFreeMove.Canvas canvas) {
|
||||||
this.window = window;
|
this.window = window;
|
||||||
@ -86,58 +86,73 @@ public class Camera {
|
|||||||
public void moveFreeCamera() {
|
public void moveFreeCamera() {
|
||||||
int coordX = (int) (canvas.getLocation().getX());
|
int coordX = (int) (canvas.getLocation().getX());
|
||||||
int coordY = (int) (canvas.getLocation().getY());
|
int coordY = (int) (canvas.getLocation().getY());
|
||||||
if (coordX > 0) {
|
int stepX = 0;
|
||||||
endX = 0;
|
int stepY = 0;
|
||||||
if (isReturning) boundCamera();
|
if (WINDOW_WIDTH < CANVAS_WIDTH) {
|
||||||
}
|
if (coordX > 0) {
|
||||||
else if (CELL_SIZE * WINDOW_WIDTH - coordX + 8 >= CELL_SIZE * CANVAS_WIDTH) {
|
endX = 0;
|
||||||
if (isReturning) boundCamera();
|
if (isReturning) boundCamera();
|
||||||
else isStopped = true;
|
} else if (CELL_SIZE * WINDOW_WIDTH - coordX >= CELL_SIZE * CANVAS_WIDTH) {
|
||||||
}
|
endX = CELL_SIZE * (CANVAS_WIDTH - WINDOW_WIDTH);
|
||||||
if (coordY > 0) {
|
if (isReturning) boundCamera();
|
||||||
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;
|
|
||||||
}
|
}
|
||||||
if (count >= time / 2) {
|
}
|
||||||
int stepX = (int) (distanceX / CELL_SIZE / (time / 2));
|
if (WINDOW_HEIGHT < CANVAS_HEIGHT) {
|
||||||
int stepY = (int) (distanceY / CELL_SIZE / (time / 2));
|
if (coordY > 0) {
|
||||||
canvas.setLocation(coordX + stepX, coordY + stepY);
|
endY = 0;
|
||||||
count = 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++;
|
count++;
|
||||||
}
|
}
|
||||||
if (coordX == endX && coordY == endY && isReturning) boundCamera();
|
if (Math.abs(coordX - endX) <= stepX && Math.abs(coordY - endY) <= stepY && isReturning) boundCamera();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void returnFreeCamera() {
|
public void returnFreeCamera() {
|
||||||
setCameraStart();
|
setCameraStart();
|
||||||
endX = (-1) * CELL_SIZE * (window.getMapManager().getActualMap().getPerson().getX() - WINDOW_WIDTH / 2);
|
endX = (-1) * CELL_SIZE * (window.getMapManager().getActualMap().getPerson().getX() - (WINDOW_WIDTH / 2));
|
||||||
endY = (-1) * CELL_SIZE * (window.getMapManager().getActualMap().getPerson().getY() - WINDOW_HEIGHT / 2);
|
endY = (-1) * CELL_SIZE * (window.getMapManager().getActualMap().getPerson().getY() - (WINDOW_HEIGHT / 2));
|
||||||
if (endX > 0) {
|
// if (endX > 0) {
|
||||||
endX = 0;
|
// endX = 0;
|
||||||
}
|
// }
|
||||||
else if (CELL_SIZE * WINDOW_WIDTH - endX > CELL_SIZE * CANVAS_WIDTH) {
|
// else if (CELL_SIZE * WINDOW_WIDTH - endX > CELL_SIZE * CANVAS_WIDTH) {
|
||||||
endX = (-1) * (CELL_SIZE * CANVAS_WIDTH - CELL_SIZE * WINDOW_WIDTH);
|
// endX = (-1) * (CELL_SIZE * CANVAS_WIDTH - CELL_SIZE * WINDOW_WIDTH);
|
||||||
}
|
// }
|
||||||
if (endY > 0) {
|
// if (endY > 0) {
|
||||||
endY = 0;
|
// endY = 0;
|
||||||
}
|
// }
|
||||||
else if (CELL_SIZE * WINDOW_WIDTH - endY > CELL_SIZE * CANVAS_WIDTH) {
|
// else if (CELL_SIZE * WINDOW_WIDTH - endY > CELL_SIZE * CANVAS_WIDTH) {
|
||||||
endY = (-1) * (CELL_SIZE * CANVAS_HEIGHT - CELL_SIZE * WINDOW_HEIGHT);
|
// endY = (-1) * (CELL_SIZE * CANVAS_HEIGHT - CELL_SIZE * WINDOW_HEIGHT);
|
||||||
}
|
// }
|
||||||
time = 1;
|
time = 2;
|
||||||
isReturning = true;
|
isReturning = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -54,10 +54,6 @@ public class WindowOfFreeMove extends JLayeredPane {
|
|||||||
canvas.repaint();
|
canvas.repaint();
|
||||||
}
|
}
|
||||||
|
|
||||||
private WindowOfFreeMove windowOfFreeMove(){
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void setCanPersonMove(boolean canPersonMove) {
|
public static void setCanPersonMove(boolean canPersonMove) {
|
||||||
WindowOfFreeMove.canPersonMove = canPersonMove;
|
WindowOfFreeMove.canPersonMove = canPersonMove;
|
||||||
}
|
}
|
||||||
@ -117,6 +113,45 @@ public class WindowOfFreeMove extends JLayeredPane {
|
|||||||
add(canvas, JLayeredPane.PALETTE_LAYER);
|
add(canvas, JLayeredPane.PALETTE_LAYER);
|
||||||
add(background, JLayeredPane.DEFAULT_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) {
|
public void start(boolean newGame) {
|
||||||
@ -133,20 +168,18 @@ public class WindowOfFreeMove extends JLayeredPane {
|
|||||||
mapManager.getLoadManager().loadSavedGame();
|
mapManager.getLoadManager().loadSavedGame();
|
||||||
}
|
}
|
||||||
|
|
||||||
Map m6 = Map.findMapByName("m6", this);
|
Map boss = Map.findMapByName("boss", this);
|
||||||
|
|
||||||
int startX = 1;
|
int startX = 4;
|
||||||
int startY = 1;
|
int startY = 2;
|
||||||
int endX = 8;
|
|
||||||
int endY = 8;
|
|
||||||
|
|
||||||
camera.moveCamera();
|
camera.moveCamera();
|
||||||
mapManager.createMap();
|
mapManager.createMap();
|
||||||
isReadyToPaint = true;
|
isReadyToPaint = true;
|
||||||
canvas.repaint();
|
canvas.repaint();
|
||||||
|
|
||||||
Npc npc2 = new Npc(startX, startY, m6, mapManager);
|
Npc npc2 = new Npc(startX, startY, boss, mapManager);
|
||||||
m6.setNpcs(npc2);
|
boss.setNpcs(npc2);
|
||||||
|
|
||||||
musicManager = new MusicManager("Town1.wav");
|
musicManager = new MusicManager("Town1.wav");
|
||||||
// musicManager.playMusic();
|
// musicManager.playMusic();
|
||||||
@ -159,23 +192,6 @@ public class WindowOfFreeMove extends JLayeredPane {
|
|||||||
timer.start();
|
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 {
|
public class Canvas extends JPanel {
|
||||||
@Override
|
@Override
|
||||||
public void paint(Graphics g) {
|
public void paint(Graphics g) {
|
||||||
|
|||||||
@ -2,15 +2,16 @@ package ruscz.game.gameOfProd.Windows;
|
|||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.*;
|
||||||
import java.awt.event.ActionListener;
|
|
||||||
import java.awt.event.WindowEvent;
|
|
||||||
|
|
||||||
public class WindowOfMenu extends JLayeredPane {
|
public class WindowOfMenu extends JLayeredPane {
|
||||||
public static final int WINDOW_WIDTH = 13;
|
public static final int WINDOW_WIDTH = 13;
|
||||||
public static final int WINDOW_HEIGHT = 13;
|
public static final int WINDOW_HEIGHT = 13;
|
||||||
public static final int CELL_SIZE = 50;
|
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 JFrame game;
|
||||||
private WindowOfFreeMove freeMove;
|
private WindowOfFreeMove freeMove;
|
||||||
private JButton startNewGame;
|
private JButton startNewGame;
|
||||||
@ -32,7 +33,7 @@ public class WindowOfMenu extends JLayeredPane {
|
|||||||
startNewGame.addActionListener(actionEvent -> {
|
startNewGame.addActionListener(actionEvent -> {
|
||||||
cleanUp();
|
cleanUp();
|
||||||
game.add(freeMove);
|
game.add(freeMove);
|
||||||
game.requestFocus();
|
freeMove.requestFocus();
|
||||||
freeMove.start(true);
|
freeMove.start(true);
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -43,7 +44,7 @@ public class WindowOfMenu extends JLayeredPane {
|
|||||||
loadSavedGame.addActionListener(actionEvent -> {
|
loadSavedGame.addActionListener(actionEvent -> {
|
||||||
cleanUp();
|
cleanUp();
|
||||||
game.add(freeMove);
|
game.add(freeMove);
|
||||||
game.requestFocus();
|
freeMove.requestFocus();
|
||||||
freeMove.start(false);
|
freeMove.start(false);
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -57,6 +58,23 @@ public class WindowOfMenu extends JLayeredPane {
|
|||||||
add(loadSavedGame);
|
add(loadSavedGame);
|
||||||
add(exitGame);
|
add(exitGame);
|
||||||
add(background);
|
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() {
|
private void cleanUp() {
|
||||||
@ -64,6 +82,7 @@ public class WindowOfMenu extends JLayeredPane {
|
|||||||
startNewGame.removeActionListener(startNewGame.getActionListeners()[0]);
|
startNewGame.removeActionListener(startNewGame.getActionListeners()[0]);
|
||||||
loadSavedGame.removeActionListener(loadSavedGame.getActionListeners()[0]);
|
loadSavedGame.removeActionListener(loadSavedGame.getActionListeners()[0]);
|
||||||
exitGame.removeActionListener(exitGame.getActionListeners()[0]);
|
exitGame.removeActionListener(exitGame.getActionListeners()[0]);
|
||||||
|
menu().removeAll();
|
||||||
game.remove(this);
|
game.remove(this);
|
||||||
menu().revalidate();
|
menu().revalidate();
|
||||||
menu().repaint();
|
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
|
Roses are red<br/>violets are blue
|
||||||
<cameraFree> -1200 -240 4
|
<cameraFree> -1050 -250 8
|
||||||
unexpected "{"<br/>on line 32
|
unexpected "{"<br/>on line 32
|
||||||
<end>
|
<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 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 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 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 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 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
|
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
|
m5
|
||||||
m6
|
m6
|
||||||
openspace
|
openspace
|
||||||
|
office
|
||||||
|
boss
|
||||||
@ -53,3 +53,18 @@
|
|||||||
<events>
|
<events>
|
||||||
</events>
|
</events>
|
||||||
</map>
|
</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>
|
<location>
|
||||||
<map>openspace</map>
|
<map>m5</map>
|
||||||
<x>8</x>
|
<x>4</x>
|
||||||
<y>16</y>
|
<y>3</y>
|
||||||
</location>
|
</location>
|
||||||