Pego el codigo en 2 mensajes.
Código:
package Pantallas;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.util.ArrayList;
import javax.swing.ButtonGroup;
import javax.swing.GroupLayout;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.LayoutStyle;
import javax.swing.Timer;
import Elementos.Alien1;
import Elementos.Alien2;
import Elementos.Misil;
import Elementos.Nave1;
import java.awt.Rectangle;
public class Intro extends JPanel implements ActionListener {
public Image image;
public int x;
public int y;
public int nivel_dificultad;
public int velo_alien;
public boolean InGame;
public Timer timer;
public Nave1 nave1;
public Alien1 alien1;
public Alien2 alien2;
public ArrayList<Alien1> alien1Activos;
public ArrayList<Alien2> alien2Activos;
public ButtonGroup GrupoDificultad;
public JButton jButton1;
public JLabel jLabel1;
public JPanel jPanel1;
public JRadioButton jRadioButton1;
public JRadioButton jRadioButton2;
public JRadioButton jRadioButton3;
public JRadioButton jRadioButton4;
public Intro() {
addKeyListener(new TAdapter());
setFocusable(true);
setBackground(Color.white);
setDoubleBuffered(true);
InGame = false;
nave1 = new Nave1();
alien1 = new Alien1();
alien2 = new Alien2();
alien1Activos = new ArrayList<Alien1>();
alien2Activos = new ArrayList<Alien2>();
//Ponemos por defecto estos valores, ya que Radio Button esta apretado por defecto en esta dificultad
nivel_dificultad = 5;
velo_alien = 2;
x = 0;
y = 0;
timer = new Timer(5, this); // cada 5 ms llama actionPerformed
timer.start();
}
public Image getPantallaImage() {
return image;
}
public int getPantallaX() {
return x;
}
public int getPantallaY() {
return y;
}
public int getDificultad() {
return nivel_dificultad;
}
public boolean getInGame() {
return InGame;
}
public ArrayList<Alien1> getAlien1() {
for (int i = 0; i < nivel_dificultad; i++) {
alien1Activos.add(new Alien1());
}
return alien1Activos;
}
public ArrayList<Alien2> getAlien2() {
for (int i = 0; i < nivel_dificultad; i++) {
alien2Activos.add(new Alien2());
}
return alien2Activos;
}
public void CrearMenuPrincipal(){
ImageIcon ii = new ImageIcon(this.getClass().getResource("../PantallaInicial_V2.jpg"));
image = ii.getImage();
selectorDificultad();
}
public void CrearStage1(){
ImageIcon ii = new ImageIcon(this.getClass().getResource("../stage1.jpg"));
image = ii.getImage();
}
public void FindeJuego(){
ImageIcon ii = new ImageIcon(this.getClass().getResource("../GameOver.jpg"));
image = ii.getImage();
InGame=false;
}
public void EliminarPanel(){
jPanel1.setVisible(false);
jPanel1.setEnabled(false);
jPanel1.removeAll();
jButton1.setVisible(false);
jButton1.removeAll();
jButton1.setEnabled(false);
jRadioButton1.setVisible(false);
jRadioButton1.setEnabled(false);
jRadioButton1.removeAll();
jRadioButton2.setVisible(false);
jRadioButton2.setEnabled(false);
jRadioButton2.removeAll();
jRadioButton3.setVisible(false);
jRadioButton3.setEnabled(false);
jRadioButton3.removeAll();
jRadioButton4.setVisible(false);
jRadioButton4.setEnabled(false);
jRadioButton4.removeAll();
jLabel1.setVisible(false);
jLabel1.removeAll();
GrupoDificultad.remove(null);
updateUI();
}
public void checkCollisions() {
// chequear colisiones de la nave con los alien1
Rectangle r1 = nave1.ObtenerLimites();
if (nave1.esVisible() || (InGame = true))
for (int i = 0; i < alien1Activos.size(); i++) {
Alien1 alien1x = (Alien1) alien1Activos.get(i);
Rectangle r2 = alien1x.ObtenerLimites();
if (r1.intersects(r2)) {
nave1.visible = false;
alien1x.visible = false;
InGame = false;
}
}
// chequear colisiones de la nave con los alien2
if (nave1.esVisible() || (InGame = true))
for (int i = 0; i < alien2Activos.size(); i++) {
Alien2 alien2x = (Alien2) alien2Activos.get(i);
Rectangle r3 = alien2x.ObtenerLimites();
if (r1.intersects(r3)) {
nave1.visible = false;
alien2x.visible = false;
InGame = false;
}
}
// chequear colisiones de los misiles con alien1
ArrayList<Misil> misiles = nave1.getMissiles();
if (nave1.esVisible() || (InGame = true))
for (int i = 0; i < misiles.size(); i++) {
Misil misilx = (Misil) misiles.get(i);
Rectangle r4 = misilx.ObtenerLimites();
for (int j = 0; j < alien1Activos.size(); j++) {
Alien1 alien1x = (Alien1) alien1Activos.get(j);
Rectangle r2 = alien1x.ObtenerLimites();
if (r4.intersects(r2)) {
alien1x.visible = false;
misilx.visible = false;
}
}
}
// chequear colisiones de los misiles con alien2
if (nave1.esVisible() || (InGame = true))
for (int i = 0; i < misiles.size(); i++) {
Misil misilx = (Misil) misiles.get(i);
Rectangle r4 = misilx.ObtenerLimites();
for (int j = 0; j < alien2Activos.size(); j++) {
Alien2 alien2x = (Alien2) alien2Activos.get(j);
Rectangle r3 = alien2x.ObtenerLimites();
if (r4.intersects(r3)) {
misilx.visible = false;
alien2x.visible = false;
}
}
}
}