Add shield powerup
This commit is contained in:
@ -2,16 +2,15 @@ package com.me.brickbuster;
|
||||
|
||||
import com.badlogic.gdx.ApplicationAdapter;
|
||||
import com.badlogic.gdx.Gdx;
|
||||
import com.badlogic.gdx.graphics.Color;
|
||||
import com.badlogic.gdx.graphics.GL20;
|
||||
import com.badlogic.gdx.graphics.g2d.BitmapFont;
|
||||
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
|
||||
import com.badlogic.gdx.graphics.glutils.ShapeRenderer;
|
||||
import com.badlogic.gdx.math.MathUtils;
|
||||
import com.badlogic.gdx.math.Vector2;
|
||||
import com.me.brickbuster.entity.*;
|
||||
import com.me.brickbuster.entity.powerup.GluePowerUp;
|
||||
import com.me.brickbuster.entity.powerup.LongerPaddlePowerUp;
|
||||
import com.me.brickbuster.entity.powerup.MultiBallPowerUp;
|
||||
import com.me.brickbuster.entity.powerup.PowerUp;
|
||||
import com.me.brickbuster.entity.powerup.*;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
@ -21,6 +20,8 @@ public class BrickBuster extends ApplicationAdapter {
|
||||
public static final int HEIGHT = 600;
|
||||
public static final String TITLE = "Brick Buster";
|
||||
|
||||
public static final int SHIELD_HEIGHT = 5;
|
||||
|
||||
public static final Vector2 HORIZONTAL_EDGE = new Vector2(1, 0);
|
||||
public static final Vector2 VERTICAL_EDGE = new Vector2(0, 1);
|
||||
|
||||
@ -29,16 +30,20 @@ public class BrickBuster extends ApplicationAdapter {
|
||||
|
||||
private BitmapFont font;
|
||||
private SpriteBatch batch;
|
||||
private ShapeRenderer sr;
|
||||
|
||||
private Paddle paddle;
|
||||
private ArrayList<Ball> balls;
|
||||
private ArrayList<Brick> bricks;
|
||||
private ArrayList<PowerUp> powerUps;
|
||||
|
||||
private boolean shieldActive = false;
|
||||
|
||||
@Override
|
||||
public void create () {
|
||||
font = new BitmapFont();
|
||||
batch = new SpriteBatch();
|
||||
sr = new ShapeRenderer();
|
||||
|
||||
paddle = new Paddle(this);
|
||||
|
||||
@ -66,6 +71,7 @@ public class BrickBuster extends ApplicationAdapter {
|
||||
Gdx.gl.glClearColor(0.5f,1,1,1);
|
||||
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
|
||||
|
||||
|
||||
long start_update = System.nanoTime();
|
||||
update(Gdx.graphics.getDeltaTime());
|
||||
long finish_update = System.nanoTime() - start_update;
|
||||
@ -81,6 +87,14 @@ public class BrickBuster extends ApplicationAdapter {
|
||||
ball.render();
|
||||
}
|
||||
paddle.render();
|
||||
|
||||
if (shieldActive) {
|
||||
sr.begin(ShapeRenderer.ShapeType.Filled);
|
||||
sr.setColor(Color.SALMON);
|
||||
sr.rect(0, 0, WIDTH, SHIELD_HEIGHT);
|
||||
sr.end();
|
||||
}
|
||||
|
||||
long finish_render = System.nanoTime() - start_render;
|
||||
|
||||
batch.begin();
|
||||
@ -143,6 +157,14 @@ public class BrickBuster extends ApplicationAdapter {
|
||||
return null;
|
||||
}
|
||||
|
||||
public void setShieldActive(boolean shieldActive) {
|
||||
this.shieldActive = shieldActive;
|
||||
}
|
||||
|
||||
public boolean isShieldActive() {
|
||||
return shieldActive;
|
||||
}
|
||||
|
||||
public ArrayList<Ball> getBalls() {
|
||||
return balls;
|
||||
}
|
||||
@ -166,6 +188,7 @@ public class BrickBuster extends ApplicationAdapter {
|
||||
tmp.put(GluePowerUp.class, 30);
|
||||
tmp.put(LongerPaddlePowerUp.class, 40);
|
||||
tmp.put(MultiBallPowerUp.class, 20);
|
||||
tmp.put(ShieldPowerUp.class, 40);
|
||||
powerUpWeights = Collections.unmodifiableMap(tmp);
|
||||
|
||||
int sum = 0;
|
||||
|
Reference in New Issue
Block a user