Added blocks and paddle and part of ball movement.
This commit is contained in:
parent
6c6d5b34bf
commit
74b96990c5
@ -4,8 +4,11 @@ import com.badlogic.gdx.ApplicationAdapter;
|
|||||||
import com.badlogic.gdx.Gdx;
|
import com.badlogic.gdx.Gdx;
|
||||||
import com.badlogic.gdx.graphics.GL20;
|
import com.badlogic.gdx.graphics.GL20;
|
||||||
import com.me.brickbuster.entity.Ball;
|
import com.me.brickbuster.entity.Ball;
|
||||||
|
import com.me.brickbuster.entity.Block;
|
||||||
import com.me.brickbuster.entity.Paddle;
|
import com.me.brickbuster.entity.Paddle;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
public class BrickBuster extends ApplicationAdapter {
|
public class BrickBuster extends ApplicationAdapter {
|
||||||
|
|
||||||
public static final int WIDTH = 800;
|
public static final int WIDTH = 800;
|
||||||
@ -14,11 +17,21 @@ public class BrickBuster extends ApplicationAdapter {
|
|||||||
|
|
||||||
Ball ball;
|
Ball ball;
|
||||||
Paddle paddle;
|
Paddle paddle;
|
||||||
|
ArrayList<Block> blocks;
|
||||||
|
boolean playing = false;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void create () {
|
public void create () {
|
||||||
ball = new Ball();
|
ball = new Ball(this);
|
||||||
paddle = new Paddle();
|
paddle = new Paddle(this);
|
||||||
|
blocks = new ArrayList<Block>();
|
||||||
|
for (int col = 0; col < 13; col++) {
|
||||||
|
for (int row = 0; row < 10; row++) {
|
||||||
|
int x = 15 + (col * (Block.BLOCK_WIDTH + 10));
|
||||||
|
int y = 15 + Block.BLOCK_HEIGHT + (row * (Block.BLOCK_HEIGHT + 5));
|
||||||
|
blocks.add(new Block(this, x, HEIGHT - y));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -30,9 +43,17 @@ public class BrickBuster extends ApplicationAdapter {
|
|||||||
|
|
||||||
ball.render();
|
ball.render();
|
||||||
paddle.render();
|
paddle.render();
|
||||||
|
|
||||||
|
for (Block block : blocks) {
|
||||||
|
block.render();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void update(float dt) {
|
public void update(float dt) {
|
||||||
|
if (Gdx.input.justTouched()) {
|
||||||
|
playing = true;
|
||||||
|
ball.launch();
|
||||||
|
}
|
||||||
ball.update(dt);
|
ball.update(dt);
|
||||||
paddle.update(dt);
|
paddle.update(dt);
|
||||||
}
|
}
|
||||||
@ -41,4 +62,16 @@ public class BrickBuster extends ApplicationAdapter {
|
|||||||
public void dispose () {
|
public void dispose () {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isPlaying() {
|
||||||
|
return playing;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Ball getBall() {
|
||||||
|
return ball;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Paddle getPaddle() {
|
||||||
|
return paddle;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,7 @@ package com.me.brickbuster.entity;
|
|||||||
|
|
||||||
import com.badlogic.gdx.graphics.Color;
|
import com.badlogic.gdx.graphics.Color;
|
||||||
import com.badlogic.gdx.graphics.glutils.ShapeRenderer;
|
import com.badlogic.gdx.graphics.glutils.ShapeRenderer;
|
||||||
|
import com.badlogic.gdx.math.Vector2;
|
||||||
import com.me.brickbuster.BrickBuster;
|
import com.me.brickbuster.BrickBuster;
|
||||||
|
|
||||||
public class Ball extends Entity {
|
public class Ball extends Entity {
|
||||||
@ -9,8 +10,11 @@ public class Ball extends Entity {
|
|||||||
public static final int RADIUS = 25;
|
public static final int RADIUS = 25;
|
||||||
public static final Color BALL_COLOR = Color.CHARTREUSE;
|
public static final Color BALL_COLOR = Color.CHARTREUSE;
|
||||||
|
|
||||||
public Ball() {
|
public Vector2 direction;
|
||||||
super(400, 300);
|
public float speed;
|
||||||
|
|
||||||
|
public Ball(BrickBuster brickBuster) {
|
||||||
|
super(brickBuster, 400, 83);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -23,8 +27,18 @@ public class Ball extends Entity {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void update(float dt) {
|
public void update(float dt) {
|
||||||
if (this.getX() + RADIUS < BrickBuster.WIDTH) {
|
if (!getBrickBuster().isPlaying()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
setX(getX() + (int) (direction.x * speed));
|
||||||
|
setY(getY() + (int) (direction.y * speed));
|
||||||
|
/*if (this.getX() + RADIUS < BrickBuster.WIDTH) {
|
||||||
this.setX(this.getX() + 1);
|
this.setX(this.getX() + 1);
|
||||||
}
|
}*/
|
||||||
|
}
|
||||||
|
|
||||||
|
public void launch() {
|
||||||
|
direction = new Vector2(0, 1);
|
||||||
|
speed = 5;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
28
core/src/com/me/brickbuster/entity/Block.java
Normal file
28
core/src/com/me/brickbuster/entity/Block.java
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
package com.me.brickbuster.entity;
|
||||||
|
|
||||||
|
import com.badlogic.gdx.graphics.Color;
|
||||||
|
import com.badlogic.gdx.graphics.glutils.ShapeRenderer;
|
||||||
|
import com.me.brickbuster.BrickBuster;
|
||||||
|
|
||||||
|
public class Block extends Entity {
|
||||||
|
public static final Color BLOCK_COLOR = Color.FOREST;
|
||||||
|
public static final int BLOCK_WIDTH = 50;
|
||||||
|
public static final int BLOCK_HEIGHT = 15;
|
||||||
|
|
||||||
|
public Block(BrickBuster brickBuster, int x, int y) {
|
||||||
|
super(brickBuster, x, y);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void render() {
|
||||||
|
getShapeRenderer().begin(ShapeRenderer.ShapeType.Filled);
|
||||||
|
getShapeRenderer().setColor(BLOCK_COLOR);
|
||||||
|
getShapeRenderer().rect(getX(), getY(), BLOCK_WIDTH, BLOCK_HEIGHT);
|
||||||
|
getShapeRenderer().end();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void update(float dt) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
@ -1,14 +1,17 @@
|
|||||||
package com.me.brickbuster.entity;
|
package com.me.brickbuster.entity;
|
||||||
|
|
||||||
import com.badlogic.gdx.graphics.glutils.ShapeRenderer;
|
import com.badlogic.gdx.graphics.glutils.ShapeRenderer;
|
||||||
|
import com.me.brickbuster.BrickBuster;
|
||||||
|
|
||||||
public abstract class Entity {
|
public abstract class Entity {
|
||||||
|
|
||||||
private ShapeRenderer shapeRenderer;
|
private ShapeRenderer shapeRenderer;
|
||||||
|
private BrickBuster brickBuster;
|
||||||
private int x, y;
|
private int x, y;
|
||||||
|
|
||||||
public Entity(int x, int y) {
|
public Entity(BrickBuster brickBuster, int x, int y) {
|
||||||
this.shapeRenderer = new ShapeRenderer();
|
this.shapeRenderer = new ShapeRenderer();
|
||||||
|
this.brickBuster = brickBuster;
|
||||||
this.x = x;
|
this.x = x;
|
||||||
this.y = y;
|
this.y = y;
|
||||||
}
|
}
|
||||||
@ -17,6 +20,10 @@ public abstract class Entity {
|
|||||||
|
|
||||||
public abstract void update(float dt);
|
public abstract void update(float dt);
|
||||||
|
|
||||||
|
public BrickBuster getBrickBuster() {
|
||||||
|
return brickBuster;
|
||||||
|
}
|
||||||
|
|
||||||
public ShapeRenderer getShapeRenderer() {
|
public ShapeRenderer getShapeRenderer() {
|
||||||
return shapeRenderer;
|
return shapeRenderer;
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
package com.me.brickbuster.entity;
|
package com.me.brickbuster.entity;
|
||||||
|
|
||||||
|
import com.badlogic.gdx.Gdx;
|
||||||
|
import com.badlogic.gdx.Input;
|
||||||
import com.badlogic.gdx.graphics.Color;
|
import com.badlogic.gdx.graphics.Color;
|
||||||
import com.badlogic.gdx.graphics.glutils.ShapeRenderer;
|
import com.badlogic.gdx.graphics.glutils.ShapeRenderer;
|
||||||
import com.me.brickbuster.BrickBuster;
|
import com.me.brickbuster.BrickBuster;
|
||||||
@ -7,11 +9,11 @@ import com.me.brickbuster.BrickBuster;
|
|||||||
public class Paddle extends Entity {
|
public class Paddle extends Entity {
|
||||||
|
|
||||||
public static final Color PADDLE_COLOR = Color.BLACK;
|
public static final Color PADDLE_COLOR = Color.BLACK;
|
||||||
public static final int PADDLE_WIDTH = 50;
|
public static final int PADDLE_WIDTH = 100;
|
||||||
public static final int PADDLE_HEIGHT = 15;
|
public static final int PADDLE_HEIGHT = 15;
|
||||||
|
|
||||||
public Paddle() {
|
public Paddle(BrickBuster brickBuster) {
|
||||||
super(BrickBuster.WIDTH/2, 50);
|
super(brickBuster, BrickBuster.WIDTH/2, 50);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -24,7 +26,19 @@ public class Paddle extends Entity {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void update(float dt) {
|
public void update(float dt) {
|
||||||
|
Ball ball = getBrickBuster().getBall();
|
||||||
|
if (Gdx.input.isKeyPressed(Input.Keys.LEFT)) {
|
||||||
|
setX(getX() - 5);
|
||||||
|
if (!getBrickBuster().isPlaying()) {
|
||||||
|
ball.setX(ball.getX() - 5);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (Gdx.input.isKeyPressed(Input.Keys.RIGHT)) {
|
||||||
|
setX(getX() + 5);
|
||||||
|
if (!getBrickBuster().isPlaying()) {
|
||||||
|
ball.setX(ball.getX() + 5);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user