Java - Ayuda en juego java

 
Vista:
sin imagen de perfil

Ayuda en juego java

Publicado por Adrian (1 intervención) el 28/06/2014 15:03:34
Lo que quiero hacer es que me salgan las figuras aleatoriamente y cada vez mas... no consigo hacerlo

os dejo el codigo


lo que hace el juego es lo siguiente tu eres una figura o un circulo (si clicas te conviertes en circulo si sueltas otra vez en cuadrado) y te van viendo cuadrados o circulos y para pasarlos tienes que convertirte en lo que te viene, pero no se como hacer que te vengan , solo me salen dos....


clase donde se ejecuta todo... :

package laneLike;

import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.Rectangle;
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.MouseAdapter;
import java.awt.event.MouseEvent;



import java.util.ArrayList;

import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.Timer;


public class Mapa extends JPanel implements ActionListener {

private Timer timer;
private TuFigura tf;
private Cuadrado cuadrado;
private Circulo circulo;
private boolean jugando=true;
private Reproductor mp3;
private ArrayList circulos;



public Mapa() {


String filename = "C:/Users/AdrianSobremesa/Desktop/Uni/Programacion IV/laneLike/src/Musica/Nv1.mp3";

// nueva instancia de la clase MP3
mp3 = new Reproductor(filename);
mp3.play();

// establecemos el tiempo para procesar el sonido (milisegundos)
int N = 4000;
double sum = 0.0;
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
sum += Math.sin(i + j);
}
}
System.out.println(sum);

// cuando el tiempo de proceso termina se detiene la reproduccion
mp3.close();

// reproducir el mp3 desde el principio
mp3 = new Reproductor(filename);
mp3.play();






addMouseListener(new TAdapter());
setFocusable(true);
setDoubleBuffered(true);


tf = new TuFigura();
cuadrado=new Cuadrado(600,150);
circulo=new Circulo(800,150);
timer = new Timer(5, this);

timer.start();
}



public void paint(Graphics g) {
super.paint(g);

if(jugando==true){

Graphics2D g2d = (Graphics2D)g;

g2d.drawImage(tf.getImage(), tf.getX(), tf.getY(),this);



g2d.drawImage(cuadrado.getImage(), cuadrado.getX(), cuadrado.getY(), this);
cuadrado.move(false);



g2d.drawImage(circulo.getImage(), circulo.getX(), circulo.getY(), this);
circulo.move(false);




Toolkit.getDefaultToolkit().sync();
g.dispose();
}
}


public void actionPerformed(ActionEvent e) {


tf.move();

checkCollisions();
repaint();

}

public void checkCollisions() {

Rectangle r3 = tf.getBounds();

Rectangle r2 = cuadrado.getBounds();
Rectangle r1 = circulo.getBounds();

if (r3.intersects(r2) && tf.EsCuadrado()==false) {
System.out.println("game over");
jugando=false;
mp3.close();

}
else if (r3.intersects(r1) && tf.EsCirculo()==false){
System.out.println("game over");
jugando=false;
mp3.close();
}

else if (r3.intersects(r2) && tf.EsCuadrado()==true){
cuadrado.move(true);
}
else if (r3.intersects(r1) && tf.EsCirculo()==true){
circulo.move(true);
}

}






private class TAdapter extends MouseAdapter {

public void mouseReleased(MouseEvent e) {
tf.mouseReleased(e);
}

public void mousePressed(MouseEvent e) {
tf.mouseClicked(e);
}
}

}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder