public void paint(Graphics g) { Graphics2D graficos = (Graphics2D) g; graficos.drawImage(fundo, 0, 0, null); if (emJogo) { graficos.drawImage(nave.getImagem(), nave.getX(), nave.getY(), this); List<Missel> misseis = nave.getMisseis(); for (int i = 0; i < misseis.size(); i++) { Missel m = (Missel) misseis.get(i); graficos.drawImage(m.getImagem(), m.getX(), m.getY(), this); } for (int i = 0; i < inimigos.size(); i++) { Inimigo in = inimigos.get(i); graficos.drawImage(in.getImagem(), in.getX(), in.getY(), this); } graficos.setColor(Color.white); graficos.drawString("Inimigos: " + inimigos.size(), 5, 15); } else { ImageIcon fimJogo = new ImageIcon(Main.class.getResource("/res/game_over.jpg")); graficos.drawImage(fimJogo.getImage(), 0, 0, null); } g.dispose(); }
@Override public void actionPerformed(ActionEvent e) { if (inimigos.size() == 0) { emJogo = false; } List<Missel> misseis = nave.getMisseis(); for (int i = 0; i < misseis.size(); i++) { Missel m = (Missel) misseis.get(i); if (m.isVisible()) { m.mexer(); } else { misseis.remove(i); } } for (int i = 0; i < inimigos.size(); i++) { Inimigo in = inimigos.get(i); if (in.isVisible()) { in.mexer(); } else { inimigos.remove(i); } } nave.mexer(); checarColisoes(); repaint(); }
public void checarColisoes() { Rectangle formaNave = nave.getBounds(); Rectangle formaInimigo; Rectangle formaMissel; for (int i = 0; i < inimigos.size(); i++) { Inimigo tempInimigo = inimigos.get(i); formaInimigo = tempInimigo.getBounds(); if (formaNave.intersects(formaInimigo)) { nave.setVisivel(false); tempInimigo.setVisible(false); emJogo = false; } } List<Missel> misseis = nave.getMisseis(); for (int i = 0; i < misseis.size(); i++) { Missel tempMissel = misseis.get(i); formaMissel = tempMissel.getBounds(); for (int j = 0; j < inimigos.size(); j++) { Inimigo tempInimigo = inimigos.get(j); formaInimigo = tempInimigo.getBounds(); if (formaMissel.intersects(formaInimigo)) { tempInimigo.setVisible(false); tempMissel.setVisible(false); } } } }
public boolean canAtravessar(Jogador jogador) { if (cor != Cor.MARROM) { Chave c = jogador.getChave(); if (c != null) return c.getCor() == cor; else return false; } if (inimigo != null) { if (!(inimigo instanceof Armadilha)) return !inimigo.isAlive(); } return true; }