diff --git a/build.gradle b/build.gradle index 3e05a41d0a249fac3dde26b7621e421de3a8f708..dba461faf027aa17f11ca3097a75e95d20372ccb 100644 --- a/build.gradle +++ b/build.gradle @@ -7,7 +7,7 @@ buildscript { google() } dependencies { - classpath 'com.android.tools.build:gradle:8.1.4' + classpath 'com.android.tools.build:gradle:8.3.0' classpath 'com.google.gms:google-services:4.4.1' diff --git a/core/src/com/wordbattle/game/controller/FinalLeaderBoardController.java b/core/src/com/wordbattle/game/controller/FinalLeaderBoardController.java index 2d2d22c398bce6902e6d02e998abb11ffe6ed1cf..2cf7d84a1345648fb51b6f4e870f8b314a564a7f 100644 --- a/core/src/com/wordbattle/game/controller/FinalLeaderBoardController.java +++ b/core/src/com/wordbattle/game/controller/FinalLeaderBoardController.java @@ -76,11 +76,12 @@ public class FinalLeaderBoardController { } - public int calculateBackgroundRenders(){ + private int calculateBackgroundRenders(){ return 1 +lenLeaderBordPage / WordBattle.HEIGHT; } public void dispose(){ + finalLeaderBoardView.dispose(); } diff --git a/core/src/com/wordbattle/game/controller/LeaderBoardController.java b/core/src/com/wordbattle/game/controller/LeaderBoardController.java index a74232aad525b47682eff9c8a3f0d6ab9a56d084..3ebf4a85daff2fbb82c36da59765c6ebff9808ab 100644 --- a/core/src/com/wordbattle/game/controller/LeaderBoardController.java +++ b/core/src/com/wordbattle/game/controller/LeaderBoardController.java @@ -77,11 +77,13 @@ public class LeaderBoardController { } - public int calculateBackgroundRenders(){ + private int calculateBackgroundRenders(){ return 1+ lenLeaderBordPage / WordBattle.HEIGHT; } public void dispose(){ + leaderBoardView.dispose(); + } } diff --git a/core/src/com/wordbattle/game/controller/MainMenuController.java b/core/src/com/wordbattle/game/controller/MainMenuController.java index 835821726ff60c96512fa0ff92baa16de6705b7a..ca1c963cdc325c25c5cd5d6926f3ea6b0046ce65 100644 --- a/core/src/com/wordbattle/game/controller/MainMenuController.java +++ b/core/src/com/wordbattle/game/controller/MainMenuController.java @@ -15,6 +15,7 @@ import com.wordbattle.game.states.MainMenuState; import com.wordbattle.game.states.StartState; import com.wordbattle.game.states.StartingGameState; import com.wordbattle.game.states.StateManager; +import com.wordbattle.game.states.WaitForHostState; import com.wordbattle.game.view.MainMenuView; import java.util.logging.Logger; @@ -53,7 +54,7 @@ public class MainMenuController { // Button checks if (joinGameButtonBounds.contains(touchPos.x, touchPos.y)) { System.out.println("Join Game Button Pressed"); - state.getStateManager().setState(new JoinGameState(state.getStateManager())); + state.getStateManager().setState(new WaitForHostState(state.getStateManager())); } if (newGameButtonBounds.contains(touchPos.x, touchPos.y)) { diff --git a/core/src/com/wordbattle/game/controller/WaitForHostController.java b/core/src/com/wordbattle/game/controller/WaitForHostController.java index 78ce85fd9c2b21fcd08ad2211b0afc02b9d8caff..fecbd7ea4e1667b8b453672abb2c49e52fcf7e71 100644 --- a/core/src/com/wordbattle/game/controller/WaitForHostController.java +++ b/core/src/com/wordbattle/game/controller/WaitForHostController.java @@ -1,6 +1,10 @@ package com.wordbattle.game.controller; +import com.badlogic.gdx.Gdx; import com.badlogic.gdx.graphics.g2d.SpriteBatch; +import com.badlogic.gdx.math.Vector3; +import com.wordbattle.game.WordBattle; +import com.wordbattle.game.states.CreateGameState; import com.wordbattle.game.states.WaitForHostState; import com.wordbattle.game.view.WaitForHostView; @@ -9,15 +13,38 @@ public class WaitForHostController { WaitForHostState state; WaitForHostView view; + int lenWaitingPage; + public WaitForHostController(WaitForHostState state){ this.state=state; view= new WaitForHostView(state.getCam()); + lenWaitingPage=2500; + view.setNumBackgroundRenders(calculateBackgroundRenders()); } - + int mouseYCoordinate; private void handleInput(){ + if (Gdx.input.justTouched()){ + mouseYCoordinate =Gdx.input.getY(); + + + } + if (Gdx.input.isTouched()){ + int scrollDistance=mouseYCoordinate-Gdx.input.getY(); + + mouseYCoordinate=Gdx.input.getY(); + if( (view.getCam().viewportHeight/2 + view.getCam().position.y) -scrollDistance < WordBattle.HEIGHT && ( (-view.getCam().viewportHeight/2) + view.getCam().position.y) -scrollDistance > WordBattle.HEIGHT-lenWaitingPage ){ + view.getCam().translate(0,-scrollDistance); + + } + + + } + + + } public void update(float dt){ @@ -28,7 +55,12 @@ public class WaitForHostController { view.render(spriteBatch); } + private int calculateBackgroundRenders(){ + return 1+ lenWaitingPage / WordBattle.HEIGHT; + } + public void dispose(){ + view.dispose(); } diff --git a/core/src/com/wordbattle/game/controller/WaitingLobbyController.java b/core/src/com/wordbattle/game/controller/WaitingLobbyController.java index 0ab581433684ee8d469c8860012f97c7be489497..9672d01dcc573c96567da274886d94b9e7304334 100644 --- a/core/src/com/wordbattle/game/controller/WaitingLobbyController.java +++ b/core/src/com/wordbattle/game/controller/WaitingLobbyController.java @@ -29,7 +29,6 @@ public class WaitingLobbyController { } - public void update(float dt){ handleInput(); } diff --git a/core/src/com/wordbattle/game/states/WaitForHostState.java b/core/src/com/wordbattle/game/states/WaitForHostState.java index 196dfb6b118a6133e4e257a6ea3ffdd8f26b0d90..b57a4c23d6ab8a997624a1efcffaebb2e6e4745b 100644 --- a/core/src/com/wordbattle/game/states/WaitForHostState.java +++ b/core/src/com/wordbattle/game/states/WaitForHostState.java @@ -10,7 +10,7 @@ public class WaitForHostState extends BaseState { WaitForHostController controller; - OrthographicCamera cam; + public WaitForHostState(StateManager gsm) { super(gsm); diff --git a/core/src/com/wordbattle/game/view/JoinGameView.java b/core/src/com/wordbattle/game/view/JoinGameView.java index b194b2b3793a913d07350dd977e65ef2490b7d59..5a70bc2308589615c8d9a8f683f4071626876682 100644 --- a/core/src/com/wordbattle/game/view/JoinGameView.java +++ b/core/src/com/wordbattle/game/view/JoinGameView.java @@ -170,6 +170,9 @@ public class JoinGameView { public void dispose() { backgroundTexture.dispose(); joinGameButton.dispose(); + pinTexture.dispose(); + nicknameTexture.dispose(); + } diff --git a/core/src/com/wordbattle/game/view/StartingGameView.java b/core/src/com/wordbattle/game/view/StartingGameView.java index 7a756a0e27a5359303ebacb16ee7747d1b0bd4ae..95e50e1557491c773780c97369df50d2e996b73b 100644 --- a/core/src/com/wordbattle/game/view/StartingGameView.java +++ b/core/src/com/wordbattle/game/view/StartingGameView.java @@ -64,6 +64,9 @@ public class StartingGameView { } public void dispose(){ + font.dispose(); + backArrowTexture.dispose(); + backgroundTexture.dispose(); } } diff --git a/core/src/com/wordbattle/game/view/WaitForHostView.java b/core/src/com/wordbattle/game/view/WaitForHostView.java index 927215b86fda142ada313a360fc0d54ac2fbe048..c34d8dd813156a5145717c0ea79ce6c6c6c300f6 100644 --- a/core/src/com/wordbattle/game/view/WaitForHostView.java +++ b/core/src/com/wordbattle/game/view/WaitForHostView.java @@ -1,6 +1,7 @@ package com.wordbattle.game.view; import com.badlogic.gdx.Gdx; +import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.graphics.GL20; import com.badlogic.gdx.graphics.OrthographicCamera; import com.badlogic.gdx.graphics.Texture; @@ -16,11 +17,15 @@ public class WaitForHostView { String pin; private Texture background; - private BitmapFont font; + private BitmapFont titleFont; + private BitmapFont messageFont; + private BitmapFont playerFont; private OrthographicCamera cam; + + private int numBackgroundRenders; public WaitForHostView(OrthographicCamera cam){ this.cam=cam; @@ -31,11 +36,26 @@ public class WaitForHostView { FreeTypeFontGenerator generator = new FreeTypeFontGenerator(Gdx.files.internal("Knewave-Regular.ttf")); FreeTypeFontGenerator.FreeTypeFontParameter parameter = new FreeTypeFontGenerator.FreeTypeFontParameter(); - parameter.size = 36; - font = generator.generateFont(parameter); + parameter.size = 52; + titleFont = generator.generateFont(parameter); + titleFont.setColor(Color.PINK); + + parameter.size=36; + messageFont=generator.generateFont(parameter); + messageFont.setColor(Color.YELLOW); + + + parameter.size=46; + playerFont=generator.generateFont(parameter); + playerFont.setColor(Color.YELLOW); + generator.dispose(); + + + + } @@ -48,19 +68,36 @@ public class WaitForHostView { spriteBatch.setProjectionMatrix(cam.combined); spriteBatch.begin(); - spriteBatch.draw(background,0,0, WordBattle.WIDTH,WordBattle.HEIGHT); - font.draw(spriteBatch,"PIN "+pin,100,700); - font.draw(spriteBatch,"Players",100,650); - font.draw(spriteBatch,"waiting on host to start the game", 5, 150); + for (int i = 0; i < numBackgroundRenders ; i++) { + spriteBatch.draw(background,0,0-(i*WordBattle.HEIGHT), WordBattle.WIDTH,WordBattle.HEIGHT); + } + + + titleFont.draw(spriteBatch,"PIN "+pin,110,770); + messageFont.draw(spriteBatch,"waiting for host" + "\r\n" + "to start the game...", 75, 670); + titleFont.draw(spriteBatch,"Players",125,500); + playerFont.draw(spriteBatch,"ole",160,410); + + spriteBatch.end(); } + public void setNumBackgroundRenders(int numBackgroundRenders) { + this.numBackgroundRenders = numBackgroundRenders; + } + + public OrthographicCamera getCam() { + return cam; + } + public void dispose(){ background.dispose(); - font.dispose(); + titleFont.dispose(); + messageFont.dispose(); + playerFont.dispose(); } }