package model.drawObjects; import image.Images; import java.awt.BasicStroke; import java.awt.Color; import java.awt.Graphics2D; import java.awt.geom.AffineTransform; import java.awt.image.BufferedImage; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import model.gameState.PlayState; import model.objects.PlayArea; public class Player extends Person { private BufferedImage img; private PlayArea path ; public List bullets; public Player(int x, int y,PlayArea paths){ super(x,y); this.path = paths; img = Images.getImage(Images.ImageType.player2); width = img.getWidth(); height = img.getHeight(); bullets = new ArrayList(); } public void draw(Graphics2D g2){// g2.drawImage(img, transform, null); g2.setStroke(new BasicStroke(5)); for(Bullet b : bullets){ b.draw(g2); } } public void update(){ transform = new AffineTransform(); transform.rotate(Math.toRadians(index*45),middlePoint.getX(),middlePoint.getY()); transform.translate(middlePoint.getX() - width/2, middlePoint.getY() - height); for(Bullet b : bullets){ b.update(); } Iterator i = bullets.iterator(); while(i.hasNext()){ if(!PlayState.borderRect.intersectsLine(i.next().bullet)){ i.remove(); } } } public void addBullet(Color c){ System.out.println(index); bullets.add(new Bullet(10, c, 10, index,path.paths.get(index))); } public void removeBullet(Bullet bullet){ bullets.remove(bullet); } }