Browse Source

fixed buggs

Remco 10 years ago
parent
commit
8cda332a95

+ 5 - 0
control/JoyStick.java

@@ -0,0 +1,5 @@
+package control;
+
+public class JoyStick {
+
+}

+ 199 - 0
model/drawObjects/enemy/Enemy.java

@@ -0,0 +1,199 @@
+package model.drawObjects.enemy;
+
+import java.awt.Color;
+import java.awt.Graphics2D;
+import java.awt.geom.Line2D;
+import java.awt.geom.Point2D;
+
+import model.drawObjects.DrawObject;
+
+public class Enemy extends DrawObject {
+
+	
+	private int length,timeToClick = 5,currentTimeToClick;	
+	private double speedX,speedY,lengthOf1Side;//lengthOf1Side wordt alleen gebruikt als de lijn een schuine lijn is.
+	public Line2D enemy;
+	private Color c;	
+	private boolean clickable = false;
+	/**
+	 * 
+	 * @param pathID
+	 * @param lengthOfEnemy
+	 * @param c
+	 * @param beginPoint
+	 * @param endPoint
+	 * @param steptsToEndPoint
+	 */
+	public Enemy(int pathID,int lengthOfEnemy,Color c,double steptsToEndPoint,Point2D beginPoint,Point2D endPoint){
+		super();		
+		this.length = lengthOfEnemy;			
+//		System.out.println(this.length*this.length/2);
+//		System.out.println(Math.sqrt(Math.pow(this.length,2)/2));
+		lengthOf1Side = Math.sqrt(Math.pow(lengthOfEnemy,2)/2);		
+		this.c = c;		
+		this.index = pathID;				
+		double beginX, beginY,endX = 0,endY = 0;
+		beginX =  beginPoint.getX();
+		beginY = beginPoint.getY();
+		endX = beginX;
+		endY = beginY;		
+		
+		//the 8 richtingen van de octagon
+		switch(index){
+		case 0:			
+			endY -= this.length;			
+			break;
+		case 1:			
+			endY -= lengthOf1Side;
+			endX += lengthOf1Side;			
+			break;
+		case 2:			
+			endX -= this.length;			
+			break;
+		case 3:			
+			endY += lengthOf1Side;
+			endX += lengthOf1Side;			
+			break;		
+		case 4:
+			endY += this.length;			
+			break;
+		case 5:
+			endY += lengthOf1Side;
+			endX -= lengthOf1Side;			
+			break;
+		case 6:
+			endX += this.length;			
+			break;
+		case 7:
+			endY -= lengthOf1Side;
+			endX -= lengthOf1Side;			
+			break;				
+		}
+			
+		
+		enemy = new Line2D.Double(beginX, beginY, endX, endY);	
+		//bereken de lengte van de enemy tot het einde van de lijn
+		double distanceX,distanceY;
+		distanceX = (enemy.getX1() - endPoint.getX());
+		distanceY = (enemy.getY1() - endPoint.getY());		
+		//de afstand mag niet negatief zijn
+		if(distanceX < 0){
+			distanceX *= -1;
+		}
+		if(distanceY < 0){
+			distanceY *= -1;
+		}
+//		System.out.println("Index: "+index+"\tX afstand: "+distanceX+"\tY afstand: "+distanceY);
+		//snelheid 	= afstand 	/tijd		
+		speedX 		= (distanceX	/steptsToEndPoint);
+		speedY 		= (distanceY	/steptsToEndPoint);
+//		System.out.println("Index: "+index+"\tX speed: "+speedX+"\tY speed: "+speedY);
+	}
+
+	@Override
+	public void draw(Graphics2D g2) {
+		g2.setPaint(c);
+		g2.draw(enemy);		
+	}
+
+	@Override
+	public void update() {	
+		if(clickable){
+			currentTimeToClick++;
+		}
+			double x1,x2,y1,y2;
+			x1 = enemy.getX1();
+			x2 = enemy.getX2();
+			y1 = enemy.getY1();
+			y2 = enemy.getY2();		
+			
+			switch(index){
+			case 0:
+				y1 += speedY;
+				y2 = y1 - length;				
+				break;
+			case 1:
+				x1 -= speedX;
+				x2 = x1 + lengthOf1Side;	
+				
+				y1 += speedY;
+				y2 = y1 - lengthOf1Side;							
+				break;
+			case 2:			
+				x1 -= speedX;
+				x2 = x1 + length;				
+				break;
+			case 3:			
+				x1 -= speedX;
+				x2 = x1 + lengthOf1Side;
+				
+				y1 -= speedY;
+				y2 = y1 + lengthOf1Side;
+				break;		
+			case 4:
+				y1 -= speedY;
+				y2 = y1 + length;		
+				break;
+			case 5:
+				x1 += speedX;
+				x2 = x1 - lengthOf1Side;
+				
+				y1 -= speedY;
+				y2 = y1 + lengthOf1Side;
+				break;
+			case 6:
+				x1 += speedX;
+				x2 = x1 - length;				
+				break;
+			case 7:
+				x1 += speedX;
+				x2 = x1 - lengthOf1Side;
+				
+				y1 += speedY;
+				y2 = y1 - lengthOf1Side;
+				break;					
+			}		
+			enemy.setLine(x1, y1, x2, y2);				
+	}
+	
+
+	public Color getColor() {
+		return c;
+	}
+
+	public void setColor(Color c) {
+		this.c = c;
+	}
+
+	public Line2D getEnemy() {
+		return enemy;
+	}
+
+	public void setBullet(Line2D bullet) {
+		this.enemy = bullet;
+	}	
+	
+	public void clickable(){
+		clickable = true;
+	}
+	
+	/**
+	 * deze methode kijkt hoeveel frame je nog hebt om te klikken op het moment dat je bolletje in de hitzone zit
+	 * @return
+	 */
+	public boolean finised(){
+		if(currentTimeToClick >= timeToClick){
+			return true;
+		}
+		return false;
+	}
+	
+	public boolean isClickable(){
+		return clickable;
+	}
+	
+	public int getTimeLeftToClick() {
+		return currentTimeToClick;
+	}
+
+}

+ 2 - 9
model/gameState/MenuState.java

@@ -1,9 +1,5 @@
 package model.gameState;
 
-import image.Images;
-import image.Images.ImageType;
-
-import java.awt.Color;
 import java.awt.Graphics2D;
 import java.util.ArrayList;
 
@@ -12,14 +8,9 @@ import model.objects.MenuButton;
 import control.GameStateManager;
 import control.GameStateManager.State;
 import control.button.ButtonEvent;
-import control.joystick.Joystick;
 import control.joystick.JoystickEvent;
 
-
-
 public class MenuState extends GameState {
-	private ArrayList<MenuButton> buttons;
-	private int selected;
 
     int frame = 0;
     int maxFrames = 2560;
@@ -35,6 +26,8 @@ public class MenuState extends GameState {
 	}
 	@Override
 	public void init() {
+		// TODO Auto-generated method stub
+
 	}
 
 	@Override

+ 0 - 1
model/objects/InfoPanel.java

@@ -34,7 +34,6 @@ public class InfoPanel {
 	}
 	
 	public void draw(Graphics2D g2){
-		g2.setColor(Color.BLACK);
 		g2.fillRect(x, y, 256, 1024);
 		Font scoreFont = new Font("OCR A Extended", Font.BOLD, 30);
 		g2.setFont(scoreFont);