Juego para el concurso del grupo

Ir abajo

Juego para el concurso del grupo

Mensaje por Ferreter17 el Dom Jun 16, 2013 11:03 pm

Bueno acabo de terminar este pequeño juego para el concurso,aunque el plazo era de 30 días lo publico ya, a ver si los demás se animan a hacer juegos y tratar de sacar al grupo adelante..

INSTRUCCIONES DEL JUEGO:
El juego trata de pasar solo 3 niveles donde tienen que ir saltando hasta llegar ala sima donde esta su pase para el siguiente nivel...
El personaje de mueve con A izquierda y D derecha....
también pueden mover una escalera con W
                                                     A  D
                                                       S
pueden saltar con SPACE 
El juego no tiene timers así que depende de la velocidad de su procesador la velocidad del juego








PRESIONEN EL NUMERO 1 PARA PODER MOVER EL RECTÁNGULO BLANCO Y LA ESFERA NEGRA.


CODIGO

Código:
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.geom.Rectangle2D;
import java.awt.geom.RoundRectangle2D;
import java.awt.geom.Rectangle2D.Double;

import javax.swing.JFrame;


class Player{
   
    public static double X = 200;
    public static double Y = 400;
    public static double Xamigo = 100;
    public static double Yamigo = 300;
    private static double WIDTH = 30;
    private static double HEIGHT = 30;
    public static RoundRectangle2D player;
    public static Rectangle2D amigo;
    public static int vida = 1000;
    public static int Coordenadasojosx = 5;
    public static int Coordenadasojosy = 12;
    public static boolean salto = false;
    public static boolean jugador = true;
    public Rectangle2D algo;
   
    public Player(){
    player = new RoundRectangle2D.Double(X,Y,WIDTH,HEIGHT,100,100);
    amigo = new Rectangle2D.Double(plataforma.x + Xamigo,plataforma.y + Yamigo,100,20);
    algo = new Rectangle2D.Double(plataforma.x + Xamigo +5 ,plataforma.y + Yamigo + 5,90,10);
    }
   
    public RoundRectangle2D cuerpo(){
    return player;
    }
   
    public Rectangle2D amigo(){
    return amigo;
    }
   
    public Rectangle2D se(){
    return amigo;
    }
   
    public void ojos(Graphics2D g2){
   
    RoundRectangle2D ojos = new RoundRectangle2D.Double(X+Coordenadasojosx,Y+1,6,6,100,100);
    RoundRectangle2D ojos2 = new RoundRectangle2D.Double(X+Coordenadasojosy,Y+1,6,6,100,100);
    g2.setColor(Color.white);
    g2.fill(ojos);
    g2.fill(ojos2);
    }
   
    public static void moverDerecha(int coordenadas){
    X += coordenadas;
    }
    public static void moverIzquierda(int coordenadas){
    X -= coordenadas;
    }
   
    public static void ArribaAmigo(float coordenadas){
    Yamigo-=coordenadas;     
    }
   
    public static void AbajoaAmigo(float coordenadas){
    Yamigo+=coordenadas;   
    }
   
    public static void DerechaAmigo(float coordenadas){
    Xamigo+=coordenadas;   
    }
   
    public static void IzquierdaAmigo(float coordenadas){
    Xamigo-=coordenadas;   
    }
   
    public static void moverArriba(float coordenadas){
    Y-=coordenadas;   
    }
   
}



public class Estudiando extends JFrame{
    static Estudiando l = new Estudiando();
    Nivel nivel = new Nivel();
    boolean win = false;
   
 
   
    public void paint(Graphics2D g2){
     
       if(nivel.niveles[1])
          nivel.nivel(g2, 1);
        if(nivel.niveles[2])
          nivel.nivel(g2, 2);
        if(nivel.niveles[3])
          nivel.nivel(g2, 3);
          
       
       if(Player.player.intersects(plataforma.puerta[2]))
       {
          nivel.niveles[1]=false;
          nivel.niveles[2]=true;
          plataforma.puerta[2] = new Rectangle2D.Double(-10000,-10000,0,0);
           plataforma.x = -500;
           Player.Y=400;
          
       }
       else if(Player.player.intersects(plataforma.puerta[3]))
       {
          nivel.niveles[2]=false;
          nivel.niveles[3]=true;
          plataforma.puerta[3] = new Rectangle2D.Double(-10000,-10000,0,0);
          plataforma.x = -500;
          Player.Y=400;
       }
       else if(Player.player.intersects(plataforma.puerta[4]))
       {
               win=true;   
       }
       
       if(win)
          g2.drawString("GANASTE FELICIDADES", 200, 100);
          
       
       
       
       
       
    }
   
    public void paint(Graphics g){
    Graphics2D g2 = (Graphics2D)g;
    Dimension d= getSize();
    Image  mImagen = createImage(d.width,d.height);
    Graphics2D offG = (Graphics2D)mImagen.getGraphics();
   
    if(Nivel.color==1 || Nivel.color==3)
      offG.setColor(Color.green);
    else if(Nivel.color==2)
       offG.setColor(Color.blue);
   
 
    offG.fill(new Rectangle2D.Double(0,0,d.width,d.height));
    paint(offG);
    g2.drawImage(mImagen, 0, 20,null);
    }
   
   
   
 
    public static void main(String[]args){
   
    l.setSize(600,480);
    l.setVisible(true);
    l.setResizable(false);
   
    l.addKeyListener(new KeyAdapter()
    {
        public void keyPressed(KeyEvent e)
        {
           
           if(e.getKeyCode()==KeyEvent.VK_1){
              if(Player.jugador)
                  Player.jugador= false;
              else
                 Player.jugador=true;
           }
            if(e.getKeyCode()==KeyEvent.VK_D)
            {
               if(Player.jugador){
               
                plataforma.MoverPlataformaDerecha();
                Player.Coordenadasojosx = 14;
                Player.Coordenadasojosy = 20;
                }
               else
                  Player.DerechaAmigo(10);
            }
            else if(e.getKeyCode()==KeyEvent.VK_S)
            {
                if(!Player.jugador)
                    Player.AbajoaAmigo(10);
            }
           
            else if(e.getKeyCode()==KeyEvent.VK_A)
            {
                if(Player.jugador){
                plataforma.MoverPlataformaIzquierda();
                Player.Coordenadasojosx = 4;
                Player.Coordenadasojosy = 10;
                }
                else
                    Player.IzquierdaAmigo(10);
            }
           
            else if(e.getKeyCode()==KeyEvent.VK_W)
            {
                if(!Player.jugador)
                    Player.ArribaAmigo(10);
               
            }
            l.repaint();
           
        }
       
        public void keyReleased(KeyEvent e){
        if(e.getKeyCode()==KeyEvent.VK_SPACE)
            {
                if(Player.salto && Player.jugador)
                {
                  Player.moverArriba(50);
                  Player.salto = false;
                }
                l.repaint();
            }
        }
    });
    }
 
}



class plataforma{
static Rectangle2D [] piso = new Rectangle2D[20];
static Rectangle2D [] puerta =  new Rectangle2D[5];
public static int x = 0;
public static int y =0;

public plataforma(){
   puerta[2] = new Rectangle2D.Double(-1000,-1000,0,0);
   puerta[3] = new Rectangle2D.Double(-1000,-1000,0,0);
   puerta[4] = new Rectangle2D.Double(-1000,-1000,0,0);
}



public void plataforma_uno(Graphics2D g2){
puerta[2] = new Rectangle2D.Double(x -100,y +20, 60, 80);
piso[1] = new Rectangle2D.Double(x, y +420,1250, 50);
piso[2] = new Rectangle2D.Double(x + -200, y+100,200,10);//meta
piso[3] = new Rectangle2D.Double(x + -200,y +110,200,480);//meta
piso[4] = new Rectangle2D.Double(x +100, y + 200, 200, 20);
piso[5] = new Rectangle2D.Double(x + 420, y + 300, 200, 20);

g2.setColor(Color.black);
      for(int i = 1 ; i<6 ; i++){
          g2.fill(piso[i]);

        }
     
      g2.fill(puerta[2]);
}

public void plataforma_dos(Graphics2D g2){
   puerta[3] = new Rectangle2D.Double(x -100,y +20, 60,80);
   piso[1] = new Rectangle2D.Double(x, y +420,1250, 50); //suelo
   piso[2] = new Rectangle2D.Double(x + -200, y+100,200,10);//meta
   piso[3] = new Rectangle2D.Double(x + -200,y +110,200,480);//meta
   piso[4] = new Rectangle2D.Double(x + 150, y + 200, 200, 20);
   piso[5] = new Rectangle2D.Double(x + 490, y + 80, 200, 20);
   piso[6] = new Rectangle2D.Double(x + 730, y + 200, 200, 20);
   piso[7] = new Rectangle2D.Double(x + 1030, y + 300, 200, 20);
   
   g2.setColor(Color.black);
    for(int i = 1 ; i<8 ; i++){
        g2.fill(piso[i]);
      }
    g2.fill(puerta[3]);
}
    public void plataforma_tres(Graphics2D g2){
       puerta[4] = new Rectangle2D.Double(x -100,y +20, 60, 80);
       piso[1] = new Rectangle2D.Double(x, y +420,2050, 50); //suelo
       piso[2] = new Rectangle2D.Double(x + -200, y+100,200,10);//meta
       piso[3] = new Rectangle2D.Double(x + -200,y +110,200,480);//meta
       piso[4] = new Rectangle2D.Double(x + 250, y + 50, 100, 20);
       piso[5] = new Rectangle2D.Double(x + 490, y + 100, 100, 20);
       piso[6] = new Rectangle2D.Double(x + 630, y + 200, 100, 20);
       piso[7] = new Rectangle2D.Double(x + 780, y + 100, 100, 20);
       piso[8] = new Rectangle2D.Double(x + 1630, y + 300, 100, 20);
       piso[9] = new Rectangle2D.Double(x + 1790, y + 220, 100, 20);
       piso[10] = new Rectangle2D.Double(x + 1930, y + 90, 100, 20);
       piso[11] = new Rectangle2D.Double(x + 1730, y + 40, 100, 20);
       piso[12] = new Rectangle2D.Double(x + 1530, y + 80, 100, 20);
       piso[13] = new Rectangle2D.Double(x + 1330, y + 200, 100, 20);
       piso[14] = new Rectangle2D.Double(x + 1130, y + 100, 100, 20);
       
       
       g2.setColor(Color.black);
        for(int i = 1 ; i<15 ; i++){
            g2.fill(piso[i]);

          }
  g2.fill(puerta[4]);
}

public  boolean salto(RoundRectangle2D game,int nivel){
    boolean salto = Player.salto;
   
    int num = 0;
    if(nivel==1)
       num = 6;
    else if(nivel==2)
       num = 8;
    else if(nivel==3)
       num = 15;
   
    for(int i = 1; i<num; i++)
       if(game.intersects(piso[i]) && !game.intersects(piso[3]))
       {
          Player.moverArriba(15);
           salto = true;
       }
   
    if(game.intersects(Player.amigo))
    {
       Player.moverArriba(15);
       salto = true;
    }
       
       
   
    if(game.intersects(Player.amigo))
       Player.jugador=true;

return salto;
}

  public Rectangle2D piso(){
  return piso[1];
  }

  public static void MoverPlataformaDerecha(){
  x-=10;
  }

  public static void MoverPlataformaIzquierda(){
  x+=10;
  }

}


class Nivel{
   
    static double GRAVEDAD =  1.80f; //supuesta gravedad
    plataforma Myplataforma = new plataforma();
    static int color = 0;
    public static boolean niveles [] = new boolean[4];
   
    public Nivel(){
       niveles[1]=true;
    }
   
    public void nivel(Graphics2D g2,int nivel){
       g2.setColor(Color.black);
       color = nivel;
       Player player = new Player();
      
      
       Player.Y +=GRAVEDAD;
       RoundRectangle2D cuerpo_player = player.cuerpo();
      
      
       if(nivel==1)
           Myplataforma.plataforma_uno(g2); // Nivel en la plataforma
       else if(nivel==2)
           Myplataforma.plataforma_dos(g2); //nivel de la plataforma
       else if(nivel==3)
           Myplataforma.plataforma_tres(g2); //nivel de la plataforma
      
      
       player.salto = Myplataforma.salto(cuerpo_player,nivel);
       g2.setColor(Color.black);
       g2.fill(cuerpo_player);
       g2.fill(player.amigo());
       g2.setColor(Color.white);
       g2.fill(player.algo);
       player.ojos(g2);
      
       if(Player.Y>=400){
           Myplataforma.x = -500;
           Myplataforma.y = 0;
       }
       Estudiando.l.repaint();
   }
   
}
avatar
Ferreter17

Mensajes : 11
Fecha de inscripción : 13/06/2013

Ver perfil de usuario

Volver arriba Ir abajo

Re: Juego para el concurso del grupo

Mensaje por Ferreter17 el Dom Jun 16, 2013 11:17 pm

descarga
ht  tp     ://w  ww.     me   diafire.    com/     ?ttz   wr0h0a    uw0  3bb



PD:
Los nuevos usuarios no son autorizados enviar vínculos externos o emailes durante 7 días. Por favor, contacta el admin del foro para tener más informaciones.
avatar
Ferreter17

Mensajes : 11
Fecha de inscripción : 13/06/2013

Ver perfil de usuario

Volver arriba Ir abajo

Re: Juego para el concurso del grupo

Mensaje por kaltorak el Lun Jun 17, 2013 5:54 am

Muy bueno Ferreter17 cuando llegue a casa le echare un vistazo.
Lo único que no puede ser un juego para el concurso por que todavía no tenemos concurso Very Happy

_________________

avatar
kaltorak
Admin

Mensajes : 178
Fecha de inscripción : 30/05/2013

Ver perfil de usuario

Volver arriba Ir abajo

Re: Juego para el concurso del grupo

Mensaje por Ferreter17 el Lun Jun 17, 2013 7:12 pm

Bueno entonces voy a tener que hacer otro mejor xD
avatar
Ferreter17

Mensajes : 11
Fecha de inscripción : 13/06/2013

Ver perfil de usuario

Volver arriba Ir abajo

Re: Juego para el concurso del grupo

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.