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
|
||||
{
|
||||
new Window(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -72,8 +72,25 @@ public class Enemy extends Person{
|
||||
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 false;
|
||||
|
||||
@@ -8,6 +8,7 @@ import java.awt.Graphics2D;
|
||||
import java.awt.geom.AffineTransform;
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
@@ -26,7 +27,7 @@ public class Player extends Person {
|
||||
img = Images.getImage(Images.ImageType.player2);
|
||||
width = img.getWidth();
|
||||
height = img.getHeight();
|
||||
bullets = new ArrayList<Bullet>();
|
||||
bullets = Collections.synchronizedList(new ArrayList<Bullet>());
|
||||
}
|
||||
|
||||
public void draw(Graphics2D g2){//
|
||||
|
||||
@@ -5,6 +5,7 @@ import java.awt.Graphics2D;
|
||||
import java.awt.geom.Line2D;
|
||||
import java.awt.geom.Rectangle2D;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
@@ -31,7 +32,7 @@ public class PlayState extends GameState{
|
||||
super(gsm);
|
||||
area = new PlayArea((int) borderRect.getX(),1024,1024,100);
|
||||
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);
|
||||
for(int i = 0; i < 8; i++){
|
||||
Line2D line = area.getLine(i);
|
||||
@@ -53,9 +54,12 @@ public class PlayState extends GameState{
|
||||
Enemy e = enemyIterator.next();
|
||||
Iterator<Bullet> bulletIterator = player.bullets.iterator();
|
||||
while(bulletIterator.hasNext()){
|
||||
if(e.hit(bulletIterator.next())){
|
||||
enemyIterator.remove();
|
||||
Bullet b = bulletIterator.next();
|
||||
if(e.bulletHitMe(b)){ //kijkt of de enemy een bullet tegen komt, zoja verwijder de bullet.
|
||||
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())){
|
||||
|
||||
Reference in New Issue
Block a user