Bläddra i källkod

Improved behaviour

Kenneth van Ewijk 10 år sedan
förälder
incheckning
c052b46bbc

+ 1 - 1
src/model/levels/level1.bb

@@ -1,3 +1,3 @@
-2,200,red,400,400,-1,0.0
+2,200,red,200,400,-1,0.0
 speed|life
 18000

+ 1 - 1
src/model/levels/level2.bb

@@ -1,3 +1,3 @@
-3,200,green,200,200,-1,1.0|4,300,green,500,200,1,1.0
+3,200,green,200,200,-1,0.0|4,300,green,500,200,1,0.0
 speed|life
 30000

+ 8 - 8
src/model/objects/Ball.java

@@ -12,13 +12,14 @@ public class Ball {
 	private Ellipse2D.Double bal;
 
 	double rx, ry; 			// position
-	double vx = 0, vy = 0; 	// velocity
+	double vx, vy; 	// velocity
 
 	public Ball(int size, int bounceheight, Color color, int x, int y, int direction, double velocity) {
 		this.color = color;
 		this.size = size*20;
 		this.bounceheight = bounceheight;
 		this.direction = direction;
+		this.vx = direction*3;
 		this.vy = velocity;
 		setDirection(direction);
 		rx = x;
@@ -47,10 +48,10 @@ public class Ball {
 	}
 
 	public void update() {
-		if (rx >= (Window.WIDTH - size))
-			vx = -1;
-		else if (rx <= 0)
-			vx = 1;
+		if (rx >= (Window.WIDTH - size - 10))
+			vx = -3;
+		else if (rx <= 10)
+			vx =3;
 		
 		vy += 0.5;
 		
@@ -62,8 +63,6 @@ public class Ball {
 		{
 			vy -=0.2;
 		}
-			
-		
 
 		if (ry >= (600-size))
 			vy *= -1;
@@ -114,7 +113,8 @@ public class Ball {
 	
 	public void setDirection(int d){
 		if(d == -1 || d == 1){
-			vx = d;
+			direction = d;
+			vx = d*3;
 		}
 	}
 	

+ 6 - 2
src/model/objects/Player.java

@@ -41,7 +41,7 @@ public class Player extends DrawObject {
 	}
 	
 	public void walkLeft(){
-		if(getX() -30 - speed > 0){
+		if(getX() - speed > 10){
 			setX(getX()-speed);
 			lastDirection = 1;
 			lastMovement = System.currentTimeMillis();	
@@ -49,7 +49,7 @@ public class Player extends DrawObject {
 	}
 	
 	public void walkRight(){
-		if(getX() + 30 + getWidth() + speed < Window.WIDTH){
+		if(getX() + getWidth() + speed < Window.WIDTH -10){
 			setX(getX()+speed);
 			lastDirection = 2;
 			lastMovement = System.currentTimeMillis();
@@ -70,6 +70,10 @@ public class Player extends DrawObject {
 	public int getScore() {
 		return score;
 	}
+	public void setScore(int score)
+	{
+		this.score = score;
+	}
 
 	public int getHealth() {
 		return health;

+ 5 - 3
src/model/state/PlayState.java

@@ -38,7 +38,9 @@ public class PlayState extends State{
 	public PlayState(GameStateManager gsm) {
 		super("play", gsm);
 		player = new Player(Images.getImage(ImageType.PLAYER1), 40, 550, "Janco");
-		infopanel = new InfoPanel(player, player, this);
+		Player player2 = new Player(Images.getImage(ImageType.PLAYER1), 40, 550, "Kenneth");
+		player2.setScore(200);
+		infopanel = new InfoPanel(player, player2, this);
 		balls = new ArrayList<Ball>();
 		readLevelsFromFiles();
 		playLevel(levels.get(currentlevel));
@@ -135,8 +137,8 @@ public class PlayState extends State{
 				if(line != null && bal.hitLine(line)){								// Collision between line and ball
 					line = null;
 					b.remove();
-					b.add(new Ball(bal.getSize()-1, (int) (bal.getBounceHeight()/1.2), bal.getColor(), bal.getX(), bal.getY(), -1, Math.abs(bal.getYSpeed())*-1));
-					b.add(new Ball(bal.getSize()-1, (int) (bal.getBounceHeight()/1.2), bal.getColor(), bal.getX(), bal.getY(), 1, Math.abs(bal.getYSpeed())*-1));
+					b.add(new Ball(bal.getSize()-1, (int) Math.max(bal.getBounceHeight()/1.5, player.getHeigth() +5), bal.getColor(), bal.getX(), bal.getY(), -1, Math.abs(bal.getYSpeed())*-1));
+					b.add(new Ball(bal.getSize()-1, (int) Math.max(bal.getBounceHeight()/1.5, player.getHeigth() +5), bal.getColor(), bal.getX(), bal.getY(), 1, Math.abs(bal.getYSpeed())*-1));
 				}else if(bal.hitPlayer(player)){														// Collision between player and ball
 					player.setHealth(player.getHealth()-1);
 					playLevel(getCurrentLevel());