public class Levels extends ApplicationAdapter
{
private ShapeRenderer shapeRenderer;
private SpriteBatch spriteRenderer;
private BitmapFont font;
private int gameState;
private Mario mario;
private final int INTRO = 1;
private final int LEVEL1INTRO = 2;
private final int LEVEL1 = 3;
private final int LEVEL1CONC = 4;
private final int LEVEL2INTRO = 5;
private final int LEVEL2 = 6;
private final int GAMEDONE = 7;
@Override
public void create ()
{
shapeRenderer = new ShapeRenderer();
spriteRenderer = new SpriteBatch();
FileHandle myFile3 = Gdx.files.internal("PressStart2p.fnt");
font = new BitmapFont(myFile3);
gameState = 1;
}
@Override
public void render()
{
//Clear the screen
Gdx.gl.glClearColor(0, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
if (gameState == INTRO)
{
//Render
spriteRenderer.begin();
font.draw(spriteRenderer,"Super Mario", 50, 400);
font.draw(spriteRenderer,"Version 0.001", 5, 250);
font.draw(spriteRenderer,"Press Space", 50, 50);
spriteRenderer.end();
//Update
if(Gdx.input.isKeyJustPressed(Input.Keys.SPACE))
{
gameState++;
}
}
else if (gameState == LEVEL1INTRO)
{
//Render
spriteRenderer.begin();
font.draw(spriteRenderer,"Level 1", 150, 400);
font.draw(spriteRenderer,"Press Space", 50, 50);
spriteRenderer.end();
//Update
if(Gdx.input.isKeyJustPressed(Input.Keys.SPACE))
{
gameState++;
mario = new Mario(1);
}
}
else if (gameState == LEVEL1)
{
shapeRenderer.begin(ShapeType.Filled);
//Render the ground
shapeRenderer.setColor(Color.WHITE);
shapeRenderer.rect(0,0,Gdx.graphics.getWidth(),100);
//Render Mario
shapeRenderer.setColor(Color.RED);
shapeRenderer.circle(mario.getX(), mario.getY(),
50);
//Render goal
shapeRenderer.setColor(Color.WHITE);
shapeRenderer.rect(Gdx.graphics.getWidth()-50,100,10,150);
shapeRenderer.triangle(Gdx.graphics.getWidth()-60,250,Gdx.graphics.getWidth()-60,200,Gdx.graphics.getWidth()-110,225);
shapeRenderer.end();
//Update
//Update Mario's Location
if(Gdx.input.isKeyPressed(Input.Keys.RIGHT))
{
mario.moveRight(5);
}
if(Gdx.input.isKeyPressed(Input.Keys.LEFT))
{
mario.moveLeft(5);
}
//Check for end of level
if(mario.getX() > Gdx.graphics.getWidth()-50) //if at flag
{
gameState++; //go to next state
}
}
else if(gameState == LEVEL1CONC)
{
//Render
spriteRenderer.begin();
font.draw(spriteRenderer,"Congrats!", 80, 400);
font.draw(spriteRenderer,"Press Space", 50, 50);
spriteRenderer.end();
//Update
if(Gdx.input.isKeyJustPressed(Input.Keys.SPACE))
{
gameState++;
mario = new Mario(2);
}
}
else if (gameState == LEVEL2INTRO)
{
//Render
spriteRenderer.begin();
font.draw(spriteRenderer,"Level 2", 150, 400);
font.draw(spriteRenderer,"Press Space", 50, 50);
spriteRenderer.end();
//Update
if(Gdx.input.isKeyJustPressed(Input.Keys.SPACE))
{
gameState++;
mario = new Mario(2);
}
}
else if (gameState == LEVEL2)
{
shapeRenderer.begin(ShapeType.Filled);
//Render the ground
shapeRenderer.setColor(Color.WHITE);
shapeRenderer.rect(0,0,Gdx.graphics.getWidth(),50);
//Render Mario
shapeRenderer.setColor(Color.RED);
shapeRenderer.circle(mario.getX(), mario.getY(),
50);
//Render goal
shapeRenderer.setColor(Color.WHITE);
shapeRenderer.rect(70,50,10,150);
shapeRenderer.triangle(60,200,60,150,0,175);
shapeRenderer.end();
//Update
//Update Mario's Location
if(Gdx.input.isKeyPressed(Input.Keys.RIGHT))
{
mario.moveRight(5);
}
if(Gdx.input.isKeyPressed(Input.Keys.LEFT))
{
mario.moveLeft(5);
}
//Check for end of level
if(mario.getX() < 50) //if at flag pole
{
gameState++; //go to next state
}
}
else if (gameState == GAMEDONE)
{
//Render
spriteRenderer.begin();
font.draw(spriteRenderer,"Congrats", 150, 400);
font.draw(spriteRenderer,"You saved", 125, 100);
font.draw(spriteRenderer,"the princess", 50, 50);
spriteRenderer.end();
//Update
if(Gdx.input.isKeyJustPressed(Input.Keys.SPACE))
{
gameState=INTRO; //restart game
}
}
}
}
|