Waarschijnlijk de exception opgelost, ik krijg de expection zelf niet
This commit is contained in:
+1
-1
@@ -10,7 +10,7 @@ public class Main {
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
new Window(true);
|
new Window(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -72,8 +72,25 @@ public class Enemy extends Person{
|
|||||||
this.circle = circle;
|
this.circle = circle;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean hit(Bullet bullet){
|
/**
|
||||||
if(color.equals(bullet.getColor()) && circle.getBounds2D().intersectsLine(bullet.bullet)){
|
* Deze methode kijkt of de enemy is geraakt door een bullet
|
||||||
|
* @param bullet, een kogel om te kijken of hij deze enemy heeft geraakt
|
||||||
|
* @return, true = raakt, false = mis
|
||||||
|
*/
|
||||||
|
public boolean bulletHitMe(Bullet bullet){
|
||||||
|
if(circle.getBounds2D().intersectsLine(bullet.bullet)){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Hier kijk je of de bullet de juiste kleur heeft, om de enemy te vermoorden
|
||||||
|
* @param bullet, de kogel om te kije of hij de zelfde kleur heeft als deze enemy
|
||||||
|
* @return,true = zelfde kleur, false = andere kleur
|
||||||
|
*/
|
||||||
|
public boolean ColorHitMe(Bullet bullet){
|
||||||
|
if(this.color.equals(bullet.getColor())){
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import java.awt.Graphics2D;
|
|||||||
import java.awt.geom.AffineTransform;
|
import java.awt.geom.AffineTransform;
|
||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -26,7 +27,7 @@ public class Player extends Person {
|
|||||||
img = Images.getImage(Images.ImageType.player2);
|
img = Images.getImage(Images.ImageType.player2);
|
||||||
width = img.getWidth();
|
width = img.getWidth();
|
||||||
height = img.getHeight();
|
height = img.getHeight();
|
||||||
bullets = new ArrayList<Bullet>();
|
bullets = Collections.synchronizedList(new ArrayList<Bullet>());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void draw(Graphics2D g2){//
|
public void draw(Graphics2D g2){//
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import java.awt.Graphics2D;
|
|||||||
import java.awt.geom.Line2D;
|
import java.awt.geom.Line2D;
|
||||||
import java.awt.geom.Rectangle2D;
|
import java.awt.geom.Rectangle2D;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -31,7 +32,7 @@ public class PlayState extends GameState{
|
|||||||
super(gsm);
|
super(gsm);
|
||||||
area = new PlayArea((int) borderRect.getX(),1024,1024,100);
|
area = new PlayArea((int) borderRect.getX(),1024,1024,100);
|
||||||
infoPanel = new InfoPanel(0, 0);
|
infoPanel = new InfoPanel(0, 0);
|
||||||
enemys = new ArrayList<Enemy>();
|
enemys = Collections.synchronizedList(new ArrayList<Enemy>());
|
||||||
player = new Player(1280-1024+1024/2, 1024/2,area);
|
player = new Player(1280-1024+1024/2, 1024/2,area);
|
||||||
for(int i = 0; i < 8; i++){
|
for(int i = 0; i < 8; i++){
|
||||||
Line2D line = area.getLine(i);
|
Line2D line = area.getLine(i);
|
||||||
@@ -53,9 +54,12 @@ public class PlayState extends GameState{
|
|||||||
Enemy e = enemyIterator.next();
|
Enemy e = enemyIterator.next();
|
||||||
Iterator<Bullet> bulletIterator = player.bullets.iterator();
|
Iterator<Bullet> bulletIterator = player.bullets.iterator();
|
||||||
while(bulletIterator.hasNext()){
|
while(bulletIterator.hasNext()){
|
||||||
if(e.hit(bulletIterator.next())){
|
Bullet b = bulletIterator.next();
|
||||||
enemyIterator.remove();
|
if(e.bulletHitMe(b)){ //kijkt of de enemy een bullet tegen komt, zoja verwijder de bullet.
|
||||||
bulletIterator.remove();
|
bulletIterator.remove();
|
||||||
|
if(e.ColorHitMe(b)){ //kijkt of de bullet die de enemy heeft gehit, ook dezelfde kleur heeft als de enemy, zoja verwijder de enemy
|
||||||
|
enemyIterator.remove();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(area.octagon.intersects(e.getCircle().getBounds2D())){
|
if(area.octagon.intersects(e.getCircle().getBounds2D())){
|
||||||
|
|||||||
Reference in New Issue
Block a user