Ver Fonte

Addes balls

jancoow há 10 anos atrás
pai
commit
5dfa7d0e11
2 ficheiros alterados com 76 adições e 1 exclusões
  1. 68 0
      src/model/objects/Ball.java
  2. 8 1
      src/model/state/PlayState.java

+ 68 - 0
src/model/objects/Ball.java

@@ -0,0 +1,68 @@
+package model.objects;
+
+import java.awt.Color;
+import java.awt.Graphics2D;
+import java.awt.Shape;
+import java.awt.geom.Ellipse2D;
+
+
+public class Ball {
+	private Color color;
+	private int size, bounceheight;
+	private Ellipse2D.Double bal;
+	
+	public Ball(int size, int bounceheight, Color color, int x, int y){
+		this.color = color;
+		this.size = size;
+		this.bounceheight = bounceheight;
+		bal = new Ellipse2D.Double(x,y,size*20,size*20);
+	}
+	
+	public void paint(Graphics2D g2d)
+	{
+		g2d.setColor(color);
+		g2d.fill(bal);
+	}
+	
+	public int getSize(){
+		return size;
+	}
+	
+	public int getBounceHeight(){
+		return bounceheight;
+	}
+	
+	public int getX(){
+		return (int)bal.getX();
+	}
+	
+	public int getY(){
+		return (int)bal.getY();
+	}
+	
+	public int getWidth(){
+		return (int)bal.getWidth();
+	}
+	
+	public int getHeight(){
+		return (int)bal.getHeight();
+	}
+	
+	
+	public void setX(int x){
+		bal.setFrame(x, getY(), getWidth(),getHeight());
+	}
+	
+	public void setY(int y){
+		bal.setFrame(getX(), y, getWidth(), getHeight());
+	}
+	
+	public void setWidth(int w){
+		bal.setFrame(getX(), getY(), w, getHeight());
+	}
+	
+	public void setHeight(int h){
+		bal.setFrame(getX(), getY(), getWidth(), h);
+	}
+	
+}

+ 8 - 1
src/model/state/PlayState.java

@@ -1,5 +1,6 @@
 package model.state;
 
+import java.awt.Color;
 import java.awt.Graphics2D;
 import java.awt.event.KeyEvent;
 import java.util.ArrayList;
@@ -7,6 +8,7 @@ import java.util.Iterator;
 
 import main.Window;
 import model.GameStateManager;
+import model.objects.Ball;
 import model.objects.Player;
 import model.objects.ShootingLine;
 import resources.image.Images;
@@ -16,13 +18,15 @@ public class PlayState extends State{
 	
 	Player player;
 	ArrayList<ShootingLine> lines;
-	
+	ArrayList<Ball> balls;
 	
 	public PlayState(GameStateManager gsm) {
 		super("play", gsm);
 		
 		player = new Player(Images.getImage(ImageType.PLAYER1), 40, 550);
 		lines = new ArrayList<ShootingLine>();
+		balls = new ArrayList<Ball>();
+		balls.add(new Ball(5, 10, Color.red, 50, 50));
 	}
 
 	/* INIT AND EXIT */
@@ -70,6 +74,9 @@ public class PlayState extends State{
 		for(ShootingLine l:lines){
 			l.paint(g2d);
 		}
+		for(Ball b: balls){
+			b.paint(g2d);
+		}
 		player.paint(g2d);
 	}