Auto reformaterer alle klasser og tester for visuelt grensesnitt

This commit is contained in:
Kristian Knarvik 2020-04-20 13:11:23 +02:00
parent afe9e67969
commit a19e616257
13 changed files with 110 additions and 70 deletions

View File

@ -6,7 +6,7 @@ import com.badlogic.gdx.graphics.g2d.BitmapFont;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import inf112.fiasko.roborally.networking.RoboRallyClient;
import inf112.fiasko.roborally.networking.RoboRallyServer;
import inf112.fiasko.roborally.objects.IRoboRallyGame;
import inf112.fiasko.roborally.objects.RoboRallyGame;
/**
* This class acts as a wrapper around the different screens of the game
@ -15,7 +15,7 @@ public class RoboRallyWrapper extends Game {
public SpriteBatch batch;
public BitmapFont font;
public ScreenManager screenManager;
public IRoboRallyGame roboRallyGame;
public RoboRallyGame roboRallyGame;
public RoboRallyServer server;
public RoboRallyClient client;
@ -35,6 +35,7 @@ public class RoboRallyWrapper extends Game {
/**
* Quits the game after logging the input as an error
*
* @param string The error causing the game to quit
*/
public void quit(String string) {

View File

@ -1,7 +1,14 @@
package inf112.fiasko.roborally.gamewrapper;
import inf112.fiasko.roborally.gamewrapper.screens.*;
import inf112.fiasko.roborally.gamewrapper.screens.BoardActiveScreen;
import inf112.fiasko.roborally.gamewrapper.screens.CardChoiceScreen;
import inf112.fiasko.roborally.gamewrapper.screens.IPAddressScreen;
import inf112.fiasko.roborally.gamewrapper.screens.LoadingScreen;
import inf112.fiasko.roborally.gamewrapper.screens.LobbyScreen;
import inf112.fiasko.roborally.gamewrapper.screens.PowerDownScreen;
import inf112.fiasko.roborally.gamewrapper.screens.StartMenuScreen;
import inf112.fiasko.roborally.gamewrapper.screens.UsernameScreen;
import inf112.fiasko.roborally.gamewrapper.screens.WinnerScreen;
/**
* Keeps track of screen instances
@ -26,6 +33,7 @@ public class ScreenManager {
/**
* Gets an instance of the winner screen
*
* @param roboRallyWrapper The Robo Rally launcher instance to use
* @return A winner screen instance
*/
@ -38,6 +46,7 @@ public class ScreenManager {
/**
* Gets an instance of the power down screen
*
* @param roboRallyWrapper The Robo Rally launcher instance to use
* @return A power down screen instance
*/
@ -50,6 +59,7 @@ public class ScreenManager {
/**
* Gets an instance of the lobby screen
*
* @param roboRallyWrapper The Robo Rally launcher instance to use
* @return A lobby screen instance
*/
@ -62,6 +72,7 @@ public class ScreenManager {
/**
* Gets an instance of the ip address screen
*
* @param roboRallyWrapper The Robo Rally launcher instance to use
* @return An ip address screen instance
*/
@ -74,6 +85,7 @@ public class ScreenManager {
/**
* Gets an instance of the username screen
*
* @param roboRallyWrapper The Robo Rally launcher instance to use
* @return A username screen instance
*/
@ -86,6 +98,7 @@ public class ScreenManager {
/**
* Gets an instance of the start menu screen
*
* @param roboRallyWrapper The Robo Rally launcher instance to use
* @return A start menu screen instance
*/
@ -95,6 +108,7 @@ public class ScreenManager {
/**
* Gets an instance of the loading screen
*
* @param roboRallyWrapper The Robo Rally launcher instance to use
* @return A loading screen instance
*/
@ -107,6 +121,7 @@ public class ScreenManager {
/**
* Gets an instance of the board active screen
*
* @param roboRallyWrapper The Robo Rally launcher instance to use
* @return A board active screen instance
*/

View File

@ -14,6 +14,7 @@ public class SimpleButton {
/**
* Instantiates a new simple button
*
* @param text The text to display on the button
* @param font The font to use to draw button text
*/
@ -29,6 +30,7 @@ public class SimpleButton {
/**
* Gets the button generated
*
* @return A button
*/
public TextButton getButton() {

View File

@ -14,8 +14,8 @@ import com.badlogic.gdx.utils.viewport.ExtendViewport;
import com.badlogic.gdx.utils.viewport.Viewport;
import inf112.fiasko.roborally.elementproperties.GameState;
import inf112.fiasko.roborally.gamewrapper.RoboRallyWrapper;
import inf112.fiasko.roborally.objects.IDrawableObject;
import inf112.fiasko.roborally.objects.IRoboRallyGame;
import inf112.fiasko.roborally.objects.DrawableObject;
import inf112.fiasko.roborally.objects.RoboRallyGame;
import inf112.fiasko.roborally.utility.IOUtil;
import inf112.fiasko.roborally.utility.TextureConverterUtil;
@ -27,19 +27,19 @@ import java.util.List;
public class BoardActiveScreen extends AbstractScreen implements InputProcessor {
private final RoboRallyWrapper roboRallyWrapper;
private final OrthographicCamera camera;
private IRoboRallyGame debugGame;
private final int tileDimensions = 64;
private final int viewPortWidth = 12 * tileDimensions;
private final int viewPortHeight = 12 * tileDimensions;
private final Viewport viewport;
private RoboRallyGame debugGame;
private float cameraZoom = 1;
private int cameraX = 0;
private int cameraY = 0;
private Vector2 lastTouch;
private final int viewPortWidth = 12 * tileDimensions;
private final int viewPortHeight = 12 * tileDimensions;
private final Viewport viewport;
/**
* Instantiates a new board active screen
*
* @param roboRallyWrapper The Robo Rally wrapper which is parent of this screen
*/
public BoardActiveScreen(final RoboRallyWrapper roboRallyWrapper) {
@ -67,9 +67,9 @@ public class BoardActiveScreen extends AbstractScreen implements InputProcessor
@Override
public void render(float delta) {
Gdx.gl.glClearColor(0,0,0,1);
Gdx.gl.glClearColor(0, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT | GL20.GL_DEPTH_BUFFER_BIT |
(Gdx.graphics.getBufferFormat().coverageSampling?GL20.GL_COVERAGE_BUFFER_BIT_NV:0));
(Gdx.graphics.getBufferFormat().coverageSampling ? GL20.GL_COVERAGE_BUFFER_BIT_NV : 0));
updateCamera();
roboRallyWrapper.batch.setProjectionMatrix(camera.combined);
roboRallyWrapper.batch.begin();
@ -79,8 +79,7 @@ public class BoardActiveScreen extends AbstractScreen implements InputProcessor
// Checks if there has been found a winning player and then changes the screen to display the winning screen
if (roboRallyWrapper.roboRallyGame.getGameState() == GameState.GAME_IS_WON) {
roboRallyWrapper.setScreen(roboRallyWrapper.screenManager.getWinnerScreen(roboRallyWrapper));
}
else if (roboRallyWrapper.roboRallyGame.getGameState() == GameState.CHOOSING_STAY_IN_POWER_DOWN){
} else if (roboRallyWrapper.roboRallyGame.getGameState() == GameState.CHOOSING_STAY_IN_POWER_DOWN) {
roboRallyWrapper.setScreen(roboRallyWrapper.screenManager.getPowerDownScreen(roboRallyWrapper));
}
}
@ -100,7 +99,7 @@ public class BoardActiveScreen extends AbstractScreen implements InputProcessor
@Override
public boolean keyUp(int keyCode) {
if (keyCode == Input.Keys.HOME) {
IRoboRallyGame temp = roboRallyWrapper.roboRallyGame;
RoboRallyGame temp = roboRallyWrapper.roboRallyGame;
roboRallyWrapper.roboRallyGame = debugGame;
this.debugGame = temp;
return true;
@ -140,8 +139,8 @@ public class BoardActiveScreen extends AbstractScreen implements InputProcessor
Vector2 diff = newTouch.cpy().sub(lastTouch);
lastTouch = newTouch;
int[] positionChange = translateCoordinateAccountingForCameraRotation(diff.x, diff.y);
cameraX = (int)(positionChange[0] * cameraZoom);
cameraY = (int)(positionChange[1] * cameraZoom);
cameraX = (int) (positionChange[0] * cameraZoom);
cameraY = (int) (positionChange[1] * cameraZoom);
return true;
}
@ -170,15 +169,16 @@ public class BoardActiveScreen extends AbstractScreen implements InputProcessor
/**
* Renders all drawable objects on the board
*
* @param batch The sprite batch to use for drawing
*/
private void drawBoard(SpriteBatch batch) {
List<IDrawableObject> elementsToDraw =
List<DrawableObject> elementsToDraw =
IOUtil.getDrawableObjectsFromGame(roboRallyWrapper.roboRallyGame, tileDimensions, tileDimensions);
for (IDrawableObject object : elementsToDraw) {
for (DrawableObject object : elementsToDraw) {
TextureRegion objectTextureRegion = object.getTexture();
batch.draw(objectTextureRegion.getTexture(), object.getXPosition(), object.getYPosition(),
(float)object.getWidth() / 2, (float)object.getHeight() / 2,
(float) object.getWidth() / 2, (float) object.getHeight() / 2,
object.getWidth(), object.getHeight(), 1, 1, object.getRotation(),
objectTextureRegion.getRegionX(), objectTextureRegion.getRegionY(),
objectTextureRegion.getRegionWidth(), objectTextureRegion.getRegionHeight(),
@ -199,6 +199,7 @@ public class BoardActiveScreen extends AbstractScreen implements InputProcessor
/**
* Translates x and y coordinates according to the camera's direction
*
* @param x The x coordinate to translate
* @param y The y coordinate to translate
* @return A list containing the translated coordinates of x and y

View File

@ -47,6 +47,7 @@ public class CardChoiceScreen extends InputAdapter implements Screen {
/**
* Instantiates a new card choice screen
*
* @param roboRallyWrapper The Robo Rally wrapper which is parent of this screen
*/
public CardChoiceScreen(final RoboRallyWrapper roboRallyWrapper) {
@ -82,12 +83,13 @@ public class CardChoiceScreen extends InputAdapter implements Screen {
/**
* Generates a listener for confirming cards
*
* @return An input listener
*/
private InputListener getConfirmListener() {
return new InputListener() {
@Override
public boolean touchDown (InputEvent event, float x, float y, int pointer, int button) {
public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
if (chosenCards.size() == maxCards) {
roboRallyWrapper.roboRallyGame.setProgram(getCards());
roboRallyWrapper.roboRallyGame.setGameState(GameState.CHOOSING_POWER_DOWN);
@ -104,6 +106,7 @@ public class CardChoiceScreen extends InputAdapter implements Screen {
/**
* Gets a list of programming cards from the player's chosen cards
*
* @return A list of programming cards
*/
private List<ProgrammingCard> getCards() {
@ -114,6 +117,7 @@ public class CardChoiceScreen extends InputAdapter implements Screen {
/**
* Calculates positions for cards in the given deck
*
* @param deck A deck containing cards which can be chosen
*/
private void generateCards(ProgrammingCardDeck deck) {
@ -121,13 +125,13 @@ public class CardChoiceScreen extends InputAdapter implements Screen {
float cardWidth = viewport.getWorldWidth() / 3;
float cardHeight = (viewport.getWorldHeight() - 30) / 3;
for (int i = 0; i < cardList.size(); i++) {
int x = (int)(((i % 3) * cardWidth) + 10);
int y = (int)(((i / 3) * cardHeight + 10));
int x = (int) (((i % 3) * cardWidth) + 10);
int y = (int) (((i / 3) * cardHeight + 10));
Rectangle card = new Rectangle();
card.x = x;
card.y = y;
card.width = (int)cardWidth - 20;
card.height = (int)cardHeight - 20;
card.width = (int) cardWidth - 20;
card.height = (int) cardHeight - 20;
ProgrammingCard programmingCard = cardList.get(i);
CardRectangle cardRectangle = new CardRectangle(card, programmingCard);
cardRectangles.add(cardRectangle);
@ -179,7 +183,7 @@ public class CardChoiceScreen extends InputAdapter implements Screen {
for (CardRectangle cardRectangle : cardRectangles) {
GlyphLayout layout = new GlyphLayout(roboRallyWrapper.font,
Integer.toString(cardRectangle.card.getPriority()));
float fontX = (int)(cardRectangle.rectangle.x + (cardRectangle.rectangle.width - layout.width) / 2.0);
float fontX = (int) (cardRectangle.rectangle.x + (cardRectangle.rectangle.width - layout.width) / 2.0);
float fontY = cardRectangle.rectangle.y + cardRectangle.rectangle.height - 30;
roboRallyWrapper.font.draw(roboRallyWrapper.batch, layout, fontX, fontY);
drawCardSymbol(cardRectangle);
@ -188,6 +192,7 @@ public class CardChoiceScreen extends InputAdapter implements Screen {
/**
* Draws the symbol on a card
*
* @param cardRectangle The card rectangle to draw
*/
private void drawCardSymbol(CardRectangle cardRectangle) {

View File

@ -13,8 +13,9 @@ public class CardRectangle {
/**
* Instantiates a new card rectangle
*
* @param rectangle The rectangle of this card rectangle
* @param card The card of this card rectangle
* @param card The card of this card rectangle
*/
CardRectangle(Rectangle rectangle, ProgrammingCard card) {
this.rectangle = rectangle;

View File

@ -31,6 +31,7 @@ public class IPAddressScreen extends AbstractScreen {
/**
* Instantiates a new ip address screen
*
* @param roboRallyWrapper The Robo Rally wrapper which is parent of this screen
*/
public IPAddressScreen(final RoboRallyWrapper roboRallyWrapper) {
@ -38,8 +39,8 @@ public class IPAddressScreen extends AbstractScreen {
Skin skin = new Skin(Gdx.files.internal("uiskin.json"));
TextButton joinButton = new TextButton("Join", skin);
joinButton.setSize(300,60);
joinButton.setPosition(applicationWidth/2f -joinButton.getWidth()/2f,300);
joinButton.setSize(300, 60);
joinButton.setPosition(applicationWidth / 2f - joinButton.getWidth() / 2f, 300);
joinButton.addListener(new ClickListener() {
@Override
public boolean touchDown(InputEvent e, float x, float y, int point, int button) {
@ -49,7 +50,7 @@ public class IPAddressScreen extends AbstractScreen {
@Override
public void touchUp(InputEvent e, float x, float y, int point, int button) {
try {
roboRallyWrapper.client = new RoboRallyClient(txtinput.getText(),roboRallyWrapper);
roboRallyWrapper.client = new RoboRallyClient(txtinput.getText(), roboRallyWrapper);
roboRallyWrapper.setScreen(roboRallyWrapper.screenManager.getUsernameScreen(roboRallyWrapper));
} catch (IOException ex) {
ex.printStackTrace();
@ -59,8 +60,8 @@ public class IPAddressScreen extends AbstractScreen {
}
});
txtinput = new TextField("", skin);
txtinput.setPosition(applicationWidth/2f -txtinput.getWidth()/2f,250);
txtinput.setSize(150,40);
txtinput.setPosition(applicationWidth / 2f - txtinput.getWidth() / 2f, 250);
txtinput.setSize(150, 40);
stage.addActor(txtinput);
stage.addActor(joinButton);
@ -85,7 +86,7 @@ public class IPAddressScreen extends AbstractScreen {
roboRallyWrapper.batch.begin();
roboRallyWrapper.font.draw(roboRallyWrapper.batch, "Enter IP address and click the button to join a server",
applicationWidth / 2f - 380 / 2f,applicationHeight / 2f + 100,380, 1,
applicationWidth / 2f - 380 / 2f, applicationHeight / 2f + 100, 380, 1,
true);
roboRallyWrapper.batch.end();
stage.draw();

View File

@ -19,6 +19,7 @@ public class LoadingScreen extends AbstractScreen {
/**
* Instantiates a new loading screen
*
* @param roboRallyWrapper The Robo Rally wrapper which is parent of this screen
*/
public LoadingScreen(final RoboRallyWrapper roboRallyWrapper) {
@ -37,7 +38,7 @@ public class LoadingScreen extends AbstractScreen {
roboRallyWrapper.batch.begin();
roboRallyWrapper.font.draw(roboRallyWrapper.batch, "Loading...", applicationWidth / 2f - 380 / 2f,
applicationHeight / 2f,380, 1, true);
applicationHeight / 2f, 380, 1, true);
roboRallyWrapper.batch.end();
if (roboRallyWrapper.roboRallyGame != null) {
@ -50,6 +51,7 @@ public class LoadingScreen extends AbstractScreen {
/**
* Changes to another screen depending on which state the game is in
*
* @param gameState The current state of the game
*/
private void handleScreenChange(GameState gameState) {
@ -62,7 +64,12 @@ public class LoadingScreen extends AbstractScreen {
break;
case CHOOSING_CARDS:
roboRallyWrapper.setScreen(roboRallyWrapper.screenManager.getCardChoiceScreen(this.roboRallyWrapper));
break; }
break;
default:
if (gameState != GameState.LOADING) {
System.out.println("Don't know what to do with " + gameState);
}
}
}
@Override

View File

@ -31,27 +31,28 @@ public class LobbyScreen extends AbstractScreen {
/**
* Instantiates a new lobby screen
*
* @param roboRallyWrapper The Robo Rally wrapper which is parent of this screen
*/
public LobbyScreen(final RoboRallyWrapper roboRallyWrapper) {
camera = new OrthographicCamera();
viewport = new FitViewport(applicationWidth, applicationHeight, camera);
stage = new Stage();
TextButton startGameButton= new SimpleButton("Start", roboRallyWrapper.font).getButton();
TextButton startGameButton = new SimpleButton("Start", roboRallyWrapper.font).getButton();
stage.addActor(startGameButton);
startGameButton.setY(applicationHeight / 2f-50 );
startGameButton.setY(applicationHeight / 2f - 50);
startGameButton.setX(applicationWidth / 2f - startGameButton.getWidth() / 2f);
this.roboRallyWrapper = roboRallyWrapper;
camera.setToOrtho(false, applicationWidth, applicationHeight);
startGameButton.addListener(new InputListener() {
@Override
public boolean touchDown (InputEvent event, float x, float y, int pointer, int button) {
Map<Connection,String> playernames = roboRallyWrapper.server.getPlayerNames();
public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
Map<Connection, String> playernames = roboRallyWrapper.server.getPlayerNames();
List<Player> playerlist = IOUtil.playerGenerator(playernames,
roboRallyWrapper.server.getRobotID());
for (Connection connection:playernames.keySet()) {
roboRallyWrapper.server.sendToClient(connection,new GameStartInfo("Checkmate.txt"
,playerlist,playernames.get(connection)));
for (Connection connection : playernames.keySet()) {
roboRallyWrapper.server.sendToClient(connection, new GameStartInfo("Checkmate.txt"
, playerlist, playernames.get(connection)));
}
roboRallyWrapper.setScreen(roboRallyWrapper.screenManager.getLoadingScreen(roboRallyWrapper));
return true;
@ -75,10 +76,10 @@ public class LobbyScreen extends AbstractScreen {
roboRallyWrapper.batch.begin();
roboRallyWrapper.font.draw(roboRallyWrapper.batch, "Joined players: " +
roboRallyWrapper.server.getPlayerNames().values().toString(),
applicationWidth / 2f - 380 / 2f,applicationHeight / 2f + 350,380, 1,
applicationWidth / 2f - 380 / 2f, applicationHeight / 2f + 350, 380, 1,
true);
roboRallyWrapper.font.draw(roboRallyWrapper.batch, "Click the button to start game",
applicationWidth / 2f - 380 / 2f,applicationHeight / 2f + 100,380, 1,
applicationWidth / 2f - 380 / 2f, applicationHeight / 2f + 100, 380, 1,
true);
roboRallyWrapper.batch.end();
stage.draw();

View File

@ -27,6 +27,7 @@ public class PowerDownScreen extends AbstractScreen {
/**
* Instantiates a new power down screen
*
* @param roboRallyWrapper The Robo Rally wrapper which is parent of this screen
*/
public PowerDownScreen(final RoboRallyWrapper roboRallyWrapper) {
@ -36,14 +37,14 @@ public class PowerDownScreen extends AbstractScreen {
stage.setViewport(viewport);
TextButton powerDownButton = new SimpleButton("PowerDown", roboRallyWrapper.font).getButton();
stage.addActor(powerDownButton);
powerDownButton.setY(applicationHeight / 2f-50);
powerDownButton.setY(applicationHeight / 2f - 50);
powerDownButton.setX(applicationWidth / 2f - powerDownButton.getWidth() / 2f);
this.roboRallyWrapper = roboRallyWrapper;
camera.setToOrtho(false, applicationWidth, applicationHeight);
startTime = System.currentTimeMillis();
powerDownButton.addListener(new InputListener() {
@Override
public boolean touchDown (InputEvent event, float x, float y, int pointer, int button) {
public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
sendPowerDownStatus(true);
return true;
}
@ -57,25 +58,26 @@ public class PowerDownScreen extends AbstractScreen {
camera.update();
roboRallyWrapper.batch.setProjectionMatrix(camera.combined);
int elapsedTime = (int)Math.floor((System.currentTimeMillis() - startTime) / 1000f);
int elapsedTime = (int) Math.floor((System.currentTimeMillis() - startTime) / 1000f);
roboRallyWrapper.batch.begin();
roboRallyWrapper.font.draw(roboRallyWrapper.batch, "Click the button to enter Power Down next round",
applicationWidth / 2f - 380 / 2f,applicationHeight / 2f + 100,380, 1,
applicationWidth / 2f - 380 / 2f, applicationHeight / 2f + 100, 380, 1,
true);
roboRallyWrapper.font.draw(roboRallyWrapper.batch, String.valueOf(10 - elapsedTime),
applicationWidth / 2f - 40 / 2f,applicationHeight / 2f - 100,40, 1,
applicationWidth / 2f - 40 / 2f, applicationHeight / 2f - 100, 40, 1,
true);
roboRallyWrapper.batch.end();
stage.draw();
if (elapsedTime > 10) {
sendPowerDownStatus( false);
sendPowerDownStatus(false);
}
}
/**
* Sends power down status to the server
*
* @param bool Whether the player wants to go/stay in power down
*/
private void sendPowerDownStatus(boolean bool) {

View File

@ -28,6 +28,7 @@ public class StartMenuScreen extends AbstractScreen {
/**
* Instantiates a new start menu screen
*
* @param roboRallyWrapper The Robo Rally wrapper which is parent of this screen
*/
public StartMenuScreen(final RoboRallyWrapper roboRallyWrapper) {
@ -42,7 +43,7 @@ public class StartMenuScreen extends AbstractScreen {
camera.setToOrtho(false, applicationWidth, applicationHeight);
serverButton.addListener(new InputListener() {
@Override
public boolean touchDown (InputEvent event, float x, float y, int pointer, int button) {
public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
try {
roboRallyWrapper.server = new RoboRallyServer();
roboRallyWrapper.client = new RoboRallyClient("127.0.0.1", roboRallyWrapper);
@ -63,7 +64,7 @@ public class StartMenuScreen extends AbstractScreen {
Gdx.input.setInputProcessor(stage);
clientButton.addListener(new InputListener() {
@Override
public boolean touchDown (InputEvent event, float x, float y, int pointer, int button) {
public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
roboRallyWrapper.setScreen(roboRallyWrapper.screenManager.getIPAddressScreen(roboRallyWrapper));
return true;
}
@ -75,14 +76,14 @@ public class StartMenuScreen extends AbstractScreen {
camera.setToOrtho(false, applicationWidth, applicationHeight);
quitButton.addListener(new InputListener() {
@Override
public boolean touchDown (InputEvent event, float x, float y, int pointer, int button) {
public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
roboRallyWrapper.quit();
return true;
}
});
serverButton.setX(applicationWidth / 2f-serverButton.getWidth()-clientButton.getWidth()/2 - 10);
clientButton.setX(applicationWidth / 2f - clientButton.getWidth()/2);
quitButton.setX(applicationWidth / 2f + clientButton.getWidth()/2+10);
serverButton.setX(applicationWidth / 2f - serverButton.getWidth() - clientButton.getWidth() / 2 - 10);
clientButton.setX(applicationWidth / 2f - clientButton.getWidth() / 2);
quitButton.setX(applicationWidth / 2f + clientButton.getWidth() / 2 + 10);
}
@ -100,7 +101,7 @@ public class StartMenuScreen extends AbstractScreen {
roboRallyWrapper.batch.begin();
roboRallyWrapper.font.draw(roboRallyWrapper.batch, "RoboRally",
applicationWidth / 2f - 380 / 2f,applicationHeight / 2f + 100,380, 1,
applicationWidth / 2f - 380 / 2f, applicationHeight / 2f + 100, 380, 1,
true);
roboRallyWrapper.batch.end();
stage.draw();

View File

@ -26,6 +26,7 @@ public class UsernameScreen extends AbstractScreen {
/**
* Instantiates a new username screen
*
* @param roboRallyWrapper The Robo Rally wrapper which is parent of this screen
*/
public UsernameScreen(final RoboRallyWrapper roboRallyWrapper) {
@ -33,8 +34,8 @@ public class UsernameScreen extends AbstractScreen {
Skin skin = new Skin(Gdx.files.internal("uiskin.json"));
TextButton confirm = new TextButton("Confirm", skin);
confirm.setSize(300,60);
confirm.setPosition(applicationWidth/2f - confirm.getWidth()/2,300);
confirm.setSize(300, 60);
confirm.setPosition(applicationWidth / 2f - confirm.getWidth() / 2, 300);
confirm.addListener(new ClickListener() {
@Override
public boolean touchDown(InputEvent e, float x, float y, int point, int button) {
@ -50,14 +51,14 @@ public class UsernameScreen extends AbstractScreen {
roboRallyWrapper.client.sendElement(userName);
if (roboRallyWrapper.server == null) {
roboRallyWrapper.setScreen(roboRallyWrapper.screenManager.getLoadingScreen(roboRallyWrapper));
} else{
} else {
roboRallyWrapper.setScreen(roboRallyWrapper.screenManager.getLobbyScreen(roboRallyWrapper));
}
}
});
textInput = new TextField("",skin);
textInput.setPosition(applicationWidth/2f - textInput.getWidth()/2,250);
textInput.setSize(150,40);
textInput = new TextField("", skin);
textInput.setPosition(applicationWidth / 2f - textInput.getWidth() / 2, 250);
textInput.setSize(150, 40);
stage.addActor(textInput);
stage.addActor(confirm);
@ -70,6 +71,7 @@ public class UsernameScreen extends AbstractScreen {
/**
* Checks whether the username is invalid
*
* @param userName The username the user wants
* @return False if the username can be used
*/
@ -92,7 +94,7 @@ public class UsernameScreen extends AbstractScreen {
roboRallyWrapper.batch.begin();
roboRallyWrapper.font.draw(roboRallyWrapper.batch, "Click the button to enter username",
applicationWidth / 2f - 380 / 2f,applicationHeight / 2f + 100,380, 1,
applicationWidth / 2f - 380 / 2f, applicationHeight / 2f + 100, 380, 1,
true);
roboRallyWrapper.batch.end();
stage.draw();

View File

@ -22,6 +22,7 @@ public class WinnerScreen extends AbstractScreen {
/**
* Instantiates a new winner screen
*
* @param roboRallyWrapper The Robo Rally wrapper which is parent of this screen
*/
public WinnerScreen(final RoboRallyWrapper roboRallyWrapper) {
@ -35,12 +36,12 @@ public class WinnerScreen extends AbstractScreen {
camera.setToOrtho(false, applicationWidth, applicationHeight);
quitButton.addListener(new InputListener() {
@Override
public boolean touchDown (InputEvent event, float x, float y, int pointer, int button) {
public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
Gdx.app.exit();
return true;
}
});
quitButton.setX(applicationWidth / 2f + quitButton.getWidth()/2);
quitButton.setX(applicationWidth / 2f + quitButton.getWidth() / 2);
this.roboRallyWrapper = roboRallyWrapper;
camera.setToOrtho(false, applicationWidth, applicationHeight);
}
@ -54,11 +55,11 @@ public class WinnerScreen extends AbstractScreen {
roboRallyWrapper.batch.begin();
roboRallyWrapper.font.draw(roboRallyWrapper.batch, "The winner is: " +
roboRallyWrapper.roboRallyGame.getWinningPlayerName(),applicationWidth / 2f - 380 / 2f,
applicationHeight / 2f + 100,380, 1,
roboRallyWrapper.roboRallyGame.getWinningPlayerName(), applicationWidth / 2f - 380 / 2f,
applicationHeight / 2f + 100, 380, 1,
true);
roboRallyWrapper.font.draw(roboRallyWrapper.batch, "Click the button to exit the game",
applicationWidth / 2f - 380 / 2f,applicationHeight / 2f + 100,380, 1,
applicationWidth / 2f - 380 / 2f, applicationHeight / 2f + 100, 380, 1,
true);
roboRallyWrapper.batch.end();
stage.draw();