Juego para el concurso del grupo

Ver el tema anterior Ver el tema siguiente 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

Ver el tema anterior Ver el tema siguiente Volver arriba

- Temas similares

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