From 60b7f23ef12d59d048114cb5bdd98f5ad3ceb982 Mon Sep 17 00:00:00 2001 From: Steinar Aalstad Lillesund Date: Tue, 24 Mar 2020 12:19:28 +0100 Subject: [PATCH 01/13] Referat --- docs/team/referater/referat_24_03_2020.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 docs/team/referater/referat_24_03_2020.md diff --git a/docs/team/referater/referat_24_03_2020.md b/docs/team/referater/referat_24_03_2020.md new file mode 100644 index 0000000..7d186ad --- /dev/null +++ b/docs/team/referater/referat_24_03_2020.md @@ -0,0 +1,11 @@ +## Oppmøte +Tilstede: Steinar, Gabriel, Kristian, Torbjørn, Petter +Ikke tilstede: + +## Agenda +- Oppmøte + +- Jobbe videre med oppgavene. + +## Møte +Forteller hva som er forventet å bli gjort iløp av dagen og setter i gang med arbeidet. \ No newline at end of file From 4cb6ebffc70b669397f0b91bbc1539ffb4c407de Mon Sep 17 00:00:00 2001 From: EpicKnarvik97 Date: Tue, 24 Mar 2020 12:24:25 +0100 Subject: [PATCH 02/13] =?UTF-8?q?Legger=20til=20en=20uferdig=20metode=20fo?= =?UTF-8?q?r=20=C3=A5=20kj=C3=B8re=20en=20fase?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fiasko/roborally/objects/RoboRallyGame.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/main/java/inf112/fiasko/roborally/objects/RoboRallyGame.java b/src/main/java/inf112/fiasko/roborally/objects/RoboRallyGame.java index f19ce13..4ecfa81 100644 --- a/src/main/java/inf112/fiasko/roborally/objects/RoboRallyGame.java +++ b/src/main/java/inf112/fiasko/roborally/objects/RoboRallyGame.java @@ -169,6 +169,21 @@ public class RoboRallyGame implements IDrawableGame { makeMove(RobotID.ROBOT_7, Action.MOVE_1); } + /** + * Runs one phase as defined in the Robo Rally rulebook + * @param phaseNumber The number of the phase to run + * @throws InterruptedException If interrupted wile trying to sleep + */ + private void runPhase(int phaseNumber) throws InterruptedException { + //TODO: Run programming cards + + moveAllConveyorBelts(); + rotateCogwheels(); + + fireAllLasers(); + checkAllFlags(); + } + /** * Makes the given robot move according to to the action input. * @param robotID The ID of the robot to move. From c7e3eee5f8f4de235311f941f1ad2879c6ab71db Mon Sep 17 00:00:00 2001 From: Steinar Aalstad Lillesund Date: Tue, 24 Mar 2020 14:02:03 +0100 Subject: [PATCH 03/13] =?UTF-8?q?Lagt=20til=20funksjonalitet=20for=20?= =?UTF-8?q?=C3=A5=20kj=C3=B8re=20program=20i=20en=20fase.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../roborally/objects/RoboRallyGame.java | 33 +++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/src/main/java/inf112/fiasko/roborally/objects/RoboRallyGame.java b/src/main/java/inf112/fiasko/roborally/objects/RoboRallyGame.java index f19ce13..8f79e81 100644 --- a/src/main/java/inf112/fiasko/roborally/objects/RoboRallyGame.java +++ b/src/main/java/inf112/fiasko/roborally/objects/RoboRallyGame.java @@ -8,8 +8,7 @@ import inf112.fiasko.roborally.element_properties.TileType; import inf112.fiasko.roborally.utility.BoardLoaderUtil; import java.io.IOException; -import java.util.ArrayList; -import java.util.List; +import java.util.*; import java.util.concurrent.TimeUnit; import java.util.function.Predicate; @@ -21,6 +20,7 @@ public class RoboRallyGame implements IDrawableGame { private List> cogwheels; private List> conveyorBelts; private List> fastConveyorBelts; + private List playerList; public RoboRallyGame(boolean debug) { if (debug) { @@ -106,6 +106,14 @@ public class RoboRallyGame implements IDrawableGame { robots.add(new Robot(RobotID.ROBOT_6, new Position(7, 7))); robots.add(new Robot(RobotID.ROBOT_7, new Position(6, 7))); robots.add(new Robot(RobotID.ROBOT_8, new Position(6, 8))); + playerList.add(new Player(RobotID.ROBOT_1, "Player1")); + playerList.add(new Player(RobotID.ROBOT_2, "Player2")); + playerList.add(new Player(RobotID.ROBOT_3, "Player3")); + playerList.add(new Player(RobotID.ROBOT_4, "Player4")); + playerList.add(new Player(RobotID.ROBOT_5, "Player5")); + playerList.add(new Player(RobotID.ROBOT_6, "Player6")); + playerList.add(new Player(RobotID.ROBOT_7, "Player7")); + playerList.add(new Player(RobotID.ROBOT_8, "Player8")); gameBoard = BoardLoaderUtil.loadBoard("boards/Dizzy_Dash.txt", robots); cogwheels = gameBoard.getPositionsOfTileOnBoard(TileType.COGWHEEL_RIGHT, TileType.COGWHEEL_LEFT); @@ -382,4 +390,25 @@ public class RoboRallyGame implements IDrawableGame { sleep(); gameBoard.doLaserCleanup(); } + + private void runProgramCards(int phase) throws InterruptedException { + + List robotsToDoAction = new ArrayList<>(); + List programToBeRun = new ArrayList<>(); + List originalPriority = new ArrayList<>(); + for (Player player:playerList) { + List playerProgram = player.getProgram(); + if (!playerProgram.isEmpty()) { + originalPriority.add(playerProgram.get(phase).getPriority()); + robotsToDoAction.add(player.getRobotID()); + programToBeRun.add(playerProgram.get(phase)); + } + } + Collections.sort(programToBeRun); + for (ProgrammingCard card:programToBeRun) { + int i = originalPriority.indexOf(card.getPriority()); + RobotID robot = robotsToDoAction.get(i); + makeMove(robot, card.getAction()); + } + } } \ No newline at end of file From 6542a9860dc67355a764a4a20037bd324f15aba6 Mon Sep 17 00:00:00 2001 From: EpicKnarvik97 Date: Tue, 24 Mar 2020 14:03:13 +0100 Subject: [PATCH 04/13] Legger til en klasse for generering av en enkel knapp --- .../roborally/game_wrapper/SimpleButton.java | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 src/main/java/inf112/fiasko/roborally/game_wrapper/SimpleButton.java diff --git a/src/main/java/inf112/fiasko/roborally/game_wrapper/SimpleButton.java b/src/main/java/inf112/fiasko/roborally/game_wrapper/SimpleButton.java new file mode 100644 index 0000000..e697353 --- /dev/null +++ b/src/main/java/inf112/fiasko/roborally/game_wrapper/SimpleButton.java @@ -0,0 +1,37 @@ +package inf112.fiasko.roborally.game_wrapper; + +import com.badlogic.gdx.Gdx; +import com.badlogic.gdx.graphics.g2d.BitmapFont; +import com.badlogic.gdx.graphics.g2d.TextureAtlas; +import com.badlogic.gdx.scenes.scene2d.ui.Skin; +import com.badlogic.gdx.scenes.scene2d.ui.TextButton; + +/** + * This class generates a simple text button using a default skin + */ +public class SimpleButton { + private TextButton button; + + /** + * Instantiates a new simple button + * @param text The text to display on the button + * @param font The font to use to draw button text + */ + public SimpleButton(String text, BitmapFont font) { + TextureAtlas buttonAtlas = new TextureAtlas(Gdx.files.internal("uiskin.atlas")); + Skin skin = new Skin(buttonAtlas); + TextButton.TextButtonStyle confirmCardsStyle = new TextButton.TextButtonStyle(); + confirmCardsStyle.font = font; + confirmCardsStyle.up = skin.getDrawable("default-round"); + confirmCardsStyle.down = skin.getDrawable("default-round-down"); + this.button = new TextButton(text, confirmCardsStyle); + } + + /** + * Gets the button generated + * @return A button + */ + public TextButton getButton() { + return this.button; + } +} From 57c0d3a3c1e96ed2b1065c2debdccfcb3a93c5f8 Mon Sep 17 00:00:00 2001 From: EpicKnarvik97 Date: Tue, 24 Mar 2020 14:04:19 +0100 Subject: [PATCH 05/13] =?UTF-8?q?Fullf=C3=B8rer=20fase?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/inf112/fiasko/roborally/objects/RoboRallyGame.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/inf112/fiasko/roborally/objects/RoboRallyGame.java b/src/main/java/inf112/fiasko/roborally/objects/RoboRallyGame.java index 4ecfa81..d3e2db7 100644 --- a/src/main/java/inf112/fiasko/roborally/objects/RoboRallyGame.java +++ b/src/main/java/inf112/fiasko/roborally/objects/RoboRallyGame.java @@ -175,7 +175,7 @@ public class RoboRallyGame implements IDrawableGame { * @throws InterruptedException If interrupted wile trying to sleep */ private void runPhase(int phaseNumber) throws InterruptedException { - //TODO: Run programming cards + runProgramPhase(phaseNumber); moveAllConveyorBelts(); rotateCogwheels(); From 5ee301e8535c7b89954586a2044bab3cd354347e Mon Sep 17 00:00:00 2001 From: EpicKnarvik97 Date: Tue, 24 Mar 2020 14:05:39 +0100 Subject: [PATCH 06/13] =?UTF-8?q?Fikser=20navn=20p=C3=A5=20funkjson=20for?= =?UTF-8?q?=20=C3=A5=20kj=C3=B8re=20programmeringskort?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/inf112/fiasko/roborally/objects/RoboRallyGame.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/inf112/fiasko/roborally/objects/RoboRallyGame.java b/src/main/java/inf112/fiasko/roborally/objects/RoboRallyGame.java index 8885352..7cd219c 100644 --- a/src/main/java/inf112/fiasko/roborally/objects/RoboRallyGame.java +++ b/src/main/java/inf112/fiasko/roborally/objects/RoboRallyGame.java @@ -183,7 +183,7 @@ public class RoboRallyGame implements IDrawableGame { * @throws InterruptedException If interrupted wile trying to sleep */ private void runPhase(int phaseNumber) throws InterruptedException { - runProgramPhase(phaseNumber); + runProgramCards(phaseNumber); moveAllConveyorBelts(); rotateCogwheels(); From 403f4a85b987a5506ac4c39fca4124dd247857b5 Mon Sep 17 00:00:00 2001 From: EpicKnarvik97 Date: Tue, 24 Mar 2020 14:07:06 +0100 Subject: [PATCH 07/13] Fikser uinitialisert playerList --- src/main/java/inf112/fiasko/roborally/objects/RoboRallyGame.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/inf112/fiasko/roborally/objects/RoboRallyGame.java b/src/main/java/inf112/fiasko/roborally/objects/RoboRallyGame.java index 7cd219c..d2c05e2 100644 --- a/src/main/java/inf112/fiasko/roborally/objects/RoboRallyGame.java +++ b/src/main/java/inf112/fiasko/roborally/objects/RoboRallyGame.java @@ -106,6 +106,7 @@ public class RoboRallyGame implements IDrawableGame { robots.add(new Robot(RobotID.ROBOT_6, new Position(7, 7))); robots.add(new Robot(RobotID.ROBOT_7, new Position(6, 7))); robots.add(new Robot(RobotID.ROBOT_8, new Position(6, 8))); + playerList = new ArrayList<>(); playerList.add(new Player(RobotID.ROBOT_1, "Player1")); playerList.add(new Player(RobotID.ROBOT_2, "Player2")); playerList.add(new Player(RobotID.ROBOT_3, "Player3")); From d3e5f6560323e5d461bec1b8b943b3efd73177c5 Mon Sep 17 00:00:00 2001 From: Steinar Aalstad Lillesund Date: Tue, 24 Mar 2020 14:28:42 +0100 Subject: [PATCH 08/13] Kommentarer. --- .../java/inf112/fiasko/roborally/objects/RoboRallyGame.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/inf112/fiasko/roborally/objects/RoboRallyGame.java b/src/main/java/inf112/fiasko/roborally/objects/RoboRallyGame.java index 8f79e81..c910d35 100644 --- a/src/main/java/inf112/fiasko/roborally/objects/RoboRallyGame.java +++ b/src/main/java/inf112/fiasko/roborally/objects/RoboRallyGame.java @@ -391,6 +391,11 @@ public class RoboRallyGame implements IDrawableGame { gameBoard.doLaserCleanup(); } + /** + * Runs all the programs in the correct order for the phase that is given. + * @param phase The phaser Nr we are in. + * @throws InterruptedException If it gets interupted while trying to sleep + */ private void runProgramCards(int phase) throws InterruptedException { List robotsToDoAction = new ArrayList<>(); From 8802a0841a73e8e6fea41abef3e29045c678ccbb Mon Sep 17 00:00:00 2001 From: EpicKnarvik97 Date: Tue, 24 Mar 2020 14:30:50 +0100 Subject: [PATCH 09/13] =?UTF-8?q?Fikser=20sorteringsrekkef=C3=B8lge=20for?= =?UTF-8?q?=20programmeringskort?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/inf112/fiasko/roborally/objects/ProgrammingCard.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/inf112/fiasko/roborally/objects/ProgrammingCard.java b/src/main/java/inf112/fiasko/roborally/objects/ProgrammingCard.java index 20a8cc5..a6d79e0 100644 --- a/src/main/java/inf112/fiasko/roborally/objects/ProgrammingCard.java +++ b/src/main/java/inf112/fiasko/roborally/objects/ProgrammingCard.java @@ -43,6 +43,6 @@ public class ProgrammingCard implements Comparable { @Override public int compareTo(ProgrammingCard programmingCard) { - return this.cardPriority - programmingCard.cardPriority; + return programmingCard.cardPriority - this.cardPriority; } } From ddf1b89ffad7a6c18ed387f7bf2cdb29b545374d Mon Sep 17 00:00:00 2001 From: EpicKnarvik97 Date: Tue, 24 Mar 2020 14:37:22 +0100 Subject: [PATCH 10/13] Fjerner debugging output for lasere --- src/main/java/inf112/fiasko/roborally/objects/Board.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/inf112/fiasko/roborally/objects/Board.java b/src/main/java/inf112/fiasko/roborally/objects/Board.java index 51f0d42..6c17645 100644 --- a/src/main/java/inf112/fiasko/roborally/objects/Board.java +++ b/src/main/java/inf112/fiasko/roborally/objects/Board.java @@ -538,7 +538,6 @@ public class Board { */ private void updateLaserDisplay(List laserTargets, Direction laserDirection, WallType laserType) { for (Position laserTarget : laserTargets) { - System.out.println(laserTarget); updateLaserBeamOnParticleGrid(laserTarget, laserDirection, laserType); } } From 5541ffedd794ed9c847f9f10f20740cb1d3745a0 Mon Sep 17 00:00:00 2001 From: EpicKnarvik97 Date: Tue, 24 Mar 2020 15:15:46 +0100 Subject: [PATCH 11/13] =?UTF-8?q?Legger=20til=20en=20knapp=20for=20=C3=A5?= =?UTF-8?q?=20kunne=20bekrefte=20programmeringskort?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 6 +++ .../game_wrapper/CardChoiceScreen.java | 46 +++++++++++++++++-- 2 files changed, 49 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index b8996ba..3b666a9 100644 --- a/pom.xml +++ b/pom.xml @@ -35,6 +35,12 @@ 1.9.9 + + com.badlogicgames.gdx + gdx-tools + 1.9.9 + + com.badlogicgames.gdx gdx-backend-lwjgl diff --git a/src/main/java/inf112/fiasko/roborally/game_wrapper/CardChoiceScreen.java b/src/main/java/inf112/fiasko/roborally/game_wrapper/CardChoiceScreen.java index 9d38ee3..1010e50 100644 --- a/src/main/java/inf112/fiasko/roborally/game_wrapper/CardChoiceScreen.java +++ b/src/main/java/inf112/fiasko/roborally/game_wrapper/CardChoiceScreen.java @@ -2,12 +2,18 @@ package inf112.fiasko.roborally.game_wrapper; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.InputAdapter; +import com.badlogic.gdx.InputMultiplexer; import com.badlogic.gdx.Screen; import com.badlogic.gdx.graphics.GL20; import com.badlogic.gdx.graphics.OrthographicCamera; import com.badlogic.gdx.graphics.g2d.GlyphLayout; import com.badlogic.gdx.graphics.glutils.ShapeRenderer; import com.badlogic.gdx.math.Vector3; +import com.badlogic.gdx.scenes.scene2d.InputEvent; +import com.badlogic.gdx.scenes.scene2d.InputListener; +import com.badlogic.gdx.scenes.scene2d.Stage; +import com.badlogic.gdx.scenes.scene2d.Touchable; +import com.badlogic.gdx.scenes.scene2d.ui.TextButton; import com.badlogic.gdx.utils.viewport.FitViewport; import com.badlogic.gdx.utils.viewport.Viewport; import inf112.fiasko.roborally.objects.IDeck; @@ -23,6 +29,9 @@ import static com.badlogic.gdx.graphics.Color.GREEN; import static com.badlogic.gdx.graphics.Color.RED; import static com.badlogic.gdx.graphics.Color.WHITE; +/** + * This screen is used to let the user choose their program + */ public class CardChoiceScreen extends InputAdapter implements Screen { private final RoboRallyWrapper roboRallyWrapper; @@ -32,7 +41,13 @@ public class CardChoiceScreen extends InputAdapter implements Screen { private final Viewport viewport; private final List chosenCards; private final int maxCards; + private final Stage stage; + final TextButton confirmCards; + /** + * Initializes a new card choice screen + * @param roboRallyWrapper The robo rally wrapper which is its parent + */ public CardChoiceScreen(final RoboRallyWrapper roboRallyWrapper) { this.roboRallyWrapper = roboRallyWrapper; camera = new OrthographicCamera(); @@ -43,7 +58,10 @@ public class CardChoiceScreen extends InputAdapter implements Screen { cardRectangles = new ArrayList<>(); shapeRenderer = new ShapeRenderer(); shapeRenderer.setAutoShapeType(true); - Gdx.input.setInputProcessor(this); + + InputMultiplexer inputMultiplexer = new InputMultiplexer(); + inputMultiplexer.addProcessor(this); + try { generateCards(); } catch (IOException e) { @@ -51,6 +69,26 @@ public class CardChoiceScreen extends InputAdapter implements Screen { } this.chosenCards = new ArrayList<>(); this.maxCards = 5; + stage = new Stage(); + inputMultiplexer.addProcessor(stage); + + confirmCards = new SimpleButton("Confirm cards", roboRallyWrapper.font).getButton(); + stage.addActor(confirmCards); + confirmCards.setY(viewport.getWorldHeight() + 60); + confirmCards.setX(15); + confirmCards.setTouchable(Touchable.enabled); + confirmCards.addListener(new InputListener() { + @Override + public boolean touchDown (InputEvent event, float x, float y, int pointer, int button) { + System.out.println(chosenCards.size()); + System.out.println(maxCards); + if (chosenCards.size() == maxCards) { + System.out.println("Lock cards!"); + } + return false; + } + }); + Gdx.input.setInputProcessor(inputMultiplexer); } /** @@ -60,10 +98,10 @@ public class CardChoiceScreen extends InputAdapter implements Screen { private void generateCards() throws IOException { IDeck deck = DeckLoaderUtil.loadProgrammingCardsDeck(); deck.shuffle(); - //Get 16 programming cards + //Get 9 programming cards List cardList = deck.getCards().subList(0, 9); float cardWidth = viewport.getWorldWidth() / 3; - float cardHeight = viewport.getWorldHeight() / 3; + float cardHeight = (viewport.getWorldHeight() - 30) / 3; for (int i = 0; i < 9; i++) { int x = (int)(((i % 3)*cardWidth) + 10); int y = (int)(((i / 3) * cardHeight + 10)); @@ -102,6 +140,7 @@ public class CardChoiceScreen extends InputAdapter implements Screen { shapeRenderer.rect(cardRectangle.rectangle.x, cardRectangle.rectangle.y, cardRectangle.rectangle.width, cardRectangle.rectangle.height); } + shapeRenderer.end(); roboRallyWrapper.batch.begin(); for (CardRectangle cardRectangle : cardRectangles) { @@ -112,6 +151,7 @@ public class CardChoiceScreen extends InputAdapter implements Screen { drawCardSymbol(cardRectangle); } roboRallyWrapper.batch.end(); + stage.draw(); } /** From bf4390ccea0a4a1e07c4446e65f8e46f2c2cda8c Mon Sep 17 00:00:00 2001 From: EpicKnarvik97 Date: Tue, 24 Mar 2020 15:26:20 +0100 Subject: [PATCH 12/13] =?UTF-8?q?Endrer=20runGameLoop=20til=20=C3=A5=20kj?= =?UTF-8?q?=C3=B8re=205=20tilfeldige=20faser?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../roborally/objects/RoboRallyGame.java | 54 ++++++++----------- 1 file changed, 22 insertions(+), 32 deletions(-) diff --git a/src/main/java/inf112/fiasko/roborally/objects/RoboRallyGame.java b/src/main/java/inf112/fiasko/roborally/objects/RoboRallyGame.java index d2c05e2..ce6e9a6 100644 --- a/src/main/java/inf112/fiasko/roborally/objects/RoboRallyGame.java +++ b/src/main/java/inf112/fiasko/roborally/objects/RoboRallyGame.java @@ -6,6 +6,7 @@ import inf112.fiasko.roborally.element_properties.Position; import inf112.fiasko.roborally.element_properties.RobotID; import inf112.fiasko.roborally.element_properties.TileType; import inf112.fiasko.roborally.utility.BoardLoaderUtil; +import inf112.fiasko.roborally.utility.DeckLoaderUtil; import java.io.IOException; import java.util.*; @@ -115,6 +116,17 @@ public class RoboRallyGame implements IDrawableGame { playerList.add(new Player(RobotID.ROBOT_6, "Player6")); playerList.add(new Player(RobotID.ROBOT_7, "Player7")); playerList.add(new Player(RobotID.ROBOT_8, "Player8")); + Deck cards = DeckLoaderUtil.loadProgrammingCardsDeck(); + for (Player player : playerList) { + cards.shuffle(); + List testProgram = new ArrayList<>(); + for (int i = 0; i < 5; i++) { + cards.shuffle(); + testProgram.add(cards.peekTop()); + } + player.setInProgram(testProgram); + } + gameBoard = BoardLoaderUtil.loadBoard("boards/Dizzy_Dash.txt", robots); cogwheels = gameBoard.getPositionsOfTileOnBoard(TileType.COGWHEEL_RIGHT, TileType.COGWHEEL_LEFT); @@ -149,33 +161,11 @@ public class RoboRallyGame implements IDrawableGame { */ private void runGameLoop() throws InterruptedException { TimeUnit.SECONDS.sleep(3); - makeMove(RobotID.ROBOT_1, Action.MOVE_1); - makeMove(RobotID.ROBOT_1, Action.MOVE_2); - fireAllLasers(); - makeMove(RobotID.ROBOT_1, Action.BACK_UP); - makeMove(RobotID.ROBOT_1, Action.BACK_UP); - makeMove(RobotID.ROBOT_1, Action.MOVE_3); - makeMove(RobotID.ROBOT_1, Action.ROTATE_LEFT); - makeMove(RobotID.ROBOT_1, Action.U_TURN); - makeMove(RobotID.ROBOT_1, Action.ROTATE_RIGHT); - makeMove(RobotID.ROBOT_2, Action.ROTATE_LEFT); - makeMove(RobotID.ROBOT_2, Action.MOVE_3); - makeMove(RobotID.ROBOT_2, Action.MOVE_3); - makeMove(RobotID.ROBOT_2, Action.BACK_UP); - makeMove(RobotID.ROBOT_2, Action.U_TURN); - makeMove(RobotID.ROBOT_2, Action.BACK_UP); - makeMove(RobotID.ROBOT_2, Action.BACK_UP); - makeMove(RobotID.ROBOT_2, Action.BACK_UP); - makeMove(RobotID.ROBOT_2, Action.MOVE_3); - makeMove(RobotID.ROBOT_2, Action.BACK_UP); - makeMove(RobotID.ROBOT_2, Action.BACK_UP); - makeMove(RobotID.ROBOT_2, Action.ROTATE_LEFT); - makeMove(RobotID.ROBOT_2, Action.U_TURN); - makeMove(RobotID.ROBOT_2, Action.MOVE_1); - moveAllConveyorBelts(); - checkAllFlags(); - rotateCogwheels(); - makeMove(RobotID.ROBOT_7, Action.MOVE_1); + runPhase(1); + runPhase(2); + runPhase(3); + runPhase(4); + runPhase(5); } /** @@ -408,20 +398,20 @@ public class RoboRallyGame implements IDrawableGame { } private void runProgramCards(int phase) throws InterruptedException { - List robotsToDoAction = new ArrayList<>(); List programToBeRun = new ArrayList<>(); List originalPriority = new ArrayList<>(); - for (Player player:playerList) { + for (Player player : playerList) { List playerProgram = player.getProgram(); if (!playerProgram.isEmpty()) { - originalPriority.add(playerProgram.get(phase).getPriority()); + ProgrammingCard programmingCard = playerProgram.get(phase); + originalPriority.add(programmingCard.getPriority()); robotsToDoAction.add(player.getRobotID()); - programToBeRun.add(playerProgram.get(phase)); + programToBeRun.add(programmingCard); } } Collections.sort(programToBeRun); - for (ProgrammingCard card:programToBeRun) { + for (ProgrammingCard card : programToBeRun) { int i = originalPriority.indexOf(card.getPriority()); RobotID robot = robotsToDoAction.get(i); makeMove(robot, card.getAction()); From 47facbabd61b6d8ff752bf9b4da62a450bea4e59 Mon Sep 17 00:00:00 2001 From: EpicKnarvik97 Date: Tue, 24 Mar 2020 15:27:38 +0100 Subject: [PATCH 13/13] Forbedrer kommentarer --- .../java/inf112/fiasko/roborally/objects/RoboRallyGame.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/inf112/fiasko/roborally/objects/RoboRallyGame.java b/src/main/java/inf112/fiasko/roborally/objects/RoboRallyGame.java index cfd9fe1..4ed8329 100644 --- a/src/main/java/inf112/fiasko/roborally/objects/RoboRallyGame.java +++ b/src/main/java/inf112/fiasko/roborally/objects/RoboRallyGame.java @@ -398,9 +398,9 @@ public class RoboRallyGame implements IDrawableGame { } /** - * Runs all the programs in the correct order for the phase that is given. - * @param phase The phaser Nr we are in. - * @throws InterruptedException If it gets interupted while trying to sleep + * Runs all programming cards for a phase + * @param phase The number of the phase to run cards for + * @throws InterruptedException If it gets interrupted while trying to sleep */ private void runProgramCards(int phase) throws InterruptedException { List robotsToDoAction = new ArrayList<>();