mirror of
				https://github.com/inf112-v20/Fiasko.git
				synced 2025-10-31 09:43:45 +01:00 
			
		
		
		
	Legger til mulighet for å velge debuggingbrettet
Setter viewport på brettvisning til de faktiske dimensjonene til brettet Oppdaterer informasjon om debug knapp og spillstatus i README
This commit is contained in:
		
							
								
								
									
										12
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								README.md
									
									
									
									
									
								
							| @@ -6,17 +6,19 @@ vil vi gå over til en fase der målet blir å implementere ting som er gøy, me | |||||||
| Alle regler er hentet fra 2005 utgaven av spillguiden fra Wizards of the Coast, Inc. | Alle regler er hentet fra 2005 utgaven av spillguiden fra Wizards of the Coast, Inc. | ||||||
|  |  | ||||||
| ## Spillstatus | ## Spillstatus | ||||||
| Spillet er nå i en tidlig alpha. Det er antakelig mulig å spille spillet, men ukjente bugs kan forekomme. | Spillet er nå i sen alpha. Det fungerer og virker relativt stabilt, men det kan fortsatt forekomme mange endringer,  | ||||||
|  | og nye bugs kan bli introdusert. | ||||||
|  |  | ||||||
| ## Knapper og kontrollmekanismer | ## Knapper og kontrollmekanismer | ||||||
| ### Knapper | ### Knapper | ||||||
| -   Q: Tilbakestiller kamera og kamerarotasjon | -   Q: Tilbakestiller kamera og kamerarotasjon på brettvisningsskjermen | ||||||
| -   R: Roterer kameraet | -   R: Roterer kameraet på brettvisningsskjermen | ||||||
| -   TAB: Bytter mellom kortvelging og brettvisning når en holder på med å velge kort | -   TAB: Bytter mellom kortvelging og brettvisning når en holder på med å velge kort | ||||||
|  | -   HOME: På lobby skjermen lar denne knappen deg velge et brett spesifikt laget for debugging | ||||||
|  |  | ||||||
| ### Andre egenskaper ved brukergrensesnittet | ### Andre egenskaper ved brukergrensesnittet | ||||||
| -   Rullehjulet vil forstørre og forminske spillbrettet | -   Rullehjulet vil forstørre og forminske spillbrettet på brettvisningsskjermen | ||||||
| -   Spillbrettet kan flyttes ved å holde inne venstre musetast og bevege musen i en retning | -   Spillbrettet kan flyttes ved å holde inne venstre musetast og bevege musen i en retning på brettvisningsskjermen | ||||||
|  |  | ||||||
| ## Bygging og kompilering | ## Bygging og kompilering | ||||||
|  |  | ||||||
|   | |||||||
| @@ -27,8 +27,8 @@ import java.util.List; | |||||||
| public class BoardActiveScreen extends InteractiveScreen { | public class BoardActiveScreen extends InteractiveScreen { | ||||||
|     private final RoboRallyWrapper roboRallyWrapper; |     private final RoboRallyWrapper roboRallyWrapper; | ||||||
|     private final int tileDimensions = 64; |     private final int tileDimensions = 64; | ||||||
|     private final int viewPortWidth = 12 * tileDimensions; |     private final int viewPortWidth; | ||||||
|     private final int viewPortHeight = 12 * tileDimensions; |     private final int viewPortHeight; | ||||||
|     private float cameraZoom = 1; |     private float cameraZoom = 1; | ||||||
|     private int cameraX = 0; |     private int cameraX = 0; | ||||||
|     private int cameraY = 0; |     private int cameraY = 0; | ||||||
| @@ -42,6 +42,9 @@ public class BoardActiveScreen extends InteractiveScreen { | |||||||
|     public BoardActiveScreen(final RoboRallyWrapper roboRallyWrapper) { |     public BoardActiveScreen(final RoboRallyWrapper roboRallyWrapper) { | ||||||
|         this.roboRallyWrapper = roboRallyWrapper; |         this.roboRallyWrapper = roboRallyWrapper; | ||||||
|  |  | ||||||
|  |         viewPortWidth = roboRallyWrapper.roboRallyGame.getWidth() * tileDimensions; | ||||||
|  |         viewPortHeight = roboRallyWrapper.roboRallyGame.getHeight() * tileDimensions; | ||||||
|  |  | ||||||
|         camera.setToOrtho(false, viewPortWidth, viewPortHeight); |         camera.setToOrtho(false, viewPortWidth, viewPortHeight); | ||||||
|         camera.position.set(viewPortWidth / 2f, viewPortHeight / 2f, 0); |         camera.position.set(viewPortWidth / 2f, viewPortHeight / 2f, 0); | ||||||
|         viewport = new ExtendViewport(viewPortWidth, viewPortHeight, camera); |         viewport = new ExtendViewport(viewPortWidth, viewPortHeight, camera); | ||||||
| @@ -139,7 +142,7 @@ public class BoardActiveScreen extends InteractiveScreen { | |||||||
|     @Override |     @Override | ||||||
|     public boolean scrolled(int amount) { |     public boolean scrolled(int amount) { | ||||||
|         if (amount < 0 && cameraZoom > 0.3 || amount > 0 && cameraZoom < 3) { |         if (amount < 0 && cameraZoom > 0.3 || amount > 0 && cameraZoom < 3) { | ||||||
|             cameraZoom += 0.2 * amount; |             cameraZoom += 0.1 * amount; | ||||||
|         } |         } | ||||||
|         return true; |         return true; | ||||||
|     } |     } | ||||||
| @@ -150,8 +153,8 @@ public class BoardActiveScreen extends InteractiveScreen { | |||||||
|     private void resetCamera() { |     private void resetCamera() { | ||||||
|         camera.up.x = 0; |         camera.up.x = 0; | ||||||
|         camera.up.y = 1; |         camera.up.y = 1; | ||||||
|         cameraZoom = 1.4f; |         cameraZoom = 1; | ||||||
|         camera.position.set(viewPortWidth / 2f + 128, viewPortHeight / 2f + 128, 0); |         camera.position.set(viewPortWidth / 1.5f, viewPortHeight / 2f, 0); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
| @@ -172,6 +175,7 @@ public class BoardActiveScreen extends InteractiveScreen { | |||||||
|                     object.flipX(), object.flipY()); |                     object.flipX(), object.flipY()); | ||||||
|         } |         } | ||||||
|         int index = 1; |         int index = 1; | ||||||
|  |         //Draws all participating players to the right of the board | ||||||
|         for (Player player : roboRallyWrapper.roboRallyGame.getPlayers()) { |         for (Player player : roboRallyWrapper.roboRallyGame.getPlayers()) { | ||||||
|             String playerName = player.getName(); |             String playerName = player.getName(); | ||||||
|             Robot robot = getPlayersRobot(player.getRobotID()); |             Robot robot = getPlayersRobot(player.getRobotID()); | ||||||
| @@ -179,20 +183,22 @@ public class BoardActiveScreen extends InteractiveScreen { | |||||||
|                 throw new IllegalArgumentException("The robot belonging to player " + playerName + |                 throw new IllegalArgumentException("The robot belonging to player " + playerName + | ||||||
|                         " does not exist on the board."); |                         " does not exist on the board."); | ||||||
|             } |             } | ||||||
|             roboRallyWrapper.font.draw(batch, playerName, viewPortWidth, 128 * index); |             roboRallyWrapper.font.getData().setScale(tileDimensions / 44); | ||||||
|  |             roboRallyWrapper.font.draw(batch, playerName, viewPortWidth, 2 * tileDimensions * index); | ||||||
|             roboRallyWrapper.font.draw(batch, "DMG: " + robot.getDamageTaken() + " LV: " + robot.getAmountOfLives(), |             roboRallyWrapper.font.draw(batch, "DMG: " + robot.getDamageTaken() + " LV: " + robot.getAmountOfLives(), | ||||||
|                     viewPortWidth, 96 + 128 * (index - 1)); |                     viewPortWidth, 1.5f * tileDimensions + 2 * tileDimensions * (index - 1)); | ||||||
|             int lastFlagVisited = robot.getLastFlagVisited(); |             int lastFlagVisited = robot.getLastFlagVisited(); | ||||||
|             if (lastFlagVisited > 0) { |             if (lastFlagVisited > 0) { | ||||||
|                 TileType flagType = TileType.getTileTypeFromID(robot.getLastFlagVisited() + 16); |                 TileType flagType = TileType.getTileTypeFromID(robot.getLastFlagVisited() + 16); | ||||||
|                 TextureRegion flagRegion = TextureConverterUtil.convertElement(new Tile(flagType, Direction.NORTH)); |                 TextureRegion flagRegion = TextureConverterUtil.convertElement(new Tile(flagType, Direction.NORTH)); | ||||||
|                 batch.draw(flagRegion.getTexture(), viewPortWidth + 64, 128 * (index - 1), 64 / 2, |                 batch.draw(flagRegion.getTexture(), viewPortWidth + tileDimensions, 2 * tileDimensions * | ||||||
|                         64 / 2, 64, 64, 1, 1, 0, flagRegion.getRegionX(), |                                 (index - 1), tileDimensions / 2, tileDimensions / 2, tileDimensions, | ||||||
|  |                         tileDimensions, 1, 1, 0, flagRegion.getRegionX(), | ||||||
|                         flagRegion.getRegionY(), flagRegion.getRegionWidth(), flagRegion.getRegionWidth(), |                         flagRegion.getRegionY(), flagRegion.getRegionWidth(), flagRegion.getRegionWidth(), | ||||||
|                         false, false); |                         false, false); | ||||||
|             } |             } | ||||||
|             TextureRegion robotTexture = TextureConverterUtil.convertElement(player.getRobotID()); |             TextureRegion robotTexture = TextureConverterUtil.convertElement(player.getRobotID()); | ||||||
|             batch.draw(robotTexture, viewPortWidth, 128 * (index - 1)); |             batch.draw(robotTexture, viewPortWidth, 2 * tileDimensions * (index - 1), tileDimensions, tileDimensions); | ||||||
|             index++; |             index++; | ||||||
|         } |         } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,12 +1,14 @@ | |||||||
| package inf112.fiasko.roborally.gamewrapper.screens; | package inf112.fiasko.roborally.gamewrapper.screens; | ||||||
|  |  | ||||||
| import com.badlogic.gdx.Gdx; | import com.badlogic.gdx.Gdx; | ||||||
|  | import com.badlogic.gdx.Input; | ||||||
| import com.badlogic.gdx.scenes.scene2d.InputEvent; | import com.badlogic.gdx.scenes.scene2d.InputEvent; | ||||||
| import com.badlogic.gdx.scenes.scene2d.ui.Dialog; | import com.badlogic.gdx.scenes.scene2d.ui.Dialog; | ||||||
| import com.badlogic.gdx.scenes.scene2d.ui.SelectBox; | import com.badlogic.gdx.scenes.scene2d.ui.SelectBox; | ||||||
| import com.badlogic.gdx.scenes.scene2d.ui.Skin; | import com.badlogic.gdx.scenes.scene2d.ui.Skin; | ||||||
| import com.badlogic.gdx.scenes.scene2d.ui.TextButton; | import com.badlogic.gdx.scenes.scene2d.ui.TextButton; | ||||||
| import com.badlogic.gdx.scenes.scene2d.utils.ClickListener; | import com.badlogic.gdx.scenes.scene2d.utils.ClickListener; | ||||||
|  | import com.badlogic.gdx.utils.Array; | ||||||
| import com.badlogic.gdx.utils.viewport.FitViewport; | import com.badlogic.gdx.utils.viewport.FitViewport; | ||||||
| import inf112.fiasko.roborally.gamewrapper.RoboRallyWrapper; | import inf112.fiasko.roborally.gamewrapper.RoboRallyWrapper; | ||||||
| import inf112.fiasko.roborally.gamewrapper.SimpleButton; | import inf112.fiasko.roborally.gamewrapper.SimpleButton; | ||||||
| @@ -21,8 +23,9 @@ import java.util.Map; | |||||||
| /** | /** | ||||||
|  * This screen allows the host to wait for players to join |  * This screen allows the host to wait for players to join | ||||||
|  */ |  */ | ||||||
| public class LobbyScreen extends AbstractScreen { | public class LobbyScreen extends InteractiveScreen { | ||||||
|     private final RoboRallyWrapper roboRallyWrapper; |     private final RoboRallyWrapper roboRallyWrapper; | ||||||
|  |     final SelectBox<String> selectBox; | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * Instantiates a new lobby screen |      * Instantiates a new lobby screen | ||||||
| @@ -43,7 +46,7 @@ public class LobbyScreen extends AbstractScreen { | |||||||
|  |  | ||||||
|         Dialog dialog = new Dialog("Setting", skin); |         Dialog dialog = new Dialog("Setting", skin); | ||||||
|  |  | ||||||
|         final SelectBox<String> selectBox = new SelectBox<>(skin); |         selectBox = new SelectBox<>(skin); | ||||||
|         selectBox.setItems("Dizzy_Dash", "Checkmate", "Risky_Exchange"); |         selectBox.setItems("Dizzy_Dash", "Checkmate", "Risky_Exchange"); | ||||||
|         selectBox.setPosition(Gdx.graphics.getWidth() / 2f - 100, Gdx.graphics.getHeight() / 2f - 100); |         selectBox.setPosition(Gdx.graphics.getWidth() / 2f - 100, Gdx.graphics.getHeight() / 2f - 100); | ||||||
|         selectBox.setSize(200, 50); |         selectBox.setSize(200, 50); | ||||||
| @@ -76,6 +79,27 @@ public class LobbyScreen extends AbstractScreen { | |||||||
|         stage.setViewport(viewport); |         stage.setViewport(viewport); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     @Override | ||||||
|  |     public void show() { | ||||||
|  |         super.show(); | ||||||
|  |         inputMultiplexer.addProcessor(this); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     @Override | ||||||
|  |     public boolean keyUp(int keyCode) { | ||||||
|  |         if (keyCode == Input.Keys.HOME) { | ||||||
|  |             Array<String> items = selectBox.getItems(); | ||||||
|  |             String testBoard = "all_tiles_test_board"; | ||||||
|  |             if (!items.contains(testBoard, true)) { | ||||||
|  |                 items.add(testBoard); | ||||||
|  |                 selectBox.setItems(items); | ||||||
|  |                 selectBox.setSelected(testBoard); | ||||||
|  |             } | ||||||
|  |             return true; | ||||||
|  |         } | ||||||
|  |         return false; | ||||||
|  |     } | ||||||
|  |  | ||||||
|     @Override |     @Override | ||||||
|     public void render(float delta) { |     public void render(float delta) { | ||||||
|         super.render(delta); |         super.render(delta); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user