From 1ab13398bb72582a52f04a9b822a8e5592cf73b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bokros=20B=C3=A1lint?= Date: Sun, 24 Apr 2016 23:01:34 +0200 Subject: [PATCH 1/2] reformatted code --- cicaprojekt/Box.java | 19 +++--- cicaprojekt/Destroyable.java | 2 +- cicaprojekt/Direction.java | 2 +- cicaprojekt/Dungeon.java | 36 +++++------- cicaprojekt/Field.java | 43 +++++++------- cicaprojekt/FlowOfTime.java | 11 ++-- cicaprojekt/Game.java | 27 +++++---- cicaprojekt/Gap.java | 41 +++++++------ cicaprojekt/Gate.java | 50 ++++++++-------- cicaprojekt/Measurable.java | 2 +- cicaprojekt/Menu.java | 58 +++++++++--------- cicaprojekt/Pickable.java | 2 +- cicaprojekt/Player.java | 37 ++++++------ cicaprojekt/PlayerBase.java | 111 ++++++++++++++++++----------------- cicaprojekt/Scale.java | 86 +++++++++++++-------------- cicaprojekt/Stargate.java | 64 ++++++++++---------- cicaprojekt/Tile.java | 84 +++++++++++++------------- cicaprojekt/Wall.java | 51 ++++++++-------- cicaprojekt/ZPM.java | 21 ++++--- 19 files changed, 365 insertions(+), 382 deletions(-) diff --git a/cicaprojekt/Box.java b/cicaprojekt/Box.java index 8789f9f..85421cf 100644 --- a/cicaprojekt/Box.java +++ b/cicaprojekt/Box.java @@ -1,21 +1,20 @@ package cicaprojekt; -public class Box implements Pickable, Destroyable -{ +public class Box implements Pickable, Destroyable { private int weight = 5; - public Box(){ + public Box() { } - public void destroy() { - } + public void destroy() { + } - public void pick() { - } + public void pick() { + } - @Override - public int weight() { + @Override + public int weight() { return this.weight; - } + } } diff --git a/cicaprojekt/Destroyable.java b/cicaprojekt/Destroyable.java index b07dbbd..b283f1c 100644 --- a/cicaprojekt/Destroyable.java +++ b/cicaprojekt/Destroyable.java @@ -1,5 +1,5 @@ package cicaprojekt; public interface Destroyable { - public void destroy(); + public void destroy(); } diff --git a/cicaprojekt/Direction.java b/cicaprojekt/Direction.java index 43e2841..e5a0a3e 100644 --- a/cicaprojekt/Direction.java +++ b/cicaprojekt/Direction.java @@ -1,5 +1,5 @@ package cicaprojekt; public enum Direction { - NORTH, SOUTH, EAST, WEST; + NORTH, SOUTH, EAST, WEST; } diff --git a/cicaprojekt/Dungeon.java b/cicaprojekt/Dungeon.java index 79a98ea..0ac7406 100644 --- a/cicaprojekt/Dungeon.java +++ b/cicaprojekt/Dungeon.java @@ -3,12 +3,10 @@ package cicaprojekt; import java.io.*; public class Dungeon { - cicaprojekt.Tile buildDungeon(File input) throws IOException - { + cicaprojekt.Tile buildDungeon(File input) throws IOException { Tile oneilllocation = null; Tile jaffalocation = null; - try(BufferedReader reader = new BufferedReader(new FileReader(input))) - { + try (BufferedReader reader = new BufferedReader(new FileReader(input))) { String[] sizedata = reader.readLine().split("x"); // read size data at beginning of file reader.readLine(); // throw empty line away int width = Integer.parseInt(sizedata[0]); @@ -19,11 +17,9 @@ public class Dungeon { String line = null; Gate gate = new Gate(); Gate lastgate = gate; - for (int y = 0; y < height; ++y) - { - line = reader.readLine().replaceAll("\\s",""); // read line and remove whitespaces - for (int x = 0; x < width; ++x) - { + for (int y = 0; y < height; ++y) { + line = reader.readLine().replaceAll("\\s", ""); // read line and remove whitespaces + for (int x = 0; x < width; ++x) { switch (line.charAt(x)) // set the dungeon up { case 'W': @@ -74,27 +70,25 @@ public class Dungeon { // NOTE: code seems to be correct till this point based on a debugger run-through /* setting up Tile cross references */ - for (int y = 0; y < height; ++y) - { - for (int x = 0; x < width; ++x) - { - if (x-1 >= 0) // leftwards Tile reference - dungeon[y][x].setAdajacentTile(dungeon[y][x-1], Direction.WEST); + for (int y = 0; y < height; ++y) { + for (int x = 0; x < width; ++x) { + if (x - 1 >= 0) // leftwards Tile reference + dungeon[y][x].setAdajacentTile(dungeon[y][x - 1], Direction.WEST); else dungeon[y][x].setAdajacentTile(null, Direction.WEST); - if (x+1 < width) // rightwards Tile reference - dungeon[y][x].setAdajacentTile(dungeon[y][x+1], Direction.EAST); + if (x + 1 < width) // rightwards Tile reference + dungeon[y][x].setAdajacentTile(dungeon[y][x + 1], Direction.EAST); else dungeon[y][x].setAdajacentTile(null, Direction.EAST); - if (y+1 < height) // upwards Tile reference - dungeon[y][x].setAdajacentTile(dungeon[y+1][x], Direction.NORTH); + if (y + 1 < height) // upwards Tile reference + dungeon[y][x].setAdajacentTile(dungeon[y + 1][x], Direction.NORTH); else dungeon[y][x].setAdajacentTile(null, Direction.NORTH); - if (y-1 >= 0) // downwards Tile reference - dungeon[y][x].setAdajacentTile(dungeon[y-1][x], Direction.SOUTH); + if (y - 1 >= 0) // downwards Tile reference + dungeon[y][x].setAdajacentTile(dungeon[y - 1][x], Direction.SOUTH); else dungeon[y][x].setAdajacentTile(null, Direction.SOUTH); } diff --git a/cicaprojekt/Field.java b/cicaprojekt/Field.java index 69161c9..a7c8221 100644 --- a/cicaprojekt/Field.java +++ b/cicaprojekt/Field.java @@ -3,32 +3,31 @@ package cicaprojekt; import java.util.HashMap; import java.util.Map; -public class Field extends cicaprojekt.Tile -{ - private static int recursionLimit = 0; +public class Field extends cicaprojekt.Tile { + private static int recursionLimit = 0; - public Field() { - super(); - } + public Field() { + super(); + } - @Override - public void spawnStargate(cicaprojekt.Stargate stargate, Direction direction) { - if (recursionLimit++ >= 10) - this.adjacentTile.put(direction, new Wall()); - adjacentTile.get(direction).spawnStargate(stargate, direction); - } + @Override + public void spawnStargate(cicaprojekt.Stargate stargate, Direction direction) { + if (recursionLimit++ >= 10) + this.adjacentTile.put(direction, new Wall()); + adjacentTile.get(direction).spawnStargate(stargate, direction); + } - public void onEntry(PlayerBase playerBase) { - if(boxStack.size() > 0) - return; - playerBase.setCurrentTile(this); - if(zpmOnTile != null) - playerBase.pickZPM(this); - } + public void onEntry(PlayerBase playerBase) { + if (boxStack.size() > 0) + return; + playerBase.setCurrentTile(this); + if (zpmOnTile != null) + playerBase.pickZPM(this); + } - public void onExit(PlayerBase playerBase) { - return; - } + public void onExit(PlayerBase playerBase) { + return; + } } diff --git a/cicaprojekt/FlowOfTime.java b/cicaprojekt/FlowOfTime.java index 11e7826..496a372 100644 --- a/cicaprojekt/FlowOfTime.java +++ b/cicaprojekt/FlowOfTime.java @@ -3,12 +3,11 @@ package cicaprojekt; import java.util.Timer; import java.util.TimerTask; -public class FlowOfTime extends Timer{ - private TimerTask timeup; - private long gametime; +public class FlowOfTime extends Timer { + private TimerTask timeup; + private long gametime; - public void start() - { - } + public void start() { + } } diff --git a/cicaprojekt/Game.java b/cicaprojekt/Game.java index 0cbfeee..43acf95 100644 --- a/cicaprojekt/Game.java +++ b/cicaprojekt/Game.java @@ -1,20 +1,21 @@ package cicaprojekt; public class Game { - private Player oneill; - private Dungeon dungeon; - private FlowOfTime flowoftime; + private Player oneill; + private Dungeon dungeon; + private FlowOfTime flowoftime; - public void allZPMsCollected() { - this.stopGame(); - } - - public void startGame() { - } - - public void stopGame() { - } + public static void main(String[] args) { + } - public static void main(String[] args) {} + public void allZPMsCollected() { + this.stopGame(); + } + + public void startGame() { + } + + public void stopGame() { + } } diff --git a/cicaprojekt/Gap.java b/cicaprojekt/Gap.java index a07d80a..cd9f592 100644 --- a/cicaprojekt/Gap.java +++ b/cicaprojekt/Gap.java @@ -1,26 +1,25 @@ package cicaprojekt; -public class Gap extends cicaprojekt.Tile -{ - public Gap(){ - super(); - } - - @Override - public void spawnStargate(cicaprojekt.Stargate stargate, Direction direction) { - adjacentTile.get(direction).spawnStargate(stargate, direction); - } +public class Gap extends cicaprojekt.Tile { + public Gap() { + super(); + } - public void onEntry(PlayerBase playerBase) { - playerBase.destroy(); - } + @Override + public void spawnStargate(cicaprojekt.Stargate stargate, Direction direction) { + adjacentTile.get(direction).spawnStargate(stargate, direction); + } - public void onExit(PlayerBase playerBase) throws IllegalStateException { - throw new IllegalStateException("Hiba! A szakadékból nem jut ki semmi!"); - } - - @Override - public void putABox(Box box) { - box.destroy(); - } + public void onEntry(PlayerBase playerBase) { + playerBase.destroy(); + } + + public void onExit(PlayerBase playerBase) throws IllegalStateException { + throw new IllegalStateException("Hiba! A szakadékból nem jut ki semmi!"); + } + + @Override + public void putABox(Box box) { + box.destroy(); + } } diff --git a/cicaprojekt/Gate.java b/cicaprojekt/Gate.java index e64ecdd..bab1237 100644 --- a/cicaprojekt/Gate.java +++ b/cicaprojekt/Gate.java @@ -1,36 +1,34 @@ package cicaprojekt; -public class Gate extends Tile -{ - private boolean open = false; +public class Gate extends Tile { + private boolean open = false; - public Gate(){ - super(); - } - - public void spawnStargate(Stargate stargate, Direction direction) { - if(this.open) adjacentTile.get(direction).spawnStargate(stargate, direction); - } + public Gate() { + super(); + } - public void onEntry(PlayerBase playerBase) { - if(open){ - playerBase.setCurrentTile(this); - } - else - return; - } + public void spawnStargate(Stargate stargate, Direction direction) { + if (this.open) adjacentTile.get(direction).spawnStargate(stargate, direction); + } - public void onExit(PlayerBase playerBase) throws IllegalStateException { - if(!open){ - throw new IllegalStateException("Hiba! Te hogy kerültél a csukott ajtóba?"); - } - } + public void onEntry(PlayerBase playerBase) { + if (open) { + playerBase.setCurrentTile(this); + } else + return; + } - public boolean isOpen() { + public void onExit(PlayerBase playerBase) throws IllegalStateException { + if (!open) { + throw new IllegalStateException("Hiba! Te hogy kerültél a csukott ajtóba?"); + } + } + + public boolean isOpen() { return open; - } + } - public void setOpen(boolean gateState) { + public void setOpen(boolean gateState) { this.open = gateState; - } + } } diff --git a/cicaprojekt/Measurable.java b/cicaprojekt/Measurable.java index e02d5b3..d328c20 100644 --- a/cicaprojekt/Measurable.java +++ b/cicaprojekt/Measurable.java @@ -1,5 +1,5 @@ package cicaprojekt; public interface Measurable { - public int weight(); + public int weight(); } diff --git a/cicaprojekt/Menu.java b/cicaprojekt/Menu.java index b7a2269..e2bf0c9 100644 --- a/cicaprojekt/Menu.java +++ b/cicaprojekt/Menu.java @@ -7,22 +7,20 @@ public class Menu { public static String tabulator = "\t"; - public static void addTab() - { + public static void addTab() { tabulator += '\t'; } - public static void removeTab() - { - tabulator = tabulator.substring(0, tabulator.length()-1); + public static void removeTab() { + tabulator = tabulator.substring(0, tabulator.length() - 1); } - public static void main (String[] args) throws IOException{ + public static void main(String[] args) throws IOException { System.out.println("Continuously Integrated Cica Projekt - Skeleton"); System.out.println("Üdvözöllek a Babylon Simulator 2000 játékban! Kérlek válassz egy menüpontot!"); boolean isExiting = false; - while(!isExiting) { + while (!isExiting) { System.out.println("1. Lépés"); System.out.println("2. Doboz felvétele"); System.out.println("3. Doboz lerakása"); @@ -36,90 +34,90 @@ public class Menu { Scanner sc = new Scanner(System.in); switch (sc.nextLine().charAt(0)) { - case '1' : + case '1': System.out.println("O’Neill [északi|nyugati|déli|keleti] irányba lép egyet,"); System.out.println("Elfogadott bemenet: W, A, S, D"); switch (sc.nextLine().charAt(0)) { - case 'W' : + case 'W': oNeill.move(Direction.NORTH); break; - case 'A' : + case 'A': oNeill.move(Direction.WEST); break; - case 'S' : + case 'S': oNeill.move(Direction.SOUTH); break; - case 'D' : + case 'D': oNeill.move(Direction.EAST); break; - case 'X' : + case 'X': break; } break; - case '2' : + case '2': System.out.println("Doboz felvétele"); System.out.println("Elfogadott bemenet: L"); switch (sc.nextLine().charAt(0)) { - case 'L' : + case 'L': oNeill.boxLift(); break; - case 'X' : + case 'X': break; } break; - case '3' : + case '3': System.out.println("Doboz lerakása"); System.out.println("Elfogadott bemenet: D"); switch (sc.nextLine().charAt(0)) { case 'D': oNeill.boxDrop(); break; - case 'X' : + case 'X': break; } break; - case '4' : + case '4': System.out.println("Elforgás"); System.out.println("Elfogadott bemenet: L, R"); switch (sc.nextLine().charAt(0)) { - case 'L' : + case 'L': oNeill.rotateLeft(); break; - case 'D' : + case 'D': oNeill.rotateRight(); break; - case 'X' : + case 'X': break; } break; - case '5' : + case '5': System.out.println("Nézés"); System.out.println("Elfogadott bemenet: W"); switch (sc.nextLine().charAt(0)) { - case 'W' : + case 'W': Tile t = oNeill.getCurrentTile().getAdjacentTile(oNeill.getFacingDirection()); System.out.println("O'Neill előtt egy " + t.toString() + "mező található"); break; - case 'X' : + case 'X': break; } break; - case '6' : + case '6': System.out.println("Csillagkapu lövés"); System.out.println("Elfogadott bemenet: Y, B"); Tile t = oNeill.getCurrentTile(); switch (sc.nextLine().charAt(0)) { - case 'Y' : + case 'Y': t.spawnStargate(Stargate.yellowStargate, oNeill.getFacingDirection()); break; - case 'B' : + case 'B': t.spawnStargate(Stargate.blueStargate, oNeill.getFacingDirection()); break; - case 'X' : + case 'X': break; } break; - case 'X' : + case 'X': System.out.println("Kilépés"); isExiting = true; break; diff --git a/cicaprojekt/Pickable.java b/cicaprojekt/Pickable.java index 7f2fd3c..9fb08a5 100644 --- a/cicaprojekt/Pickable.java +++ b/cicaprojekt/Pickable.java @@ -1,5 +1,5 @@ package cicaprojekt; public interface Pickable extends Destroyable, Measurable { - public void pick(); + public void pick(); } diff --git a/cicaprojekt/Player.java b/cicaprojekt/Player.java index 9c249f1..d58eed6 100644 --- a/cicaprojekt/Player.java +++ b/cicaprojekt/Player.java @@ -3,33 +3,32 @@ package cicaprojekt; import java.util.ArrayList; import java.util.List; -public class Player extends PlayerBase{ - private List zpmContainer; - private Box boxLifted; - - - public Player(Tile startTile, Direction startDirection){ +public class Player extends PlayerBase { + private List zpmContainer; + private Box boxLifted; + + + public Player(Tile startTile, Direction startDirection) { zpmContainer = new ArrayList<>(); - currentTile = startTile; - facingDirection = startDirection; /* Be lehetne állítani egy defaultot is, nem tudom, mennyire kéne */ - } + currentTile = startTile; + facingDirection = startDirection; /* Be lehetne állítani egy defaultot is, nem tudom, mennyire kéne */ + } - public void boxLift() { + public void boxLift() { boxLifted = (Box) currentTile.getAdjacentTile(facingDirection).getABox(); - } + } - public void boxDrop() { - currentTile.getAdjacentTile(facingDirection).putABox(boxLifted); - boxLifted = null; - } + public void boxDrop() { + currentTile.getAdjacentTile(facingDirection).putABox(boxLifted); + boxLifted = null; + } @Override - public void pickZPM(Tile tile) - { + public void pickZPM(Tile tile) { zpmContainer.add(tile.getZPMFromTile()); } public void shootStargate(Stargate stargate) { - this.currentTile.getAdjacentTile(facingDirection).spawnStargate(stargate, facingDirection); - } + this.currentTile.getAdjacentTile(facingDirection).spawnStargate(stargate, facingDirection); + } } diff --git a/cicaprojekt/PlayerBase.java b/cicaprojekt/PlayerBase.java index 29c2f5c..5162c8a 100644 --- a/cicaprojekt/PlayerBase.java +++ b/cicaprojekt/PlayerBase.java @@ -1,69 +1,70 @@ package cicaprojekt; -public class PlayerBase implements Destroyable{ - protected Game game; - protected Tile currentTile; - protected Direction facingDirection; +public class PlayerBase implements Destroyable { + protected Game game; + protected Tile currentTile; + protected Direction facingDirection; - public void destroy() {} + public void destroy() { + } - public Tile getCurrentTile() { - return currentTile; - } + public Tile getCurrentTile() { + return currentTile; + } - public void setCurrentTile(Tile newCurrentTile) { - currentTile = newCurrentTile; - } + public void setCurrentTile(Tile newCurrentTile) { + currentTile = newCurrentTile; + } - public void move(Direction direction) { - this.setFacingDirection(direction); - Tile tile = this.getCurrentTile().getAdjacentTile(direction); - tile.onEntry(this); - setCurrentTile(tile); - } + public void move(Direction direction) { + this.setFacingDirection(direction); + Tile tile = this.getCurrentTile().getAdjacentTile(direction); + tile.onEntry(this); + setCurrentTile(tile); + } public void pickZPM(Tile tile) { /* PlayerBase does not collect ZPM modules */ } - public void rotateLeft() { - switch (facingDirection) { - case NORTH: - facingDirection = Direction.WEST; - break; - case WEST: - facingDirection = Direction.SOUTH; - break; - case SOUTH: - facingDirection = Direction.EAST; - break; - case EAST: - facingDirection = Direction.NORTH; - break; - } - } + public void rotateLeft() { + switch (facingDirection) { + case NORTH: + facingDirection = Direction.WEST; + break; + case WEST: + facingDirection = Direction.SOUTH; + break; + case SOUTH: + facingDirection = Direction.EAST; + break; + case EAST: + facingDirection = Direction.NORTH; + break; + } + } - public void rotateRight() { - switch (facingDirection) { - case NORTH: - facingDirection = Direction.EAST; - break; - case EAST: - facingDirection = Direction.SOUTH; - break; - case SOUTH: - facingDirection = Direction.WEST; - break; - case WEST: - facingDirection = Direction.NORTH; - break; - } - } + public void rotateRight() { + switch (facingDirection) { + case NORTH: + facingDirection = Direction.EAST; + break; + case EAST: + facingDirection = Direction.SOUTH; + break; + case SOUTH: + facingDirection = Direction.WEST; + break; + case WEST: + facingDirection = Direction.NORTH; + break; + } + } - public Direction getFacingDirection() { - return facingDirection; - } + public Direction getFacingDirection() { + return facingDirection; + } - public void setFacingDirection(Direction direction) { - facingDirection = direction; - } + public void setFacingDirection(Direction direction) { + facingDirection = direction; + } } diff --git a/cicaprojekt/Scale.java b/cicaprojekt/Scale.java index 1d3fc49..9c8dacf 100644 --- a/cicaprojekt/Scale.java +++ b/cicaprojekt/Scale.java @@ -3,53 +3,53 @@ package cicaprojekt; import java.util.Stack; public class Scale extends Field { - private Gate gateConnected; - private int threshold; - private int weight; + private Gate gateConnected; + private int threshold; + private int weight; - public Scale(Gate gate, int threshold){ - gateConnected = gate; - this.threshold = threshold; - boxStack = new Stack(); - } - - @Override - public void onEntry(PlayerBase playerBase) { - gateConnected.setOpen(true); - } - - @Override - public void onExit(PlayerBase playerBase) { - gateConnected.setOpen(false); - } + public Scale(Gate gate, int threshold) { + gateConnected = gate; + this.threshold = threshold; + boxStack = new Stack(); + } - @Override - public Box getABox() { - if(boxStack.isEmpty()) - return null; - weight -= boxStack.peek().weight(); - stackChanged(); - return boxStack.pop(); - } + @Override + public void onEntry(PlayerBase playerBase) { + gateConnected.setOpen(true); + } - @Override - public void putABox(Box box) { - if(box == null) - return; - boxStack.push(box); - weight += box.weight(); - stackChanged(); - } + @Override + public void onExit(PlayerBase playerBase) { + gateConnected.setOpen(false); + } - public void spawnStargate(Stargate stargate, Direction direction) { - adjacentTile.get(direction).spawnStargate(stargate, direction); - } + @Override + public Box getABox() { + if (boxStack.isEmpty()) + return null; + weight -= boxStack.peek().weight(); + stackChanged(); + return boxStack.pop(); + } - private void stackChanged() { - if(weight > threshold) - gateConnected.setOpen(true); - else - gateConnected.setOpen(false); - } + @Override + public void putABox(Box box) { + if (box == null) + return; + boxStack.push(box); + weight += box.weight(); + stackChanged(); + } + + public void spawnStargate(Stargate stargate, Direction direction) { + adjacentTile.get(direction).spawnStargate(stargate, direction); + } + + private void stackChanged() { + if (weight > threshold) + gateConnected.setOpen(true); + else + gateConnected.setOpen(false); + } } diff --git a/cicaprojekt/Stargate.java b/cicaprojekt/Stargate.java index 1bb37d0..10e36ca 100644 --- a/cicaprojekt/Stargate.java +++ b/cicaprojekt/Stargate.java @@ -1,40 +1,38 @@ package cicaprojekt; public class Stargate { - private boolean isSpawned; - - public static final Stargate yellowStargate = new Stargate(); - public static final Stargate blueStargate = new Stargate(); - public static final Stargate redStargate = new Stargate(); - public static final Stargate greenStargate = new Stargate(); - public /*final*/ Stargate other; //TODO find better ways to do this - - private Wall currentWall; + public static final Stargate yellowStargate = new Stargate(); + public static final Stargate blueStargate = new Stargate(); + public static final Stargate redStargate = new Stargate(); + public static final Stargate greenStargate = new Stargate(); + public /*final*/ Stargate other; //TODO find better ways to do this + private boolean isSpawned; + private Wall currentWall; - private Stargate() { - isSpawned = false; - } + private Stargate() { + isSpawned = false; + } - public static void init() { - yellowStargate.other = blueStargate; - blueStargate.other = yellowStargate; - redStargate.other = greenStargate; - greenStargate.other = redStargate; - } - - public Wall getCurrentWall() { - return currentWall; - } - - public void setCurrentWall(Wall wall) { - currentWall = wall; - } - - public boolean isOpen() { - return isSpawned; - } - - public void teleport(Direction incomingDirection) { - } + public static void init() { + yellowStargate.other = blueStargate; + blueStargate.other = yellowStargate; + redStargate.other = greenStargate; + greenStargate.other = redStargate; + } + + public Wall getCurrentWall() { + return currentWall; + } + + public void setCurrentWall(Wall wall) { + currentWall = wall; + } + + public boolean isOpen() { + return isSpawned; + } + + public void teleport(Direction incomingDirection) { + } } diff --git a/cicaprojekt/Tile.java b/cicaprojekt/Tile.java index d8da251..572000a 100644 --- a/cicaprojekt/Tile.java +++ b/cicaprojekt/Tile.java @@ -5,48 +5,48 @@ import java.util.Map; import java.util.Stack; public abstract class Tile { - protected Map adjacentTile; - protected ZPM zpmOnTile; - protected Stack boxStack; - - - public Tile(){ - adjacentTile = new HashMap(); - } - - public Tile getAdjacentTile(Direction direction) { - return adjacentTile.get(direction); - } + protected Map adjacentTile; + protected ZPM zpmOnTile; + protected Stack boxStack; - public void setAdajacentTile(Tile newTile, Direction direction) { - adjacentTile.put(direction, newTile); - } - public abstract void spawnStargate(Stargate stargate, Direction direction); - - public abstract void onEntry(PlayerBase playerBase); - - public abstract void onExit(PlayerBase playerBase); - - public void setZPMOnTile(ZPM zpm) { - zpmOnTile = zpm; - } - - public ZPM getZPMFromTile() { - ZPM zpm = zpmOnTile; - zpmOnTile = null; - return zpm; - } - - public void putABox(Box box) { - if(box == null) - return; - boxStack.push(box); - } - - public Box getABox(){ - if(boxStack.isEmpty()) - return null; - return boxStack.pop(); - } + public Tile() { + adjacentTile = new HashMap(); + } + + public Tile getAdjacentTile(Direction direction) { + return adjacentTile.get(direction); + } + + public void setAdajacentTile(Tile newTile, Direction direction) { + adjacentTile.put(direction, newTile); + } + + public abstract void spawnStargate(Stargate stargate, Direction direction); + + public abstract void onEntry(PlayerBase playerBase); + + public abstract void onExit(PlayerBase playerBase); + + public void setZPMOnTile(ZPM zpm) { + zpmOnTile = zpm; + } + + public ZPM getZPMFromTile() { + ZPM zpm = zpmOnTile; + zpmOnTile = null; + return zpm; + } + + public void putABox(Box box) { + if (box == null) + return; + boxStack.push(box); + } + + public Box getABox() { + if (boxStack.isEmpty()) + return null; + return boxStack.pop(); + } } diff --git a/cicaprojekt/Wall.java b/cicaprojekt/Wall.java index 9dd4949..204314f 100644 --- a/cicaprojekt/Wall.java +++ b/cicaprojekt/Wall.java @@ -1,33 +1,32 @@ package cicaprojekt; public class Wall extends Tile { - private Stargate sg; + private Stargate sg; - public Wall(){ - super(); - } - - public void spawnStargate(Stargate stargate, Direction direction) { - if(sg == null) - sg = stargate; - else - return; - } + public Wall() { + super(); + } - public void clearStargate() { - sg = null; - } - - public void onEntry(PlayerBase playerBase) { - if(sg == null) { - return; - } - else { - sg.teleport(playerBase.facingDirection); - } - } + public void spawnStargate(Stargate stargate, Direction direction) { + if (sg == null) + sg = stargate; + else + return; + } - public void onExit(PlayerBase playerBase) throws IllegalStateException { - throw new IllegalStateException("Hiba! Te hogy kerültél a falba?"); - } + public void clearStargate() { + sg = null; + } + + public void onEntry(PlayerBase playerBase) { + if (sg == null) { + return; + } else { + sg.teleport(playerBase.facingDirection); + } + } + + public void onExit(PlayerBase playerBase) throws IllegalStateException { + throw new IllegalStateException("Hiba! Te hogy kerültél a falba?"); + } } diff --git a/cicaprojekt/ZPM.java b/cicaprojekt/ZPM.java index 10f45e7..6c39faf 100644 --- a/cicaprojekt/ZPM.java +++ b/cicaprojekt/ZPM.java @@ -1,16 +1,15 @@ package cicaprojekt; -public class ZPM implements Pickable -{ - public void pick(){ - } +public class ZPM implements Pickable { + public void pick() { + } - @Override - public void destroy(){ - } + @Override + public void destroy() { + } - @Override - public int weight() { - return 0; - } + @Override + public int weight() { + return 0; + } } From 82394cdca481086ec45bd8ad88832fb75ac98063 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kjist=C3=B3f?= Date: Sun, 24 Apr 2016 23:29:10 +0200 Subject: [PATCH 2/2] fixed parts of Dungeon.buildDungeon() fucked up by ericnerdo --- cicaprojekt/Dungeon.java | 94 ++++++++++++++++++++++++++++++---------- 1 file changed, 70 insertions(+), 24 deletions(-) diff --git a/cicaprojekt/Dungeon.java b/cicaprojekt/Dungeon.java index 0ac7406..db65105 100644 --- a/cicaprojekt/Dungeon.java +++ b/cicaprojekt/Dungeon.java @@ -1,12 +1,40 @@ package cicaprojekt; import java.io.*; +import java.util.HashMap; +import java.util.Map; public class Dungeon { - cicaprojekt.Tile buildDungeon(File input) throws IOException { + /* NOTE: this function assumes that the parameter input is a well-formatted dungeon file. + * Such file looks like as follows: + * + * x + * + * + * ... + * ... + * > + * + * ---- + * ... + * ... + * ---- + * + * where the map matrix is a matrix of the following chars: + * W: Wall + * F: Field + * Z: Field with a ZMP + * B: Field with a Box + * O: Field with ONeill + * J: Field with Jaffa + * G: Gate + * S: Scale */ + Map buildDungeon(File input) throws IOException + { Tile oneilllocation = null; Tile jaffalocation = null; - try (BufferedReader reader = new BufferedReader(new FileReader(input))) { + try(BufferedReader reader = new BufferedReader(new FileReader(input))) + { String[] sizedata = reader.readLine().split("x"); // read size data at beginning of file reader.readLine(); // throw empty line away int width = Integer.parseInt(sizedata[0]); @@ -15,11 +43,14 @@ public class Dungeon { Tile[][] dungeon = new Tile[width][height]; String line = null; - Gate gate = new Gate(); - Gate lastgate = gate; - for (int y = 0; y < height; ++y) { - line = reader.readLine().replaceAll("\\s", ""); // read line and remove whitespaces - for (int x = 0; x < width; ++x) { + Gate tempgate = new Gate(); + Scale tempscale = new Scale(tempgate, Integer.MAX_VALUE); + int scalecount = 0; + for (int y = 0; y < height; ++y) + { + line = reader.readLine().replaceAll("\\s",""); // read line and remove whitespaces + for (int x = 0; x < width; ++x) + { switch (line.charAt(x)) // set the dungeon up { case 'W': @@ -55,45 +86,60 @@ public class Dungeon { break; case 'G': - dungeon[y][x] = gate; - lastgate = gate; - gate = new Gate(); + dungeon[y][x] = tempgate; break; case 'S': - dungeon[y][x] = new Scale(lastgate, 5); + dungeon[y][x] = tempscale; + scalecount++; break; } } } - // NOTE: code seems to be correct till this point based on a debugger run-through + reader.readLine(); // throw empty line away + + for (int i = 0; i < scalecount; ++i) // set up scale-gate connections + { + String[] scaledata = reader.readLine().split("-"); + + dungeon[Integer.parseInt(scaledata[0])][Integer.parseInt(scaledata[1])] = + new Scale((Gate)dungeon[Integer.parseInt(scaledata[2])][Integer.parseInt(scaledata[3])], + Integer.parseInt(scaledata[4])); + } /* setting up Tile cross references */ - for (int y = 0; y < height; ++y) { - for (int x = 0; x < width; ++x) { - if (x - 1 >= 0) // leftwards Tile reference - dungeon[y][x].setAdajacentTile(dungeon[y][x - 1], Direction.WEST); + for (int y = 0; y < height; ++y) + { + for (int x = 0; x < width; ++x) + { + if (x-1 >= 0) // leftwards Tile reference + dungeon[y][x].setAdajacentTile(dungeon[y][x-1], Direction.WEST); else dungeon[y][x].setAdajacentTile(null, Direction.WEST); - if (x + 1 < width) // rightwards Tile reference - dungeon[y][x].setAdajacentTile(dungeon[y][x + 1], Direction.EAST); + if (x+1 < width) // rightwards Tile reference + dungeon[y][x].setAdajacentTile(dungeon[y][x+1], Direction.EAST); else dungeon[y][x].setAdajacentTile(null, Direction.EAST); - if (y + 1 < height) // upwards Tile reference - dungeon[y][x].setAdajacentTile(dungeon[y + 1][x], Direction.NORTH); + if (y+1 < height) // upwards Tile reference + dungeon[y][x].setAdajacentTile(dungeon[y+1][x], Direction.NORTH); else dungeon[y][x].setAdajacentTile(null, Direction.NORTH); - if (y - 1 >= 0) // downwards Tile reference - dungeon[y][x].setAdajacentTile(dungeon[y - 1][x], Direction.SOUTH); + if (y-1 >= 0) // downwards Tile reference + dungeon[y][x].setAdajacentTile(dungeon[y-1][x], Direction.SOUTH); else dungeon[y][x].setAdajacentTile(null, Direction.SOUTH); } } } - return oneilllocation; + + Map playermap = new HashMap<>(); + playermap.put("oneill", oneilllocation); + playermap.put("jaffa", jaffalocation); + + return playermap; } -} +} \ No newline at end of file