From a072e382ec5ba3259ff5f211c9c9c34e805cac4e Mon Sep 17 00:00:00 2001 From: Meshulam Silk Date: Thu, 6 Feb 2014 04:05:59 +0200 Subject: [PATCH] Holy mother of refactors --- Build/Grame.jar | Bin 790058 -> 787535 bytes src/com/moomoohk/Grame/.DS_Store | Bin 12292 -> 6148 bytes .../AI/AStarPathfindingMovementAI.java | 84 ++-- .../{ => Basics}/AI/PlayerMovementAI.java | 30 +- .../Grame/{ => Basics}/AI/PlayerSimAI.java | 34 +- .../Grame/{ => Basics}/AI/SimpleChaseAI.java | 48 +- .../Grame/{ => Basics}/AI/SimpleStrollAI.java | 36 +- .../Grame/Basics/AI/package-info.java | 7 + .../Grame/Basics/DefaultRandomGen.java | 11 +- src/com/moomoohk/Grame/Basics/Dir.java | 2 +- src/com/moomoohk/Grame/Basics/Entity.java | 97 ++-- .../EntityGenerator.java | 7 +- .../{Interfaces => Basics}/MovementAI.java | 77 ++-- src/com/moomoohk/Grame/Basics/Schematic.java | 414 +++++++++--------- src/com/moomoohk/Grame/Basics/Spriteable.java | 2 +- src/com/moomoohk/Grame/Basics/Wall.java | 4 +- .../moomoohk/Grame/Basics/package-info.java | 7 + .../{Essentials => Core}/ColorLayer.java | 37 +- .../Commands}/AddEntityAICommand.java | 6 +- .../Commands}/AddGrameObjectCommand.java | 20 +- .../Commands}/ClearEntityAI.java | 4 +- .../Commands}/CreateEntityCommand.java | 4 +- .../Commands}/DrawCoordinatesCommand.java | 4 +- .../Commands/IsOccupiedCommand.java} | 20 +- .../Commands}/MakePlayerCommand.java | 6 +- .../Commands}/MoveGrameObjectCommand.java | 16 +- .../Commands}/PrintEntityAICommand.java | 4 +- .../Commands}/QuitCommand.java | 2 +- .../Commands/RenderGridCommand.java} | 16 +- .../Commands}/SetEntityOverrideAICommand.java | 8 +- .../Commands}/SetSpeedCommand.java | 13 +- .../Commands}/SetSpriteCommand.java | 2 +- .../Commands/SetVisibleCommand.java} | 4 +- .../Commands}/SetWraparoundCommand.java | 12 +- .../Commands}/ShowDialogCommand.java | 6 +- .../Grame/Core/Commands/package-info.java | 7 + .../{Essentials => Core}/Coordinates.java | 51 ++- .../{Essentials => Core}/CrashManager.java | 4 +- src/com/moomoohk/Grame/Core/EngineState.java | 163 +++++++ .../{Essentials => Core}/GrameManager.java | 103 +++-- .../{Interfaces => Core}/GrameObject.java | 48 +- .../GrameObjectLayer.java | 5 +- .../{Essentials => Core}/GrameUtils.java | 57 ++- .../Grame/Core/Graphics/CleanGridRender.java | 47 ++ .../Graphics/DefaultGridRender.java} | 26 +- .../{ => Core}/Graphics/GaussianFilter.java | 2 +- .../Graphics/PostProcessing/Label.java | 17 +- .../Graphics/PostProcessing/package-info.java | 7 + .../{ => Core}/Graphics/RandomRender.java | 10 +- .../{ => Core}/Graphics/RenderManager.java | 148 ++++--- .../Grame/Core/Graphics/package-info.java | 7 + .../{Essentials/Base.java => Core/Grid.java} | 125 +++--- .../{Essentials => Core}/InputHandler.java | 4 +- .../{Interfaces => Core}/MainGrameClass.java | 2 +- .../Grame/{Interfaces => Core}/Render.java | 9 +- src/com/moomoohk/Grame/Core/package-info.java | 7 + .../Grame/Essentials/EngineState.java | 92 ---- .../Grame/Graphics/PlainGridRender.java | 50 --- .../moomoohk/Grame/GrassMuncher/Chaser.java | 39 +- src/com/moomoohk/Grame/GrassMuncher/Coin.java | 16 +- .../Grame/GrassMuncher/MainScript.java | 46 +- .../moomoohk/Grame/GrassMuncher/Player.java | 53 ++- .../Grame/GrassMuncher/package-info.java | 7 + src/com/moomoohk/Grame/test/AISystemTest.java | 90 ++-- src/com/moomoohk/Grame/test/ConsumeTest.java | 28 +- src/com/moomoohk/Grame/test/Dialog.java | 18 +- src/com/moomoohk/Grame/test/GrameLogo.java | 44 +- .../moomoohk/Grame/test/GrameObjectsTest.java | 22 +- .../moomoohk/Grame/test/NewSpriteRender.java | 28 +- src/com/moomoohk/Grame/test/SaveTest.java | 23 +- src/com/moomoohk/Grame/test/SpriteRender.java | 32 +- .../moomoohk/Grame/test/TestGrameObject.java | 9 +- src/com/moomoohk/Grame/test/TestScript.java | 40 +- src/com/moomoohk/Grame/test/package-info.java | 7 + 74 files changed, 1324 insertions(+), 1213 deletions(-) rename src/com/moomoohk/Grame/{ => Basics}/AI/AStarPathfindingMovementAI.java (73%) rename src/com/moomoohk/Grame/{ => Basics}/AI/PlayerMovementAI.java (57%) rename src/com/moomoohk/Grame/{ => Basics}/AI/PlayerSimAI.java (71%) rename src/com/moomoohk/Grame/{ => Basics}/AI/SimpleChaseAI.java (65%) rename src/com/moomoohk/Grame/{ => Basics}/AI/SimpleStrollAI.java (54%) create mode 100644 src/com/moomoohk/Grame/Basics/AI/package-info.java rename src/com/moomoohk/Grame/{Interfaces => Basics}/EntityGenerator.java (81%) rename src/com/moomoohk/Grame/{Interfaces => Basics}/MovementAI.java (59%) create mode 100644 src/com/moomoohk/Grame/Basics/package-info.java rename src/com/moomoohk/Grame/{Essentials => Core}/ColorLayer.java (76%) rename src/com/moomoohk/Grame/{commands => Core/Commands}/AddEntityAICommand.java (91%) rename src/com/moomoohk/Grame/{commands => Core/Commands}/AddGrameObjectCommand.java (65%) rename src/com/moomoohk/Grame/{commands => Core/Commands}/ClearEntityAI.java (93%) rename src/com/moomoohk/Grame/{commands => Core/Commands}/CreateEntityCommand.java (94%) rename src/com/moomoohk/Grame/{commands => Core/Commands}/DrawCoordinatesCommand.java (90%) rename src/com/moomoohk/Grame/{commands/isOccupiedCommand.java => Core/Commands/IsOccupiedCommand.java} (62%) rename src/com/moomoohk/Grame/{commands => Core/Commands}/MakePlayerCommand.java (90%) rename src/com/moomoohk/Grame/{commands => Core/Commands}/MoveGrameObjectCommand.java (75%) rename src/com/moomoohk/Grame/{commands => Core/Commands}/PrintEntityAICommand.java (93%) rename src/com/moomoohk/Grame/{commands => Core/Commands}/QuitCommand.java (92%) rename src/com/moomoohk/Grame/{commands/RenderBaseCommand.java => Core/Commands/RenderGridCommand.java} (73%) rename src/com/moomoohk/Grame/{commands => Core/Commands}/SetEntityOverrideAICommand.java (90%) rename src/com/moomoohk/Grame/{commands => Core/Commands}/SetSpeedCommand.java (78%) rename src/com/moomoohk/Grame/{commands => Core/Commands}/SetSpriteCommand.java (96%) rename src/com/moomoohk/Grame/{commands/setVisibleCommand.java => Core/Commands/SetVisibleCommand.java} (91%) rename src/com/moomoohk/Grame/{commands => Core/Commands}/SetWraparoundCommand.java (74%) rename src/com/moomoohk/Grame/{commands => Core/Commands}/ShowDialogCommand.java (83%) create mode 100644 src/com/moomoohk/Grame/Core/Commands/package-info.java rename src/com/moomoohk/Grame/{Essentials => Core}/Coordinates.java (72%) rename src/com/moomoohk/Grame/{Essentials => Core}/CrashManager.java (99%) create mode 100644 src/com/moomoohk/Grame/Core/EngineState.java rename src/com/moomoohk/Grame/{Essentials => Core}/GrameManager.java (94%) rename src/com/moomoohk/Grame/{Interfaces => Core}/GrameObject.java (71%) rename src/com/moomoohk/Grame/{Essentials => Core}/GrameObjectLayer.java (95%) rename src/com/moomoohk/Grame/{Essentials => Core}/GrameUtils.java (88%) create mode 100644 src/com/moomoohk/Grame/Core/Graphics/CleanGridRender.java rename src/com/moomoohk/Grame/{Graphics/GridRender.java => Core/Graphics/DefaultGridRender.java} (71%) rename src/com/moomoohk/Grame/{ => Core}/Graphics/GaussianFilter.java (98%) rename src/com/moomoohk/Grame/{ => Core}/Graphics/PostProcessing/Label.java (87%) create mode 100644 src/com/moomoohk/Grame/Core/Graphics/PostProcessing/package-info.java rename src/com/moomoohk/Grame/{ => Core}/Graphics/RandomRender.java (64%) rename src/com/moomoohk/Grame/{ => Core}/Graphics/RenderManager.java (66%) create mode 100644 src/com/moomoohk/Grame/Core/Graphics/package-info.java rename src/com/moomoohk/Grame/{Essentials/Base.java => Core/Grid.java} (76%) rename src/com/moomoohk/Grame/{Essentials => Core}/InputHandler.java (93%) rename src/com/moomoohk/Grame/{Interfaces => Core}/MainGrameClass.java (70%) rename src/com/moomoohk/Grame/{Interfaces => Core}/Render.java (68%) create mode 100644 src/com/moomoohk/Grame/Core/package-info.java delete mode 100644 src/com/moomoohk/Grame/Essentials/EngineState.java delete mode 100644 src/com/moomoohk/Grame/Graphics/PlainGridRender.java create mode 100644 src/com/moomoohk/Grame/GrassMuncher/package-info.java create mode 100644 src/com/moomoohk/Grame/test/package-info.java diff --git a/Build/Grame.jar b/Build/Grame.jar index cec1f009735784bf39f2a06af6d10c40ae2dad9b..97f8cfbceb14d885a08384b80b018db1eb086bb0 100644 GIT binary patch delta 235826 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

^uBb9cC`Ph)x#}I-CQSJW<<61j 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�px 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 literal 12292 zcmeI1y>1jS6os$D3RX#k(jcW{8t4O}H>-_M3ZzJRfvjc&LCR)V`_oTB1r+cCya5u= zK#O=C(sHh^1LLuW3KS%cqwyKp_xhfEGdr_RM8u6Y(*u!x5gFo8-P=J|XgaS)*0$nE z1$D@mdOlm&*!@p&jzR(?KmsH{0wnNn5x_fJ+py=oZ?o)4fCTrMkGqaF&koD#rP!jj5%Ji<=J@E4#QuaiKca zuR^#uZ_1toNFXOrVQ5R9%F)HkgOkqwJ&e!hL&AP{r6gbh`Mu`;b$V3GVOYJa;Fs2^6~b=S6wDw zr{$$LCh=nruWdO5jg_3i%^FlDa?$bRb|0f&F|Ot7`g-)lWt@s}sXuSO=QCNt)k4lo z*X+S2u;|1Td<`Xw$vkB-i61#uKf7@qW%gV)pjN}#nJm+L>E8F>#TNYauG_k<*Nl5( zQ@>vQZp%@)vT!Ibz_Etc&VB#zsxPkKv$$TtV=*rEcdGsdxa;6Z)+xV7U)pmmAD>^p z)3jfCt=idKT2DWJUUPBhH>UO(;QL=`u#v#c5x8Zg_jUh&*#Gzcn={DDBtQaxoq!vR zPsSsZiF@m;pzgIR9H%(6Xv=(1Pts*fCNZ@ c1W14cNPq-LfCNZ@1W14cNPq-L;Exjc0fx>3=l}o! diff --git a/src/com/moomoohk/Grame/AI/AStarPathfindingMovementAI.java b/src/com/moomoohk/Grame/Basics/AI/AStarPathfindingMovementAI.java similarity index 73% rename from src/com/moomoohk/Grame/AI/AStarPathfindingMovementAI.java rename to src/com/moomoohk/Grame/Basics/AI/AStarPathfindingMovementAI.java index e3df7b7..10cd6b8 100644 --- a/src/com/moomoohk/Grame/AI/AStarPathfindingMovementAI.java +++ b/src/com/moomoohk/Grame/Basics/AI/AStarPathfindingMovementAI.java @@ -1,4 +1,4 @@ -package com.moomoohk.Grame.AI; +package com.moomoohk.Grame.Basics.AI; import java.awt.Color; import java.io.Serializable; @@ -6,16 +6,16 @@ import com.moomoohk.Grame.Basics.Dir; import com.moomoohk.Grame.Basics.Entity; +import com.moomoohk.Grame.Basics.MovementAI; import com.moomoohk.Grame.Basics.Schematic; -import com.moomoohk.Grame.Essentials.Base; -import com.moomoohk.Grame.Essentials.Coordinates; -import com.moomoohk.Grame.Essentials.GrameManager; -import com.moomoohk.Grame.Essentials.GrameObjectLayer; -import com.moomoohk.Grame.Essentials.GrameUtils; -import com.moomoohk.Grame.Graphics.PlainGridRender; -import com.moomoohk.Grame.Graphics.RenderManager; -import com.moomoohk.Grame.Interfaces.MainGrameClass; -import com.moomoohk.Grame.Interfaces.MovementAI; +import com.moomoohk.Grame.Core.Coordinates; +import com.moomoohk.Grame.Core.GrameManager; +import com.moomoohk.Grame.Core.GrameObjectLayer; +import com.moomoohk.Grame.Core.GrameUtils; +import com.moomoohk.Grame.Core.Grid; +import com.moomoohk.Grame.Core.MainGrameClass; +import com.moomoohk.Grame.Core.Graphics.CleanGridRender; +import com.moomoohk.Grame.Core.Graphics.RenderManager; public class AStarPathfindingMovementAI extends MovementAI implements MainGrameClass { @@ -37,23 +37,23 @@ public String author() } @Override - public Coordinates getNext(Coordinates pos, Coordinates targetPos, Base b, Entity ent1, Entity ent2) + public Coordinates getNext(Coordinates pos, Coordinates targetPos, Grid g, Entity ent1, Entity ent2) { - if (ent1.getPos(b.ID).distance(ent2.getPos(b.ID)) == 1) + if (ent1.getPos(g.ID).distance(ent2.getPos(g.ID)) == 1) return pos; if (cachedTargetPos != null) if (cachedTargetPos.equals(targetPos)) { Node last = getLast(cachedNodePath.get(cachedNodePath.size() - 1)); - if (cachedNodePath.remove(last)) //TODO: Fix this list + if (cachedNodePath.remove(last)) return last.getPos(); } else { if (showVisualization) - b.setFloorColor(Color.white); + g.setFloorColor(Color.white); if (showCosts) - RenderManager.clearText(b.ID); + RenderManager.clearText(g.ID); cachedTargetPos = targetPos; } else @@ -70,11 +70,11 @@ public Coordinates getNext(Coordinates pos, Coordinates targetPos, Base b, Entit if (!current.getPos().equals(pos)) closed.add(current); open.remove(current); - if (current.getPos().distance(ent2.getPos(b.ID)) == 1) + if (current.getPos().distance(ent2.getPos(g.ID)) == 1) break; - for (Coordinates sur : current.getPos().getAllSurrounding(b)) + for (Coordinates sur : current.getPos().getAllSurrounding(g)) { - if (!b.isInBase(sur) || b.isOccupied(sur) || contains(closed, sur)) + if (!g.isInGrid(sur) || g.isOccupied(sur) || contains(closed, sur)) { open.remove(getNodeFromList(open, sur)); continue; @@ -90,18 +90,17 @@ public Coordinates getNext(Coordinates pos, Coordinates targetPos, Base b, Entit } current = findLowestFCost(open); } - while (current.getPos() != targetPos); //FIXME: NullPointerException when can't reach target + while (current.getPos() != targetPos); Node node = getLast(closed.get(closed.size() - 1)); - // visualizationColor = new Color(new Random().nextFloat(), new Random().nextFloat(), new Random().nextFloat()); if (showCosts || showVisualization) for (int i = 0; i < closed.size(); i++) { if (showVisualization) - b.setFloorColor(closed.get(i).getPos(), new Color((255 - ((255 - visualizationColor.getRed()) / closed.size() * i)), (255 - ((255 - visualizationColor.getGreen()) / closed.size() * i)), (255 - ((255 - visualizationColor.getBlue()) / closed.size() * i)))); + g.setFloorColor(closed.get(i).getPos(), new Color((255 - ((255 - visualizationColor.getRed()) / closed.size() * i)), (255 - ((255 - visualizationColor.getGreen()) / closed.size() * i)), (255 - ((255 - visualizationColor.getBlue()) / closed.size() * i)))); if (showCosts) - RenderManager.setText(b.ID, new Coordinates(closed.get(i).getPos().getY(), closed.get(i).getPos().getX()), /*"F" + (int)(calcG(current, closed.get(i).getPos()) + calcH(closed.get(i).getPos(), targetPos))*/ - "G" + (int) calcG(current, closed.get(i).getPos()) + "H" + (int) calcH(closed.get(i).getPos(), targetPos), costColor); + RenderManager.setText(g.ID, new Coordinates(closed.get(i).getPos().getY(), closed.get(i).getPos().getX()), /*"F" + (int)(calcG(current, closed.get(i).getPos()) + calcH(closed.get(i).getPos(), targetPos))*/ + "G" + (int) calcG(current, closed.get(i).getPos()) + "H" + (int) calcH(closed.get(i).getPos(), targetPos), costColor); } cachedNodePath = closed; @@ -166,9 +165,26 @@ private Node findLowestFCost(ArrayList open) } @Override - public boolean isValid(Coordinates pos, Coordinates targetPos, Base b, Entity ent1, Entity ent2) + public boolean isValid(Coordinates pos, Coordinates targetPos, Grid g, Entity ent1, Entity ent2) { - return !pos.isSurrounded(b); + // boolean[][] checked = new boolean[b.getRows()][b.getColumns()]; + // for (int i = 0; i < checked.length; i++) + // for (int j = 0; j < checked[0].length; j++) + // checked[i][j] = false; + // return floodCheck(checked, pos, targetPos, b); + return true; + } + + public boolean floodCheck(boolean[][] checked, Coordinates pos, Coordinates targetPos, Grid g) + { + g.setFloorColor(pos, GrameUtils.randomColor()); + if (pos.equals(targetPos)) + return true; + checked[pos.getY()][pos.getX()] = true; + for (Coordinates sur : pos.getSurrounding(g)) + if (!checked[sur.getY()][sur.getX()]) + return floodCheck(checked, sur, targetPos, g); + return true; } @Override @@ -247,25 +263,25 @@ public static void main(String[] args) @Override public void newGame() { - Base b = new Base(20, 20); - b.setWraparound(true); + Grid g = new Grid(20, 20); + g.setWraparound(true); Entity player = new Entity("Player", Color.gray); Entity monster = new Entity("Monster", Color.red); - b.addGrameObjectLayer(new GrameObjectLayer(b.getColumns(), b.getRows()), 1); - player.makePlayer(1, true, b.ID); + g.addGrameObjectLayer(new GrameObjectLayer(g.getColumns(), g.getRows()), 1); + player.makePlayer(1, true, g.ID); player.setSpeed(1); monster.setTarget(player.ID); AStarPathfindingMovementAI aStar = new AStarPathfindingMovementAI(); - monster.addAI(aStar, b.ID); + monster.addAI(aStar, g.ID); monster.setSpeed(5); - b.addGrameObject(player, new Coordinates(10, 10)); - b.addGrameObject(monster, new Coordinates(18, 10), 1); + g.addGrameObject(player, new Coordinates(10, 10)); + g.addGrameObject(monster, new Coordinates(18, 10), 1); for (int i = 1; i <= 10; i++) - new Schematic().load(b, GrameUtils.randomCoordinates(b)); + new Schematic().load(g, GrameUtils.randomCoordinates(g)); // Schematic s = new Schematic(1); // System.out.println(s.toString()); // s.load(b, new Coordinates(10, 10)); - RenderManager.render(b.ID, new PlainGridRender()); + RenderManager.render(g.ID, new CleanGridRender()); RenderManager.setVisible(true); aStar.showVisualization = true; // for (int i = 0; i < b.getColumns(); i++) diff --git a/src/com/moomoohk/Grame/AI/PlayerMovementAI.java b/src/com/moomoohk/Grame/Basics/AI/PlayerMovementAI.java similarity index 57% rename from src/com/moomoohk/Grame/AI/PlayerMovementAI.java rename to src/com/moomoohk/Grame/Basics/AI/PlayerMovementAI.java index 102c80d..5b00542 100644 --- a/src/com/moomoohk/Grame/AI/PlayerMovementAI.java +++ b/src/com/moomoohk/Grame/Basics/AI/PlayerMovementAI.java @@ -1,12 +1,12 @@ -package com.moomoohk.Grame.AI; +package com.moomoohk.Grame.Basics.AI; import com.moomoohk.Grame.Basics.Dir; import com.moomoohk.Grame.Basics.Entity; -import com.moomoohk.Grame.Essentials.Base; -import com.moomoohk.Grame.Essentials.Coordinates; -import com.moomoohk.Grame.Essentials.GrameManager; -import com.moomoohk.Grame.Interfaces.GrameObject; -import com.moomoohk.Grame.Interfaces.MovementAI; +import com.moomoohk.Grame.Basics.MovementAI; +import com.moomoohk.Grame.Core.Coordinates; +import com.moomoohk.Grame.Core.GrameManager; +import com.moomoohk.Grame.Core.GrameObject; +import com.moomoohk.Grame.Core.Grid; /** * AI that lets the user control {@link GrameObject}s using the keyboard. @@ -32,27 +32,27 @@ public PlayerMovementAI(int player) this.player = player; } - public Coordinates getNext(Coordinates pos, Coordinates target, Base b, Entity ent1, Entity ent2) + public Coordinates getNext(Coordinates pos, Coordinates target, Grid g, Entity ent1, Entity ent2) { Dir d = player == 1 ? GrameManager.dir1 : player == 2 ? GrameManager.dir2 : null; if (d == null) return pos; int layer = -1; - for (int i = 0; i < b.getGrameObjectLayers().size(); i++) - if (b.getGrameObjectLayers().get(i).contains(ent1.ID)) + for (int i = 0; i < g.getGrameObjectLayers().size(); i++) + if (g.getGrameObjectLayers().get(i).contains(ent1.ID)) layer = i; - if (!b.isInBase(MovementAI.slide(b, pos, d, layer))) - if (b.getWraparound()) - return MovementAI.wraparound(b, MovementAI.slide(b, pos, d, layer), d); + if (!g.isInGrid(MovementAI.slide(g, pos, d, layer))) + if (g.getWraparound()) + return MovementAI.wraparound(g, MovementAI.slide(g, pos, d, layer), d); else return pos; else - return MovementAI.slide(b, pos, d, layer); + return MovementAI.slide(g, pos, d, layer); } - public boolean isValid(Coordinates pos, Coordinates target, Base b, Entity ent1, Entity ent2) + public boolean isValid(Coordinates pos, Coordinates target, Grid g, Entity ent1, Entity ent2) { - return ent1.isPlayer(b.ID); + return ent1.isPlayer(g.ID); } public boolean isOverride() diff --git a/src/com/moomoohk/Grame/AI/PlayerSimAI.java b/src/com/moomoohk/Grame/Basics/AI/PlayerSimAI.java similarity index 71% rename from src/com/moomoohk/Grame/AI/PlayerSimAI.java rename to src/com/moomoohk/Grame/Basics/AI/PlayerSimAI.java index f8d2707..ea7b3ed 100644 --- a/src/com/moomoohk/Grame/AI/PlayerSimAI.java +++ b/src/com/moomoohk/Grame/Basics/AI/PlayerSimAI.java @@ -1,12 +1,12 @@ -package com.moomoohk.Grame.AI; +package com.moomoohk.Grame.Basics.AI; import java.util.Random; import com.moomoohk.Grame.Basics.Dir; import com.moomoohk.Grame.Basics.Entity; -import com.moomoohk.Grame.Essentials.Base; -import com.moomoohk.Grame.Essentials.Coordinates; -import com.moomoohk.Grame.Interfaces.MovementAI; +import com.moomoohk.Grame.Basics.MovementAI; +import com.moomoohk.Grame.Core.Coordinates; +import com.moomoohk.Grame.Core.Grid; /** * AI that is supposed to simulate a player. @@ -30,7 +30,7 @@ public PlayerSimAI() { super(); this.step = 0; - this.tries=0; + this.tries = 0; } @Override @@ -40,37 +40,37 @@ public String author() } @Override - public Coordinates getNext(Coordinates pos, Coordinates targetPos, Base b, Entity ent1, Entity ent2) + public Coordinates getNext(Coordinates pos, Coordinates targetPos, Grid g, Entity ent1, Entity ent2) { if (this.step == 0) this.direction = generateDir(); Coordinates next = pos.addDir(this.direction); - if (b.getWraparound()) - next = MovementAI.wraparound(b, pos, this.direction); + if (g.getWraparound()) + next = MovementAI.wraparound(g, pos, this.direction); else - if (!b.isInBase(next)) + if (!g.isInGrid(next)) { this.step = 0; return pos; } - if(b.isOccupied(next)) + if (g.isOccupied(next)) { - this.step=0; + this.step = 0; this.tries++; - if(this.tries==10) + if (this.tries == 10) { - this.tries=0; + this.tries = 0; return pos; } - return getNext(pos, targetPos, b, ent1, ent2); + return getNext(pos, targetPos, g, ent1, ent2); } - this.tries=0; + this.tries = 0; this.step--; return next; } @Override - public boolean isValid(Coordinates pos, Coordinates targetPos, Base b, Entity ent1, Entity ent2) + public boolean isValid(Coordinates pos, Coordinates targetPos, Grid g, Entity ent1, Entity ent2) { return true; } @@ -86,7 +86,7 @@ private Dir generateDir() this.step = new Random().nextInt(30) + 10; return Dir.getAllDirs()[new Random().nextInt(Dir.getAllDirs().length)]; } - + public String toString() { return "Player sim"; diff --git a/src/com/moomoohk/Grame/AI/SimpleChaseAI.java b/src/com/moomoohk/Grame/Basics/AI/SimpleChaseAI.java similarity index 65% rename from src/com/moomoohk/Grame/AI/SimpleChaseAI.java rename to src/com/moomoohk/Grame/Basics/AI/SimpleChaseAI.java index 9d503c1..d10d530 100644 --- a/src/com/moomoohk/Grame/AI/SimpleChaseAI.java +++ b/src/com/moomoohk/Grame/Basics/AI/SimpleChaseAI.java @@ -1,12 +1,12 @@ -package com.moomoohk.Grame.AI; +package com.moomoohk.Grame.Basics.AI; import com.moomoohk.Grame.Basics.Dir; import com.moomoohk.Grame.Basics.Entity; -import com.moomoohk.Grame.Essentials.Base; -import com.moomoohk.Grame.Essentials.Coordinates; -import com.moomoohk.Grame.Essentials.GrameUtils; -import com.moomoohk.Grame.Essentials.GrameUtils.MessageLevel; -import com.moomoohk.Grame.Interfaces.MovementAI; +import com.moomoohk.Grame.Basics.MovementAI; +import com.moomoohk.Grame.Core.Coordinates; +import com.moomoohk.Grame.Core.GrameUtils; +import com.moomoohk.Grame.Core.GrameUtils.MessageLevel; +import com.moomoohk.Grame.Core.Grid; /** * This AI is designed to chase objects. @@ -21,7 +21,7 @@ public class SimpleChaseAI extends MovementAI { private static final long serialVersionUID = 4361422461574615758L; - public Coordinates getNext(Coordinates pos, Coordinates target, Base b, Entity ent1, Entity ent2) + public Coordinates getNext(Coordinates pos, Coordinates target, Grid g, Entity ent1, Entity ent2) { if (target == null) { @@ -29,15 +29,15 @@ public Coordinates getNext(Coordinates pos, Coordinates target, Base b, Entity e return pos; } int layer = -1; - for (int i = 0; i < b.getGrameObjectLayers().size(); i++) - if (b.getGrameObjectLayers().get(i).contains(ent1.ID)) + for (int i = 0; i < g.getGrameObjectLayers().size(); i++) + if (g.getGrameObjectLayers().get(i).contains(ent1.ID)) layer = i; - if (!b.getWraparound()) + if (!g.getWraparound()) { Dir d = new Dir(pos, target); - if (!b.isOccupied(pos.addDir(d))) + if (!g.isOccupied(pos.addDir(d))) return pos.addDir(d); - return MovementAI.slide(b, pos, d, layer); + return MovementAI.slide(g, pos, d, layer); } else { @@ -48,42 +48,42 @@ public Coordinates getNext(Coordinates pos, Coordinates target, Base b, Entity e while (temp.distance(target) > 0) { Dir dir = new Dir(target, temp); - if (!wrapped && !b.isInBase(temp.addDir(dir))) + if (!wrapped && !g.isInGrid(temp.addDir(dir))) { - temp = MovementAI.wraparound(b, MovementAI.slide(b, temp, dir, layer), dir); + temp = MovementAI.wraparound(g, MovementAI.slide(g, temp, dir, layer), dir); wrapped = true; } else if (!wrapped) { Dir dir2 = new Dir(temp, target); - Dir wall = closestWall(temp, b); + Dir wall = closestWall(temp, g); if (wall.getX() != 0) dir2.setX(wall.getX()); if (wall.getY() != 0) dir2.setY(wall.getY()); - temp = MovementAI.slide(b, temp, dir2, layer); + temp = MovementAI.slide(g, temp, dir2, layer); } else - temp = MovementAI.slide(b, temp, new Dir(temp, target), layer); + temp = MovementAI.slide(g, temp, new Dir(temp, target), layer); distanceThroughWall++; } if (normalDistance <= distanceThroughWall) - return MovementAI.slide(b, pos, new Dir(pos, target), layer); + return MovementAI.slide(g, pos, new Dir(pos, target), layer); else { Dir dir2 = new Dir(pos, target); - Dir wall = closestWall(pos, b); + Dir wall = closestWall(pos, g); if (wall.getX() != 0) dir2.setX(wall.getX()); if (wall.getY() != 0) dir2.setY(wall.getY()); - return MovementAI.wraparound(b, /*MovementAI.slide(b, pos, dir2)*/pos, dir2); + return MovementAI.wraparound(g, /*MovementAI.slide(b, pos, dir2)*/pos, dir2); } } } - public boolean isValid(Coordinates pos, Coordinates target, Base b, Entity ent1, Entity ent2) + public boolean isValid(Coordinates pos, Coordinates target, Grid g, Entity ent1, Entity ent2) { if (pos == null) return false; @@ -92,12 +92,12 @@ public boolean isValid(Coordinates pos, Coordinates target, Base b, Entity ent1, GrameUtils.print("Crucial parameters missing! Returning not valid. (" + ent1.getName() + ")", MessageLevel.ERROR); return false; } - if (ent1.getPos(b.ID).distance(ent2.getPos(b.ID)) > ent1.getRange()) + if (ent1.getPos(g.ID).distance(ent2.getPos(g.ID)) > ent1.getRange()) { return false; } - if (ent1.getPos(b.ID).isSurrounded(b)) + if (ent1.getPos(g.ID).isSurrounded(g)) { return false; } @@ -119,7 +119,7 @@ public String author() return "moomoohk"; } - public Dir closestWall(Coordinates pos, Base b) + public Dir closestWall(Coordinates pos, Grid b) { int up = pos.getY(), down = b.getRows() - pos.getY() - 1, left = pos.getX(), right = b.getColumns() - pos.getX() - 1; int min = Math.min(up, Math.min(down, Math.min(left, right))); diff --git a/src/com/moomoohk/Grame/AI/SimpleStrollAI.java b/src/com/moomoohk/Grame/Basics/AI/SimpleStrollAI.java similarity index 54% rename from src/com/moomoohk/Grame/AI/SimpleStrollAI.java rename to src/com/moomoohk/Grame/Basics/AI/SimpleStrollAI.java index a04cc37..8463583 100644 --- a/src/com/moomoohk/Grame/AI/SimpleStrollAI.java +++ b/src/com/moomoohk/Grame/Basics/AI/SimpleStrollAI.java @@ -1,10 +1,10 @@ -package com.moomoohk.Grame.AI; +package com.moomoohk.Grame.Basics.AI; import com.moomoohk.Grame.Basics.Dir; import com.moomoohk.Grame.Basics.Entity; -import com.moomoohk.Grame.Essentials.Base; -import com.moomoohk.Grame.Essentials.Coordinates; -import com.moomoohk.Grame.Interfaces.MovementAI; +import com.moomoohk.Grame.Basics.MovementAI; +import com.moomoohk.Grame.Core.Coordinates; +import com.moomoohk.Grame.Core.Grid; /** * This AI is designed to simulate neutral random movement. @@ -17,30 +17,30 @@ public class SimpleStrollAI extends MovementAI { private static final long serialVersionUID = 5810610984037692653L; - public Coordinates getNext(Coordinates pos, Coordinates target, Base b, Entity ent1, Entity ent2) + public Coordinates getNext(Coordinates pos, Coordinates target, Grid g, Entity ent1, Entity ent2) { - Coordinates[] sur = pos.getAllSurrounding(b); + Coordinates[] sur = pos.getAllSurrounding(g); Coordinates next = sur[(int) (Math.random() * sur.length)]; try { - if ((int) (Math.random() * 15)>13) - if (b.getWraparound()) + if ((int) (Math.random() * 15) > 13) + if (g.getWraparound()) { - if (!b.isInBase(next)) - next=MovementAI.wraparound(b, next, new Dir(pos, next)); - if (b.isOccupied(next)) + if (!g.isInGrid(next)) + next = MovementAI.wraparound(g, next, new Dir(pos, next)); + if (g.isOccupied(next)) return pos; else return next; } else { - if (b.isOccupied(next)) - for (int i = 0; i < sur.length || (!b.isOccupied(next) && b.isInBase(next)); i++) + if (g.isOccupied(next)) + for (int i = 0; i < sur.length || (!g.isOccupied(next) && g.isInGrid(next)); i++) next = sur[i]; - if(!b.isInBase(next)) - next=pos; + if (!g.isInGrid(next)) + next = pos; } else next = pos; @@ -52,11 +52,11 @@ public Coordinates getNext(Coordinates pos, Coordinates target, Base b, Entity e return next; } - public boolean isValid(Coordinates pos, Coordinates target, Base b, Entity ent1, Entity ent2) + public boolean isValid(Coordinates pos, Coordinates target, Grid g, Entity ent1, Entity ent2) { - if(pos==null) + if (pos == null) return false; - return !pos.isSurrounded(b); + return !pos.isSurrounded(g); } public boolean isOverride() diff --git a/src/com/moomoohk/Grame/Basics/AI/package-info.java b/src/com/moomoohk/Grame/Basics/AI/package-info.java new file mode 100644 index 0000000..5189da3 --- /dev/null +++ b/src/com/moomoohk/Grame/Basics/AI/package-info.java @@ -0,0 +1,7 @@ +/** + * Contains some MovementAI classes. + * + * @author Meshulam Silk (moomoohk@ymail.com) + * @since Feb 6, 2014 + */ +package com.moomoohk.Grame.Basics.AI; \ No newline at end of file diff --git a/src/com/moomoohk/Grame/Basics/DefaultRandomGen.java b/src/com/moomoohk/Grame/Basics/DefaultRandomGen.java index 0526e15..baebe4e 100644 --- a/src/com/moomoohk/Grame/Basics/DefaultRandomGen.java +++ b/src/com/moomoohk/Grame/Basics/DefaultRandomGen.java @@ -1,7 +1,5 @@ package com.moomoohk.Grame.Basics; -import com.moomoohk.Grame.Interfaces.EntityGenerator; - /** * This generator will generate a random name and type. * @@ -32,10 +30,8 @@ public String nameGen() if (i == 0) random = random.toUpperCase(); } - String[] suffixes = - { "tron", "man", "nar", "ram", "berg", "san" }; - char[] vowels = - { 'a', 'e', 'i', 'o', 'u' }; + String[] suffixes = { "tron", "man", "nar", "ram", "berg", "san" }; + char[] vowels = { 'a', 'e', 'i', 'o', 'u' }; boolean lastVowel = false; for (int i = 0; i < vowels.length; i++) if (random.charAt(random.length() - 1) == vowels[i]) @@ -53,8 +49,7 @@ public String nameGen() public String typeGen() { - String[] types = - { "elf", "orc", "human" }; + String[] types = { "elf", "orc", "human" }; return types[(int) (Math.random() * 3)]; } diff --git a/src/com/moomoohk/Grame/Basics/Dir.java b/src/com/moomoohk/Grame/Basics/Dir.java index f793f46..9ebeed6 100644 --- a/src/com/moomoohk/Grame/Basics/Dir.java +++ b/src/com/moomoohk/Grame/Basics/Dir.java @@ -1,6 +1,6 @@ package com.moomoohk.Grame.Basics; -import com.moomoohk.Grame.Essentials.Coordinates; +import com.moomoohk.Grame.Core.Coordinates; /** * Represents directions. diff --git a/src/com/moomoohk/Grame/Basics/Entity.java b/src/com/moomoohk/Grame/Basics/Entity.java index 02dba5b..eed3e33 100644 --- a/src/com/moomoohk/Grame/Basics/Entity.java +++ b/src/com/moomoohk/Grame/Basics/Entity.java @@ -4,15 +4,13 @@ import java.util.ArrayList; import java.util.HashMap; -import com.moomoohk.Grame.AI.PlayerMovementAI; -import com.moomoohk.Grame.Essentials.Coordinates; -import com.moomoohk.Grame.Essentials.GrameManager; -import com.moomoohk.Grame.Essentials.GrameUtils; -import com.moomoohk.Grame.Essentials.GrameUtils.MessageLevel; +import com.moomoohk.Grame.Basics.AI.PlayerMovementAI; +import com.moomoohk.Grame.Core.Coordinates; +import com.moomoohk.Grame.Core.GrameManager; +import com.moomoohk.Grame.Core.GrameObject; +import com.moomoohk.Grame.Core.GrameUtils; +import com.moomoohk.Grame.Core.GrameUtils.MessageLevel; import com.moomoohk.Grame.GrassMuncher.Coin; -import com.moomoohk.Grame.Interfaces.EntityGenerator; -import com.moomoohk.Grame.Interfaces.GrameObject; -import com.moomoohk.Grame.Interfaces.MovementAI; public class Entity extends GrameObject { @@ -85,75 +83,75 @@ public boolean isCollidable() } @Override - public void tick(int bID) + public void tick(int gID) { - determineAI(bID); - Coordinates c = getPos(bID); + determineAI(gID); + Coordinates c = getPos(gID); Coordinates target = null; if (this.targetID != -1) - target = GrameManager.findGrameObject(this.targetID).getPos(bID); - if (this.activeAI.size() != 0 && this.activeAI.get(bID) != null) - c = this.activeAI.get(bID).getNext(getPos(bID), target, GrameManager.findBase(bID), this, (Entity) GrameManager.findGrameObject(targetID)); - setPos(bID, c); + target = GrameManager.findGrameObject(this.targetID).getPos(gID); + if (this.activeAI.size() != 0 && this.activeAI.get(gID) != null) + c = this.activeAI.get(gID).getNext(getPos(gID), target, GrameManager.findGrid(gID), this, (Entity) GrameManager.findGrameObject(targetID)); + setPos(gID, c); } - private void determineAI(int bID) + private void determineAI(int gID) { - if (!GrameManager.findBase(bID).containsGrameObject(ID) || (this.AI.get(bID) == null && this.overrideAI.get(bID) == null) || (this.AI.get(bID) != null && this.AI.get(bID).size() == 0 && this.overrideAI.get(bID) == null)) + if (!GrameManager.findGrid(gID).containsGrameObject(ID) || (this.AI.get(gID) == null && this.overrideAI.get(gID) == null) || (this.AI.get(gID) != null && this.AI.get(gID).size() == 0 && this.overrideAI.get(gID) == null)) { - this.activeAI.remove(bID); + this.activeAI.remove(gID); return; } - if (this.overrideAI.size() == 0 || this.overrideAI.get(bID) == null) + if (this.overrideAI.size() == 0 || this.overrideAI.get(gID) == null) { MovementAI temp = null; - for (int i = 0; i < this.AI.get(bID).size(); i++) + for (int i = 0; i < this.AI.get(gID).size(); i++) { Coordinates target = null; if (targetID != -1) - target = GrameManager.findGrameObject(targetID).getPos(bID); - if (!this.AI.get(bID).get(i).isValid(getPos(bID), target, GrameManager.findBase(bID), this, (Entity) GrameManager.findGrameObject(targetID))) + target = GrameManager.findGrameObject(targetID).getPos(gID); + if (!this.AI.get(gID).get(i).isValid(getPos(gID), target, GrameManager.findGrid(gID), this, (Entity) GrameManager.findGrameObject(targetID))) continue; - temp = (MovementAI) this.AI.get(bID).get(i); + temp = (MovementAI) this.AI.get(gID).get(i); break; } - this.activeAI.put(bID, temp); + this.activeAI.put(gID, temp); } else { - this.activeAI.put(bID, this.overrideAI.get(bID)); + this.activeAI.put(gID, this.overrideAI.get(gID)); } } - public void addAI(MovementAI AI, int bID) + public void addAI(MovementAI AI, int gID) { if (!AI.isOverride()) { - if (this.AI.get(bID) == null) - this.AI.put(bID, new ArrayList()); - this.AI.get(bID).add(AI); + if (this.AI.get(gID) == null) + this.AI.put(gID, new ArrayList()); + this.AI.get(gID).add(AI); } else GrameUtils.print(AI + " is an override AI, it doens't belong in my AI list!", MessageLevel.ERROR); } - + public void printAI() { GrameUtils.print("Override AIs:", MessageLevel.NORMAL); if (overrideAI.size() != 0) - for (int bID : overrideAI.keySet()) - GrameUtils.print(bID + ": " + overrideAI.get(bID) + " (" + overrideAI.get(bID).author() + ")", MessageLevel.NORMAL); + for (int gID : overrideAI.keySet()) + GrameUtils.print(gID + ": " + overrideAI.get(gID) + " (" + overrideAI.get(gID).author() + ")", MessageLevel.NORMAL); else GrameUtils.print("[Empty]", MessageLevel.NORMAL); GrameUtils.print("Active AIs:", MessageLevel.NORMAL); if (activeAI.size() != 0) - for (int bID : activeAI.keySet()) - GrameUtils.print(bID + ": " + activeAI.get(bID) + " (" + activeAI.get(bID).author() + ")", MessageLevel.NORMAL); + for (int gID : activeAI.keySet()) + GrameUtils.print(gID + ": " + activeAI.get(gID) + " (" + activeAI.get(gID).author() + ")", MessageLevel.NORMAL); else GrameUtils.print("[Empty]", MessageLevel.NORMAL); - for (int bID : AI.keySet()) + for (int gID : AI.keySet()) { - GrameUtils.print("For base ID:" + bID, MessageLevel.NORMAL); + GrameUtils.print("For grid ID:" + gID, MessageLevel.NORMAL); String st = "null"; if (this.AI.size() == 0) GrameUtils.print("My AI list is empty!", MessageLevel.ERROR); @@ -162,12 +160,11 @@ public void printAI() { st = "null"; if (this.AI.get(i) != null) - st = this.AI.get(i) + " (" + ((MovementAI) this.AI.get(bID).get(i)).author() + ")"; + st = this.AI.get(i) + " (" + ((MovementAI) this.AI.get(gID).get(i)).author() + ")"; GrameUtils.print(i + 1 + ") " + st, MessageLevel.NORMAL); } } - } - + } public void clearAI() { @@ -176,10 +173,10 @@ public void clearAI() this.overrideAI = null; } - public void setOverrideAI(MovementAI mai, int bID) + public void setOverrideAI(MovementAI mai, int gID) { if (mai.isOverride()) - this.overrideAI.put(bID, mai); + this.overrideAI.put(gID, mai); else GrameUtils.print(mai + " is not an override AI!", MessageLevel.ERROR); } @@ -191,25 +188,25 @@ public void consume(GrameObject go) this.points += ((Coin) go).getWorth(); } - public boolean isPlayer(int bID) + public boolean isPlayer(int gID) { - if (this.player.get(bID) == null) + if (this.player.get(gID) == null) return false; - return this.player.get(bID); + return this.player.get(gID); } - public void makePlayer(int player, boolean f, int bID) + public void makePlayer(int player, boolean f, int gID) { if (f) { - this.player.put(bID, true); - this.overrideAI.put(bID, new PlayerMovementAI(player)); + this.player.put(gID, true); + this.overrideAI.put(gID, new PlayerMovementAI(player)); } else - if (this.player.get(bID)) + if (this.player.get(gID)) { - this.player.put(bID, false); - this.overrideAI.remove(bID); + this.player.put(gID, false); + this.overrideAI.remove(gID); } else GrameUtils.print("Not a player!", MessageLevel.ERROR); diff --git a/src/com/moomoohk/Grame/Interfaces/EntityGenerator.java b/src/com/moomoohk/Grame/Basics/EntityGenerator.java similarity index 81% rename from src/com/moomoohk/Grame/Interfaces/EntityGenerator.java rename to src/com/moomoohk/Grame/Basics/EntityGenerator.java index 25a5050..5704da0 100644 --- a/src/com/moomoohk/Grame/Interfaces/EntityGenerator.java +++ b/src/com/moomoohk/Grame/Basics/EntityGenerator.java @@ -1,11 +1,8 @@ -package com.moomoohk.Grame.Interfaces; - +package com.moomoohk.Grame.Basics; /** - * This interface is used to create generators which generate names and types - * for Entities. + * This interface is used to create generators which generate names and types for Entities. * - * @see OldEntity * @author Meshulam Silk * @version 1.0 * @since 2013-04-05 diff --git a/src/com/moomoohk/Grame/Interfaces/MovementAI.java b/src/com/moomoohk/Grame/Basics/MovementAI.java similarity index 59% rename from src/com/moomoohk/Grame/Interfaces/MovementAI.java rename to src/com/moomoohk/Grame/Basics/MovementAI.java index 2114c8f..416ad29 100644 --- a/src/com/moomoohk/Grame/Interfaces/MovementAI.java +++ b/src/com/moomoohk/Grame/Basics/MovementAI.java @@ -1,12 +1,11 @@ -package com.moomoohk.Grame.Interfaces; +package com.moomoohk.Grame.Basics; import java.io.Serializable; -import com.moomoohk.Grame.Basics.Dir; -import com.moomoohk.Grame.Basics.Entity; -import com.moomoohk.Grame.Essentials.Base; -import com.moomoohk.Grame.Essentials.Coordinates; -import com.moomoohk.Grame.Essentials.GrameManager; +import com.moomoohk.Grame.Core.Coordinates; +import com.moomoohk.Grame.Core.GrameManager; +import com.moomoohk.Grame.Core.GrameObject; +import com.moomoohk.Grame.Core.Grid; /** * Class to calculate the AIs of {@link GrameObject}s. @@ -28,68 +27,68 @@ public MovementAI() } /** - * Wraps {@link Coordinates} around a "wraparound" {@link Base}. + * Wraps {@link Coordinates} around a "wraparound" {@link Grid}. * - * @param b - * The "wraparound" {@link Base}. + * @param g + * The "wraparound" {@link Grid}. * @param pos * The {@link Coordinates} to wrap. * @param d * The {@link Dir} to apply. * @return The wrapped {@link Coordinates}. - * @see Base#getWraparound() + * @see Grid#getWraparound() */ - public static Coordinates wraparound(Base b, Coordinates pos, Dir d) + public static Coordinates wraparound(Grid g, Coordinates pos, Dir d) { if (pos.addDir(d).getX() <= -1 && pos.addDir(d).getY() <= -1) - return new Coordinates(b.getColumns() - 1, b.getRows() - 1); - if (pos.addDir(d).getX() <= -1 && pos.addDir(d).getY() >= b.getRows()) - return new Coordinates(b.getColumns() - 1, 0); - if (pos.addDir(d).getX() >= b.getColumns() && pos.addDir(d).getY() <= -1) - return new Coordinates(0, b.getRows() - 1); - if (pos.addDir(d).getX() >= b.getColumns() && pos.addDir(d).getY() >= b.getRows()) + return new Coordinates(g.getColumns() - 1, g.getRows() - 1); + if (pos.addDir(d).getX() <= -1 && pos.addDir(d).getY() >= g.getRows()) + return new Coordinates(g.getColumns() - 1, 0); + if (pos.addDir(d).getX() >= g.getColumns() && pos.addDir(d).getY() <= -1) + return new Coordinates(0, g.getRows() - 1); + if (pos.addDir(d).getX() >= g.getColumns() && pos.addDir(d).getY() >= g.getRows()) return new Coordinates(0, 0); if (pos.addDir(d).getX() <= -1) - return new Coordinates(b.getColumns() - 1, pos.getY()); + return new Coordinates(g.getColumns() - 1, pos.getY()); if (pos.addDir(d).getY() <= -1) - return new Coordinates(pos.getX(), b.getRows() - 1); - if (pos.addDir(d).getX() >= b.getColumns()) + return new Coordinates(pos.getX(), g.getRows() - 1); + if (pos.addDir(d).getX() >= g.getColumns()) return new Coordinates(0, pos.getY()); - if (pos.addDir(d).getY() >= b.getRows()) + if (pos.addDir(d).getY() >= g.getRows()) return new Coordinates(pos.getX(), 0); return pos.addDir(d); } /** - * Slides {@link Coordinates} on obstacles in a {@link Base}. + * Slides {@link Coordinates} on obstacles in a {@link Grid}. * - * @param b - * The {@link Base}. + * @param g + * The {@link Grid}. * @param pos * The {@link Coordinates} to slide. * @param d * The {@link Dir} to apply. * @return The slided {@link Coordinates}. */ - public static Coordinates slide(Base b, Coordinates pos, Dir d, int layer) + public static Coordinates slide(Grid g, Coordinates pos, Dir d, int layer) { if (!d.isDiag()) return pos.addDir(d); - if (b.isInBase(pos.addDir(d)) && !b.isOccupied(pos.addDir(d), layer)) + if (g.isInGrid(pos.addDir(d)) && !g.isOccupied(pos.addDir(d), layer)) return pos.addDir(d); - if (!b.isInBase(pos.addDir(d))) - if (!b.getWraparound()) + if (!g.isInGrid(pos.addDir(d))) + if (!g.getWraparound()) { - if (b.isInBase(pos.addDir(d.split()[0]))) + if (g.isInGrid(pos.addDir(d.split()[0]))) return pos.addDir(d.split()[0]); - if (b.isInBase(pos.addDir(d.split()[1]))) + if (g.isInGrid(pos.addDir(d.split()[1]))) return pos.addDir(d.split()[1]); } else - return wraparound(b, pos, d); - if (!b.isOccupied(pos.addDir(d.split()[0]), layer)) + return wraparound(g, pos, d); + if (!g.isOccupied(pos.addDir(d.split()[0]), layer)) return pos.addDir(d.split()[0]); - if (!b.isOccupied(pos.addDir(d.split()[1]), layer)) + if (!g.isOccupied(pos.addDir(d.split()[1]), layer)) return pos.addDir(d.split()[1]); return pos.addDir(d); } @@ -108,15 +107,15 @@ public static Coordinates slide(Base b, Coordinates pos, Dir d, int layer) * The current {@link Coordinates} of the {@link GrameObject}. * @param targetPos * The {@link Coordinates} of the {@link GrameObject}'s target. - * @param b - * The {@link Base}. + * @param g + * The {@link Grid}. * @param ent1 * The {@link GrameObject}. * @param ent2 * The {@link GrameObject}'s target. * @return The next {@link Coordinates} to which the {@link GrameObject} should move. */ - public abstract Coordinates getNext(Coordinates pos, Coordinates targetPos, Base b, Entity ent1, Entity ent2); + public abstract Coordinates getNext(Coordinates pos, Coordinates targetPos, Grid g, Entity ent1, Entity ent2); /** * Checks whether this AI is valid. @@ -125,15 +124,15 @@ public static Coordinates slide(Base b, Coordinates pos, Dir d, int layer) * The current {@link Coordinates} of the {@link GrameObject}. * @param targetPos * The {@link Coordinates} of the {@link GrameObject}'s target. - * @param b - * The {@link Base}. + * @param g + * The {@link Grid}. * @param ent1 * The {@link GrameObject}. * @param ent2 * The {@link GrameObject}'s target. * @return True if this AI is valid, else false. */ - public abstract boolean isValid(Coordinates pos, Coordinates targetPos, Base b, Entity ent1, Entity ent2); + public abstract boolean isValid(Coordinates pos, Coordinates targetPos, Grid g, Entity ent1, Entity ent2); /** * Checks whether this AI is an override AI. diff --git a/src/com/moomoohk/Grame/Basics/Schematic.java b/src/com/moomoohk/Grame/Basics/Schematic.java index ef5b4a1..3929fca 100644 --- a/src/com/moomoohk/Grame/Basics/Schematic.java +++ b/src/com/moomoohk/Grame/Basics/Schematic.java @@ -2,10 +2,10 @@ import java.awt.Color; -import com.moomoohk.Grame.Essentials.Base; -import com.moomoohk.Grame.Essentials.Coordinates; -import com.moomoohk.Grame.Essentials.GrameUtils; -import com.moomoohk.Grame.Essentials.GrameUtils.MessageLevel; +import com.moomoohk.Grame.Core.Coordinates; +import com.moomoohk.Grame.Core.GrameUtils; +import com.moomoohk.Grame.Core.GrameUtils.MessageLevel; +import com.moomoohk.Grame.Core.Grid; /** * This class is a collection of {@link Wall}s which is arranged in a certain pattern. @@ -46,201 +46,201 @@ public Schematic(int type) this.map[i][j] = null; switch (this.type) { - case 0: - def(2, 0); - def(2, 1); - def(1, 2); - def(2, 2); - def(3, 2); - def(2, 3); - def(2, 4); - break; - case 1: - def(0, 2); - def(1, 2); - def(2, 1); - def(2, 2); - def(2, 3); - def(3, 2); - def(4, 2); - break; - case 2: - def(0, 0); - def(1, 0); - def(2, 0); - def(0, 1); - def(0, 2); - break; - case 3: - def(0, 0); - def(0, 1); - def(0, 2); - def(0, 3); - def(1, 0); - def(2, 0); - def(3, 0); - break; - case 4: - def(0, 0); - def(1, 0); - def(2, 0); - def(4, 0); - def(0, 2); - def(2, 2); - def(3, 2); - def(4, 2); - def(0, 4); - def(1, 4); - def(2, 4); - def(4, 4); - break; - case 5: - def(0, 0); - def(0, 1); - def(0, 2); - def(0, 4); - def(2, 0); - def(2, 2); - def(2, 3); - def(2, 4); - def(4, 0); - def(4, 1); - def(4, 2); - def(4, 4); - break; - case 6: - def(0, 0); - def(1, 0); - def(2, 0); - def(3, 0); - def(4, 0); - def(2, 1); - def(2, 2); - def(2, 3); - def(0, 4); - def(1, 4); - def(2, 4); - def(3, 4); - def(4, 4); - break; - case 7: - def(0, 0); - def(0, 1); - def(0, 2); - def(0, 3); - def(0, 4); - def(1, 2); - def(2, 2); - def(3, 2); - def(4, 0); - def(4, 1); - def(4, 2); - def(4, 3); - def(4, 4); - break; - case 8: - def(0, 0); - def(1, 0); - def(3, 0); - def(4, 0); - def(1, 1); - def(2, 1); - def(3, 1); - def(1, 3); - def(2, 3); - def(3, 3); - def(0, 4); - def(1, 4); - def(3, 4); - def(4, 4); - break; - case 9: - def(0, 0); - def(0, 1); - def(0, 3); - def(0, 4); - def(1, 1); - def(1, 2); - def(1, 3); - def(3, 1); - def(3, 2); - def(3, 3); - def(4, 0); - def(4, 1); - def(4, 3); - def(4, 4); - break; - case 10: - def(1, 0); - def(4, 0); - def(0, 1); - def(1, 1); - def(3, 1); - def(1, 3); - def(3, 3); - def(4, 3); - def(0, 4); - def(3, 4); - break; - case 11: - def(0, 0); - def(3, 0); - def(1, 1); - def(3, 1); - def(4, 1); - def(0, 3); - def(1, 3); - def(3, 3); - def(1, 4); - def(4, 4); - break; - case 12: - def(0, 0); - def(1, 0); - def(3, 0); - def(4, 0); - def(0, 1); - def(4, 1); - def(2, 2); - def(0, 3); - def(4, 3); - def(0, 4); - def(1, 4); - def(3, 4); - def(4, 4); - break; - case 13: - def(0, 0); - def(1, 0); - trig(2, 0); - def(3, 0); - def(4, 0); - def(0, 1); - def(4, 1); - trig(0, 2); - def(0, 3); - def(4, 3); - def(0, 4); - def(1, 4); - trig(2, 4); - def(3, 4); - def(4, 4); - trig(4, 2); - break; - case 14: - def(1, 1); - def(2, 1); - def(3, 1); - def(1, 2); - def(3, 2); - def(1, 3); - def(2, 3); - def(3, 3); - break; - case 15: - for (int i = 0; i < this.map.length; i++) - for (int j = 0; j < this.map.length; j++) - def(i, j); + case 0: + def(2, 0); + def(2, 1); + def(1, 2); + def(2, 2); + def(3, 2); + def(2, 3); + def(2, 4); + break; + case 1: + def(0, 2); + def(1, 2); + def(2, 1); + def(2, 2); + def(2, 3); + def(3, 2); + def(4, 2); + break; + case 2: + def(0, 0); + def(1, 0); + def(2, 0); + def(0, 1); + def(0, 2); + break; + case 3: + def(0, 0); + def(0, 1); + def(0, 2); + def(0, 3); + def(1, 0); + def(2, 0); + def(3, 0); + break; + case 4: + def(0, 0); + def(1, 0); + def(2, 0); + def(4, 0); + def(0, 2); + def(2, 2); + def(3, 2); + def(4, 2); + def(0, 4); + def(1, 4); + def(2, 4); + def(4, 4); + break; + case 5: + def(0, 0); + def(0, 1); + def(0, 2); + def(0, 4); + def(2, 0); + def(2, 2); + def(2, 3); + def(2, 4); + def(4, 0); + def(4, 1); + def(4, 2); + def(4, 4); + break; + case 6: + def(0, 0); + def(1, 0); + def(2, 0); + def(3, 0); + def(4, 0); + def(2, 1); + def(2, 2); + def(2, 3); + def(0, 4); + def(1, 4); + def(2, 4); + def(3, 4); + def(4, 4); + break; + case 7: + def(0, 0); + def(0, 1); + def(0, 2); + def(0, 3); + def(0, 4); + def(1, 2); + def(2, 2); + def(3, 2); + def(4, 0); + def(4, 1); + def(4, 2); + def(4, 3); + def(4, 4); + break; + case 8: + def(0, 0); + def(1, 0); + def(3, 0); + def(4, 0); + def(1, 1); + def(2, 1); + def(3, 1); + def(1, 3); + def(2, 3); + def(3, 3); + def(0, 4); + def(1, 4); + def(3, 4); + def(4, 4); + break; + case 9: + def(0, 0); + def(0, 1); + def(0, 3); + def(0, 4); + def(1, 1); + def(1, 2); + def(1, 3); + def(3, 1); + def(3, 2); + def(3, 3); + def(4, 0); + def(4, 1); + def(4, 3); + def(4, 4); + break; + case 10: + def(1, 0); + def(4, 0); + def(0, 1); + def(1, 1); + def(3, 1); + def(1, 3); + def(3, 3); + def(4, 3); + def(0, 4); + def(3, 4); + break; + case 11: + def(0, 0); + def(3, 0); + def(1, 1); + def(3, 1); + def(4, 1); + def(0, 3); + def(1, 3); + def(3, 3); + def(1, 4); + def(4, 4); + break; + case 12: + def(0, 0); + def(1, 0); + def(3, 0); + def(4, 0); + def(0, 1); + def(4, 1); + def(2, 2); + def(0, 3); + def(4, 3); + def(0, 4); + def(1, 4); + def(3, 4); + def(4, 4); + break; + case 13: + def(0, 0); + def(1, 0); + trig(2, 0); + def(3, 0); + def(4, 0); + def(0, 1); + def(4, 1); + trig(0, 2); + def(0, 3); + def(4, 3); + def(0, 4); + def(1, 4); + trig(2, 4); + def(3, 4); + def(4, 4); + trig(4, 2); + break; + case 14: + def(1, 1); + def(2, 1); + def(3, 1); + def(1, 2); + def(3, 2); + def(1, 3); + def(2, 3); + def(3, 3); + break; + case 15: + for (int i = 0; i < this.map.length; i++) + for (int j = 0; j < this.map.length; j++) + def(i, j); } } @@ -286,13 +286,13 @@ public Color getColor(Coordinates c) } /** - * Shows this Schematic in a {@link Base}. + * Shows this Schematic in a {@link Grid}. *

* For debug purposes. */ public void show() { - Base b = new Base(5, 5, "Schematic " + type); + Grid b = new Grid(5, 5, "Schematic " + type); for (int i = 0; i < 5; i++) for (int j = 0; j < 5; j++) b.setFloorColor(new Coordinates(j, i), this.map[i][j]); @@ -396,14 +396,14 @@ public void setColor(Coordinates pos, Color c) } /** - * Loads the Schematic into a given {@link Base} at given {@link Coordinates}. + * Loads the Schematic into a given {@link Grid} at given {@link Coordinates}. * - * @param b - * {@link Base} in which to load this Schematic. + * @param g + * {@link Grid} in which to load this Schematic. * @param loc * {@link Coordinates} at which to load this Schematic. */ - public void load(Base b, Coordinates loc) + public void load(Grid g, Coordinates loc) { int sx = 0; int sy = 0; @@ -415,8 +415,8 @@ public void load(Base b, Coordinates loc) for (int j = loc.getX(); j < loc.getX() + this.width; j++) { mapx = j; - if (this.map[sy][sx] != null && b.isInBase(new Coordinates(mapx, mapy)) && !b.isOccupied(new Coordinates(mapx, mapy))) - b.addGrameObject(new Wall(getColor(new Coordinates(sx, sy))), new Coordinates(mapx, mapy)); + if (this.map[sy][sx] != null && g.isInGrid(new Coordinates(mapx, mapy)) && !g.isOccupied(new Coordinates(mapx, mapy))) + g.addGrameObject(new Wall(getColor(new Coordinates(sx, sy))), new Coordinates(mapx, mapy)); sx++; } sx = 0; diff --git a/src/com/moomoohk/Grame/Basics/Spriteable.java b/src/com/moomoohk/Grame/Basics/Spriteable.java index 0e96cbe..495d9c5 100644 --- a/src/com/moomoohk/Grame/Basics/Spriteable.java +++ b/src/com/moomoohk/Grame/Basics/Spriteable.java @@ -5,7 +5,7 @@ import javax.imageio.ImageIO; -import com.moomoohk.Grame.Interfaces.GrameObject; +import com.moomoohk.Grame.Core.GrameObject; public abstract class Spriteable extends GrameObject { diff --git a/src/com/moomoohk/Grame/Basics/Wall.java b/src/com/moomoohk/Grame/Basics/Wall.java index a4eb474..37ce8b4 100644 --- a/src/com/moomoohk/Grame/Basics/Wall.java +++ b/src/com/moomoohk/Grame/Basics/Wall.java @@ -2,7 +2,7 @@ import java.awt.Color; -import com.moomoohk.Grame.Interfaces.GrameObject; +import com.moomoohk.Grame.Core.GrameObject; /** * Walls are ready to use {@link GrameObject}s which are supposed to represent ordinary walls. @@ -37,7 +37,7 @@ public boolean isCollidable() } @Override - public void tick(int bID) + public void tick(int gID) { } diff --git a/src/com/moomoohk/Grame/Basics/package-info.java b/src/com/moomoohk/Grame/Basics/package-info.java new file mode 100644 index 0000000..05a5817 --- /dev/null +++ b/src/com/moomoohk/Grame/Basics/package-info.java @@ -0,0 +1,7 @@ +/** + * Contains some helpful classes which utilize the core. + * + * @author Meshulam Silk (moomoohk@ymail.com) + * @since Feb 6, 2014 + */ +package com.moomoohk.Grame.Basics; \ No newline at end of file diff --git a/src/com/moomoohk/Grame/Essentials/ColorLayer.java b/src/com/moomoohk/Grame/Core/ColorLayer.java similarity index 76% rename from src/com/moomoohk/Grame/Essentials/ColorLayer.java rename to src/com/moomoohk/Grame/Core/ColorLayer.java index b2c0032..885f5f1 100644 --- a/src/com/moomoohk/Grame/Essentials/ColorLayer.java +++ b/src/com/moomoohk/Grame/Core/ColorLayer.java @@ -1,12 +1,13 @@ -package com.moomoohk.Grame.Essentials; +package com.moomoohk.Grame.Core; import java.awt.Color; import java.io.Serializable; -import com.moomoohk.Grame.Essentials.GrameUtils.MessageLevel; +import com.moomoohk.Grame.Core.GrameUtils.MessageLevel; /** * ColorLayers provide an easy way to implement a color matrix. + * * @author Meshulam Silk * @version 1.0 * @since 2013-04-05 @@ -16,23 +17,29 @@ public class ColorLayer implements Serializable private static final long serialVersionUID = 4166643485256534497L; private Color[] colors; private int width, height; - + /** * Constructor - * @param width Width of ColorLayer - * @param height Height of ColorLayer + * + * @param width + * Width of ColorLayer + * @param height + * Height of ColorLayer */ public ColorLayer(int width, int height) { this.width = width; this.height = height; - this.colors=new Color[width*height]; + this.colors = new Color[width * height]; } /** * Sets the color of a place in this layer. - * @param pos {@link Coordinates} of place to set color. - * @param c Color to set. + * + * @param pos + * {@link Coordinates} of place to set color. + * @param c + * Color to set. */ public void setColor(Coordinates pos, Color c) { @@ -44,7 +51,9 @@ public void setColor(Coordinates pos, Color c) /** * Sets the color of all the places in this layer. - * @param c Color to set. + * + * @param c + * Color to set. */ public void setAll(Color c) { @@ -55,7 +64,9 @@ public void setAll(Color c) /** * Gets the color of a place in this layer. - * @param pos {@link Coordinates} of place. + * + * @param pos + * {@link Coordinates} of place. * @return The color of the place. */ public Color getColor(Coordinates pos) @@ -68,6 +79,7 @@ public Color getColor(Coordinates pos) /** * Returns the width of this layer. + * * @return The width of this layer. */ public int getWidth() @@ -77,18 +89,19 @@ public int getWidth() /** * Returns the height of this layer. + * * @return The height of this layer. */ public int getHeight() { return this.height; } - + /** * Prints the dimensions of this layer. */ public String toString() { - return this.width+"x"+this.height; + return this.width + "x" + this.height; } } diff --git a/src/com/moomoohk/Grame/commands/AddEntityAICommand.java b/src/com/moomoohk/Grame/Core/Commands/AddEntityAICommand.java similarity index 91% rename from src/com/moomoohk/Grame/commands/AddEntityAICommand.java rename to src/com/moomoohk/Grame/Core/Commands/AddEntityAICommand.java index c40b452..3b0f6b6 100644 --- a/src/com/moomoohk/Grame/commands/AddEntityAICommand.java +++ b/src/com/moomoohk/Grame/Core/Commands/AddEntityAICommand.java @@ -1,9 +1,9 @@ -package com.moomoohk.Grame.commands; +package com.moomoohk.Grame.Core.Commands; import java.awt.Color; import com.moomoohk.Grame.Basics.Entity; -import com.moomoohk.Grame.Essentials.GrameManager; +import com.moomoohk.Grame.Core.GrameManager; import com.moomoohk.MooCommands.Command; public class AddEntityAICommand extends Command @@ -65,7 +65,7 @@ public String getHelpMessage() @Override public String getUsage() { - return "addentityai "; + return "addentityai "; } @Override diff --git a/src/com/moomoohk/Grame/commands/AddGrameObjectCommand.java b/src/com/moomoohk/Grame/Core/Commands/AddGrameObjectCommand.java similarity index 65% rename from src/com/moomoohk/Grame/commands/AddGrameObjectCommand.java rename to src/com/moomoohk/Grame/Core/Commands/AddGrameObjectCommand.java index c776146..a48d59f 100644 --- a/src/com/moomoohk/Grame/commands/AddGrameObjectCommand.java +++ b/src/com/moomoohk/Grame/Core/Commands/AddGrameObjectCommand.java @@ -1,9 +1,9 @@ -package com.moomoohk.Grame.commands; +package com.moomoohk.Grame.Core.Commands; import java.awt.Color; -import com.moomoohk.Grame.Essentials.Coordinates; -import com.moomoohk.Grame.Essentials.GrameManager; +import com.moomoohk.Grame.Core.Coordinates; +import com.moomoohk.Grame.Core.GrameManager; import com.moomoohk.MooCommands.Command; public class AddGrameObjectCommand extends Command @@ -22,15 +22,15 @@ public boolean check(String[] params) this.outputColor = Color.red; return false; } - if (GrameManager.findBase(Integer.parseInt(params[1])) == null) + if (GrameManager.findGrid(Integer.parseInt(params[1])) == null) { - this.outputMessage = "Base with ID:" + params[1] + " does not exist!"; + this.outputMessage = "Grid with ID:" + params[1] + " does not exist!"; this.outputColor = Color.red; return false; } - if (!GrameManager.findBase(Integer.parseInt(params[1])).isInBase(new Coordinates(Integer.parseInt(params[1]), Integer.parseInt(params[2])))) + if (!GrameManager.findGrid(Integer.parseInt(params[1])).isInGrid(new Coordinates(Integer.parseInt(params[1]), Integer.parseInt(params[2])))) { - this.outputMessage = "Coordinates (" + params[1] + ", " + params[2] + ") are not in Base with ID:" + params[1]; + this.outputMessage = "Coordinates (" + params[1] + ", " + params[2] + ") are not in Grid with ID:" + params[1]; this.outputColor = Color.red; return false; } @@ -40,7 +40,7 @@ public boolean check(String[] params) @Override public void execute(String[] params) { - GrameManager.findBase(Integer.parseInt(params[1])).addGrameObject(GrameManager.findGrameObject(Integer.parseInt(params[0])), new Coordinates(Integer.parseInt(params[2]), Integer.parseInt(params[3]))); + GrameManager.findGrid(Integer.parseInt(params[1])).addGrameObject(GrameManager.findGrameObject(Integer.parseInt(params[0])), new Coordinates(Integer.parseInt(params[2]), Integer.parseInt(params[3]))); } @Override @@ -52,13 +52,13 @@ public String getCommand() @Override public String getHelpMessage() { - return "Adds a Grame Object to a Base"; + return "Adds a Grame Object to a Grid"; } @Override public String getUsage() { - return "addobject "; + return "addobject "; } @Override diff --git a/src/com/moomoohk/Grame/commands/ClearEntityAI.java b/src/com/moomoohk/Grame/Core/Commands/ClearEntityAI.java similarity index 93% rename from src/com/moomoohk/Grame/commands/ClearEntityAI.java rename to src/com/moomoohk/Grame/Core/Commands/ClearEntityAI.java index 1762af2..7b27f32 100644 --- a/src/com/moomoohk/Grame/commands/ClearEntityAI.java +++ b/src/com/moomoohk/Grame/Core/Commands/ClearEntityAI.java @@ -1,9 +1,9 @@ -package com.moomoohk.Grame.commands; +package com.moomoohk.Grame.Core.Commands; import java.awt.Color; import com.moomoohk.Grame.Basics.Entity; -import com.moomoohk.Grame.Essentials.GrameManager; +import com.moomoohk.Grame.Core.GrameManager; import com.moomoohk.MooCommands.Command; public class ClearEntityAI extends Command diff --git a/src/com/moomoohk/Grame/commands/CreateEntityCommand.java b/src/com/moomoohk/Grame/Core/Commands/CreateEntityCommand.java similarity index 94% rename from src/com/moomoohk/Grame/commands/CreateEntityCommand.java rename to src/com/moomoohk/Grame/Core/Commands/CreateEntityCommand.java index ae8a8b4..8f60754 100644 --- a/src/com/moomoohk/Grame/commands/CreateEntityCommand.java +++ b/src/com/moomoohk/Grame/Core/Commands/CreateEntityCommand.java @@ -1,11 +1,11 @@ -package com.moomoohk.Grame.commands; +package com.moomoohk.Grame.Core.Commands; import java.awt.Color; import java.util.HashMap; import com.moomoohk.Grame.Basics.DefaultRandomGen; import com.moomoohk.Grame.Basics.Entity; -import com.moomoohk.Grame.Essentials.GrameUtils; +import com.moomoohk.Grame.Core.GrameUtils; import com.moomoohk.MooCommands.Command; import com.moomoohk.MooCommands.CommandsManager; diff --git a/src/com/moomoohk/Grame/commands/DrawCoordinatesCommand.java b/src/com/moomoohk/Grame/Core/Commands/DrawCoordinatesCommand.java similarity index 90% rename from src/com/moomoohk/Grame/commands/DrawCoordinatesCommand.java rename to src/com/moomoohk/Grame/Core/Commands/DrawCoordinatesCommand.java index 08a0bc7..f2ddb67 100644 --- a/src/com/moomoohk/Grame/commands/DrawCoordinatesCommand.java +++ b/src/com/moomoohk/Grame/Core/Commands/DrawCoordinatesCommand.java @@ -1,8 +1,8 @@ -package com.moomoohk.Grame.commands; +package com.moomoohk.Grame.Core.Commands; import java.awt.Color; -import com.moomoohk.Grame.Graphics.RenderManager; +import com.moomoohk.Grame.Core.Graphics.RenderManager; import com.moomoohk.MooCommands.Command; public class DrawCoordinatesCommand extends Command diff --git a/src/com/moomoohk/Grame/commands/isOccupiedCommand.java b/src/com/moomoohk/Grame/Core/Commands/IsOccupiedCommand.java similarity index 62% rename from src/com/moomoohk/Grame/commands/isOccupiedCommand.java rename to src/com/moomoohk/Grame/Core/Commands/IsOccupiedCommand.java index 60e871a..a2d4ff7 100644 --- a/src/com/moomoohk/Grame/commands/isOccupiedCommand.java +++ b/src/com/moomoohk/Grame/Core/Commands/IsOccupiedCommand.java @@ -1,9 +1,9 @@ -package com.moomoohk.Grame.commands; +package com.moomoohk.Grame.Core.Commands; import java.awt.Color; -import com.moomoohk.Grame.Essentials.Coordinates; -import com.moomoohk.Grame.Essentials.GrameManager; +import com.moomoohk.Grame.Core.Coordinates; +import com.moomoohk.Grame.Core.GrameManager; import com.moomoohk.MooCommands.Command; public class IsOccupiedCommand extends Command @@ -18,13 +18,13 @@ public boolean check(String[] params) { if (GrameManager.findGrameObject(Integer.parseInt(params[0])) == null) { - this.outputMessage = "Base with ID:" + params[1] + " does not exist!"; + this.outputMessage = "Grid with ID:" + params[1] + " does not exist!"; this.outputColor = Color.red; return false; } - if (!GrameManager.findBase(Integer.parseInt(params[0])).isInBase(new Coordinates(Integer.parseInt(params[1]), Integer.parseInt(params[2])))) + if (!GrameManager.findGrid(Integer.parseInt(params[0])).isInGrid(new Coordinates(Integer.parseInt(params[1]), Integer.parseInt(params[2])))) { - this.outputMessage = "Coordinates (" + params[1] + ", " + params[2] + ") are not in Base ID:" + params[0]; + this.outputMessage = "Coordinates (" + params[1] + ", " + params[2] + ") are not in Grid ID:" + params[0]; this.outputColor = Color.red; return false; } @@ -34,25 +34,25 @@ public boolean check(String[] params) @Override public void execute(String[] params) { - this.outputMessage = "" + GrameManager.findBase(Integer.parseInt(params[0])).isOccupied(new Coordinates(Integer.parseInt(params[1]), Integer.parseInt(params[2]))); + this.outputMessage = "" + GrameManager.findGrid(Integer.parseInt(params[0])).isOccupied(new Coordinates(Integer.parseInt(params[1]), Integer.parseInt(params[2]))); } @Override public String getCommand() { - return "isinbase"; + return "isoccupied"; } @Override public String getHelpMessage() { - return "Checks whether Coordinates in a Base are occupied by a Grame object"; + return "Checks whether Coordinates in a Grid are occupied by a Grame object"; } @Override public String getUsage() { - return "isoccupied "; + return "isoccupied "; } @Override diff --git a/src/com/moomoohk/Grame/commands/MakePlayerCommand.java b/src/com/moomoohk/Grame/Core/Commands/MakePlayerCommand.java similarity index 90% rename from src/com/moomoohk/Grame/commands/MakePlayerCommand.java rename to src/com/moomoohk/Grame/Core/Commands/MakePlayerCommand.java index 3575915..9c6f820 100644 --- a/src/com/moomoohk/Grame/commands/MakePlayerCommand.java +++ b/src/com/moomoohk/Grame/Core/Commands/MakePlayerCommand.java @@ -1,9 +1,9 @@ -package com.moomoohk.Grame.commands; +package com.moomoohk.Grame.Core.Commands; import java.awt.Color; import com.moomoohk.Grame.Basics.Entity; -import com.moomoohk.Grame.Essentials.GrameManager; +import com.moomoohk.Grame.Core.GrameManager; import com.moomoohk.MooCommands.Command; public class MakePlayerCommand extends Command @@ -53,7 +53,7 @@ public String getHelpMessage() @Override public String getUsage() { - return "makeplayer "; + return "makeplayer "; } @Override diff --git a/src/com/moomoohk/Grame/commands/MoveGrameObjectCommand.java b/src/com/moomoohk/Grame/Core/Commands/MoveGrameObjectCommand.java similarity index 75% rename from src/com/moomoohk/Grame/commands/MoveGrameObjectCommand.java rename to src/com/moomoohk/Grame/Core/Commands/MoveGrameObjectCommand.java index 7dc8b9c..006ce9b 100644 --- a/src/com/moomoohk/Grame/commands/MoveGrameObjectCommand.java +++ b/src/com/moomoohk/Grame/Core/Commands/MoveGrameObjectCommand.java @@ -1,10 +1,10 @@ -package com.moomoohk.Grame.commands; +package com.moomoohk.Grame.Core.Commands; import java.awt.Color; import com.moomoohk.Grame.Basics.Dir; -import com.moomoohk.Grame.Essentials.Coordinates; -import com.moomoohk.Grame.Essentials.GrameManager; +import com.moomoohk.Grame.Core.Coordinates; +import com.moomoohk.Grame.Core.GrameManager; import com.moomoohk.MooCommands.Command; public class MoveGrameObjectCommand extends Command @@ -23,19 +23,19 @@ public boolean check(String[] params) this.outputColor = Color.red; return false; } - if (GrameManager.findBase(Integer.parseInt(params[1])) == null) + if (GrameManager.findGrid(Integer.parseInt(params[1])) == null) { - this.outputMessage = "Base with ID:" + params[1] + " does not exist!"; + this.outputMessage = "Grid with ID:" + params[1] + " does not exist!"; this.outputColor = Color.red; return false; } - if (params.length == 3 && !GrameManager.findBase(Integer.parseInt(params[1])).isInBase(GrameManager.findGrameObject(Integer.parseInt(params[0])).getPos(Integer.parseInt(params[1])).addDir(new Dir(params[2])))) + if (params.length == 3 && !GrameManager.findGrid(Integer.parseInt(params[1])).isInGrid(GrameManager.findGrameObject(Integer.parseInt(params[0])).getPos(Integer.parseInt(params[1])).addDir(new Dir(params[2])))) { this.outputMessage = "Can't move there!"; this.outputColor = Color.red; return false; } - if (params.length == 4 && !GrameManager.findBase(Integer.parseInt(params[1])).isInBase(new Coordinates(Integer.parseInt(params[2]), Integer.parseInt(params[3])))) + if (params.length == 4 && !GrameManager.findGrid(Integer.parseInt(params[1])).isInGrid(new Coordinates(Integer.parseInt(params[2]), Integer.parseInt(params[3])))) { this.outputMessage = "Can't move there!"; this.outputColor = Color.red; @@ -68,7 +68,7 @@ public String getHelpMessage() @Override public String getUsage() { - return "move

"; + return "move "; } @Override diff --git a/src/com/moomoohk/Grame/commands/PrintEntityAICommand.java b/src/com/moomoohk/Grame/Core/Commands/PrintEntityAICommand.java similarity index 93% rename from src/com/moomoohk/Grame/commands/PrintEntityAICommand.java rename to src/com/moomoohk/Grame/Core/Commands/PrintEntityAICommand.java index 9ba0513..e6dc8f4 100644 --- a/src/com/moomoohk/Grame/commands/PrintEntityAICommand.java +++ b/src/com/moomoohk/Grame/Core/Commands/PrintEntityAICommand.java @@ -1,9 +1,9 @@ -package com.moomoohk.Grame.commands; +package com.moomoohk.Grame.Core.Commands; import java.awt.Color; import com.moomoohk.Grame.Basics.Entity; -import com.moomoohk.Grame.Essentials.GrameManager; +import com.moomoohk.Grame.Core.GrameManager; import com.moomoohk.MooCommands.Command; public class PrintEntityAICommand extends Command diff --git a/src/com/moomoohk/Grame/commands/QuitCommand.java b/src/com/moomoohk/Grame/Core/Commands/QuitCommand.java similarity index 92% rename from src/com/moomoohk/Grame/commands/QuitCommand.java rename to src/com/moomoohk/Grame/Core/Commands/QuitCommand.java index b5a912d..d4a957e 100644 --- a/src/com/moomoohk/Grame/commands/QuitCommand.java +++ b/src/com/moomoohk/Grame/Core/Commands/QuitCommand.java @@ -1,4 +1,4 @@ -package com.moomoohk.Grame.commands; +package com.moomoohk.Grame.Core.Commands; import com.moomoohk.MooCommands.Command; diff --git a/src/com/moomoohk/Grame/commands/RenderBaseCommand.java b/src/com/moomoohk/Grame/Core/Commands/RenderGridCommand.java similarity index 73% rename from src/com/moomoohk/Grame/commands/RenderBaseCommand.java rename to src/com/moomoohk/Grame/Core/Commands/RenderGridCommand.java index 8a24134..99dbec4 100644 --- a/src/com/moomoohk/Grame/commands/RenderBaseCommand.java +++ b/src/com/moomoohk/Grame/Core/Commands/RenderGridCommand.java @@ -1,15 +1,15 @@ -package com.moomoohk.Grame.commands; +package com.moomoohk.Grame.Core.Commands; import java.awt.Color; -import com.moomoohk.Grame.Essentials.GrameManager; -import com.moomoohk.Grame.Graphics.RenderManager; +import com.moomoohk.Grame.Core.GrameManager; +import com.moomoohk.Grame.Core.Graphics.RenderManager; import com.moomoohk.MooCommands.Command; -public class RenderBaseCommand extends Command +public class RenderGridCommand extends Command { - public RenderBaseCommand() + public RenderGridCommand() { super(); } @@ -31,7 +31,7 @@ public boolean check(String[] params) } if (GrameManager.findGrameObject(Integer.parseInt(params[0])) == null) { - this.outputMessage = "Base with ID:" + params[1] + " does not exist!"; + this.outputMessage = "Grid with ID:" + params[1] + " does not exist!"; this.outputColor = Color.red; return false; } @@ -53,13 +53,13 @@ public String getCommand() @Override public String getHelpMessage() { - return "Renders a base using a render in the Render list"; + return "Renders a grid using a render in the Render list"; } @Override public String getUsage() { - return "render "; + return "render "; } @Override diff --git a/src/com/moomoohk/Grame/commands/SetEntityOverrideAICommand.java b/src/com/moomoohk/Grame/Core/Commands/SetEntityOverrideAICommand.java similarity index 90% rename from src/com/moomoohk/Grame/commands/SetEntityOverrideAICommand.java rename to src/com/moomoohk/Grame/Core/Commands/SetEntityOverrideAICommand.java index 26cc26f..5ff58c4 100644 --- a/src/com/moomoohk/Grame/commands/SetEntityOverrideAICommand.java +++ b/src/com/moomoohk/Grame/Core/Commands/SetEntityOverrideAICommand.java @@ -1,9 +1,9 @@ -package com.moomoohk.Grame.commands; +package com.moomoohk.Grame.Core.Commands; import java.awt.Color; import com.moomoohk.Grame.Basics.Entity; -import com.moomoohk.Grame.Essentials.GrameManager; +import com.moomoohk.Grame.Core.GrameManager; import com.moomoohk.MooCommands.Command; public class SetEntityOverrideAICommand extends Command @@ -30,7 +30,7 @@ protected boolean check(String[] params) } if (GrameManager.findGrameObject(Integer.parseInt(params[0])) == null) { - this.outputMessage = "Base with ID:" + params[1] + " does not exist!"; + this.outputMessage = "Grid with ID:" + params[1] + " does not exist!"; this.outputColor = Color.red; return false; } @@ -75,7 +75,7 @@ public String getHelpMessage() @Override public String getUsage() { - return "setentityoverrideai "; + return "setentityoverrideai "; } @Override diff --git a/src/com/moomoohk/Grame/commands/SetSpeedCommand.java b/src/com/moomoohk/Grame/Core/Commands/SetSpeedCommand.java similarity index 78% rename from src/com/moomoohk/Grame/commands/SetSpeedCommand.java rename to src/com/moomoohk/Grame/Core/Commands/SetSpeedCommand.java index e73aff8..8b94cd6 100644 --- a/src/com/moomoohk/Grame/commands/SetSpeedCommand.java +++ b/src/com/moomoohk/Grame/Core/Commands/SetSpeedCommand.java @@ -1,8 +1,8 @@ -package com.moomoohk.Grame.commands; +package com.moomoohk.Grame.Core.Commands; import java.awt.Color; -import com.moomoohk.Grame.Essentials.GrameManager; +import com.moomoohk.Grame.Core.GrameManager; import com.moomoohk.MooCommands.Command; public class SetSpeedCommand extends Command @@ -21,14 +21,15 @@ public boolean check(String[] params) this.outputColor = Color.red; return false; } - if (GrameManager.findGrameObject(Integer.parseInt(params[0])) == null) + if (GrameManager.findGrid(Integer.parseInt(params[1])) == null) { - this.outputMessage = "Base with ID:" + params[1] + " does not exist!"; + this.outputMessage = "Grid with ID:" + params[1] + " does not exist!"; this.outputColor = Color.red; return false; } return true; } + @Override public void execute(String[] params) { @@ -44,13 +45,13 @@ public String getCommand() @Override public String getHelpMessage() { - return "Sets the speed of a specified Grame Object in a specified Base"; + return "Sets the speed of a specified Grame Object in a specified Grid"; } @Override public String getUsage() { - return "setspeed "; + return "setspeed "; } @Override diff --git a/src/com/moomoohk/Grame/commands/SetSpriteCommand.java b/src/com/moomoohk/Grame/Core/Commands/SetSpriteCommand.java similarity index 96% rename from src/com/moomoohk/Grame/commands/SetSpriteCommand.java rename to src/com/moomoohk/Grame/Core/Commands/SetSpriteCommand.java index 2a132cd..268bf35 100644 --- a/src/com/moomoohk/Grame/commands/SetSpriteCommand.java +++ b/src/com/moomoohk/Grame/Core/Commands/SetSpriteCommand.java @@ -1,4 +1,4 @@ -package com.moomoohk.Grame.commands; +package com.moomoohk.Grame.Core.Commands; import java.awt.Color; import java.io.File; diff --git a/src/com/moomoohk/Grame/commands/setVisibleCommand.java b/src/com/moomoohk/Grame/Core/Commands/SetVisibleCommand.java similarity index 91% rename from src/com/moomoohk/Grame/commands/setVisibleCommand.java rename to src/com/moomoohk/Grame/Core/Commands/SetVisibleCommand.java index e8a47e7..57ffda4 100644 --- a/src/com/moomoohk/Grame/commands/setVisibleCommand.java +++ b/src/com/moomoohk/Grame/Core/Commands/SetVisibleCommand.java @@ -1,8 +1,8 @@ -package com.moomoohk.Grame.commands; +package com.moomoohk.Grame.Core.Commands; import java.awt.Color; -import com.moomoohk.Grame.Graphics.RenderManager; +import com.moomoohk.Grame.Core.Graphics.RenderManager; import com.moomoohk.MooCommands.Command; public class SetVisibleCommand extends Command diff --git a/src/com/moomoohk/Grame/commands/SetWraparoundCommand.java b/src/com/moomoohk/Grame/Core/Commands/SetWraparoundCommand.java similarity index 74% rename from src/com/moomoohk/Grame/commands/SetWraparoundCommand.java rename to src/com/moomoohk/Grame/Core/Commands/SetWraparoundCommand.java index 57ca44f..e61a36a 100644 --- a/src/com/moomoohk/Grame/commands/SetWraparoundCommand.java +++ b/src/com/moomoohk/Grame/Core/Commands/SetWraparoundCommand.java @@ -1,8 +1,8 @@ -package com.moomoohk.Grame.commands; +package com.moomoohk.Grame.Core.Commands; import java.awt.Color; -import com.moomoohk.Grame.Essentials.GrameManager; +import com.moomoohk.Grame.Core.GrameManager; import com.moomoohk.MooCommands.Command; public class SetWraparoundCommand extends Command @@ -22,7 +22,7 @@ public boolean check(String[] params) } if (GrameManager.findGrameObject(Integer.parseInt(params[0])) == null) { - this.outputMessage = "Base with ID:" + params[1] + " does not exist!"; + this.outputMessage = "Grid with ID:" + params[1] + " does not exist!"; this.outputColor = Color.red; return false; } @@ -32,7 +32,7 @@ public boolean check(String[] params) @Override public void execute(String[] params) { - GrameManager.findBase(Integer.parseInt(params[0])).setWraparound(Boolean.parseBoolean(params[1])); + GrameManager.findGrid(Integer.parseInt(params[0])).setWraparound(Boolean.parseBoolean(params[1])); } @Override @@ -44,13 +44,13 @@ public String getCommand() @Override public String getHelpMessage() { - return "Sets whether the specified Base supports wraparound"; + return "Sets whether the specified Grid supports wraparound"; } @Override public String getUsage() { - return "setwraparound "; + return "setwraparound "; } @Override diff --git a/src/com/moomoohk/Grame/commands/ShowDialogCommand.java b/src/com/moomoohk/Grame/Core/Commands/ShowDialogCommand.java similarity index 83% rename from src/com/moomoohk/Grame/commands/ShowDialogCommand.java rename to src/com/moomoohk/Grame/Core/Commands/ShowDialogCommand.java index c8fad96..3b1cd33 100644 --- a/src/com/moomoohk/Grame/commands/ShowDialogCommand.java +++ b/src/com/moomoohk/Grame/Core/Commands/ShowDialogCommand.java @@ -1,8 +1,8 @@ -package com.moomoohk.Grame.commands; +package com.moomoohk.Grame.Core.Commands; import java.util.ArrayList; -import com.moomoohk.Grame.Essentials.GrameManager; +import com.moomoohk.Grame.Core.GrameManager; import com.moomoohk.Grame.test.Dialog; import com.moomoohk.MooCommands.Command; @@ -18,7 +18,7 @@ public String getCommand() @Override public String getHelpMessage() { - return "DEBUG: Prints some dialog on a speecified Grame Object"; + return "DEBUG: Prints some dialog on a specified Grame Object"; } @Override diff --git a/src/com/moomoohk/Grame/Core/Commands/package-info.java b/src/com/moomoohk/Grame/Core/Commands/package-info.java new file mode 100644 index 0000000..672e729 --- /dev/null +++ b/src/com/moomoohk/Grame/Core/Commands/package-info.java @@ -0,0 +1,7 @@ +/** + * Contains commands for the console. + * + * @author Meshulam Silk (moomoohk@ymail.com) + * @since Feb 6, 2014 + */ +package com.moomoohk.Grame.Core.Commands; \ No newline at end of file diff --git a/src/com/moomoohk/Grame/Essentials/Coordinates.java b/src/com/moomoohk/Grame/Core/Coordinates.java similarity index 72% rename from src/com/moomoohk/Grame/Essentials/Coordinates.java rename to src/com/moomoohk/Grame/Core/Coordinates.java index f19e869..fdeb7ef 100644 --- a/src/com/moomoohk/Grame/Essentials/Coordinates.java +++ b/src/com/moomoohk/Grame/Core/Coordinates.java @@ -1,10 +1,9 @@ -package com.moomoohk.Grame.Essentials; +package com.moomoohk.Grame.Core; import java.io.Serializable; import java.util.ArrayList; import com.moomoohk.Grame.Basics.Dir; -import com.moomoohk.Grame.Interfaces.GrameObject; /** * This class massively simplifies the way coordinates are processed. @@ -121,30 +120,30 @@ public String toString() } /** - * Will return an Coordinates[] which contains all the sets of coordinates which are adjacent to this set in a certain {@link Base} and are also in that same {@link Base}. + * Will return an Coordinates[] which contains all the sets of coordinates which are adjacent to this set in a certain {@link Grid} and are also in that same {@link Grid}. * - * @param b - * The {@link Base} in which to check. - * @return An array containing all the sets of coordinates which are adjacent to this set in a certain {@link Base} and are also in that same {@link Base}. + * @param g + * The {@link Grid} in which to check. + * @return An array containing all the sets of coordinates which are adjacent to this set in a certain {@link Grid} and are also in that same {@link Grid}. */ - public Coordinates[] getSurrounding(Base b) + public Coordinates[] getSurrounding(Grid g) { ArrayList sur = new ArrayList(); - if (b.isInBase(this.addDir(Dir.UP)) && !b.isOccupied(this.addDir(Dir.UP))) + if (g.isInGrid(this.addDir(Dir.UP)) && !g.isOccupied(this.addDir(Dir.UP))) sur.add(this.addDir(Dir.UP)); - if (b.isInBase(this.addDir(Dir.DOWN)) && !b.isOccupied(this.addDir(Dir.DOWN))) + if (g.isInGrid(this.addDir(Dir.DOWN)) && !g.isOccupied(this.addDir(Dir.DOWN))) sur.add(this.addDir(Dir.DOWN)); - if (b.isInBase(this.addDir(Dir.LEFT)) && !b.isOccupied(this.addDir(Dir.LEFT))) + if (g.isInGrid(this.addDir(Dir.LEFT)) && !g.isOccupied(this.addDir(Dir.LEFT))) sur.add(this.addDir(Dir.LEFT)); - if (b.isInBase(this.addDir(Dir.RIGHT)) && !b.isOccupied(this.addDir(Dir.RIGHT))) + if (g.isInGrid(this.addDir(Dir.RIGHT)) && !g.isOccupied(this.addDir(Dir.RIGHT))) sur.add(this.addDir(Dir.RIGHT)); - if (b.isInBase(this.addDir(new Dir(1, 1))) && !b.isOccupied(this.addDir(new Dir(1, 1)))) + if (g.isInGrid(this.addDir(new Dir(1, 1))) && !g.isOccupied(this.addDir(new Dir(1, 1)))) sur.add(this.addDir(new Dir(1, 1))); - if (b.isInBase(this.addDir(new Dir(-1, 1))) && !b.isOccupied(this.addDir(new Dir(-1, 1)))) + if (g.isInGrid(this.addDir(new Dir(-1, 1))) && !g.isOccupied(this.addDir(new Dir(-1, 1)))) sur.add(this.addDir(new Dir(-1, 1))); - if (b.isInBase(this.addDir(new Dir(1, -1))) && !b.isOccupied(this.addDir(new Dir(1, -1)))) + if (g.isInGrid(this.addDir(new Dir(1, -1))) && !g.isOccupied(this.addDir(new Dir(1, -1)))) sur.add(this.addDir(new Dir(1, -1))); - if (b.isInBase(this.addDir(new Dir(-1, -1))) && !b.isOccupied(this.addDir(new Dir(-1, -1)))) + if (g.isInGrid(this.addDir(new Dir(-1, -1))) && !g.isOccupied(this.addDir(new Dir(-1, -1)))) sur.add(this.addDir(new Dir(-1, -1))); Coordinates[] temp = new Coordinates[sur.size()]; for (int i = 0; i < sur.size(); i++) @@ -153,29 +152,29 @@ public Coordinates[] getSurrounding(Base b) } /** - * Will return an Coordinates[] which contains all the sets of coordinates which are adjacent to this set in a certain {@link Base} but are not necessarily in that same {@link Base}. + * Will return an Coordinates[] which contains all the sets of coordinates which are adjacent to this set in a certain {@link Grid} but are not necessarily in that same {@link Grid}. * - * @param b - * The {@link Base} in which to check. - * @return An array containing all the sets of coordinates which are adjacent to this set in a certain {@link Base} but are not necessarily in that same {@link Base}. + * @param g + * The {@link Grid} in which to check. + * @return An array containing all the sets of coordinates which are adjacent to this set in a certain {@link Grid} but are not necessarily in that same {@link Grid}. */ - public Coordinates[] getAllSurrounding(Base b) + public Coordinates[] getAllSurrounding(Grid g) { return new Coordinates[] { this.addDir(Dir.UP), this.addDir(Dir.LEFT), this.addDir(Dir.RIGHT), this.addDir(Dir.DOWN), this.addDir(new Dir(1, 1)), this.addDir(new Dir(-1, 1)), this.addDir(new Dir(1, -1)), this.addDir(new Dir(-1, -1)) }; } /** - * Checks whether all the adjacent sets of coordinates contain a {@link GrameObject} in a certain {@link Base}. + * Checks whether all the adjacent sets of coordinates contain a {@link GrameObject} in a certain {@link Grid}. * - * @param b - * {@link Base} in which to check. + * @param g + * {@link Grid} in which to check. * @return True if all the adjacent sets of coordinates contain a {@link GrameObject}, else false. */ - public boolean isSurrounded(Base b) + public boolean isSurrounded(Grid g) { - Coordinates[] sur = getSurrounding(b); + Coordinates[] sur = getSurrounding(g); for (Coordinates pos : sur) - if (!b.isOccupied(pos)) + if (!g.isOccupied(pos)) return false; return true; } diff --git a/src/com/moomoohk/Grame/Essentials/CrashManager.java b/src/com/moomoohk/Grame/Core/CrashManager.java similarity index 99% rename from src/com/moomoohk/Grame/Essentials/CrashManager.java rename to src/com/moomoohk/Grame/Core/CrashManager.java index d3b438a..06b3ca2 100644 --- a/src/com/moomoohk/Grame/Essentials/CrashManager.java +++ b/src/com/moomoohk/Grame/Core/CrashManager.java @@ -1,4 +1,4 @@ -package com.moomoohk.Grame.Essentials; +package com.moomoohk.Grame.Core; import java.awt.Dimension; import java.awt.EventQueue; @@ -37,7 +37,7 @@ import javax.swing.JTextPane; import javax.swing.KeyStroke; -import com.moomoohk.Grame.Essentials.GrameUtils.MessageLevel; +import com.moomoohk.Grame.Core.GrameUtils.MessageLevel; /** * Manages crashes and exceptions. diff --git a/src/com/moomoohk/Grame/Core/EngineState.java b/src/com/moomoohk/Grame/Core/EngineState.java new file mode 100644 index 0000000..3353ebd --- /dev/null +++ b/src/com/moomoohk/Grame/Core/EngineState.java @@ -0,0 +1,163 @@ +package com.moomoohk.Grame.Core; + +import java.io.Serializable; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Date; +import java.util.GregorianCalendar; + +/** + * Represents the state of the engine. Used for saving games. + * + * @author Meshulam Silk (moomoohk@ymail.com) + * @since Feb 6, 2014 + */ +public class EngineState implements Serializable +{ + private static final long serialVersionUID = 374960940802675271L; + + private ArrayList grids; + private ArrayList grameObjects; + private Calendar dateCreated; + private Date dateSaved; + private int mainGrid; + private Render mainRender; + + /** + * Constructor + */ + public EngineState() + { + this.grids = new ArrayList(); + this.grameObjects = new ArrayList(); + this.dateCreated = new GregorianCalendar(); + this.mainGrid = -1; + this.mainRender = null; + } + + /** + * Adds a {@link GrameObject} to the list of {@link GrameObject}s this state is tracking. + * + * @param go + * {@link GrameObject} to add + */ + public void addGrameObject(GrameObject go) + { + this.grameObjects.add(go); + } + + /** + * Adds a {@link Grid} to the list of {@link Grid}s this state is tracking. + * + * @param g + * {@link Grid} to add + */ + public void addGrid(Grid g) + { + this.grids.add(g); + } + + /** + * Sets the main {@link Grid} of this state. + * + * @param gID + * {@link Grid} to make main + */ + public void setMainGrid(int gID) + { + this.mainGrid = gID; + } + + /** + * Sets the main {@link Render} of this state. + * + * @param r + * {@link Render} to make main + */ + public void setMainRender(Render r) + { + this.mainRender = r; + } + + /** + * Sets the date of the saving of this state. + * + * @param d + * Date to set + */ + public void setSaved(Date d) + { + this.dateSaved = d; + } + + /** + * Gets the list of {@link Grid}s that this state is tracking. + * + * @return A list of {@link Grid}s that this state is tracking + */ + public ArrayList getGrids() + { + return this.grids; + } + + /** + * Gets the list of {@link GrameObject}s that this state is tracking. + * + * @return A list of {@link GrameObject}s that this state is tracking + */ + public ArrayList getGrameObjects() + { + return this.grameObjects; + } + + /** + * Gets the date of this state's creation. + * + * @return The date of this state's creation + */ + public Calendar getDateCreated() + { + return dateCreated; + } + + /** + * Gets the {@link Grid#ID} of the main {@link Grid} of this state. + * + * @return The {@link Grid#ID} of the main {@link Grid} of this state + */ + public int getMainGrid() + { + return this.mainGrid; + } + + /** + * Gets the main {@link Render} of this state. + * + * @return The main {@link Render} of this state + */ + public Render getMainRender() + { + return this.mainRender; + } + + /** + * Gets the date of this state's last save. + * + * @return The date of this state's last save + */ + public Date getSaved() + { + return this.dateSaved; + } + + /** + * Gets some human readable info about this state. + * + * @return Some human readable info about this state + */ + public String details() + { + return "Grids: " + this.grids.size() + ", GrameObjects: " + this.grameObjects.size() + ", Date Created: " + new SimpleDateFormat("hh:mm:ss dd/MM/yyyy").format(dateCreated.getTime()) + ", Main Grid: " + this.mainGrid + ", Main Render: " + this.mainRender; + } +} diff --git a/src/com/moomoohk/Grame/Essentials/GrameManager.java b/src/com/moomoohk/Grame/Core/GrameManager.java similarity index 94% rename from src/com/moomoohk/Grame/Essentials/GrameManager.java rename to src/com/moomoohk/Grame/Core/GrameManager.java index 8666d33..cb86113 100644 --- a/src/com/moomoohk/Grame/Essentials/GrameManager.java +++ b/src/com/moomoohk/Grame/Core/GrameManager.java @@ -1,4 +1,4 @@ -package com.moomoohk.Grame.Essentials; +package com.moomoohk.Grame.Core; import java.awt.Color; import java.awt.Component; @@ -42,13 +42,10 @@ import javax.swing.border.EmptyBorder; import com.moomoohk.Grame.Basics.Dir; -import com.moomoohk.Grame.Essentials.GrameUtils.MessageLevel; -import com.moomoohk.Grame.Graphics.GridRender; -import com.moomoohk.Grame.Graphics.RenderManager; -import com.moomoohk.Grame.Interfaces.GrameObject; -import com.moomoohk.Grame.Interfaces.MainGrameClass; -import com.moomoohk.Grame.Interfaces.MovementAI; -import com.moomoohk.Grame.Interfaces.Render; +import com.moomoohk.Grame.Basics.MovementAI; +import com.moomoohk.Grame.Core.GrameUtils.MessageLevel; +import com.moomoohk.Grame.Core.Graphics.DefaultGridRender; +import com.moomoohk.Grame.Core.Graphics.RenderManager; import com.moomoohk.Grame.test.MenuConfiguration; import com.moomoohk.Mootilities.FileUtils.FileUtils; import com.moomoohk.Mootilities.FrameDragger.FrameDragger; @@ -59,7 +56,7 @@ /** * The Grame Manager takes care of all the internal Grame operations. *

- * Indexes and ticks any {@link GrameObject}s and {@link Base}s that are created automatically. + * Indexes and ticks any {@link GrameObject}s and {@link Grid}s that are created automatically. * * @author Meshulam Silk * @version 1.0 @@ -70,7 +67,7 @@ public class GrameManager implements Runnable /** * The Grame version number. */ - public static final String VERSION_NUMBER = "4.0.3"; + public static final String VERSION_NUMBER = "4.1"; /** * The WASD keys parsed to a {@link Dir}. */ @@ -96,7 +93,7 @@ public class GrameManager implements Runnable private static InputHandler input; private static Thread thread; private static int fps = 0; - private static Render defaultRender = new GridRender(); + private static Render defaultRender = new DefaultGridRender(); private static File savePath; private static MainMenu mainMenu; private static MenuConfiguration menuConfiguration; @@ -206,7 +203,7 @@ public void run() { tick(input.key); tickGrameObjects(); - tickBases(); + tickGrids(); } RenderManager.tick(); } @@ -275,10 +272,10 @@ private static void tickGrameObjects() GrameObject go = engineState.getGrameObjects().get(i); if (go == null) continue; - if (engineState.getBases() != null) - for (int bID = 0; bID < engineState.getBases().size(); bID++) - if (findBase(bID).containsGrameObject(go.ID) && go.getSpeed() != 0 && time % go.getSpeed() == 0 && !go.isPaused()) - go.tick(bID); + if (engineState.getGrids() != null) + for (int gID = 0; gID < engineState.getGrids().size(); gID++) + if (findGrid(gID).containsGrameObject(go.ID) && go.getSpeed() != 0 && time % go.getSpeed() == 0 && !go.isPaused()) + go.tick(gID); } } catch (Exception e) @@ -287,19 +284,19 @@ private static void tickGrameObjects() } } - private static void tickBases() + private static void tickGrids() { - if (engineState.getBases() == null) + if (engineState.getGrids() == null) return; - synchronized (engineState.getBases()) + synchronized (engineState.getGrids()) { try { - for (Base b : engineState.getBases()) + for (Grid g : engineState.getGrids()) { - if (b == null) + if (g == null) continue; - b.tick(); + g.tick(); } } catch (Exception e) @@ -310,18 +307,18 @@ private static void tickBases() } /** - * Disposes of all the {@link GrameObject}s and {@link Base}s. + * Disposes of all the {@link GrameObject}s and {@link Grid}s. */ public static void disposeAll() { - GrameUtils.print("Disposing of all the Bases in the Base list...", MessageLevel.NORMAL); + GrameUtils.print("Disposing of all the Grids in the Grid list...", MessageLevel.NORMAL); if (engineState != null) - for (int i = 0; i < engineState.getBases().size(); i++) + for (int i = 0; i < engineState.getGrids().size(); i++) { - GrameUtils.print("Disposing of " + engineState.getBases().get(i).ID, MessageLevel.NORMAL); - engineState.getBases().remove(i); + GrameUtils.print("Disposing of " + engineState.getGrids().get(i).ID, MessageLevel.NORMAL); + engineState.getGrids().remove(i); } - GrameUtils.print("Done disposing of Bases.", MessageLevel.NORMAL); + GrameUtils.print("Done disposing of Grids.", MessageLevel.NORMAL); } /** @@ -351,29 +348,29 @@ public static int add(GrameObject go) } /** - * Adds a {@link Base} to the Base list. + * Adds a {@link Grid} to the Grid list. *

* The user should never have to call this method. * - * @param b - * {@link Base} to add. - * @return The ID number for the Base. + * @param g + * {@link Grid} to add. + * @return The ID number for the Grid. */ - public static int add(Base b) + public static int add(Grid g) { if (!initialized) { - System.out.println("FATAL: Grame Manager not initialized! All Base instantiations should be made from in the newGame method."); + System.out.println("FATAL: Grame Manager not initialized! All Grid instantiations should be made in the newGame method."); System.exit(0); } - if (engineState.getBases().contains(b)) + if (engineState.getGrids().contains(g)) { - GrameUtils.print(b.toString() + " already exists in the Grame Object list!", MessageLevel.ERROR); + GrameUtils.print(g.toString() + " already exists in the Grame Object list!", MessageLevel.ERROR); return -1; } - engineState.getBases().add(b); - GrameUtils.print("Added a Base to the Base list (ID:" + (engineState.getBases().size() - 1) + ")", MessageLevel.NORMAL); - return engineState.getBases().size() - 1; + engineState.getGrids().add(g); + GrameUtils.print("Added a Grid to the Grid list (ID:" + (engineState.getGrids().size() - 1) + ")", MessageLevel.NORMAL); + return engineState.getGrids().size() - 1; } /** @@ -399,22 +396,22 @@ public static GrameObject findGrameObject(int id) } /** - * Finds and returns a {@link Base} from the Base list.
- * If the {@link Base} is not found, null will be returned. + * Finds and returns a {@link Grid} from the Grid list.
+ * If the {@link Grid} is not found, null will be returned. * * @param id - * The ID of the {@link Base} to find. - * @return The {@link Base} with that ID. If not in the list, null will be returned. + * The ID of the {@link Grid} to find. + * @return The {@link Grid} with that ID. If not in the list, null will be returned. */ - public static Base findBase(int id) + public static Grid findGrid(int id) { try { - return engineState.getBases().get(id); + return engineState.getGrids().get(id); } catch (Exception e) { - GrameUtils.print("Base with ID:" + id + " not found! Returning null instead.", MessageLevel.ERROR); + GrameUtils.print("Grid with ID:" + id + " not found! Returning null instead.", MessageLevel.ERROR); } return null; } @@ -601,9 +598,9 @@ public static int getObjectListLength() return engineState.getGrameObjects().size(); } - public static int getBaseListLength() + public static int getGridListLength() { - return engineState.getBases().size(); + return engineState.getGrids().size(); } /** @@ -616,14 +613,14 @@ public static int getFPS() return fps; } - public static void setMainBase(int bID) + public static void setMainGrid(int gID) { - engineState.setMainBase(bID); + engineState.setMainGrid(gID); } - public static int getMainBase() + public static int getMainGrid() { - return engineState.getMainBase(); + return engineState.getMainGrid(); } public static void setMainRender(Render r) @@ -1126,7 +1123,7 @@ protected void confirm() RenderManager.initialize(); RenderManager.clearAllText(); engineState = saves.get(selectedEngineStateName); - RenderManager.render(engineState.getMainBase(), engineState.getMainRender()); + RenderManager.render(engineState.getMainGrid(), engineState.getMainRender()); RenderManager.setVisible(true); start(); paused = false; diff --git a/src/com/moomoohk/Grame/Interfaces/GrameObject.java b/src/com/moomoohk/Grame/Core/GrameObject.java similarity index 71% rename from src/com/moomoohk/Grame/Interfaces/GrameObject.java rename to src/com/moomoohk/Grame/Core/GrameObject.java index 20164a8..101e262 100644 --- a/src/com/moomoohk/Grame/Interfaces/GrameObject.java +++ b/src/com/moomoohk/Grame/Core/GrameObject.java @@ -1,17 +1,13 @@ -package com.moomoohk.Grame.Interfaces; +package com.moomoohk.Grame.Core; import java.awt.Color; import java.io.Serializable; -import com.moomoohk.Grame.Essentials.Base; -import com.moomoohk.Grame.Essentials.Coordinates; -import com.moomoohk.Grame.Essentials.GrameManager; -import com.moomoohk.Grame.Essentials.GrameObjectLayer; -import com.moomoohk.Grame.Essentials.GrameUtils; -import com.moomoohk.Grame.Essentials.GrameUtils.MessageLevel; +import com.moomoohk.Grame.Core.GrameUtils.MessageLevel; /** - * Grame Objects are objects which are placed in {@link Base}s. + * Grame Objects are objects which are placed in {@link Grid}s. + * * @author Meshulam Silk * @version 1.0 * @since 2013-04-05 @@ -137,34 +133,34 @@ public boolean isPaused() } /** - * Gets the position of this object in a certain {@link Base}.
- * If this object doesn't exist in the {@link Base} null will be returned. + * Gets the position of this object in a certain {@link Grid}.
+ * If this object doesn't exist in the {@link Grid} null will be returned. * - * @param bID - * {@link Base#ID} of {@link Base}. - * @return {@link Coordinates} of this object in the {@link Base}. If this object isn't in the {@link Base}, null will be returned. + * @param gID + * {@link Grid#ID} of {@link Grid}. + * @return {@link Coordinates} of this object in the {@link Grid}. If this object isn't in the {@link Grid}, null will be returned. */ - public Coordinates getPos(int bID) + public Coordinates getPos(int gID) { - if (GrameManager.findBase(bID).containsGrameObject(ID)) - return GrameManager.findBase(bID).getGrameObjectPos(ID); - GrameUtils.print("Base with ID:" + bID + " does not contain Entity with ID:" + ID + ". Returning null.", MessageLevel.ERROR); + if (GrameManager.findGrid(gID).containsGrameObject(ID)) + return GrameManager.findGrid(gID).getGrameObjectPos(ID); + GrameUtils.print("Grid with ID:" + gID + " does not contain Entity with ID:" + ID + ". Returning null.", MessageLevel.ERROR); return null; } /** - * Sets the position of this object in a certain {@link Base}. + * Sets the position of this object in a certain {@link Grid}. * - * @param bID - * {@link Base#ID} of {@link Base}. + * @param gID + * {@link Grid#ID} of {@link Grid}. * @param pos * New position to set. */ - public void setPos(int bID, Coordinates pos) + public void setPos(int gID, Coordinates pos) { - if (GrameManager.findBase(bID).containsGrameObject(ID)) + if (GrameManager.findGrid(gID).containsGrameObject(ID)) { - GrameManager.findBase(bID).moveGrameObject(ID, pos); + GrameManager.findGrid(gID).moveGrameObject(ID, pos); return; } } @@ -185,10 +181,10 @@ public void setPos(int bID, Coordinates pos) *

* Users will never need to call this method (The {@link GrameManager} takes care of ticking everything). * - * @param bID - * The {@link Base#ID} of the {@link Base} in which to tick. + * @param gID + * The {@link Grid#ID} of the {@link Grid} in which to tick. */ - public abstract void tick(int bID); + public abstract void tick(int gID); /** * This method gets called if this object is collidable and it tries to occupy the position of a non collidable object. diff --git a/src/com/moomoohk/Grame/Essentials/GrameObjectLayer.java b/src/com/moomoohk/Grame/Core/GrameObjectLayer.java similarity index 95% rename from src/com/moomoohk/Grame/Essentials/GrameObjectLayer.java rename to src/com/moomoohk/Grame/Core/GrameObjectLayer.java index 23104a9..c693284 100644 --- a/src/com/moomoohk/Grame/Essentials/GrameObjectLayer.java +++ b/src/com/moomoohk/Grame/Core/GrameObjectLayer.java @@ -1,9 +1,8 @@ -package com.moomoohk.Grame.Essentials; +package com.moomoohk.Grame.Core; import java.io.Serializable; -import com.moomoohk.Grame.Essentials.GrameUtils.MessageLevel; -import com.moomoohk.Grame.Interfaces.GrameObject; +import com.moomoohk.Grame.Core.GrameUtils.MessageLevel; /** * GrameObjectLayers provide an easy way to store {@link GrameObject}s. diff --git a/src/com/moomoohk/Grame/Essentials/GrameUtils.java b/src/com/moomoohk/Grame/Core/GrameUtils.java similarity index 88% rename from src/com/moomoohk/Grame/Essentials/GrameUtils.java rename to src/com/moomoohk/Grame/Core/GrameUtils.java index bcc956b..b449046 100644 --- a/src/com/moomoohk/Grame/Essentials/GrameUtils.java +++ b/src/com/moomoohk/Grame/Core/GrameUtils.java @@ -1,4 +1,4 @@ -package com.moomoohk.Grame.Essentials; +package com.moomoohk.Grame.Core; import java.awt.Color; import java.awt.Cursor; @@ -28,29 +28,28 @@ import javax.swing.JLabel; import javax.swing.JOptionPane; -import com.moomoohk.Grame.AI.AStarPathfindingMovementAI; -import com.moomoohk.Grame.AI.PlayerMovementAI; -import com.moomoohk.Grame.AI.PlayerSimAI; -import com.moomoohk.Grame.AI.SimpleChaseAI; -import com.moomoohk.Grame.AI.SimpleStrollAI; -import com.moomoohk.Grame.Interfaces.GrameObject; -import com.moomoohk.Grame.commands.AddEntityAICommand; -import com.moomoohk.Grame.commands.AddGrameObjectCommand; -import com.moomoohk.Grame.commands.ClearEntityAI; -import com.moomoohk.Grame.commands.CreateEntityCommand; -import com.moomoohk.Grame.commands.DrawCoordinatesCommand; -import com.moomoohk.Grame.commands.IsOccupiedCommand; -import com.moomoohk.Grame.commands.MakePlayerCommand; -import com.moomoohk.Grame.commands.MoveGrameObjectCommand; -import com.moomoohk.Grame.commands.PrintEntityAICommand; -import com.moomoohk.Grame.commands.QuitCommand; -import com.moomoohk.Grame.commands.RenderBaseCommand; -import com.moomoohk.Grame.commands.SetEntityOverrideAICommand; -import com.moomoohk.Grame.commands.SetSpeedCommand; -import com.moomoohk.Grame.commands.SetSpriteCommand; -import com.moomoohk.Grame.commands.SetVisibleCommand; -import com.moomoohk.Grame.commands.SetWraparoundCommand; -import com.moomoohk.Grame.commands.ShowDialogCommand; +import com.moomoohk.Grame.Basics.AI.AStarPathfindingMovementAI; +import com.moomoohk.Grame.Basics.AI.PlayerMovementAI; +import com.moomoohk.Grame.Basics.AI.PlayerSimAI; +import com.moomoohk.Grame.Basics.AI.SimpleChaseAI; +import com.moomoohk.Grame.Basics.AI.SimpleStrollAI; +import com.moomoohk.Grame.Core.Commands.AddEntityAICommand; +import com.moomoohk.Grame.Core.Commands.AddGrameObjectCommand; +import com.moomoohk.Grame.Core.Commands.ClearEntityAI; +import com.moomoohk.Grame.Core.Commands.CreateEntityCommand; +import com.moomoohk.Grame.Core.Commands.DrawCoordinatesCommand; +import com.moomoohk.Grame.Core.Commands.IsOccupiedCommand; +import com.moomoohk.Grame.Core.Commands.MakePlayerCommand; +import com.moomoohk.Grame.Core.Commands.MoveGrameObjectCommand; +import com.moomoohk.Grame.Core.Commands.PrintEntityAICommand; +import com.moomoohk.Grame.Core.Commands.QuitCommand; +import com.moomoohk.Grame.Core.Commands.RenderGridCommand; +import com.moomoohk.Grame.Core.Commands.SetEntityOverrideAICommand; +import com.moomoohk.Grame.Core.Commands.SetSpeedCommand; +import com.moomoohk.Grame.Core.Commands.SetSpriteCommand; +import com.moomoohk.Grame.Core.Commands.SetVisibleCommand; +import com.moomoohk.Grame.Core.Commands.SetWraparoundCommand; +import com.moomoohk.Grame.Core.Commands.ShowDialogCommand; import com.moomoohk.MooCommands.CommandsManager; import com.moomoohk.MooConsole.Console; import com.moomoohk.MooConsole.HelpCommand; @@ -192,13 +191,13 @@ public static Color randomColor() } /** - * Will generate a random set of {@link Coordinates} which exist in the given {@link Base}. + * Will generate a random set of {@link Coordinates} which exist in the given {@link Grid}. * * @param b - * The {@link Base} in which to get {@link Coordinates}. - * @return A random set of {@link Coordinates} which exist in the given {@link Base}. + * The {@link Grid} in which to get {@link Coordinates}. + * @return A random set of {@link Coordinates} which exist in the given {@link Grid}. */ - public static Coordinates randomCoordinates(Base b) + public static Coordinates randomCoordinates(Grid b) { return new Coordinates(new Random().nextInt(b.getColumns()), new Random().nextInt(b.getRows())); } @@ -466,7 +465,7 @@ private static void loadBasicCommands() new HelpCommand(); new SetVisibleCommand(); new MoveGrameObjectCommand(); - new RenderBaseCommand(); + new RenderGridCommand(); new QuitCommand(); new CreateEntityCommand(); new AddGrameObjectCommand(); diff --git a/src/com/moomoohk/Grame/Core/Graphics/CleanGridRender.java b/src/com/moomoohk/Grame/Core/Graphics/CleanGridRender.java new file mode 100644 index 0000000..7ce37ff --- /dev/null +++ b/src/com/moomoohk/Grame/Core/Graphics/CleanGridRender.java @@ -0,0 +1,47 @@ +package com.moomoohk.Grame.Core.Graphics; + +import java.io.Serializable; + +import com.moomoohk.Grame.Core.Coordinates; +import com.moomoohk.Grame.Core.Grid; +import com.moomoohk.Grame.Core.Render; + +/** + * Renders {@link Grid}s in a grid without grouting lines. + * + * @author Meshulam Silk + * @version 1.0 + * @since 2013-04-05 + */ +public class CleanGridRender implements Render, Serializable +{ + private static final long serialVersionUID = 1269305794830678142L; + + public int[] getPixels(int[] pixels, Grid b, int width, int height) + { + for (int x = 0; x < width; x++) + for (int y = 0; y < height; y++) + { + Coordinates currSquare = new Coordinates((x) / ((width) / (b.getColumns())), (y) / (height / b.getRows())); + if (currSquare.getX() >= b.getColumns()) + currSquare.setX(b.getColumns() - 1); + if (currSquare.getY() >= b.getRows()) + currSquare.setY(b.getRows() - 1); + if (b.isInGrid(currSquare)) + try + { + pixels[x + y * width] = b.getColor(currSquare).getRGB(); + } + catch (Exception e) + { + System.out.println(x + " " + width); + } + } + return pixels; + } + + public String getName() + { + return "Clean_grid_render"; + } +} diff --git a/src/com/moomoohk/Grame/Graphics/GridRender.java b/src/com/moomoohk/Grame/Core/Graphics/DefaultGridRender.java similarity index 71% rename from src/com/moomoohk/Grame/Graphics/GridRender.java rename to src/com/moomoohk/Grame/Core/Graphics/DefaultGridRender.java index be97beb..b39cf3a 100644 --- a/src/com/moomoohk/Grame/Graphics/GridRender.java +++ b/src/com/moomoohk/Grame/Core/Graphics/DefaultGridRender.java @@ -1,44 +1,40 @@ -package com.moomoohk.Grame.Graphics; +package com.moomoohk.Grame.Core.Graphics; import java.awt.Color; import java.io.Serializable; -import com.moomoohk.Grame.Essentials.Base; -import com.moomoohk.Grame.Essentials.Coordinates; -import com.moomoohk.Grame.Interfaces.Render; +import com.moomoohk.Grame.Core.Coordinates; +import com.moomoohk.Grame.Core.Grid; +import com.moomoohk.Grame.Core.Render; /** - * Render {@link Base}s in a grid with grouting lines. + * Render {@link Grid}s in a grid with grouting lines. * * @author Meshulam Silk * @version 1.0 * @since 2013-04-05 */ -public class GridRender implements Render, Serializable +public class DefaultGridRender implements Render, Serializable { private static final long serialVersionUID = 2057716349989082233L; - public int[] getPixels(int[] pixels, Base b, int width, int height) + public int[] getPixels(int[] pixels, Grid b, int width, int height) { for (int x = 0; x < width; x++) for (int y = 0; y < height; y++) { int squareW = (width) / (b.getColumns()), squareH = (height / b.getRows()); - if(squareH==0) + if (squareH == 0) { - pixels[x+y*width]=Color.black.getRGB(); + pixels[x + y * width] = Color.black.getRGB(); continue; } int pixelX = (x) / (squareW), pixelY = y / squareH; Coordinates currSquare = new Coordinates(pixelX, pixelY); - if (b.isInBase(currSquare)) - { + if (b.isInGrid(currSquare)) pixels[x + y * width] = b.getColor(currSquare).getRGB(); - } if (x % (width / b.getColumns()) == 0 || (x + 1) % (width / b.getColumns()) == 0 || y % (height / b.getRows()) == 0 || (y + 1) % (height / b.getRows()) == 0) - { pixels[x + y * width] = Color.black.getRGB(); - } /*else { int squareW = (width) / (b.getColumns()), squareH = (height / b.getRows()); @@ -57,7 +53,7 @@ public int[] getPixels(int[] pixels, Base b, int width, int height) public String getName() { - return "Grid_render"; + return "Default_grid_render"; } } diff --git a/src/com/moomoohk/Grame/Graphics/GaussianFilter.java b/src/com/moomoohk/Grame/Core/Graphics/GaussianFilter.java similarity index 98% rename from src/com/moomoohk/Grame/Graphics/GaussianFilter.java rename to src/com/moomoohk/Grame/Core/Graphics/GaussianFilter.java index 823423f..684dcbf 100644 --- a/src/com/moomoohk/Grame/Graphics/GaussianFilter.java +++ b/src/com/moomoohk/Grame/Core/Graphics/GaussianFilter.java @@ -1,4 +1,4 @@ -package com.moomoohk.Grame.Graphics; +package com.moomoohk.Grame.Core.Graphics; import java.awt.image.BufferedImage; import java.awt.image.Kernel; diff --git a/src/com/moomoohk/Grame/Graphics/PostProcessing/Label.java b/src/com/moomoohk/Grame/Core/Graphics/PostProcessing/Label.java similarity index 87% rename from src/com/moomoohk/Grame/Graphics/PostProcessing/Label.java rename to src/com/moomoohk/Grame/Core/Graphics/PostProcessing/Label.java index a1a7332..a706bcd 100644 --- a/src/com/moomoohk/Grame/Graphics/PostProcessing/Label.java +++ b/src/com/moomoohk/Grame/Core/Graphics/PostProcessing/Label.java @@ -1,4 +1,4 @@ -package com.moomoohk.Grame.Graphics.PostProcessing; +package com.moomoohk.Grame.Core.Graphics.PostProcessing; import java.awt.Color; import java.awt.Font; @@ -10,11 +10,6 @@ public class Label private Color textColor, backColor; private Font font; - public Label() - { - this(0, 0, null, null, null, null, 0, 0, 0, 0); - } - public Label(int centerX, int centerY, String text, Font font, Color textColor, Color backColor, int paddingTop, int paddingLeft, int paddingRight, int paddingBottom) { this.centerX = centerX; @@ -59,14 +54,6 @@ public int getPaddingLeft() return paddingLeft; } - public void setPadding(int padding) - { - this.paddingTop = padding; - this.paddingLeft = padding; - this.paddingRight = padding; - this.paddingBottom = padding; - } - public void setPaddingBottom(int paddingBottom) { this.paddingBottom = paddingBottom; @@ -136,4 +123,4 @@ public Font getFont() { return font; } -} +} \ No newline at end of file diff --git a/src/com/moomoohk/Grame/Core/Graphics/PostProcessing/package-info.java b/src/com/moomoohk/Grame/Core/Graphics/PostProcessing/package-info.java new file mode 100644 index 0000000..e170552 --- /dev/null +++ b/src/com/moomoohk/Grame/Core/Graphics/PostProcessing/package-info.java @@ -0,0 +1,7 @@ +/** + * Contains special override graphics stuff + * + * @author Meshulam Silk (moomoohk@ymail.com) + * @since Feb 6, 2014 + */ +package com.moomoohk.Grame.Core.Graphics.PostProcessing; \ No newline at end of file diff --git a/src/com/moomoohk/Grame/Graphics/RandomRender.java b/src/com/moomoohk/Grame/Core/Graphics/RandomRender.java similarity index 64% rename from src/com/moomoohk/Grame/Graphics/RandomRender.java rename to src/com/moomoohk/Grame/Core/Graphics/RandomRender.java index 89430be..cef6cec 100644 --- a/src/com/moomoohk/Grame/Graphics/RandomRender.java +++ b/src/com/moomoohk/Grame/Core/Graphics/RandomRender.java @@ -1,9 +1,9 @@ -package com.moomoohk.Grame.Graphics; +package com.moomoohk.Grame.Core.Graphics; -import com.moomoohk.Grame.Essentials.Base; -import com.moomoohk.Grame.Essentials.GrameUtils; -import com.moomoohk.Grame.Interfaces.Render; +import com.moomoohk.Grame.Core.Grid; +import com.moomoohk.Grame.Core.GrameUtils; +import com.moomoohk.Grame.Core.Render; /** * Randomizes a bunch of pixels. @@ -16,7 +16,7 @@ */ public class RandomRender implements Render { - public int[] getPixels(int[] pixels, Base b, int width, int height) + public int[] getPixels(int[] pixels, Grid b, int width, int height) { for (int i = 0; i < pixels.length; i++) pixels[i] = GrameUtils.randomColor().getRGB(); diff --git a/src/com/moomoohk/Grame/Graphics/RenderManager.java b/src/com/moomoohk/Grame/Core/Graphics/RenderManager.java similarity index 66% rename from src/com/moomoohk/Grame/Graphics/RenderManager.java rename to src/com/moomoohk/Grame/Core/Graphics/RenderManager.java index fd7385f..3cf3808 100644 --- a/src/com/moomoohk/Grame/Graphics/RenderManager.java +++ b/src/com/moomoohk/Grame/Core/Graphics/RenderManager.java @@ -1,4 +1,4 @@ -package com.moomoohk.Grame.Graphics; +package com.moomoohk.Grame.Core.Graphics; import java.awt.Canvas; import java.awt.Color; @@ -10,6 +10,7 @@ import java.awt.Toolkit; import java.awt.event.FocusEvent; import java.awt.event.FocusListener; +import java.awt.geom.Ellipse2D; import java.awt.geom.Rectangle2D; import java.awt.image.BufferStrategy; import java.awt.image.BufferedImage; @@ -19,13 +20,13 @@ import javax.swing.JFrame; -import com.moomoohk.Grame.Essentials.Base; -import com.moomoohk.Grame.Essentials.Coordinates; -import com.moomoohk.Grame.Essentials.GrameManager; -import com.moomoohk.Grame.Essentials.GrameUtils; -import com.moomoohk.Grame.Essentials.GrameUtils.MessageLevel; -import com.moomoohk.Grame.Graphics.PostProcessing.Label; -import com.moomoohk.Grame.Interfaces.Render; +import com.moomoohk.Grame.Core.Coordinates; +import com.moomoohk.Grame.Core.GrameManager; +import com.moomoohk.Grame.Core.GrameUtils; +import com.moomoohk.Grame.Core.GrameUtils.MessageLevel; +import com.moomoohk.Grame.Core.Grid; +import com.moomoohk.Grame.Core.Render; +import com.moomoohk.Grame.Core.Graphics.PostProcessing.Label; /** * Manages all the rendering operations. @@ -61,38 +62,38 @@ public static void initialize() } /** - * Renders a {@link Base}. + * Renders a {@link Grid}. * - * @param bID - * The {@link Base#ID} of the {@link Base} to render. + * @param gID + * The {@link Grid#ID} of the {@link Grid} to render. */ - public static void render(int bID) + public static void render(int gID) { - render(bID, renders.get(bID)); + render(gID, renders.get(gID)); } /** - * Renders a {@link Base} using a given {@link Render}. + * Renders a {@link Grid} using a given {@link Render}. * - * @param bID - * The {@link Base#ID} of the {@link Base} to render. + * @param gID + * The {@link Grid#ID} of the {@link Grid} to render. * @param render * The {@link Render} to use. */ - public static void render(final int bID, Render render) + public static void render(final int gID, Render render) { - if (bID < 0) + if (gID < 0) return; - setupFrame(bID); - if (bID != mainBase || GrameManager.findBase(bID) == null) - GrameManager.setMainBase(bID); - mainBase = bID; + setupFrame(gID); + if (gID != mainBase || GrameManager.findGrid(gID) == null) + GrameManager.setMainGrid(gID); + mainBase = gID; mainFrame.setTitle(GrameManager.getGameName()); if (render == null) render = GrameManager.getDefaultRender(); - if (!render.equals(renders.get(bID))) + if (!render.equals(renders.get(gID))) GrameManager.setMainRender(render); - renders.put(bID, render); + renders.put(gID, render); BufferStrategy bs = mainCanvas.getBufferStrategy(); if (bs == null) { @@ -104,7 +105,7 @@ public static void render(final int bID, Render render) int[] pixels = ((DataBufferInt) img.getRaster().getDataBuffer()).getData(); try { - pixels = render.getPixels(pixels, GrameManager.findBase(bID), mainCanvas.getWidth(), mainCanvas.getHeight()); + pixels = render.getPixels(pixels, GrameManager.findGrid(gID), mainCanvas.getWidth(), mainCanvas.getHeight()); } catch (Exception e) { @@ -113,15 +114,15 @@ public static void render(final int bID, Render render) g2 = (Graphics2D) bs.getDrawGraphics().create(); g2.setFont(new Font("LucidaTypewriter", 1, 8)); - int squaresize = mainCanvas.getWidth() / GrameManager.findBase(bID).getColumns(); - for (int x = 0; x < GrameManager.findBase(bID).getColumns(); x++) - for (int y = 0; y < GrameManager.findBase(bID).getRows(); y++) - if (text.get(bID) != null) + int squaresize = mainCanvas.getWidth() / GrameManager.findGrid(gID).getColumns(); + for (int x = 0; x < GrameManager.findGrid(gID).getColumns(); x++) + for (int y = 0; y < GrameManager.findGrid(gID).getRows(); y++) + if (text.get(gID) != null) { - if (text.get(bID).getText(new Coordinates(x, y)) != null && text.get(bID).getText(new Coordinates(x, y)).trim().length() != 0) + if (text.get(gID).getText(new Coordinates(x, y)) != null && text.get(gID).getText(new Coordinates(x, y)).trim().length() != 0) { - g2.setColor(text.get(bID).getColor(new Coordinates(x, y))); - g2.drawString(text.get(bID).getText(new Coordinates(x, y)), y * squaresize, (x + 1) * (squaresize) - ((squaresize / 2) - 5)); + g2.setColor(text.get(gID).getColor(new Coordinates(x, y))); + g2.drawString(text.get(gID).getText(new Coordinates(x, y)), y * squaresize, (x + 1) * (squaresize) - ((squaresize / 2) - 5)); } } if (!GrameManager.paused) @@ -139,10 +140,11 @@ public static void render(final int bID, Render render) if (drawCoordinates) { g2.setColor(Color.blue); - for (int x = 0; x < GrameManager.findBase(bID).getColumns(); x++) - for (int y = 0; y < GrameManager.findBase(bID).getRows(); y++) + for (int x = 0; x < GrameManager.findGrid(gID).getColumns(); x++) + for (int y = 0; y < GrameManager.findGrid(gID).getRows(); y++) g2.drawString("(" + y + ", " + x + ")", y * squaresize, (x + 1) * (squaresize) - ((squaresize / 2) - 5)); } + drawLabel(new Label(500, 500, "Testing really long string", new Font("LucidaTypewriter", Font.BOLD, 20), Color.white, Color.black, 10, 10, 10, 10)); g2.dispose(); bs.show(); } @@ -159,7 +161,7 @@ public static void drawLabel(Label l) g2.setFont(l.getFont()); FontMetrics fm = g2.getFontMetrics(); Rectangle2D textBounds = fm.getStringBounds(l.getText(), g2); - Rectangle fixed = new Rectangle((int) (l.getCenterX() - (textBounds.getWidth() / 2)), (int) (l.getCenterY() - (textBounds.getHeight() / 2)), (int) textBounds.getWidth(), (int) textBounds.getHeight()); + Rectangle fixed = new Rectangle((int) (Math.min(l.getCenterX(), textBounds.getWidth()) - (textBounds.getWidth() / 2)), (int) (l.getCenterY() - (textBounds.getHeight() / 2)), (int) Math.min(textBounds.getWidth(), mainCanvas.getWidth()), (int) textBounds.getHeight()); Rectangle back = new Rectangle((int) fixed.getX() - l.getPaddingLeft(), (int) fixed.getY() - l.getPaddingTop(), (int) (fixed.getWidth()) + l.getPaddingRight() + l.getPaddingLeft(), (int) (fixed.getHeight()) + l.getPaddingBottom() + l.getPaddingTop()); g2.setColor(new Color(0, 0, 0, 180)); @@ -167,15 +169,15 @@ public static void drawLabel(Label l) g2.setColor(new Color(l.getTextColor().getRed(), l.getTextColor().getGreen(), l.getTextColor().getBlue(), 180)); g2.drawString(l.getText(), (int) (fixed.getX()), (int) (fixed.getY() + Math.max(fm.getMaxAscent(), fm.getMaxDescent()))); - // g2.setColor(Color.cyan); - // g2.draw(new Ellipse2D.Double(textCenterX - 5, textCenterY - 5, 10, 10)); - // g2.setColor(Color.blue); - // g2.draw(back); - // g2.setColor(Color.green); - // g2.draw(textBounds); - // g2.setColor(Color.red); - // g2.draw(fixed); - // g2.fill(new Ellipse2D.Double(fixed.getCenterX() - 2, fixed.getCenterY() - 2, 4, 4)); + g2.setColor(Color.cyan); + g2.draw(new Ellipse2D.Double(l.getCenterX() - 5, l.getCenterY() - 5, 10, 10)); + g2.setColor(Color.blue); + g2.draw(back); + g2.setColor(Color.green); + g2.draw(textBounds); + g2.setColor(Color.red); + g2.draw(fixed); + g2.fill(new Ellipse2D.Double(fixed.getCenterX() - 2, fixed.getCenterY() - 2, 4, 4)); } public static void setOverlayColor(Color color) @@ -187,14 +189,14 @@ public static void setOverlayColor(Color color) /** * Generates a blank {@link Canvas} which is of the required size. * - * @param bID - * {@link Base#ID} of the {@link Base} of which this {@link Canvas} is. + * @param gID + * {@link Grid#ID} of the {@link Grid} of which this {@link Canvas} is. * @return A {@link Canvas}. */ - public static Canvas generateCanvas(int bID) + public static Canvas generateCanvas(int gID) { Canvas c = new Canvas(); - int width = Math.min(squareSize * GrameManager.findBase(bID).getColumns(), Toolkit.getDefaultToolkit().getScreenSize().width), height = Math.min(squareSize * GrameManager.findBase(bID).getRows(), Toolkit.getDefaultToolkit().getScreenSize().height - 50); + int width = Math.min(squareSize * GrameManager.findGrid(gID).getColumns(), Toolkit.getDefaultToolkit().getScreenSize().width), height = Math.min(squareSize * GrameManager.findGrid(gID).getRows(), Toolkit.getDefaultToolkit().getScreenSize().height - 50); c.setSize(width, height); return c; } @@ -202,15 +204,15 @@ public static Canvas generateCanvas(int bID) /** * Sets up the main window. * - * @param bID - * {@link Base#ID} of the {@link Base} which is being rendered. + * @param gID + * {@link Grid#ID} of the {@link Grid} which is being rendered. */ - public static void setupFrame(int bID) + public static void setupFrame(int gID) { - if (bID != mainBase) + if (gID != mainBase) { if (mainCanvas == null) - mainCanvas = generateCanvas(bID); + mainCanvas = generateCanvas(gID); mainFrame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); mainFrame.setResizable(false); mainFrame.add(mainCanvas); @@ -234,7 +236,7 @@ public void focusGained(FocusEvent paramFocusEvent) } /** - * Renders the main {@link Base}. + * Renders the main {@link Grid}. */ public synchronized static void tick() { @@ -243,16 +245,16 @@ public synchronized static void tick() } /** - * Attaches a {@link Render} to a {@link Base} for future reference. + * Attaches a {@link Render} to a {@link Grid} for future reference. * - * @param bID - * {@link Base#ID} of {@link Base} to attach the {@link Render} to. + * @param gID + * {@link Grid#ID} of {@link Grid} to attach the {@link Render} to. * @param render * The {@link Render} to attach. */ - public static void setRender(int bID, Render render) + public static void setRender(int gID, Render render) { - renders.put(bID, render); + renders.put(gID, render); } /** @@ -260,8 +262,8 @@ public static void setRender(int bID, Render render) */ private static void loadRenders() { - GrameManager.addRender(new GridRender()); - GrameManager.addRender(new PlainGridRender()); + GrameManager.addRender(new DefaultGridRender()); + GrameManager.addRender(new CleanGridRender()); } /** @@ -306,11 +308,11 @@ public static Canvas getMainCanvas() } /** - * Gets the {@link Base#ID} of the main {@link Base}. + * Gets the {@link Grid#ID} of the main {@link Grid}. * - * @return The {@link Base#ID} of the main {@link Base}. + * @return The {@link Grid#ID} of the main {@link Grid}. */ - public static int getMainBase() + public static int getMainGrid() { return mainBase; } @@ -338,13 +340,13 @@ public static void drawCoordinates(boolean f) drawCoordinates = f; } - public static void setText(int bID, Coordinates pos, String text, Color color) + public static void setText(int gID, Coordinates pos, String text, Color color) { - if (!GrameManager.findBase(bID).isInBase(pos)) + if (!GrameManager.findGrid(gID).isInGrid(pos)) return; - if (RenderManager.text.get(bID) == null) - RenderManager.text.put(bID, new TextLayer(GrameManager.findBase(bID).getRows(), GrameManager.findBase(bID).getColumns())); - RenderManager.text.get(bID).setText(pos, text, color); + if (RenderManager.text.get(gID) == null) + RenderManager.text.put(gID, new TextLayer(GrameManager.findGrid(gID).getRows(), GrameManager.findGrid(gID).getColumns())); + RenderManager.text.get(gID).setText(pos, text, color); } public static void clearAllText() @@ -353,9 +355,9 @@ public static void clearAllText() clearText(i); } - public static void clearText(int bID) + public static void clearText(int gID) { - text.put(bID, new TextLayer(GrameManager.findBase(bID).getRows(), GrameManager.findBase(bID).getColumns())); + text.put(gID, new TextLayer(GrameManager.findGrid(gID).getRows(), GrameManager.findGrid(gID).getColumns())); } private static class TextLayer @@ -399,10 +401,10 @@ public static void addLabel(Label l) { labels.add(l); } - + public static void removeLabel(Label l) { - if(labels.contains(l)) + if (labels.contains(l)) labels.remove(l); } } \ No newline at end of file diff --git a/src/com/moomoohk/Grame/Core/Graphics/package-info.java b/src/com/moomoohk/Grame/Core/Graphics/package-info.java new file mode 100644 index 0000000..7c90ee6 --- /dev/null +++ b/src/com/moomoohk/Grame/Core/Graphics/package-info.java @@ -0,0 +1,7 @@ +/** + * Contains graphics related classes such as Render types. + * + * @author Meshulam Silk (moomoohk@ymail.com) + * @since Feb 6, 2014 + */ +package com.moomoohk.Grame.Core.Graphics; \ No newline at end of file diff --git a/src/com/moomoohk/Grame/Essentials/Base.java b/src/com/moomoohk/Grame/Core/Grid.java similarity index 76% rename from src/com/moomoohk/Grame/Essentials/Base.java rename to src/com/moomoohk/Grame/Core/Grid.java index c64aedc..356ca25 100644 --- a/src/com/moomoohk/Grame/Essentials/Base.java +++ b/src/com/moomoohk/Grame/Core/Grid.java @@ -1,27 +1,26 @@ -package com.moomoohk.Grame.Essentials; +package com.moomoohk.Grame.Core; import java.awt.Color; import java.io.Serializable; import java.util.ArrayList; -import com.moomoohk.Grame.Essentials.GrameUtils.MessageLevel; -import com.moomoohk.Grame.Interfaces.GrameObject; +import com.moomoohk.Grame.Core.GrameUtils.MessageLevel; /** - * Bases are the backbone of Grame. They serve as the map in which objects move around and interact with each other. + * Grids are the backbone of Grame. They serve as the map in which objects move around and interact with each other. * * @author Meshulam Silk * @version 1.0 * @since 2013-04-05 */ -public class Base implements Serializable +public class Grid implements Serializable { private static final long serialVersionUID = 8132183829206502759L; /** - * The ID of this Base. + * The ID of this Grid. *

* This ID is unique and cannot be changed.
- * It is this Base's place in the {@link GrameManager}'s list of Bases. + * It is this Grid's place in the {@link GrameManager}'s list of Grids. */ public final int ID; private ArrayList layers; @@ -36,11 +35,11 @@ public class Base implements Serializable * Constructor. * * @param width - * Width of the Base. + * Width of the Grid. * @param height - * Height of the Base. + * Height of the Grid. */ - public Base(int width, int height) + public Grid(int width, int height) { this(width, height, Color.white, ""); } @@ -49,13 +48,13 @@ public Base(int width, int height) * Constructor. * * @param width - * Width of the Base. + * Width of the Grid. * @param height - * Height of the Base. + * Height of the Grid. * @param title - * Title of the Base. + * Title of the Grid. */ - public Base(int width, int height, String title) + public Grid(int width, int height, String title) { this(width, height, Color.white, title); } @@ -64,13 +63,13 @@ public Base(int width, int height, String title) * Constructor. * * @param width - * Width of the Base. + * Width of the Grid. * @param height - * Height of the Base. + * Height of the Grid. * @param floorColor - * Floor color of the Base. + * Floor color of the Grid. */ - public Base(int width, int height, Color floorColor) + public Grid(int width, int height, Color floorColor) { this(width, height, floorColor, ""); } @@ -79,15 +78,15 @@ public Base(int width, int height, Color floorColor) * Constructor. * * @param width - * Width of the Base. + * Width of the Grid. * @param height - * Height of the Base. + * Height of the Grid. * @param floorColor - * Floor color of the Base. + * Floor color of the Grid. * @param title - * Title of the Base. + * Title of the Grid. */ - public Base(int width, int height, Color floorColor, String title) + public Grid(int width, int height, Color floorColor, String title) { this.layers = new ArrayList(); this.colors = new Color[width * height]; @@ -107,7 +106,7 @@ public Base(int width, int height, Color floorColor, String title) } /** - * Ticks the Base. + * Ticks the Grid. *

* Users will never need to call this method (The {@link GrameManager} takes care of ticking everything). */ @@ -123,7 +122,7 @@ public void tick() } /** - * Calculates the color of a square based on the objects that are occupying it. + * Calculates the color of a square gridd on the objects that are occupying it. * * @param pos * Set of {@link Coordinates} to calculate the color of. @@ -145,7 +144,7 @@ private Color calcColor(Coordinates pos) */ /** - * Gets the number of rows (height) of this Base. + * Gets the number of rows (height) of this Grid. * * @return Row count. */ @@ -155,7 +154,7 @@ public int getRows() } /** - * Gets the number of columns (width) of this Base. + * Gets the number of columns (width) of this Grid. * * @return Column count. */ @@ -165,19 +164,19 @@ public int getColumns() } /** - * Checks whether a set of {@link Coordinates} are in this Base. + * Checks whether a set of {@link Coordinates} are in this Grid. * * @param pos * {@link Coordinates} to check. - * @return True if the {@link Coordinates} are in this Base, else false. + * @return True if the {@link Coordinates} are in this Grid, else false. */ - public boolean isInBase(Coordinates pos) + public boolean isInGrid(Coordinates pos) { return (pos.y >= 0) && (pos.y <= this.height - 1) && (pos.x >= 0) && (pos.x <= this.width - 1); } /** - * Gets the current color of a square in this Base. + * Gets the current color of a square in this Grid. * * @param pos * {@link Coordinates} of square to get color of. @@ -189,12 +188,12 @@ public Color getColor(Coordinates pos) } /** - * Adds a {@link GrameObjectLayer} to this base at a specified layer. + * Adds a {@link GrameObjectLayer} to this grid at a specified layer. * * @param gol * {@link GrameObjectLayer} to add. * @param place - * Place within this Base's list of {@link GrameObjectLayer}s. + * Place within this Grid's list of {@link GrameObjectLayer}s. */ public void addGrameObjectLayer(GrameObjectLayer gol, int place) { @@ -203,7 +202,7 @@ public void addGrameObjectLayer(GrameObjectLayer gol, int place) this.layers.add(place, gol); if (place <= this.goLayer) this.goLayer++; - GrameUtils.print("Added layer " + gol.toString() + " to Base ID:" + ID, MessageLevel.DEBUG); + GrameUtils.print("Added layer " + gol.toString() + " to Grid ID:" + ID, MessageLevel.DEBUG); } else { @@ -213,7 +212,7 @@ public void addGrameObjectLayer(GrameObjectLayer gol, int place) } /** - * Sets the floor color for all the squares in this Base. + * Sets the floor color for all the squares in this Grid. * * @param c * The color to use. @@ -224,7 +223,7 @@ public void setFloorColor(Color c) } /** - * Sets the floor color of a square in this Base. + * Sets the floor color of a square in this Grid. * * @param pos * {@link Coordinates} of square to switch. @@ -237,7 +236,7 @@ public void setFloorColor(Coordinates pos, Color c) } /** - * Gets the floor color of a square in this Base. + * Gets the floor color of a square in this Grid. * * @param pos * {@link Coordinates} of square to get. @@ -249,7 +248,7 @@ public Color getFloorColor(Coordinates pos) } /** - * Adds a {@link GrameObject} to this Base. + * Adds a {@link GrameObject} to this Grid. * * @param go * {@link GrameObject} to add. @@ -257,7 +256,7 @@ public Color getFloorColor(Coordinates pos) * {@link Coordinates} to add the object to. * @param layer * The layer number to add the object to. - * @see Base#addGrameObject(GrameObject, Coordinates) + * @see Grid#addGrameObject(GrameObject, Coordinates) */ public void addGrameObject(GrameObject go, Coordinates pos, int layer) { @@ -276,13 +275,13 @@ public void addGrameObject(GrameObject go, Coordinates pos, int layer) } /** - * Adds a {@link GrameObject} to the default layer of this Base. + * Adds a {@link GrameObject} to the default layer of this Grid. * * @param go * {@link GrameObject} to add. * @param pos * {@link Coordinates} to add the object to. - * @see Base#addGrameObject(GrameObject, Coordinates, int) + * @see Grid#addGrameObject(GrameObject, Coordinates, int) */ public void addGrameObject(GrameObject go, Coordinates pos) { @@ -290,11 +289,11 @@ public void addGrameObject(GrameObject go, Coordinates pos) } /** - * Checks whether this Base contains a certain {@link GrameObject}. + * Checks whether this Grid contains a certain {@link GrameObject}. * * @param goID * ID of {@link GrameObject} to look for. - * @return True if this Base contains the {@link GrameObject}, else false. + * @return True if this Grid contains the {@link GrameObject}, else false. */ public boolean containsGrameObject(int goID) { @@ -319,7 +318,7 @@ public GrameObject getGrameObject(Coordinates pos, int layer) } /** - * Returns the position of a {@link GrameObject} that is in this Base. + * Returns the position of a {@link GrameObject} that is in this Grid. * * @param goID * {@link GrameObject#ID} of the {@link GrameObject}. @@ -334,9 +333,9 @@ public Coordinates getGrameObjectPos(int goID) } /** - * Return a list of the {@link GrameObjectLayer}s of this Base. + * Return a list of the {@link GrameObjectLayer}s of this Grid. * - * @return A list of the {@link GrameObjectLayer}s of this Base. + * @return A list of the {@link GrameObjectLayer}s of this Grid. */ public ArrayList getGrameObjectLayers() { @@ -344,9 +343,9 @@ public ArrayList getGrameObjectLayers() } /** - * Returns the default {@link GrameObjectLayer} of this Base. + * Returns the default {@link GrameObjectLayer} of this Grid. * - * @return The default {@link GrameObjectLayer} of this Base. + * @return The default {@link GrameObjectLayer} of this Grid. */ public GrameObjectLayer getGrameObjectLayer() { @@ -386,7 +385,7 @@ public void moveGrameObject(int goID, Coordinates pos) * @param pos * {@link Coordinates} to check. * @return True if the {@link Coordinates} are occupied on the default layer, else false. - * @see Base#isOccupied(Coordinates, int) + * @see Grid#isOccupied(Coordinates, int) */ public boolean isOccupied(Coordinates pos) { @@ -410,9 +409,9 @@ public boolean isOccupied(Coordinates pos, int layer) } /** - * Sets the "wraparound" aspect of this Base. + * Sets the "wraparound" aspect of this Grid. *

- * "Wraparound" means that if a {@link GrameObject} tries to go off one side of this Base it will be placed on the other side.
+ * "Wraparound" means that if a {@link GrameObject} tries to go off one side of this Grid it will be placed on the other side.
* Think of Snake and Pac-Man. * * @param f @@ -424,12 +423,12 @@ public void setWraparound(boolean f) } /** - * Gets the "wraparound" aspect of this Base. + * Gets the "wraparound" aspect of this Grid. *

- * "Wraparound" means that if a {@link GrameObject} tries to go off one side of this Base it will be placed on the other side.
+ * "Wraparound" means that if a {@link GrameObject} tries to go off one side of this Grid it will be placed on the other side.
* Think of Snake and Pac-Man. * - * @return True if this Base is a wraparound Base, else false. + * @return True if this Grid is a wraparound Grid, else false. */ public boolean getWraparound() { @@ -437,9 +436,9 @@ public boolean getWraparound() } /** - * Returns the length of the diagonal of this Base. + * Returns the length of the diagonal of this Grid. * - * @return The length of the diagonal of this Base. + * @return The length of the diagonal of this Grid. */ public int getDiagonal() { @@ -447,7 +446,7 @@ public int getDiagonal() } /** - * Sets the title of this Base. + * Sets the title of this Grid. * * @param title * The title to use. @@ -458,9 +457,9 @@ public void setTitle(String title) } /** - * Returns the title of this Base. + * Returns the title of this Grid. * - * @return The title of this Base. + * @return The title of this Grid. */ public String getTitle() { @@ -468,9 +467,9 @@ public String getTitle() } /** - * Gets the amount of layers in this Base. + * Gets the amount of layers in this Grid. * - * @return The amount of layers in this Base. + * @return The amount of layers in this Grid. */ public int getLayerCount() { @@ -478,11 +477,11 @@ public int getLayerCount() } /** - * Prints useful information about this Base. + * Prints useful information about this Grid. */ public String toString() { - String st = "Base ID:" + ID + "\n"; + String st = "Grid ID:" + ID + "\n"; st += "Contains: " + this.layers.size() + " Grame Object layers.\n"; st += "Contains "; int count = 0; diff --git a/src/com/moomoohk/Grame/Essentials/InputHandler.java b/src/com/moomoohk/Grame/Core/InputHandler.java similarity index 93% rename from src/com/moomoohk/Grame/Essentials/InputHandler.java rename to src/com/moomoohk/Grame/Core/InputHandler.java index 252e2c8..2247eb2 100644 --- a/src/com/moomoohk/Grame/Essentials/InputHandler.java +++ b/src/com/moomoohk/Grame/Core/InputHandler.java @@ -1,10 +1,10 @@ -package com.moomoohk.Grame.Essentials; +package com.moomoohk.Grame.Core; import java.awt.KeyEventDispatcher; import java.awt.KeyboardFocusManager; import java.awt.event.KeyEvent; -import com.moomoohk.Grame.Essentials.GrameUtils.MessageLevel; +import com.moomoohk.Grame.Core.GrameUtils.MessageLevel; /** * Handles keyboard input. diff --git a/src/com/moomoohk/Grame/Interfaces/MainGrameClass.java b/src/com/moomoohk/Grame/Core/MainGrameClass.java similarity index 70% rename from src/com/moomoohk/Grame/Interfaces/MainGrameClass.java rename to src/com/moomoohk/Grame/Core/MainGrameClass.java index d9ca2bf..6a05e6c 100644 --- a/src/com/moomoohk/Grame/Interfaces/MainGrameClass.java +++ b/src/com/moomoohk/Grame/Core/MainGrameClass.java @@ -1,4 +1,4 @@ -package com.moomoohk.Grame.Interfaces; +package com.moomoohk.Grame.Core; public interface MainGrameClass { diff --git a/src/com/moomoohk/Grame/Interfaces/Render.java b/src/com/moomoohk/Grame/Core/Render.java similarity index 68% rename from src/com/moomoohk/Grame/Interfaces/Render.java rename to src/com/moomoohk/Grame/Core/Render.java index 0801678..4af8f41 100644 --- a/src/com/moomoohk/Grame/Interfaces/Render.java +++ b/src/com/moomoohk/Grame/Core/Render.java @@ -1,10 +1,9 @@ -package com.moomoohk.Grame.Interfaces; +package com.moomoohk.Grame.Core; -import com.moomoohk.Grame.Essentials.Base; /** - * Objects to render {@link Base}s. + * Objects to render {@link Grid}s. * * @author Meshulam Silk * @version 1.0 @@ -15,12 +14,12 @@ public interface Render /** * Method to calculate the pixels. * @param pixels An int array of pixels. - * @param b The {@link Base} to render. + * @param g The {@link Grid} to render. * @param width The width of the main canvas. * @param height The height of the main canvas. * @return The pixel array, edited with the new render pixels. */ - public int[] getPixels(int[] pixels, Base b, int width, int height); + public int[] getPixels(int[] pixels, Grid g, int width, int height); /** * The name of this render. * @return The name of this render. diff --git a/src/com/moomoohk/Grame/Core/package-info.java b/src/com/moomoohk/Grame/Core/package-info.java new file mode 100644 index 0000000..416702f --- /dev/null +++ b/src/com/moomoohk/Grame/Core/package-info.java @@ -0,0 +1,7 @@ +/** + * Contains the core classes of the engine. + * + * @author Meshulam Silk (moomoohk@ymail.com) + * @since Feb 6, 2014 + */ +package com.moomoohk.Grame.Core; \ No newline at end of file diff --git a/src/com/moomoohk/Grame/Essentials/EngineState.java b/src/com/moomoohk/Grame/Essentials/EngineState.java deleted file mode 100644 index 8b45af5..0000000 --- a/src/com/moomoohk/Grame/Essentials/EngineState.java +++ /dev/null @@ -1,92 +0,0 @@ -package com.moomoohk.Grame.Essentials; - -import java.io.Serializable; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Calendar; -import java.util.Date; -import java.util.GregorianCalendar; - -import com.moomoohk.Grame.Interfaces.GrameObject; -import com.moomoohk.Grame.Interfaces.Render; - -public class EngineState implements Serializable -{ - private static final long serialVersionUID = 374960940802675271L; - - private ArrayList bases; - private ArrayList grameObjects; - private Calendar dateCreated; - private Date dateSaved; - private int mainBase; - private Render mainRender; - - public EngineState() - { - this.bases = new ArrayList(); - this.grameObjects = new ArrayList(); - this.dateCreated = new GregorianCalendar(); - this.mainBase = -1; - this.mainRender = null; - } - - public void addGrameObject(GrameObject go) - { - this.grameObjects.add(go); - } - - public void addBase(Base b) - { - this.bases.add(b); - } - - public void setMainBase(int bID) - { - this.mainBase = bID; - } - - public void setMainRender(Render r) - { - this.mainRender = r; - } - - public void setSaved(Date d) - { - this.dateSaved = d; - } - - public ArrayList getBases() - { - return this.bases; - } - - public ArrayList getGrameObjects() - { - return this.grameObjects; - } - - public Calendar getDateCreated() - { - return dateCreated; - } - - public int getMainBase() - { - return this.mainBase; - } - - public Render getMainRender() - { - return this.mainRender; - } - - public Date getSaved() - { - return this.dateSaved; - } - - public String details() - { - return "Bases: " + this.bases.size() + ", GrameObjects: " + this.grameObjects.size() + ", Date Created: " + new SimpleDateFormat("hh:mm:ss dd/MM/yyyy").format(dateCreated.getTime()) + ", Main Base: " + this.mainBase + ", Main Render: " + this.mainRender; - } -} diff --git a/src/com/moomoohk/Grame/Graphics/PlainGridRender.java b/src/com/moomoohk/Grame/Graphics/PlainGridRender.java deleted file mode 100644 index 4144f0a..0000000 --- a/src/com/moomoohk/Grame/Graphics/PlainGridRender.java +++ /dev/null @@ -1,50 +0,0 @@ - -package com.moomoohk.Grame.Graphics; - -import java.io.Serializable; - -import com.moomoohk.Grame.Essentials.Base; -import com.moomoohk.Grame.Essentials.Coordinates; -import com.moomoohk.Grame.Interfaces.Render; - -/** - * Renders {@link Base}s in a grid without grouting lines. - * - * @author Meshulam Silk - * @version 1.0 - * @since 2013-04-05 - */ -public class PlainGridRender implements Render, Serializable -{ - private static final long serialVersionUID = 1269305794830678142L; - - public int[] getPixels(int[] pixels, Base b, int width, int height) - { - for (int x = 0; x < width; x++) - for (int y = 0; y < height; y++) - { - Coordinates currSquare = new Coordinates((x ) / ((width) /( b.getColumns())), (y ) / (height / b.getRows())); - if(currSquare.getX()>=b.getColumns()) - currSquare.setX(b.getColumns()-1); - if( currSquare.getY()>=b.getRows()) - currSquare.setY(b.getRows()-1); - if (b.isInBase(currSquare)) - try - { - pixels[x + y * width] = b.getColor(currSquare).getRGB(); - } - catch(Exception e) - { - System.out.println(x+" "+width); - } - } - return pixels; - } - - public String getName() - { - return "Plain_grid_render"; - } - -} - diff --git a/src/com/moomoohk/Grame/GrassMuncher/Chaser.java b/src/com/moomoohk/Grame/GrassMuncher/Chaser.java index 0623213..41b022a 100644 --- a/src/com/moomoohk/Grame/GrassMuncher/Chaser.java +++ b/src/com/moomoohk/Grame/GrassMuncher/Chaser.java @@ -1,17 +1,17 @@ - package com.moomoohk.Grame.GrassMuncher; import java.awt.Color; import com.moomoohk.Grame.Basics.Dir; -import com.moomoohk.Grame.Essentials.Coordinates; -import com.moomoohk.Grame.Essentials.GrameManager; -import com.moomoohk.Grame.Interfaces.GrameObject; +import com.moomoohk.Grame.Core.Coordinates; +import com.moomoohk.Grame.Core.GrameManager; +import com.moomoohk.Grame.Core.GrameObject; public class Chaser extends GrameObject { private static final long serialVersionUID = -3075457796713552182L; private GrameObject target; + public Chaser() { super("Chaser", 4, Color.red, false); @@ -24,31 +24,32 @@ public boolean isCollidable() } @Override - public void tick(int bID) + public void tick(int gID) { - if(getPos(bID).distance(target.getPos(bID))==1) + if (getPos(gID).distance(target.getPos(gID)) == 1) MainScript.lose(); - GrameManager.findBase(bID).moveGrameObject(ID, getNext(bID)); + GrameManager.findGrid(gID).moveGrameObject(ID, getNext(gID)); } @Override public void consume(GrameObject go) { - } - private Coordinates getNext(int bID) + } + + private Coordinates getNext(int gID) { - Dir d = new Dir(getPos(bID), this.target.getPos(bID)); - if (!GrameManager.findBase(bID).isOccupied(getPos(bID).addDir(d), 1)) - return getPos(bID).addDir(d); - if(!GrameManager.findBase(bID).isOccupied(getPos(bID).addDir(d.split()[0]), 1)) - return getPos(bID).addDir(d.split()[0]); - if(!GrameManager.findBase(bID).isOccupied(getPos(bID).addDir(d.split()[1]), 1)) - return getPos(bID).addDir(d.split()[1]); - return getPos(bID); + Dir d = new Dir(getPos(gID), this.target.getPos(gID)); + if (!GrameManager.findGrid(gID).isOccupied(getPos(gID).addDir(d), 1)) + return getPos(gID).addDir(d); + if (!GrameManager.findGrid(gID).isOccupied(getPos(gID).addDir(d.split()[0]), 1)) + return getPos(gID).addDir(d.split()[0]); + if (!GrameManager.findGrid(gID).isOccupied(getPos(gID).addDir(d.split()[1]), 1)) + return getPos(gID).addDir(d.split()[1]); + return getPos(gID); } + public void setTarget(GrameObject go) { - this.target=go; + this.target = go; } } - diff --git a/src/com/moomoohk/Grame/GrassMuncher/Coin.java b/src/com/moomoohk/Grame/GrassMuncher/Coin.java index 466009a..b6ab44b 100644 --- a/src/com/moomoohk/Grame/GrassMuncher/Coin.java +++ b/src/com/moomoohk/Grame/GrassMuncher/Coin.java @@ -1,23 +1,24 @@ - package com.moomoohk.Grame.GrassMuncher; import java.awt.Color; -import com.moomoohk.Grame.Interfaces.GrameObject; +import com.moomoohk.Grame.Core.GrameObject; public class Coin extends GrameObject { private static final long serialVersionUID = 3955843569288863271L; private int worth; + public Coin() { super("Coin", 0, Color.green, false); - this.worth=1; + this.worth = 1; } + public Coin(int worth) { super("Coin", 0, Color.green, false); - this.worth=worth; + this.worth = worth; } @Override @@ -27,17 +28,18 @@ public boolean isCollidable() } @Override - public void tick(int bID) + public void tick(int gID) { - + } + public int getWorth() { return this.worth; } + @Override public void consume(GrameObject go) { } } - diff --git a/src/com/moomoohk/Grame/GrassMuncher/MainScript.java b/src/com/moomoohk/Grame/GrassMuncher/MainScript.java index 4cec59b..8e9a704 100644 --- a/src/com/moomoohk/Grame/GrassMuncher/MainScript.java +++ b/src/com/moomoohk/Grame/GrassMuncher/MainScript.java @@ -7,18 +7,18 @@ import javax.swing.SwingUtilities; import com.moomoohk.Grame.Basics.Wall; -import com.moomoohk.Grame.Essentials.Base; -import com.moomoohk.Grame.Essentials.Coordinates; -import com.moomoohk.Grame.Essentials.GrameManager; -import com.moomoohk.Grame.Essentials.GrameObjectLayer; -import com.moomoohk.Grame.Essentials.GrameUtils; -import com.moomoohk.Grame.Graphics.RenderManager; -import com.moomoohk.Grame.Interfaces.MainGrameClass; +import com.moomoohk.Grame.Core.Grid; +import com.moomoohk.Grame.Core.Coordinates; +import com.moomoohk.Grame.Core.GrameManager; +import com.moomoohk.Grame.Core.GrameObjectLayer; +import com.moomoohk.Grame.Core.GrameUtils; +import com.moomoohk.Grame.Core.MainGrameClass; +import com.moomoohk.Grame.Core.Graphics.RenderManager; import com.moomoohk.Grame.test.SpriteRender; public class MainScript implements MainGrameClass { - public static Base b; + public static Grid g; public static Player p; public static Chaser c; public static int maxCoins = 0; @@ -57,36 +57,36 @@ public void run() @Override public void newGame() { - b = new Base(20, 20); + g = new Grid(20, 20); p = new Player(); c = new Chaser(); GrameManager.pauseAllGrameObjects(true); c.setTarget(p); c.setSpeed(20); p.setSpeed(5); - b.addGrameObjectLayer(new GrameObjectLayer(b.getColumns(), b.getRows()), 1); - b.addGrameObject(p, new Coordinates(0, 0), 0); - b.addGrameObject(c, new Coordinates(b.getColumns() - 1, b.getRows() - 1), 1); - b.setFloorColor(new Color(139, 69, 19)); + g.addGrameObjectLayer(new GrameObjectLayer(g.getColumns(), g.getRows()), 1); + g.addGrameObject(p, new Coordinates(0, 0), 0); + g.addGrameObject(c, new Coordinates(g.getColumns() - 1, g.getRows() - 1), 1); + g.setFloorColor(new Color(139, 69, 19)); for (int i = 1; i <= 339; i++) { - Coordinates temp = GrameUtils.randomCoordinates(b); - while (b.isOccupied(temp) || temp.equals(new Coordinates(0, 0)) || temp.equals(new Coordinates(b.getColumns() - 1, b.getRows() - 1))) - temp = GrameUtils.randomCoordinates(b); - b.addGrameObject(new Coin(), temp, 0); + Coordinates temp = GrameUtils.randomCoordinates(g); + while (g.isOccupied(temp) || temp.equals(new Coordinates(0, 0)) || temp.equals(new Coordinates(g.getColumns() - 1, g.getRows() - 1))) + temp = GrameUtils.randomCoordinates(g); + g.addGrameObject(new Coin(), temp, 0); maxCoins++; } for (int i = 1; i <= 60; i++) { - Coordinates temp = GrameUtils.randomCoordinates(b); - while (b.isOccupied(temp)) - temp = GrameUtils.randomCoordinates(b); - b.addGrameObject(new Wall(), temp, 0); - b.addGrameObject(new Wall(), temp, 1); + Coordinates temp = GrameUtils.randomCoordinates(g); + while (g.isOccupied(temp)) + temp = GrameUtils.randomCoordinates(g); + g.addGrameObject(new Wall(), temp, 0); + g.addGrameObject(new Wall(), temp, 1); } SpriteRender.objects.put(p.ID, "player"); SpriteRender.objects.put(c.ID, "monster"); - RenderManager.render(b.ID, new SpriteRender()); + RenderManager.render(g.ID, new SpriteRender()); RenderManager.setVisible(true); JOptionPane.showMessageDialog(new JFrame(), "Ready to begin?", "Grass Muncher!", JOptionPane.PLAIN_MESSAGE); GrameManager.pauseAllGrameObjects(false); diff --git a/src/com/moomoohk/Grame/GrassMuncher/Player.java b/src/com/moomoohk/Grame/GrassMuncher/Player.java index c75851f..bf03f2d 100644 --- a/src/com/moomoohk/Grame/GrassMuncher/Player.java +++ b/src/com/moomoohk/Grame/GrassMuncher/Player.java @@ -1,22 +1,22 @@ - package com.moomoohk.Grame.GrassMuncher; import java.awt.Color; import com.moomoohk.Grame.Basics.Dir; -import com.moomoohk.Grame.Essentials.Base; -import com.moomoohk.Grame.Essentials.Coordinates; -import com.moomoohk.Grame.Essentials.GrameManager; -import com.moomoohk.Grame.Interfaces.GrameObject; +import com.moomoohk.Grame.Core.Coordinates; +import com.moomoohk.Grame.Core.GrameManager; +import com.moomoohk.Grame.Core.GrameObject; +import com.moomoohk.Grame.Core.Grid; public class Player extends GrameObject { private static final long serialVersionUID = 1615372944054959042L; private int points; + public Player() { super("Player", 2, Color.DARK_GRAY, false); - this.points=-1; + this.points = -1; } @Override @@ -26,45 +26,44 @@ public boolean isCollidable() } @Override - public void tick(int bID) + public void tick(int gID) { - setPos(bID, getNext(bID)); - if(this.points+1==MainScript.maxCoins) + setPos(gID, getNext(gID)); + if (this.points + 1 == MainScript.maxCoins) MainScript.win(); - if(getPos(bID).distance(MainScript.c.getPos(bID))==1) + if (getPos(gID).distance(MainScript.c.getPos(gID)) == 1) MainScript.lose(); } @Override public void consume(GrameObject go) { - if(!(go instanceof Coin)) + if (!(go instanceof Coin)) return; - Coin coin=(Coin)go; - points+=coin.getWorth(); + Coin coin = (Coin) go; + points += coin.getWorth(); } - private Coordinates getNext(int bID) + private Coordinates getNext(int gID) { - Dir d=GrameManager.dir1; + Dir d = GrameManager.dir1; if (d == null) - return getPos(bID); - Base b=GrameManager.findBase(bID); - if(!b.isInBase(getPos(bID).addDir(d))) - return getPos(bID); - if(b.isOccupied(getPos(bID).addDir(d))) + return getPos(gID); + Grid b = GrameManager.findGrid(gID); + if (!b.isInGrid(getPos(gID).addDir(d))) + return getPos(gID); + if (b.isOccupied(getPos(gID).addDir(d))) { - if(!b.isOccupied(getPos(bID).addDir(d.split()[0]))) - return getPos(bID).addDir(d.split()[0]); - if(!b.isOccupied(getPos(bID).addDir(d.split()[1]))) - return getPos(bID).addDir(d.split()[1]); + if (!b.isOccupied(getPos(gID).addDir(d.split()[0]))) + return getPos(gID).addDir(d.split()[0]); + if (!b.isOccupied(getPos(gID).addDir(d.split()[1]))) + return getPos(gID).addDir(d.split()[1]); } - return getPos(bID).addDir(d); + return getPos(gID).addDir(d); } public int getPoints() { - return this.points+1; + return this.points + 1; } } - diff --git a/src/com/moomoohk/Grame/GrassMuncher/package-info.java b/src/com/moomoohk/Grame/GrassMuncher/package-info.java new file mode 100644 index 0000000..9eb3b7f --- /dev/null +++ b/src/com/moomoohk/Grame/GrassMuncher/package-info.java @@ -0,0 +1,7 @@ +/** + * A demo game I made with Grame. + * + * @author Meshulam Silk (moomoohk@ymail.com) + * @since Feb 6, 2014 + */ +package com.moomoohk.Grame.GrassMuncher; \ No newline at end of file diff --git a/src/com/moomoohk/Grame/test/AISystemTest.java b/src/com/moomoohk/Grame/test/AISystemTest.java index 4a6a4d3..9dc140b 100644 --- a/src/com/moomoohk/Grame/test/AISystemTest.java +++ b/src/com/moomoohk/Grame/test/AISystemTest.java @@ -2,17 +2,17 @@ import java.awt.Color; -import com.moomoohk.Grame.AI.PlayerSimAI; -import com.moomoohk.Grame.AI.SimpleChaseAI; -import com.moomoohk.Grame.AI.SimpleStrollAI; import com.moomoohk.Grame.Basics.Entity; import com.moomoohk.Grame.Basics.Wall; -import com.moomoohk.Grame.Essentials.Base; -import com.moomoohk.Grame.Essentials.Coordinates; -import com.moomoohk.Grame.Essentials.GrameManager; -import com.moomoohk.Grame.Essentials.GrameUtils; -import com.moomoohk.Grame.Graphics.RenderManager; -import com.moomoohk.Grame.Interfaces.MainGrameClass; +import com.moomoohk.Grame.Basics.AI.PlayerSimAI; +import com.moomoohk.Grame.Basics.AI.SimpleChaseAI; +import com.moomoohk.Grame.Basics.AI.SimpleStrollAI; +import com.moomoohk.Grame.Core.Coordinates; +import com.moomoohk.Grame.Core.GrameManager; +import com.moomoohk.Grame.Core.GrameUtils; +import com.moomoohk.Grame.Core.Grid; +import com.moomoohk.Grame.Core.MainGrameClass; +import com.moomoohk.Grame.Core.Graphics.RenderManager; public class AISystemTest implements MainGrameClass { @@ -21,39 +21,39 @@ public static void main(String[] args) GrameManager.initialize(new AISystemTest()); } - public static void generateStrollers(int amount, Base b) + public static void generateStrollers(int amount, Grid g) { for (int i = 0; i < amount; i++) { Entity ent = new Entity(); - ent.addAI(new SimpleStrollAI(), b.ID); + ent.addAI(new SimpleStrollAI(), g.ID); ent.setSpeed(5); ent.setColor(Color.blue); - Coordinates temp = GrameUtils.randomCoordinates(b); - while (b.isOccupied(temp)) - temp = GrameUtils.randomCoordinates(b); - b.addGrameObject(ent, temp); + Coordinates temp = GrameUtils.randomCoordinates(g); + while (g.isOccupied(temp)) + temp = GrameUtils.randomCoordinates(g); + g.addGrameObject(ent, temp); } } - public static void generateChasers(Base b, int amount, Entity target) + public static void generateChasers(Grid g, int amount, Entity target) { for (int i = 1; i <= amount; i++) { Entity ent = new Entity(Color.red); - ent.addAI(new SimpleChaseAI(), b.ID); - ent.setRange(b.getDiagonal()); + ent.addAI(new SimpleChaseAI(), g.ID); + ent.setRange(g.getDiagonal()); ent.setTarget(target.ID); ent.setColor(Color.red); ent.setSpeed(2); - Coordinates temp = GrameUtils.randomCoordinates(b); - while (b.isOccupied(temp)) - temp = GrameUtils.randomCoordinates(b); - b.addGrameObject(ent, temp); + Coordinates temp = GrameUtils.randomCoordinates(g); + while (g.isOccupied(temp)) + temp = GrameUtils.randomCoordinates(g); + g.addGrameObject(ent, temp); } } - public static void generatePlayers(int number, int amount, Base b) + public static void generatePlayers(int number, int amount, Grid b) { for (int i = 1; i <= amount; i++) { @@ -68,29 +68,29 @@ public static void generatePlayers(int number, int amount, Base b) } } - public static void generatePlayerSims(int amount, Base b) + public static void generatePlayerSims(int amount, Grid g) { for (int i = 1; i <= amount; i++) { Entity ent = new Entity(); ent.setColor(Color.yellow); - ent.setOverrideAI(new PlayerSimAI(), b.ID); + ent.setOverrideAI(new PlayerSimAI(), g.ID); ent.setSpeed(1); - Coordinates temp = GrameUtils.randomCoordinates(b); - while (b.isOccupied(temp)) - temp = GrameUtils.randomCoordinates(b); - b.addGrameObject(ent, temp); + Coordinates temp = GrameUtils.randomCoordinates(g); + while (g.isOccupied(temp)) + temp = GrameUtils.randomCoordinates(g); + g.addGrameObject(ent, temp); } } - public static void generateWalls(int amount, Base b) + public static void generateWalls(int amount, Grid g) { for (int i = 1; i <= amount; i++) { - Coordinates temp = GrameUtils.randomCoordinates(b); - while (b.isOccupied(temp)) - temp = GrameUtils.randomCoordinates(b); - b.addGrameObject(new Wall(), temp); + Coordinates temp = GrameUtils.randomCoordinates(g); + while (g.isOccupied(temp)) + temp = GrameUtils.randomCoordinates(g); + g.addGrameObject(new Wall(), temp); } } @@ -99,18 +99,18 @@ public void newGame() { GrameManager.setDebug(true); GrameManager.setSpam(false); - Base b = new Base(20, 20); - b.setWraparound(true); - generatePlayers(1, 1, b); - generatePlayerSims(1, b); - generateStrollers(5, b); - generateChasers(b, 3, (Entity) GrameManager.findGrameObject(1)); - generateChasers(b, 3, (Entity) GrameManager.findGrameObject(0)); - RenderManager.render(b.ID); + Grid g = new Grid(20, 20); + g.setWraparound(true); + generatePlayers(1, 1, g); + generatePlayerSims(1, g); + generateStrollers(5, g); + generateChasers(g, 3, (Entity) GrameManager.findGrameObject(1)); + generateChasers(g, 3, (Entity) GrameManager.findGrameObject(0)); + RenderManager.render(g.ID); RenderManager.setVisible(true); - RenderManager.setText(b.ID, new Coordinates(6, 6), "test", Color.red); - RenderManager.setText(b.ID, new Coordinates(19, 19), "penis", Color.yellow); - RenderManager.setText(b.ID, new Coordinates(5, 5), "hohohohoh", Color.green); + RenderManager.setText(g.ID, new Coordinates(6, 6), "test", Color.red); + RenderManager.setText(g.ID, new Coordinates(19, 19), "phallus", Color.yellow); + RenderManager.setText(g.ID, new Coordinates(5, 5), "hohohohoh", Color.green); } @Override diff --git a/src/com/moomoohk/Grame/test/ConsumeTest.java b/src/com/moomoohk/Grame/test/ConsumeTest.java index 16efb97..ca128e0 100644 --- a/src/com/moomoohk/Grame/test/ConsumeTest.java +++ b/src/com/moomoohk/Grame/test/ConsumeTest.java @@ -1,13 +1,13 @@ package com.moomoohk.Grame.test; import com.moomoohk.Grame.Basics.Entity; -import com.moomoohk.Grame.Essentials.Base; -import com.moomoohk.Grame.Essentials.Coordinates; -import com.moomoohk.Grame.Essentials.GrameManager; -import com.moomoohk.Grame.Graphics.RenderManager; +import com.moomoohk.Grame.Core.Grid; +import com.moomoohk.Grame.Core.Coordinates; +import com.moomoohk.Grame.Core.GrameManager; +import com.moomoohk.Grame.Core.GrameObject; +import com.moomoohk.Grame.Core.MainGrameClass; +import com.moomoohk.Grame.Core.Graphics.RenderManager; import com.moomoohk.Grame.GrassMuncher.Coin; -import com.moomoohk.Grame.Interfaces.GrameObject; -import com.moomoohk.Grame.Interfaces.MainGrameClass; public class ConsumeTest implements MainGrameClass { @@ -29,15 +29,15 @@ public static void main(String[] args) @Override public void newGame() { - Base b = new Base(20, 20); + Grid g = new Grid(20, 20); Player p = new Player(); - b.addGrameObject(p, new Coordinates(0, 0)); - for (int i = 0; i < b.getRows(); i++) - for (int j = 0; j < b.getColumns(); j++) - if (!b.isOccupied(new Coordinates(i, j))) - b.addGrameObject(new Coin(), new Coordinates(i, j)); - p.makePlayer(1, true, b.ID); - RenderManager.render(b.ID); + g.addGrameObject(p, new Coordinates(0, 0)); + for (int i = 0; i < g.getRows(); i++) + for (int j = 0; j < g.getColumns(); j++) + if (!g.isOccupied(new Coordinates(i, j))) + g.addGrameObject(new Coin(), new Coordinates(i, j)); + p.makePlayer(1, true, g.ID); + RenderManager.render(g.ID); RenderManager.setVisible(true); } diff --git a/src/com/moomoohk/Grame/test/Dialog.java b/src/com/moomoohk/Grame/test/Dialog.java index 4ef6173..21b4314 100644 --- a/src/com/moomoohk/Grame/test/Dialog.java +++ b/src/com/moomoohk/Grame/test/Dialog.java @@ -3,11 +3,11 @@ import java.awt.Color; import java.util.ArrayList; -import com.moomoohk.Grame.Essentials.Coordinates; -import com.moomoohk.Grame.Essentials.GrameManager; -import com.moomoohk.Grame.Graphics.RenderManager; -import com.moomoohk.Grame.Graphics.PostProcessing.Label; -import com.moomoohk.Grame.Interfaces.GrameObject; +import com.moomoohk.Grame.Core.Coordinates; +import com.moomoohk.Grame.Core.GrameManager; +import com.moomoohk.Grame.Core.GrameObject; +import com.moomoohk.Grame.Core.Graphics.RenderManager; +import com.moomoohk.Grame.Core.Graphics.PostProcessing.Label; public class Dialog implements Runnable { @@ -37,10 +37,10 @@ public void start() public void run() { GrameManager.pauseAllGrameObjects(true); - int squareWidth = RenderManager.getMainCanvas().getWidth() / GrameManager.findBase(RenderManager.getMainBase()).getColumns(), squareHeight = RenderManager.getMainCanvas().getHeight() / GrameManager.findBase(RenderManager.getMainBase()).getRows(); - Coordinates goPos = this.go.getPos(RenderManager.getMainBase()); - this.label.setCenterX(Math.max(50, goPos.getX() * squareWidth + squareWidth / 2)); - this.label.setCenterY(Math.max(50, goPos.getY() * squareHeight)); + int squareWidth = RenderManager.getMainCanvas().getWidth() / GrameManager.findGrid(RenderManager.getMainGrid()).getColumns(), squareHeight = RenderManager.getMainCanvas().getHeight() / GrameManager.findGrid(RenderManager.getMainGrid()).getRows(); + Coordinates goPos = this.go.getPos(RenderManager.getMainGrid()); + this.label.setCenterX(goPos.getX() * squareWidth + squareWidth / 2); + this.label.setCenterY(goPos.getY() * squareHeight); for (String line : this.lines) { for (int i = 0; i <= line.length(); i++) diff --git a/src/com/moomoohk/Grame/test/GrameLogo.java b/src/com/moomoohk/Grame/test/GrameLogo.java index 4e61d2f..ffed9e9 100644 --- a/src/com/moomoohk/Grame/test/GrameLogo.java +++ b/src/com/moomoohk/Grame/test/GrameLogo.java @@ -1,36 +1,34 @@ - package com.moomoohk.Grame.test; import java.awt.Color; import com.moomoohk.Grame.Basics.Wall; -import com.moomoohk.Grame.Essentials.Base; -import com.moomoohk.Grame.Essentials.Coordinates; -import com.moomoohk.Grame.Graphics.PlainGridRender; -import com.moomoohk.Grame.Graphics.RenderManager; +import com.moomoohk.Grame.Core.Grid; +import com.moomoohk.Grame.Core.Coordinates; +import com.moomoohk.Grame.Core.Graphics.CleanGridRender; +import com.moomoohk.Grame.Core.Graphics.RenderManager; public class GrameLogo { public static void main(String[] args) { - Base b=new Base(6, 6); - TestGrameObject player=new TestGrameObject("player", 1, Color.gray, false); - TestGrameObject monster=new TestGrameObject("monster", 1, Color.red, false); - b.addGrameObject(player, new Coordinates(0, 0)); - b.addGrameObject(new Wall(), new Coordinates(1, 1)); - b.addGrameObject(new Wall(), new Coordinates(1, 2)); - b.addGrameObject(new Wall(), new Coordinates(1, 3)); - b.addGrameObject(new Wall(), new Coordinates(1, 4)); - b.addGrameObject(new Wall(), new Coordinates(2, 1)); - b.addGrameObject(new Wall(), new Coordinates(3, 1)); - b.addGrameObject(new Wall(), new Coordinates(4, 1)); - b.addGrameObject(new Wall(), new Coordinates(2, 4)); - b.addGrameObject(new Wall(), new Coordinates(3, 4)); - b.addGrameObject(new Wall(), new Coordinates(4, 4)); - b.addGrameObject(new Wall(), new Coordinates(4, 3)); - b.addGrameObject(monster, new Coordinates(5, 5)); - RenderManager.render(b.ID, new PlainGridRender()); + Grid g = new Grid(6, 6); + TestGrameObject player = new TestGrameObject("player", 1, Color.gray, false); + TestGrameObject monster = new TestGrameObject("monster", 1, Color.red, false); + g.addGrameObject(player, new Coordinates(0, 0)); + g.addGrameObject(new Wall(), new Coordinates(1, 1)); + g.addGrameObject(new Wall(), new Coordinates(1, 2)); + g.addGrameObject(new Wall(), new Coordinates(1, 3)); + g.addGrameObject(new Wall(), new Coordinates(1, 4)); + g.addGrameObject(new Wall(), new Coordinates(2, 1)); + g.addGrameObject(new Wall(), new Coordinates(3, 1)); + g.addGrameObject(new Wall(), new Coordinates(4, 1)); + g.addGrameObject(new Wall(), new Coordinates(2, 4)); + g.addGrameObject(new Wall(), new Coordinates(3, 4)); + g.addGrameObject(new Wall(), new Coordinates(4, 4)); + g.addGrameObject(new Wall(), new Coordinates(4, 3)); + g.addGrameObject(monster, new Coordinates(5, 5)); + RenderManager.render(g.ID, new CleanGridRender()); RenderManager.setVisible(true); } } - diff --git a/src/com/moomoohk/Grame/test/GrameObjectsTest.java b/src/com/moomoohk/Grame/test/GrameObjectsTest.java index 53cdcdf..d6f1724 100644 --- a/src/com/moomoohk/Grame/test/GrameObjectsTest.java +++ b/src/com/moomoohk/Grame/test/GrameObjectsTest.java @@ -3,12 +3,12 @@ import java.awt.Color; import com.moomoohk.Grame.Basics.Entity; -import com.moomoohk.Grame.Essentials.Base; -import com.moomoohk.Grame.Essentials.Coordinates; -import com.moomoohk.Grame.Essentials.GrameManager; -import com.moomoohk.Grame.Graphics.PlainGridRender; -import com.moomoohk.Grame.Graphics.RenderManager; -import com.moomoohk.Grame.Interfaces.MainGrameClass; +import com.moomoohk.Grame.Core.Grid; +import com.moomoohk.Grame.Core.Coordinates; +import com.moomoohk.Grame.Core.GrameManager; +import com.moomoohk.Grame.Core.MainGrameClass; +import com.moomoohk.Grame.Core.Graphics.CleanGridRender; +import com.moomoohk.Grame.Core.Graphics.RenderManager; public class GrameObjectsTest implements MainGrameClass { @@ -24,13 +24,13 @@ public static void main(String[] args) @Override public void newGame() { - Base b = new Base(20, 20); + Grid g = new Grid(20, 20); Entity ent = new Entity(); - b.addGrameObject(ent, new Coordinates(10, 10)); - b.setWraparound(true); - ent.makePlayer(1, true, b.ID); + g.addGrameObject(ent, new Coordinates(10, 10)); + g.setWraparound(true); + ent.makePlayer(1, true, g.ID); ent.setSpeed(1); - RenderManager.render(b.ID, new PlainGridRender()); + RenderManager.render(g.ID, new CleanGridRender()); RenderManager.setVisible(true); } diff --git a/src/com/moomoohk/Grame/test/NewSpriteRender.java b/src/com/moomoohk/Grame/test/NewSpriteRender.java index b29f74e..87a66f1 100644 --- a/src/com/moomoohk/Grame/test/NewSpriteRender.java +++ b/src/com/moomoohk/Grame/test/NewSpriteRender.java @@ -3,29 +3,29 @@ import java.awt.Color; import java.awt.image.BufferedImage; -import com.moomoohk.Grame.Essentials.Base; -import com.moomoohk.Grame.Essentials.Coordinates; -import com.moomoohk.Grame.Interfaces.Render; +import com.moomoohk.Grame.Core.Grid; +import com.moomoohk.Grame.Core.Coordinates; +import com.moomoohk.Grame.Core.Render; public class NewSpriteRender implements Render { public static String floorPath; @Override - public int[] getPixels(int[] pixels, Base b, int width, int height) + public int[] getPixels(int[] pixels, Grid g, int width, int height) { - for (int xSquare = 0; xSquare < b.getColumns(); xSquare++) - for (int ySquare = 0; ySquare < b.getRows(); ySquare++) + for (int xSquare = 0; xSquare < g.getColumns(); xSquare++) + for (int ySquare = 0; ySquare < g.getRows(); ySquare++) { try { - drawSprite(xSquare, ySquare, width, height, pixels, b, sprites.get("grass")); - for (int layer = 0; layer < b.getLayerCount(); layer++) - if (b.getGrameObject(new Coordinates(xSquare, ySquare), layer) != null && objects.containsKey(b.getGrameObject(new Coordinates(xSquare, ySquare), layer).ID)) - drawSprite(xSquare, ySquare, width, height, pixels, b, sprites.get(objects.get(b.getGrameObject(new Coordinates(xSquare, ySquare), layer).ID))); + drawSprite(xSquare, ySquare, width, height, pixels, g, sprites.get("grass")); + for (int layer = 0; layer < g.getLayerCount(); layer++) + if (g.getGrameObject(new Coordinates(xSquare, ySquare), layer) != null && objects.containsKey(g.getGrameObject(new Coordinates(xSquare, ySquare), layer).ID)) + drawSprite(xSquare, ySquare, width, height, pixels, g, sprites.get(objects.get(g.getGrameObject(new Coordinates(xSquare, ySquare), layer).ID))); else - if (b.getGrameObject(new Coordinates(xSquare, ySquare), layer) != null) - drawSquare(xSquare, ySquare, width, height, pixels, b, b.getGrameObject(new Coordinates(xSquare, ySquare), layer).getColor()); + if (g.getGrameObject(new Coordinates(xSquare, ySquare), layer) != null) + drawSquare(xSquare, ySquare, width, height, pixels, g, g.getGrameObject(new Coordinates(xSquare, ySquare), layer).getColor()); } catch (Exception e) { @@ -35,7 +35,7 @@ public int[] getPixels(int[] pixels, Base b, int width, int height) return pixels; } - private void drawSprite(int xSquare, int ySquare, int width, int height, int[] pixels, Base b, BufferedImage sprite) + private void drawSprite(int xSquare, int ySquare, int width, int height, int[] pixels, Grid g, BufferedImage sprite) { for (int y = 0; y < sprite.getHeight(); y++) { @@ -54,7 +54,7 @@ private void drawSprite(int xSquare, int ySquare, int width, int height, int[] p } } - private void drawSquare(int xSquare, int ySquare, int width, int height, int[] pixels, Base b, Color c) + private void drawSquare(int xSquare, int ySquare, int width, int height, int[] pixels, Grid g, Color c) { for (int y = 0; y < 30; y++) { diff --git a/src/com/moomoohk/Grame/test/SaveTest.java b/src/com/moomoohk/Grame/test/SaveTest.java index e8209ef..eeebe93 100644 --- a/src/com/moomoohk/Grame/test/SaveTest.java +++ b/src/com/moomoohk/Grame/test/SaveTest.java @@ -1,32 +1,29 @@ package com.moomoohk.Grame.test; import com.moomoohk.Grame.Basics.Entity; -import com.moomoohk.Grame.Essentials.Base; -import com.moomoohk.Grame.Essentials.GrameManager; -import com.moomoohk.Grame.Essentials.GrameUtils; -import com.moomoohk.Grame.Graphics.RenderManager; -import com.moomoohk.Grame.Interfaces.MainGrameClass; +import com.moomoohk.Grame.Core.Grid; +import com.moomoohk.Grame.Core.GrameManager; +import com.moomoohk.Grame.Core.GrameUtils; +import com.moomoohk.Grame.Core.MainGrameClass; +import com.moomoohk.Grame.Core.Graphics.RenderManager; public class SaveTest implements MainGrameClass { public static void main(String[] args) { - MenuConfiguration menuConfig = new MenuConfiguration(); - GrameManager.initialize(new SaveTest(), menuConfig); + GrameManager.initialize(new SaveTest()); } - @Override public void newGame() { - Base b = new Base(20, 20); + Grid g = new Grid(20, 20); Entity e = new Entity(); - e.makePlayer(1, true, b.ID); - b.addGrameObject(e, GrameUtils.randomCoordinates(b)); - RenderManager.render(b.ID); + e.makePlayer(1, true, g.ID); + g.addGrameObject(e, GrameUtils.randomCoordinates(g)); + RenderManager.render(g.ID); RenderManager.setVisible(true); } - @Override public String getGameName() { return "Save Test"; diff --git a/src/com/moomoohk/Grame/test/SpriteRender.java b/src/com/moomoohk/Grame/test/SpriteRender.java index c03e6dd..2babf2b 100644 --- a/src/com/moomoohk/Grame/test/SpriteRender.java +++ b/src/com/moomoohk/Grame/test/SpriteRender.java @@ -8,11 +8,11 @@ import javax.imageio.ImageIO; -import com.moomoohk.Grame.Essentials.Base; -import com.moomoohk.Grame.Essentials.Coordinates; -import com.moomoohk.Grame.Essentials.GrameUtils; -import com.moomoohk.Grame.Essentials.GrameUtils.MessageLevel; -import com.moomoohk.Grame.Interfaces.Render; +import com.moomoohk.Grame.Core.Grid; +import com.moomoohk.Grame.Core.Coordinates; +import com.moomoohk.Grame.Core.GrameUtils; +import com.moomoohk.Grame.Core.Render; +import com.moomoohk.Grame.Core.GrameUtils.MessageLevel; public class SpriteRender implements Render { @@ -28,20 +28,20 @@ public class SpriteRender implements Render } @Override - public int[] getPixels(int[] pixels, Base b, int width, int height) + public int[] getPixels(int[] pixels, Grid g, int width, int height) { - for (int xSquare = 0; xSquare < b.getColumns(); xSquare++) - for (int ySquare = 0; ySquare < b.getRows(); ySquare++) + for (int xSquare = 0; xSquare < g.getColumns(); xSquare++) + for (int ySquare = 0; ySquare < g.getRows(); ySquare++) { try { - drawSprite(xSquare, ySquare, width, height, pixels, b, sprites.get("grass")); - for (int layer = 0; layer < b.getLayerCount(); layer++) - if (b.getGrameObject(new Coordinates(xSquare, ySquare), layer) != null && objects.containsKey(b.getGrameObject(new Coordinates(xSquare, ySquare), layer).ID)) - drawSprite(xSquare, ySquare, width, height, pixels, b, sprites.get(objects.get(b.getGrameObject(new Coordinates(xSquare, ySquare), layer).ID))); + drawSprite(xSquare, ySquare, width, height, pixels, g, sprites.get("grass")); + for (int layer = 0; layer < g.getLayerCount(); layer++) + if (g.getGrameObject(new Coordinates(xSquare, ySquare), layer) != null && objects.containsKey(g.getGrameObject(new Coordinates(xSquare, ySquare), layer).ID)) + drawSprite(xSquare, ySquare, width, height, pixels, g, sprites.get(objects.get(g.getGrameObject(new Coordinates(xSquare, ySquare), layer).ID))); else - if (b.getGrameObject(new Coordinates(xSquare, ySquare), layer) != null) - drawSquare(xSquare, ySquare, width, height, pixels, b, b.getGrameObject(new Coordinates(xSquare, ySquare), layer).getColor()); + if (g.getGrameObject(new Coordinates(xSquare, ySquare), layer) != null) + drawSquare(xSquare, ySquare, width, height, pixels, g, g.getGrameObject(new Coordinates(xSquare, ySquare), layer).getColor()); } catch (Exception e) { @@ -51,7 +51,7 @@ public int[] getPixels(int[] pixels, Base b, int width, int height) return pixels; } - private void drawSprite(int xSquare, int ySquare, int width, int height, int[] pixels, Base b, BufferedImage sprite) + private void drawSprite(int xSquare, int ySquare, int width, int height, int[] pixels, Grid g, BufferedImage sprite) { for (int y = 0; y < sprite.getHeight(); y++) { @@ -70,7 +70,7 @@ private void drawSprite(int xSquare, int ySquare, int width, int height, int[] p } } - private void drawSquare(int xSquare, int ySquare, int width, int height, int[] pixels, Base b, Color c) + private void drawSquare(int xSquare, int ySquare, int width, int height, int[] pixels, Grid g, Color c) { for (int y = 0; y < 30; y++) { diff --git a/src/com/moomoohk/Grame/test/TestGrameObject.java b/src/com/moomoohk/Grame/test/TestGrameObject.java index ecc9c11..12e3967 100644 --- a/src/com/moomoohk/Grame/test/TestGrameObject.java +++ b/src/com/moomoohk/Grame/test/TestGrameObject.java @@ -1,14 +1,14 @@ - package com.moomoohk.Grame.test; import java.awt.Color; -import com.moomoohk.Grame.Interfaces.GrameObject; +import com.moomoohk.Grame.Core.GrameObject; public class TestGrameObject extends GrameObject { private static final long serialVersionUID = -480851231518169067L; - private int time=0; + private int time = 0; + public TestGrameObject(String name, int speed, Color color, boolean paused) { super(name, speed, color, paused); @@ -21,7 +21,7 @@ public boolean isCollidable() } @Override - public void tick(int bID) + public void tick(int gID) { //this.color=GrameUtils.randomColor(); time++; @@ -33,4 +33,3 @@ public void consume(GrameObject go) { } } - diff --git a/src/com/moomoohk/Grame/test/TestScript.java b/src/com/moomoohk/Grame/test/TestScript.java index 9f9b8b2..2a96d78 100644 --- a/src/com/moomoohk/Grame/test/TestScript.java +++ b/src/com/moomoohk/Grame/test/TestScript.java @@ -2,16 +2,16 @@ import java.awt.Color; -import com.moomoohk.Grame.AI.SimpleChaseAI; -import com.moomoohk.Grame.AI.SimpleStrollAI; import com.moomoohk.Grame.Basics.Entity; -import com.moomoohk.Grame.Essentials.Base; -import com.moomoohk.Grame.Essentials.Coordinates; -import com.moomoohk.Grame.Essentials.GrameManager; -import com.moomoohk.Grame.Essentials.GrameUtils; -import com.moomoohk.Grame.Graphics.RenderManager; -import com.moomoohk.Grame.Interfaces.GrameObject; -import com.moomoohk.Grame.Interfaces.MainGrameClass; +import com.moomoohk.Grame.Basics.AI.SimpleChaseAI; +import com.moomoohk.Grame.Basics.AI.SimpleStrollAI; +import com.moomoohk.Grame.Core.Grid; +import com.moomoohk.Grame.Core.Coordinates; +import com.moomoohk.Grame.Core.GrameManager; +import com.moomoohk.Grame.Core.GrameObject; +import com.moomoohk.Grame.Core.GrameUtils; +import com.moomoohk.Grame.Core.MainGrameClass; +import com.moomoohk.Grame.Core.Graphics.RenderManager; public class TestScript implements MainGrameClass { @@ -23,23 +23,23 @@ public static void main(String[] args) @Override public void newGame() { - Base b = new Base(20, 20); - b.setWraparound(true); + Grid g = new Grid(20, 20); + g.setWraparound(true); Entity ent = new Entity(Color.blue); ent.setSpeed(1); Entity ent2 = new Entity(); ent2.setTarget(ent.ID); ent2.setSpeed(7); - ent2.setRange(b.getDiagonal()); - ent2.addAI(new SimpleChaseAI(), b.ID); - ent2.addAI(new SimpleStrollAI(), b.ID); - ent.makePlayer(1, true, b.ID); + ent2.setRange(g.getDiagonal()); + ent2.addAI(new SimpleChaseAI(), g.ID); + ent2.addAI(new SimpleStrollAI(), g.ID); + ent.makePlayer(1, true, g.ID); GrameObject go = new GrameObject("test", 1, Color.black, false) { private static final long serialVersionUID = -7904811686747660223L; @Override - public void tick(int bID) + public void tick(int gID) { this.color = GrameUtils.randomColor(); } @@ -57,10 +57,10 @@ public void consume(GrameObject go) }; SpriteRender.objects.put(ent.ID, "player"); SpriteRender.objects.put(ent2.ID, "monster"); - b.addGrameObject(ent2, GrameUtils.randomCoordinates(b)); - b.addGrameObject(ent, new Coordinates(10, 10)); - b.addGrameObject(go, GrameUtils.randomCoordinates(b)); - RenderManager.render(b.ID, new SpriteRender()); + g.addGrameObject(ent2, GrameUtils.randomCoordinates(g)); + g.addGrameObject(ent, new Coordinates(10, 10)); + g.addGrameObject(go, GrameUtils.randomCoordinates(g)); + RenderManager.render(g.ID, new SpriteRender()); RenderManager.setVisible(true); } diff --git a/src/com/moomoohk/Grame/test/package-info.java b/src/com/moomoohk/Grame/test/package-info.java new file mode 100644 index 0000000..1d9605a --- /dev/null +++ b/src/com/moomoohk/Grame/test/package-info.java @@ -0,0 +1,7 @@ +/** + * Contains some test classes which shouldn't be touched or interacted with. + * + * @author Meshulam Silk (moomoohk@ymail.com) + * @since Feb 6, 2014 + */ +package com.moomoohk.Grame.test; \ No newline at end of file