SHOW:
|
|
- or go back to the newest paste.
1 | - | public void updateEnemy(ArrayList<Enemy> enemies, int delta, Player player){ |
1 | + | public void updateEnemy(ArrayList<Enemy> enemies, int delta, Player player) { |
2 | ||
3 | - | for(int i=0 ; i < enemies.size() ; i++) |
3 | + | for(int i=0 ; i < enemies.size() ; i++) { |
4 | - | { |
4 | + | for(int k=i+1; k<enemies.size();k++) { |
5 | - | for(int k=0; k<enemies.size();k++) |
5 | + | enemies.get(i).velocity = new Vector2f( player.getX() - enemies.get(i).getX(), player.getY() - enemies.get(i).getY()); |
6 | - | { |
6 | + | enemies.get(k).velocity = new Vector2f( player.getX() - enemies.get(k).getX(), player.getY() - enemies.get(k).getY()); |
7 | - | if(enemies.get(i) != enemies.get(k)) |
7 | + | |
8 | - | { |
8 | + | if(enemies.get(k).hitbox.collide(enemies.get(i).hitbox)) { |
9 | - | enemies.get(i).velocity = new Vector2f( player.getX() - enemies.get(i).getX(), player.getY() - enemies.get(i).getY()); |
9 | + | Vector2f temp = enemies.get(k).velocity; |
10 | - | enemies.get(k).velocity = new Vector2f( player.getX() - enemies.get(k).getX(), player.getY() - enemies.get(k).getY()); |
10 | + | enemies.get(k).giveVel(enemies.get(i).velocity); |
11 | enemies.get(i).giveVel(temp); | |
12 | - | if(enemies.get(k).hitbox.collide(enemies.get(i).hitbox)) // check shit so enemis dont overlap , if do swap vectors |
12 | + | while(enemies.get(k).hitbox.collide(enemies.get(i).hitbox)) { |
13 | - | { |
13 | + | enemies.get(i).position.add(enemies.get(i).velocity.scale(enemies.get(i).speed)); |
14 | - | Vector2f temp = enemies.get(k).velocity; |
14 | + | enemies.get(k).position.add(enemies.get(k).velocity.scale(enemies.get(k).speed)); |
15 | - | enemies.get(k).giveVel(enemies.get(i).velocity); |
15 | + | |
16 | - | enemies.get(i).giveVel(temp); |
16 | + | |
17 | - | } |
17 | + | else { |
18 | - | else{ |
18 | + | enemies.get(i).velocity = new Vector2f( player.getX() - enemies.get(i).getX(), player.getY() - enemies.get(i).getY()); |
19 | - | enemies.get(i).velocity = new Vector2f( player.getX() - enemies.get(i).getX(), player.getY() - enemies.get(i).getY()); |
19 | + | } |
20 | - | |
20 | + | |
21 | - | } |
21 | + | enemies.get(i).position.add(enemies.get(i).velocity.scale((enemies.get(i).speed))); |
22 | - | |
22 | + | enemies.get(i).hitbox.setPos(enemies.get(i).getX(),enemies.get(i).getY()); |
23 | enemies.get(i).boundriesCheck(); | |
24 | } | |
25 | - | |
25 | + | } |