PERFIL

 
 20 Ene 2009 @ 1:40 PM 

 Espol

El juego mas esperado por la gente politecnica se dara a conocer muy pronto y tu seras el primero en entedarte para el dia de la salida al mercado...xD

Espol

Integrantes del Grupo del proyecto:

  • Chavez Luis Felipe
  • Menoscal Victor
  • Pintado Dennise
  • Rubio Jefferson

Esta entrada a blog fue creada con el proposito de dar a conocer el avance q se va dando con el pasar de los dias en la implementacion y diseño del proyecto de la materia de POO consistente a la adaptacion en sistema del juego muy famoso y clasico Battleship.

Posted By: jjrubio
Last Edit: 21 Ago 2010 @ 04:22 PM

EmailPermalink
Tags
Categories: Proyecto POO


 

Responses to this post » (14 Total)

 
  1. INTERFAZ GRAFICA:
    Codigo para cambiar el dibujo de logo de la taza de cafe de la ventana principal de una aplicacion java:

    setIconImage (new ImageIcon(«images/ship.png»).getImage());

  2. INTERFAZ GRAFICA:
    Codigo para poner una imagen como puntero dentro de un panel en una aplicacion java:
    Toolkit mouse = Toolkit.getDefaultToolkit();
    Image image = mouse.getImage(«images/Bala.png»);
    Point hotSpot = new Point(0, 0);
    Cursor cursor = mouse.createCustomCursor(image, hotSpot, «cursor juego»);
    setCursor(cursor);

  3. Luis Felipe Chávez Cruz dice:

    En el proyecto nos será muy útil la combinacion de los colores en los paneles para diferenciarlos y ademas que sea mas cómodo para el usuario asi que investigué los metodos para cambiar de color el fondo del panel y del texto ademas de poder escoger el tipo de letra

    *Cambiemos el font de caracteres a Times Roman de 12

    setFont( new Font( «TimesRoman»,Font.PLAIN,12 ) );

    * Fijemos los colores de la ventana para que el fondo sea Blanco y el texto resalte en Negro

    setBackground( Color.white );
    setForeground( Color.black );

  4. Luis Felipe Chávez Cruz dice:

    Tambien podemos cambiar la fuente de una caja de texto de la siguiente manera:

    TextArea caja_texto = new TextArea();
    Font fuente = new Font( «Helvetica»,Font.ITALIC,12 );
    caja_texto.setFont( fuente );

  5. Este codigo q voy a mostrar me parecio muy interesante para la presentacion del proyecto. Se trata de insertar el llamado «Splash Screen» que consiste de una ventana de presentacion(en el centro de la pantalla) antes de comenzar a correr la ventana principal de la aplicacion.
    Me parecio muy util porque sirve para darle tiempo a que la aplicacion se cargue como se debe y no esperar sin ver algo.
    Nota: Para la utilizacion de este metodo tuve que investigar la utilizacion de hilos, aunque creo que en clases posteriores la ingeniera mostrara la debida utilizacion de este.

    Codigo:
    //Se crea una clase que extienda de JFrame e implemente Runnable(para poder ejecutar el hilo)

    public class SplashScreen extends JFrame implements Runnable{
    Thread t; //Se declara el hilo
    Ventana inicial;
    JLabel fondo;

    public SplashScreen(){
    //Se inicializa el hilo
    initComponents();
    }

    // metodo run() que dice que se va a ejecutar en el hilo y por cuanto tiempo
    public void run(){
    try {

    setSize(600,230);
    setLocationRelativeTo(null);//centrar la pantalla
    setVisible(true);
    t.sleep(4000);//cuanto tiempo dura la ejecucion en milisegundos
    dispose();
    inicial=new Ventana();
    } catch (InterruptedException ex) {
    System.out.println(«Ejecucion erronea»);
    }

    }

    private void initComponents() {
    fondo =new JLabel();
    fondo.setIcon(new ImageIcon(getClass().getResource(«/images/splashscreen.png»)));
    add(fondo);
    setUndecorated(true);// quitarle los botones a la ventana, dejando solo la imagen de fondo
    }
    }

    *******************************************************************************************

    public static void main(String[] args) {
    //Esta linea en el Main comenzara la ejecucion del Splash Screen
    new Thread(new SplashScreen()).start();
    }

    Para mas detalles les dejo el link:
    http://richieblog.wordpress.com/2008/10/14/la-manera-mas-facil-de-crear-un-splash-en-java/

  6. Dennise Pintado dice:

    Para la parte grafica del juego en la ventana principal podriamos usar llos metodos de JFrame:
    this.setLocationRelativeTo(null);//Para centrar correctamente el JFrame
    this.setResizable(false);// Determina si el usuario puede o no cambiar el tamaño del marco, en este caso no puedepor la palabra false.
    this.setTitle(«Ventana Inicial»);//Para cambiar el texto que aparece en la barra de titulo

    Cada jugador osea el PC y el usuario tienen un tablero 10×10 en donde podran poner sus barcos, para evitar que el jugador ponga sus barcos en terreno enemigo podemos mostrar un menu que tenga tres botones entre ellos uno que sea para ubicar en el tablero los del usuario y otro para colocarlos aleatoriamente los del PC, al hacer click en uno de ellos el otro boton se deshabilitaria…

    en la clase menu podriamos tener algo como :

    la accion generada por el boton para el usuario
    boton1.addActionListener(new java.awt.event.ActionListener() {

    public void actionPerformed(java.awt.event.ActionEvent evt) {
    botondeljugador1Click(evt);//funcion que ejecuta el evento del click
    }
    });

    private void botondeljugador1Click(java.awt.event.ActionEvent evt) {
    this.setVisible(false);
    new VentanaInicial(«INGRESE BARCOS EL USUARIO»,»PC»).setVisible(true);//para el pc se deshabilita
    }

    //Y otra clase que una vez que escogi el boton para el usuario nos sirva para mostrar la parte del tablero del jugador que seleccione…

    private void Ingreso1Click(java.awt.event.ActionEvent evt) {
    botondeljugador1Click.setEnabled(false);//se deshabilita el boton Ingresar1, para que no pueda ingresar a esa opcion nuevamente
    botondeljugador2Click.setEnabled(true);//se habilita el boton Ingresar2

    new VentanaJugador(this, 1,this.botondeljugador1.getText()).setVisible(true);//se hace visible el tablero de jugador1
    this.setVisible(false);
    }
    Creo que nos serviria dividir esta parte , porque si no se la sabe manejar nos complicaria a modo que avance el proyecto…..

  7. Dennise Pintado dice:

    Mas adelante podriamos poner un linite de tiempo que esperariamos a que se efectue el disparo del usuario, se puede usar este metodo que halle para ayudar en eso:

    long milisegundosAhora = System.currentTimeMillis();

    pasado el tiempo limite que pusieramos saldria un mensaje indicandolo y cambiando el turno al PC….

    JOptionPane.showMessageDialog(«Su turno termino»);
    siguienteTurno();//Funcion que cambiaria el turno actual al otro jugador

    Esto podriamos usarlo mas adelante si asi lo deseeamos…..

  8. para reproducir musica en java
    con formato .wav

    import java.io.File;
    import javax.sound.sampled.AudioFileFormat;
    import javax.sound.sampled.AudioSystem;
    import javax.sound.sampled.Clip;

    public class ReproduceAudio {
    public static void main(String[] args) {
    try {

    // Se obtiene un Clip de sonido
    Clip sonido = AudioSystem.getClip();

    // Se carga con un fichero wav
    sonido.open(AudioSystem.getAudioInputStream(new File(«Sinfonía nº 9 de Beethoven (Scherzo).wav»)));

    // Comienza la reproducción
    sonido.start();

    // Espera mientras se esté reproduciendo.
    while (sonido.isRunning())
    Thread.sleep(1000);

    // Se cierra el clip.
    sonido.close();
    } catch (Exception e) {
    System.out.println(«» + e);
    }
    }

    }

  9. Dennise Pintado dice:

    Para colocor una imgen en el JFrame existen varias maneras encontre una informacion muy util, podemos crear un paquete en donde ubicaremos las imagenes, ésto nos ayuda a no utilizar rutas absolutas; Luego debemos crear un JPanel que contendrá la imagen, una caja de texto, un boton etc. Dentro del JPanel debemos re-escribir el método paintComponent en donde utilizando el método g.drawImage se dibuja la imagen. Para hacer referencia a la imagen que se encuentra dentro de un paquete lo hacemos con el método getResource, éste mismo método es utilizado para agregar una imagen al botón . Una vez hecho los trabajos con el JPanel, debemos empezar a trabajar con el JFrame, únicamente lo que corresponde hacer es crear un objeto del tipo JPanel y agregarlo al JFrame dentro del cual se ha definido con Layout el BorderLayout.

  10. aqui le envio otro codigo para el sonido ya lo prove si funciona tan solo tienen que escojer una musica con extension .wav en
    final JTextField textField =
    new JTextField(«te prefiero.wav»);

    package hola;

    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.io.*;
    import javax.sound.sampled.*;

    public class AudioPlayer02 extends JFrame{
    AudioFormat audioFormat;
    AudioInputStream audioInputStream;
    SourceDataLine sourceDataLine;
    boolean stopPlayback = false;
    final JButton stopBtn = new JButton(«Stop»);
    final JButton playBtn = new JButton(«Play»);
    final JTextField textField =
    new JTextField(«te prefiero.wav»);

    public static void main(String args[]){
    new AudioPlayer02();
    }//end main
    //——————————————-//

    public AudioPlayer02(){//constructor

    stopBtn.setEnabled(false);
    playBtn.setEnabled(true);
    //Instantiate and register action listeners
    // on the Play and Stop buttons.
    playBtn.addActionListener(
    new ActionListener(){
    public void actionPerformed(
    ActionEvent e){
    stopBtn.setEnabled(true);
    playBtn.setEnabled(false);
    playAudio();//Play the file
    }//end actionPerformed
    }//end ActionListener
    );//end addActionListener()

    stopBtn.addActionListener(
    new ActionListener(){
    public void actionPerformed(
    ActionEvent e){
    //Terminate playback before EOF
    stopPlayback = true;
    }//end actionPerformed
    }//end ActionListener
    );//end addActionListener()

    getContentPane().add(playBtn,»West»);
    getContentPane().add(stopBtn,»East»);
    getContentPane().add(textField,»North»);

    setTitle(«Copyright 2003, R.G.Baldwin»);
    setDefaultCloseOperation(EXIT_ON_CLOSE);
    setSize(250,100);
    setVisible(true);
    }//end constructor
    //——————————————-//

    //This method plays back audio data from an
    // audio file whose name is specified in the
    // text field.
    private void playAudio() {
    try{
    File soundFile =
    new File(textField.getText());
    audioInputStream = AudioSystem.
    getAudioInputStream(soundFile);
    audioFormat = audioInputStream.getFormat();
    System.out.println(audioFormat);

    DataLine.Info dataLineInfo =
    new DataLine.Info(
    SourceDataLine.class,
    audioFormat);

    sourceDataLine =
    (SourceDataLine)AudioSystem.getLine(
    dataLineInfo);

    //Create a thread to play back the data and
    // start it running. It will run until the
    // end of file, or the Stop button is
    // clicked, whichever occurs first.
    // Because of the data buffers involved,
    // there will normally be a delay between
    // the click on the Stop button and the
    // actual termination of playback.
    new PlayThread().start();

    }catch (Exception e) {
    e.printStackTrace();
    System.exit(0);
    }//end catch
    }//end playAudio
    class PlayThread extends Thread{
    byte tempBuffer[] = new byte[10000];

    public void run(){
    try{
    sourceDataLine.open(audioFormat);
    sourceDataLine.start();

    int cnt;
    //Keep looping until the input read method
    // returns -1 for empty stream or the
    // user clicks the Stop button causing
    // stopPlayback to switch from false to
    // true.
    while((cnt = audioInputStream.read(
    tempBuffer,0,tempBuffer.length)) != -1
    && stopPlayback == false){
    if(cnt > 0){
    //Write data to the internal buffer of
    // the data line where it will be
    // delivered to the speaker.
    sourceDataLine.write(
    tempBuffer, 0, cnt);
    }//end if
    }//end while
    //Block and wait for internal buffer of the
    // data line to empty.
    sourceDataLine.drain();
    sourceDataLine.close();

    //Prepare to playback another file
    stopBtn.setEnabled(false);
    playBtn.setEnabled(true);
    stopPlayback = false;
    }catch (Exception e) {
    e.printStackTrace();
    System.exit(0);
    }//end catch
    }//end run
    }//end inner class PlayThread
    //===================================//

    }

  11. Luis Felipe Chávez Cruz dice:

    Con esta parte de código podemos validar si el usuario ingresa o no su nombre, mostrándole un cuadro de diálogo para que lo inserte previamente.

    String respuesta= JOptionPane.showInputDialog(«Escriba su nombre»);

    if (respuesta==null)
    JOptionPane.showMessageDialog(this,»Noescribió”);
    else
    nombre=respuesta;

  12. luifecha dice:


    Este procedimiento distorsiona la figura(shear), según los ejes dados, con esto podemos dar la impresión que el tablero está inclinado .

    void shear(double x, double y)

  13. Aqui encontre un componente que me parece interesante llamado \Dialog\ en awt o \JDialog\ en la version de swing, lo que hace este componente es crear un ventana dentro de un frame sin abrir otra aplicacion. Tambien es muy util porque se puede modificar de tal forma que al cerrar el jframe el jdialog tambien se cierre y no quede como independiente detras de la ventana.

    Codigo de una muestra de ejecucion de los que les digo:

    import java.awt.*;

    public class DialogWindow extends Frame {
    private boolean inAnApplet = true;
    private SimpleDialog dialog;
    private TextArea textArea;

    public DialogWindow() {
    textArea = new TextArea(5, 40);
    textArea.setEditable(false);
    add(\Center\, textArea);
    Button button = new Button(\Click to bring up dialog\);
    Panel panel = new Panel();
    panel.add(button);
    add(\South\, panel);
    }

    public boolean handleEvent(Event event) {
    if (event.id == Event.WINDOW_DESTROY) {
    if (inAnApplet) {
    dispose();
    } else {
    System.exit(0);
    }
    }
    return super.handleEvent(event);
    }

    public boolean action(Event event, Object arg) {
    if (dialog == null) {
    dialog = new SimpleDialog(this, \A Simple Dialog\);
    }
    dialog.show();
    return true;
    }

    public void setText(String text) {
    textArea.appendText(text + \
    \);
    }

    public static void main(String args[]) {
    DialogWindow window = new DialogWindow();
    window.inAnApplet = false;

    window.setTitle(\DialogWindow Application\);
    window.pack();
    window.show();
    }
    }

    class SimpleDialog extends Dialog {
    TextField field;
    DialogWindow parent;
    Button setButton;

    SimpleDialog(Frame dw, String title) {
    super(dw, title, false);
    parent = (DialogWindow)dw;

    //Create middle section.
    Panel p1 = new Panel();
    Label label = new Label(\Enter random text here:\);
    p1.add(label);
    field = new TextField(40);
    p1.add(field);
    add(\Center\, p1);

    //Create bottom row.
    Panel p2 = new Panel();
    p2.setLayout(new FlowLayout(FlowLayout.RIGHT));
    Button b = new Button(\Cancel\);
    setButton = new Button(\Set\);
    p2.add(b);
    p2.add(setButton);
    add(\South\, p2);

    //Initialize this dialog to its preferred size.
    pack();
    }

    public boolean action(Event event, Object arg) {
    if ( (event.target == setButton)
    | (event.target == field)) {
    parent.setText(field.getText());
    }
    field.selectAll();
    hide();
    return true;
    }
    }

  14. aqui tengo un ejemplo similar al proyecto pero estos son aviones
    ynos puede ser paar encontar lapossicion de los barcos espero que le sirvan

    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.io.*;
    import javax.sound.sampled.*;

    public class Nave extends JDialog implements MouseListener, MouseMotionListener, ActionListener{

    ImageIcon nave = new ImageIcon(«na.png»);
    ImageIcon nave2 = new ImageIcon(«nave2.gif»);
    ImageIcon nave3 = new ImageIcon(«tab.gif»);
    ImageIcon ex = new ImageIcon(«exp1.gif»);
    ImageIcon str = new ImageIcon(«st.gif»);

    JLabel navee = new JLabel(nave);

    JLabel img = new JLabel(nave3);

    JLabel naveee = new JLabel(nave2);
    JLabel naveeee = new JLabel(nave2);
    JLabel naveeeee = new JLabel(nave2);

    JLabel e1 = new JLabel(str);
    JLabel e2 = new JLabel(str);
    JLabel e3 = new JLabel(str);
    JLabel e4 = new JLabel(str);
    JLabel e5 = new JLabel(str);
    JLabel e6 = new JLabel(str);
    JLabel e7 = new JLabel(str);
    JLabel e8 = new JLabel(str);
    JLabel e9 = new JLabel(str);
    JLabel e0 = new JLabel(str);

    JLabel exp = new JLabel(ex);
    JLabel exp1 = new JLabel(ex);
    JLabel exp2 = new JLabel(ex);

    JLabel naves = new JLabel(«Naves derribadas: «);
    JLabel pun = new JLabel(«Puntuacion: «);

    JButton n1 = new JButton(«COMENZAR»);
    JButton n2 = new JButton(«PAUSAR»);
    JButton n3 = new JButton(«REANUDAR»);

    JButton vn = new JButton(«NORMAL»);
    JButton v1 = new JButton(«RAPIDO»);
    JButton v2 = new JButton(«VELOZ»);

    JButton re = new JButton(«SALIR»);

    Relog time = new Relog();
    Ene obj1 = new Ene();
    Estrellas obj2 = new Estrellas();

    int z=0, nd=0, punt=0;
    int t1=300,t2=500,t3=1000,posini=640;

    int pox =posini;
    int poy =posini;

    int y1 = 400, y2=350;

    Clip disparo;
    Clip explocion;

    public Nave(Frame parent, boolean modal){

    super(parent, modal);
    Container c=getContentPane();;
    c=getContentPane();
    setTitle(«UNIVERSE PLAY»);
    setLayout(null);
    setSize(800,500);
    setLocationRelativeTo(null);
    setResizable(false);
    setIconImage(Toolkit.getDefaultToolkit().getImage(«strella.png»));
    c.setBackground(Color.BLACK);

    c.add(navee);
    navee.setLocation(309,370);
    navee.setSize(80,100);
    navee.setVisible(true);

    c.add(e1);
    e1.setSize(30,30);
    e1.setVisible(false);

    c.add(e2);
    e2.setSize(30,30);
    e2.setVisible(false);

    c.add(e3);
    e3.setSize(30,30);
    e3.setVisible(false);

    c.add(e4);
    e4.setSize(30,30);
    e4.setVisible(false);

    c.add(e5);
    e5.setSize(30,30);
    e5.setVisible(false);

    c.add(e6);
    e6.setSize(30,30);
    e6.setVisible(false);

    c.add(e7);
    e7.setSize(30,30);
    e7.setVisible(false);

    c.add(e8);
    e8.setSize(30,30);
    e8.setVisible(false);

    c.add(e9);
    e9.setSize(30,30);
    e9.setVisible(false);

    c.add(e0);
    e0.setSize(30,30);
    e0.setVisible(false);

    c.add(naveee);
    naveee.setSize(100,80);
    naveee.setVisible(false);

    c.add(naveeee);
    naveeee.setSize(100,80);
    naveeee.setVisible(false);

    c.add(naveeeee);
    naveeeee.setSize(100,80);
    naveeeee.setVisible(false);

    c.add(exp);
    exp.setSize(100,80);
    exp.setVisible(false);

    c.add(naves);
    naves.setSize(150,20);
    naves.setLocation(640,5);
    naves.setFont(new Font(«Arial»,Font.BOLD,11));
    naves.setForeground(Color.GREEN);
    naves.setVisible(true);

    c.add(pun);
    pun.setSize(150,20);
    pun.setLocation(640,40);
    pun.setFont(new Font(«Arial»,Font.BOLD,11));
    pun.setForeground(Color.GREEN);
    pun.setVisible(true);

    c.add(n1);
    n1.setSize(150,20);
    n1.setLocation(640,80);
    n1.setVisible(true);
    n1.addActionListener(this);

    c.add(n2);
    n2.setSize(150,20);
    n2.setLocation(640,120);
    n2.setVisible(true);
    n2.addActionListener(this);

    c.add(n3);
    n3.setSize(150,20);
    n3.setLocation(640,160);
    n3.setVisible(true);
    n3.addActionListener(this);

    c.add(vn);
    vn.setSize(150,20);
    vn.setLocation(640,200);
    vn.setVisible(true);
    vn.addActionListener(this);

    c.add(v1);
    v1.setSize(150,20);
    v1.setLocation(640,240);
    v1.setVisible(true);
    v1.addActionListener(this);

    c.add(v2);
    v2.setSize(150,20);
    v2.setLocation(640,280);
    v2.setVisible(true);
    v2.addActionListener(this);

    c.add(re);
    re.setSize(150,20);
    re.setLocation(640,320);
    re.setVisible(true);
    re.addActionListener(this);

    c.add(img);
    img.setLocation(640,350);
    img.setSize(150,100);
    img.setVisible(true);

    addMouseListener(this);
    addMouseMotionListener(this);

    obj2.start();

    }

    //Metodo para que se mueva la nave al arrastrar el mouse
    public void mouseMoved(MouseEvent ev) {

    if(ev.getX()>50 && ev.getX()400){
    int posx = (ev.getX() – 35);
    navee.setLocation(posx,370);

    }

    }

    //Metodo que ocupo para el disparo de la nave
    public void mousePressed(MouseEvent ev) {

    if(ev.getY()>400 && ev.getX()>31 && ev.getX()0;y1–,y2–){

    Graphics g=getGraphics();
    time.relog(1);
    g.setColor(Color.YELLOW);
    g.drawLine(x,y1,x,y2);
    g.setColor(Color.YELLOW);
    g.drawLine(x+3,y1,x+3,y2);
    g.setColor(Color.YELLOW);
    g.drawLine(x-3,y1,x-3,y2);

    time.relog(1);

    g.setColor(Color.BLACK);
    g.drawLine(x,y1,x,y2);
    g.setColor(Color.BLACK);
    g.drawLine(x+3,y1,x+3,y2);
    g.setColor(Color.BLACK);
    g.drawLine(x-3,y1,x-3,y2);
    z=x;
    }

    atina();

    }
    }

    public void mouseExited(MouseEvent ev) {}
    public void mouseReleased(MouseEvent ev) {}
    public void mouseClicked(MouseEvent ev) {}
    public void mouseEntered(MouseEvent ev) {}
    public void mouseDragged(MouseEvent ev) {}

    //Escuchador de aventos de los botones
    public void actionPerformed(ActionEvent evt){
    if(evt.getSource()==n1){
    obj1.start();
    }

    if(evt.getSource()==re){
    setVisible(false);
    exp.setVisible(false);
    nd=0;
    naves.setText(«Naves derribadas: «+nd);
    pun.setText(«Puntuacion: » +(nd*0));
    }

    if(evt.getSource()==n2){
    exp.setVisible(false);
    obj1.suspend();
    }

    if(evt.getSource()==n3){
    exp.setVisible(false);
    obj1.resume();
    }

    if(evt.getSource()==vn){
    t2 = 500;
    t3 = 1000;
    exp.setVisible(false);
    obj1.resume();
    }

    if(evt.getSource()==v1){
    t2 = 400;
    t3 = 800;
    exp.setVisible(false);
    obj1.resume();

    }

    if(evt.getSource()==v2){
    t2 = 200;
    t3 = 400;
    exp.setVisible(false);
    obj1.resume();
    }

    }
    //Metodo para colocar en las etiquetas el numero de naves atinadas y puntuaciov
    public void posicionnave (){

    naves.setText(«Naves derribadas: » +» «+ nd);
    pun.setText(«Puntuacion: » +» «+ (nd*100));
    }

    //Metodos de accion cuando se le da a una nave enemiga
    public void atina(){
    if(z>pox && z<pox+100){
    naveee.setVisible(false);
    exp.setVisible(true);
    exp.setLocation(pox,poy);
    nd= nd+1;
    posicionnave();
    rep2();
    }
    }

    //Metodo para la reproduccion de sonidos
    public void sounddis(){
    try {
    disparo = AudioSystem.getClip();
    disparo.open(AudioSystem.getAudioInputStream(new File("disparo.wav")));

    explocion = AudioSystem.getClip();
    explocion.open(AudioSystem.getAudioInputStream(new File("explo.wav")));

    }
    catch (Exception evn) { }
    }

    public void rep1(){
    disparo.start();
    }

    public void rep2(){
    explocion.start();
    }
    //Clase con hilos para que las naves enemigas siempre esten apareciendo
    public class Ene extends Thread {

    public void run(){

    while(true){

    pox = (int) Math.round(Math.random()*550);
    poy = (int) Math.round(Math.random()*300);

    naveee.setVisible(true);
    naveee.setLocation(pox,poy);

    time.relog(t2);

    naveee.setVisible(false);

    try {
    Thread.sleep(t3);
    }
    catch( InterruptedException e ) { }
    }
    }

    }

    //Clase ke se ocupa para ke las estrellas de fondo siempre se esten ejecutando "ayuda de hilos en java"
    public class Estrellas extends Thread {

    public void run(){

    while(true){

    int p = (int) Math.round(Math.random()*550);
    int py = (int) Math.round(Math.random()*300);

    int p1 = (int) Math.round(Math.random()*550);
    int py1 = (int) Math.round(Math.random()*300);

    int p2 = (int) Math.round(Math.random()*550);
    int py2 = (int) Math.round(Math.random()*300);

    int p3 = (int) Math.round(Math.random()*550);
    int py3 = (int) Math.round(Math.random()*300);

    int p4 = (int) Math.round(Math.random()*550);
    int py4 = (int) Math.round(Math.random()*300);

    int p5 = (int) Math.round(Math.random()*550);
    int py5 = (int) Math.round(Math.random()*300);

    int p6 = (int) Math.round(Math.random()*550);
    int py6 = (int) Math.round(Math.random()*300);

    int p7 = (int) Math.round(Math.random()*550);
    int py7 = (int) Math.round(Math.random()*300);

    int p8 = (int) Math.round(Math.random()*550);
    int py8 = (int) Math.round(Math.random()*300);

    int p9 = (int) Math.round(Math.random()*550);
    int py9 = (int) Math.round(Math.random()*300);

    time.relog(1000);
    e1.setVisible(true);
    e1.setLocation(p,py);

    e2.setVisible(true);
    e2.setLocation(p1,py1);

    e3.setVisible(true);
    e3.setLocation(p2,py2);

    e4.setVisible(true);
    e4.setLocation(p3,py3);

    e5.setVisible(true);
    e5.setLocation(p4,py4);

    e6.setVisible(true);
    e6.setLocation(p5,py5);

    e7.setVisible(true);
    e7.setLocation(p6,py6);

    e8.setVisible(true);
    e8.setLocation(p7,py7);

    e9.setVisible(true);
    e9.setLocation(p8,py8);

    e0.setVisible(true);
    e0.setLocation(p9,py9);

    time.relog(1000);

    e1.setVisible(false);
    e2.setVisible(false);
    e3.setVisible(false);
    e4.setVisible(false);
    e5.setVisible(false);
    e6.setVisible(false);
    e7.setVisible(false);
    e8.setVisible(false);
    e9.setVisible(false);
    e0.setVisible(false);

    try {
    Thread.sleep(500);
    }
    catch( InterruptedException e ) { }
    }
    }
    }

    }

Post a Comment

You must be logged in to post a comment.


 Last 50 Posts
 Back
 Back
Change Theme...
  • Users » 11181
  • Posts/Pages » 5
  • Comments » 14
Change Theme...
  • VoidVoid « Default
  • LifeLife
  • EarthEarth
  • WindWind
  • WaterWater
  • FireFire
  • LightLight

HISTORIAS PARA MEDITAR



    No Child Pages.

CHISTES



    No Child Pages.

CSI New York: La Serie



    No Child Pages.

Heroes: La Serie



    No Child Pages.