Proyecto Pacman Daxhordes

Moderadores: Kravenbcn, largeroliker, fidelcastro, cerealkiller, pspCaracas, dark_sasuke, m0skit0, LnD, ka69, zacky06, jjblanco93, dagumora, Hunter2-1

Avatar de Usuario
DrNefarious
Moderador
Moderador
Mensajes: 876
Registrado: 14 Dic 2009, 07:46
Gamertag Xbox Live: TheDrNefarious
Twitter: DrNefarious360
Contactar:

Proyecto Pacman Daxhordes

Mensaje por DrNefarious »

Imagen

Si como lo oyen me e empezado a animar para hacer nuestro propio pacman de daxhordes.

Consegui el codigo fuente original del pacman de google, y me e liado ha hacerle lo graficos.

Lo malo que esta basado en javascript y no tengo ni idea, asi que pido a la comunidad ayuda para hacer esto realidad.

quien quiera apuntarse que lo diga.
Imagen

Avatar de Usuario
Kravenbcn
Administrador
Administrador
Mensajes: 16291
Registrado: 01 Sep 2009, 21:27
PSN ID: Kravenbcn
Twitter: Kravenbcn
Ubicación: Barcelona
Contactar:

Re: Proyecto Pacman Daxhordes

Mensaje por Kravenbcn »

Mola la idea, un Pacman de DaXHordes :D

Añado el código fuente por si alguien se anima.
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
No te pierdas nada, sigue a DaXHordes en Twitter, Facebook, Google+ y Youtube

Imagen
¿Quieres formar parte del equipo de DaXHordes.org? Esta es tu oportunidad.
PS3 · PS Vita · PSP

Avatar de Usuario
DrNefarious
Moderador
Moderador
Mensajes: 876
Registrado: 14 Dic 2009, 07:46
Gamertag Xbox Live: TheDrNefarious
Twitter: DrNefarious360
Contactar:

Re: Proyecto Pacman Daxhordes

Mensaje por DrNefarious »

añado tambien los graficos completos, osea la pantalla de daxhordes, ahora falta que algun experto en javascript ponga ayuda pra resolver esto xdd, y pegarnos la vicia del siglo.

Graficos para pacman daxhordes

Captura
Imagen
Imagen

Avatar de Usuario
Kravenbcn
Administrador
Administrador
Mensajes: 16291
Registrado: 01 Sep 2009, 21:27
PSN ID: Kravenbcn
Twitter: Kravenbcn
Ubicación: Barcelona
Contactar:

Re: Proyecto Pacman Daxhordes

Mensaje por Kravenbcn »

Bueno parece que hay que modificar bastantes cosas por javascript para que sea funcional: http://daxhordes.org/daxhpacman/

Lo dicho, si alguien se anima... ;)
No te pierdas nada, sigue a DaXHordes en Twitter, Facebook, Google+ y Youtube

Imagen
¿Quieres formar parte del equipo de DaXHordes.org? Esta es tu oportunidad.
PS3 · PS Vita · PSP

Avatar de Usuario
m0skit0
Administrador
Administrador
Mensajes: 5585
Registrado: 03 Sep 2009, 09:35
Ubicación: 0xdeadbeef

Re: Proyecto Pacman Daxhordes

Mensaje por m0skit0 »

Creo que los valores que aparecen en los ficheros JavaScript son las coordenadas del mapa. Habría que comprobar qué coordenadas corresponden con qué esquinas. ¿Alguien que se maneje con imágenes se anima a averiguar esto?
Imagen

Avatar de Usuario
Kravenbcn
Administrador
Administrador
Mensajes: 16291
Registrado: 01 Sep 2009, 21:27
PSN ID: Kravenbcn
Twitter: Kravenbcn
Ubicación: Barcelona
Contactar:

Re: Proyecto Pacman Daxhordes

Mensaje por Kravenbcn »

Aquí dejo otro código del Pacman en Java, aunque es diferente al de Google :?

Spoiler:

Código: Seleccionar todo

//
// PacMan
// Another 1 day game (created in 5 hours).
//
// (C)2000
// Brian Postma
// b.postma@hetnet.nl
// http://www.homepages.hetnet.nl/~brianpostma
//

import java.awt.*;
import java.applet.Applet;

public class PacMan extends Applet implements Runnable
{
  Dimension   d;
  Font       largefont = new Font("Helvetica", Font.BOLD, 24);
  Font      smallfont = new Font("Helvetica", Font.BOLD, 14);

  FontMetrics   fmsmall, fmlarge;
  Graphics   goff;
  Image      ii;
  Thread   thethread;
  MediaTracker  thetracker = null;
  Color      dotcolor=new Color(192,192,0);
  int      bigdotcolor=192;
  int      dbigdotcolor=-2;
  Color      mazecolor;

  boolean   ingame=false;
  boolean   showtitle=true;
  boolean       scared=false;
  boolean       dying=false;

  final int   screendelay=120;
  final int     blocksize=24;
  final int     nrofblocks=15;
  final int     scrsize=nrofblocks*blocksize;
  final int   animdelay=8;
  final int     pacanimdelay=2;
  final int     ghostanimcount=2;
  final int     pacmananimcount=4;
  final int     maxghosts=12;
  final int   pacmanspeed=6;

  int      animcount=animdelay;
  int           pacanimcount=pacanimdelay;
  int      pacanimdir=1;
  int      count=screendelay;
  int      ghostanimpos=0;
  int      pacmananimpos=0;
  int      nrofghosts=6;
  int      pacsleft,score;
  int      deathcounter;
  int[]      dx,dy;
  int[]      ghostx, ghosty, ghostdx, ghostdy, ghostspeed;

  Image      ghost1,ghost2,ghostscared1,ghostscared2;
  Image      pacman1, pacman2up, pacman2left, pacman2right, pacman2down;
  Image      pacman3up, pacman3down, pacman3left, pacman3right;
  Image      pacman4up, pacman4down, pacman4left, pacman4right;

  int      pacmanx, pacmany, pacmandx, pacmandy;
  int      reqdx, reqdy, viewdx, viewdy;
  int      scaredcount, scaredtime;
  final   int   maxscaredtime=120;
  final int     minscaredtime=20;

  final short   level1data[] = {
   19,26,26,22, 9,12,19,26,22, 9,12,19,26,26,22,
   37,11,14,17,26,26,20,15,17,26,26,20,11,14,37,
   17,26,26,20,11, 6,17,26,20, 3,14,17,26,26,20,
   21, 3, 6,25,22, 5,21, 7,21, 5,19,28, 3, 6,21,
   21, 9, 8,14,21,13,21, 5,21,13,21,11, 8,12,21,
   25,18,26,18,24,18,28, 5,25,18,24,18,26,18,28,
    6,21, 7,21, 7,21,11, 8,14,21, 7,21, 7,21,03,
    4,21, 5,21, 5,21,11,10,14,21, 5,21, 5,21, 1,
   12,21,13,21,13,21,11,10,14,21,13,21,13,21, 9,
   19,24,26,24,26,16,26,18,26,16,26,24,26,24,22,
   21, 3, 2, 2, 6,21,15,21,15,21, 3, 2, 2,06,21,
   21, 9, 8, 8, 4,17,26, 8,26,20, 1, 8, 8,12,21,
   17,26,26,22,13,21,11, 2,14,21,13,19,26,26,20,
   37,11,14,17,26,24,22,13,19,24,26,20,11,14,37,
   25,26,26,28, 3, 6,25,26,28, 3, 6,25,26,26,28  };

  final int   validspeeds[] = { 1,2,3,4,6,8 };
  final int   maxspeed=6;

  int      currentspeed=3;
  short[]   screendata;


  public String getAppletInfo()
  {
    return("PacMan - by Brian Postma");
  }

  public void init()
  {
    short i;
    GetImages();

    screendata=new short[nrofblocks*nrofblocks];

    Graphics g;
    d = size();
    setBackground(Color.black);
    g=getGraphics();
    g.setFont(smallfont);
    fmsmall = g.getFontMetrics();
    g.setFont(largefont);
    fmlarge = g.getFontMetrics();
    ghostx=new int[maxghosts];
    ghostdx=new int[maxghosts];
    ghosty=new int[maxghosts];
    ghostdy=new int[maxghosts];
    ghostspeed=new int[maxghosts];
    dx=new int[4];
    dy=new int[4];
    GameInit();
  }


  public void GameInit()
  {
    pacsleft=3;
    score=0;
    scaredtime=maxscaredtime;
    LevelInit();
    nrofghosts=6;
    currentspeed=3;
    scaredtime=maxscaredtime;
  }


  public void LevelInit()
  {
    int  i;
    for (i=0; i<nrofblocks*nrofblocks; i++)
      screendata[i]=level1data[i];

    LevelContinue();
  }


  public void LevelContinue()
  {
    short i;
    int dx=1;
    int random;

    for (i=0; i<nrofghosts; i++)
    {
      ghosty[i]=7*blocksize;
      ghostx[i]=7*blocksize;
      ghostdy[i]=0;
      ghostdx[i]=dx;
      dx=-dx;
      random=(int)(Math.random()*(currentspeed+1));
      if (random>currentspeed)
        random=currentspeed;
      ghostspeed[i]=validspeeds[random];
    }
    screendata[7*nrofblocks+6]=10;
    screendata[7*nrofblocks+8]=10;
    pacmanx=7*blocksize;
    pacmany=11*blocksize;
    pacmandx=0;
    pacmandy=0;
    reqdx=0;
    reqdy=0;
    viewdx=-1;
    viewdy=0;
    dying=false;
    scared=false;
  }


  public void GetImages()
  {
    thetracker=new MediaTracker(this);

    ghost1=getImage(getDocumentBase(),"pacpix/Ghost1.gif");
    thetracker.addImage(ghost1,0);
    ghost2=getImage(getDocumentBase(),"pacpix/Ghost2.gif");
    thetracker.addImage(ghost2,0);
    ghostscared1=getImage(getDocumentBase(),"pacpix/GhostScared1.gif");
    thetracker.addImage(ghostscared1,0);
    ghostscared2=getImage(getDocumentBase(),"pacpix/GhostScared2.gif");
    thetracker.addImage(ghostscared2,0);

    pacman1=getImage(getDocumentBase(),"pacpix/PacMan1.gif");
    thetracker.addImage(pacman1,0);
    pacman2up=getImage(getDocumentBase(),"pacpix/PacMan2up.gif");
    thetracker.addImage(pacman2up,0);
    pacman3up=getImage(getDocumentBase(),"pacpix/PacMan3up.gif");
    thetracker.addImage(pacman3up,0);
    pacman4up=getImage(getDocumentBase(),"pacpix/PacMan4up.gif");
    thetracker.addImage(pacman4up,0);

    pacman2down=getImage(getDocumentBase(),"pacpix/PacMan2down.gif");
    thetracker.addImage(pacman2down,0);
    pacman3down=getImage(getDocumentBase(),"pacpix/PacMan3down.gif");
    thetracker.addImage(pacman3down,0);
    pacman4down=getImage(getDocumentBase(),"pacpix/PacMan4down.gif");
    thetracker.addImage(pacman4down,0);

    pacman2left=getImage(getDocumentBase(),"pacpix/PacMan2left.gif");
    thetracker.addImage(pacman2left,0);
    pacman3left=getImage(getDocumentBase(),"pacpix/PacMan3left.gif");
    thetracker.addImage(pacman3left,0);
    pacman4left=getImage(getDocumentBase(),"pacpix/PacMan4left.gif");
    thetracker.addImage(pacman4left,0);

    pacman2right=getImage(getDocumentBase(),"pacpix/PacMan2right.gif");
    thetracker.addImage(pacman2right,0);
    pacman3right=getImage(getDocumentBase(),"pacpix/PacMan3right.gif");
    thetracker.addImage(pacman3right,0);
    pacman4right=getImage(getDocumentBase(),"pacpix/PacMan4right.gif");
    thetracker.addImage(pacman4right,0);

    try
    {
      thetracker.waitForAll();
    }
    catch (InterruptedException e)
    {
      return;
    }
  }


  public boolean keyDown(Event e, int key)
  {
    if (ingame)
    {
      if (key == Event.LEFT)
      {
        reqdx=-1;
        reqdy=0;
      }
      else if (key == Event.RIGHT)
      {
        reqdx=1;
        reqdy=0;
      }
      else if (key == Event.UP)
      {
        reqdx=0;
        reqdy=-1;
      }
      else if (key == Event.DOWN)
      {
        reqdx=0;
        reqdy=1;
      }
      else if (key == Event.ESCAPE)
      {
        ingame=false;
      }
    }
    else
    {
      if (key == 's' || key == 'S')
      {
        ingame=true;
        GameInit();
      }
    }
    return true;
  }


  public boolean keyUp(Event e, int key)
  {
    if (key == Event.LEFT || key == Event.RIGHT || key == Event.UP ||  key == Event.DOWN)
    {
      reqdx=0;
      reqdy=0;
    }
    return true;
  }


  public void paint(Graphics g)
  {
    String s;
    Graphics gg;

    if (goff==null && d.width>0 && d.height>0)
    {
      ii = createImage(d.width, d.height);
      goff = ii.getGraphics();
    }
    if (goff==null || ii==null)
      return;

    goff.setColor(Color.black);
    goff.fillRect(0, 0, d.width, d.height);

    DrawMaze();
    DrawScore();
    DoAnim();
    if (ingame)
      PlayGame();
    else
      PlayDemo();

    g.drawImage(ii, 0, 0, this);
  }


  public void DoAnim()
  {
    animcount--;
    if (animcount<=0)
    {
      animcount=animdelay;
      ghostanimpos++;
      if (ghostanimpos>=ghostanimcount)
        ghostanimpos=0;
    }
    pacanimcount--;
    if (pacanimcount<=0)
    {
      pacanimcount=pacanimdelay;
      pacmananimpos=pacmananimpos+pacanimdir;
      if (pacmananimpos==(pacmananimcount-1) ||  pacmananimpos==0)
        pacanimdir=-pacanimdir;
    }
  }


  public void PlayGame()
  {
    if (dying)
    {
      Death();
    }
    else
    {
      CheckScared();
      MovePacMan();
      DrawPacMan();
      MoveGhosts();
      CheckMaze();
    }
  }


  public void PlayDemo()
  {
    CheckScared();
    MoveGhosts();
    ShowIntroScreen();
  }


  public void Death()
  {
    int k;

    deathcounter--;
    k=(deathcounter&15)/4;
    switch(k)
    {
      case 0:
        goff.drawImage(pacman4up,pacmanx+1,pacmany+1,this);
        break;
      case 1:
        goff.drawImage(pacman4right,pacmanx+1,pacmany+1,this);
        break;
      case 2:
        goff.drawImage(pacman4down,pacmanx+1,pacmany+1,this);
        break;
      default:
        goff.drawImage(pacman4left,pacmanx+1,pacmany+1,this);
    }
    if (deathcounter==0)
    {
      pacsleft--;
      if (pacsleft==0)
        ingame=false;
      LevelContinue();
    }
  }


  public void MoveGhosts()
  {
    short i;
    int pos;
    int count;

    for (i=0; i<nrofghosts; i++)
    {
      if (ghostx[i]%blocksize==0 && ghosty[i]%blocksize==0)
      {
        pos=ghostx[i]/blocksize+nrofblocks*(int)(ghosty[i]/blocksize);

        count=0;
        if ((screendata[pos]&1)==0 && ghostdx[i]!=1)
        {
          dx[count]=-1;
          dy[count]=0;
          count++;
        }
        if ((screendata[pos]&2)==0 && ghostdy[i]!=1)
        {
          dx[count]=0;
          dy[count]=-1;
          count++;
        }
        if ((screendata[pos]&4)==0 && ghostdx[i]!=-1)
        {
          dx[count]=1;
          dy[count]=0;
          count++;
        }
        if ((screendata[pos]&8)==0 && ghostdy[i]!=-1)
        {
          dx[count]=0;
          dy[count]=1;
          count++;
        }
        if (count==0)
        {
          if ((screendata[pos]&15)==15)
          {
            ghostdx[i]=0;
            ghostdy[i]=0;
          }
          else
          {
            ghostdx[i]=-ghostdx[i];
            ghostdy[i]=-ghostdy[i];
          }
        }
        else
        {
          count=(int)(Math.random()*count);
          if (count>3) count=3;
          ghostdx[i]=dx[count];
          ghostdy[i]=dy[count];
        }
      }
      ghostx[i]=ghostx[i]+(ghostdx[i]*ghostspeed[i]);
      ghosty[i]=ghosty[i]+(ghostdy[i]*ghostspeed[i]);
      DrawGhost(ghostx[i]+1,ghosty[i]+1);

      if (pacmanx>(ghostx[i]-12) && pacmanx<(ghostx[i]+12) &&
          pacmany>(ghosty[i]-12) && pacmany<(ghosty[i]+12) && ingame)
      {
        if (scared)
        {
          score+=10;
          ghostx[i]=7*blocksize;
          ghosty[i]=7*blocksize;
        }
        else
        {
          dying=true;
          deathcounter=64;
        }
      }
    }
  }


  public void DrawGhost(int x, int y)
  {
    if (ghostanimpos==0 && !scared)
    {
      goff.drawImage(ghost1,x,y,this);
    }
    else if (ghostanimpos==1 && !scared)
    {
      goff.drawImage(ghost2,x,y,this);
    }
    else if (ghostanimpos==0 && scared)
    {
      goff.drawImage(ghostscared1,x,y,this);
    }
    else if (ghostanimpos==1 && scared)
    {
      goff.drawImage(ghostscared2,x,y,this);
    }
  }


  public void MovePacMan()
  {
    int     pos;
    short   ch;

    if (reqdx==-pacmandx && reqdy==-pacmandy)
    {
      pacmandx=reqdx;
      pacmandy=reqdy;
      viewdx=pacmandx;
      viewdy=pacmandy;
    }
    if (pacmanx%blocksize==0 && pacmany%blocksize==0)
    {
      pos=pacmanx/blocksize+nrofblocks*(int)(pacmany/blocksize);
      ch=screendata[pos];
      if ((ch&16)!=0)
      {
        screendata[pos]=(short)(ch&15);
        score++;
      }
      if ((ch&32)!=0)
      {
        scared=true;
        scaredcount=scaredtime;
        screendata[pos]=(short)(ch&15);
        score+=5;
      }

      if (reqdx!=0 || reqdy!=0)
      {
        if (!( (reqdx==-1 && reqdy==0 && (ch&1)!=0) ||
           (reqdx==1 && reqdy==0 && (ch&4)!=0) ||
           (reqdx==0 && reqdy==-1 && (ch&2)!=0) ||
           (reqdx==0 && reqdy==1 && (ch&8)!=0)))
        {
          pacmandx=reqdx;
          pacmandy=reqdy;
          viewdx=pacmandx;
          viewdy=pacmandy;
        }
      }

      // Check for standstill
      if ( (pacmandx==-1 && pacmandy==0 && (ch&1)!=0) ||
           (pacmandx==1 && pacmandy==0 && (ch&4)!=0) ||
           (pacmandx==0 && pacmandy==-1 && (ch&2)!=0) ||
           (pacmandx==0 && pacmandy==1 && (ch&8)!=0))
      {
        pacmandx=0;
        pacmandy=0;
      }
    }
    pacmanx=pacmanx+pacmanspeed*pacmandx;
    pacmany=pacmany+pacmanspeed*pacmandy;
  }


  public void DrawPacMan()
  {
    if (viewdx==-1)
      DrawPacManLeft();
    else if (viewdx==1)
      DrawPacManRight();
    else if (viewdy==-1)
      DrawPacManUp();
    else
      DrawPacManDown();
  }

  public void DrawPacManUp()
  {
    switch(pacmananimpos)
    {
      case 1:
        goff.drawImage(pacman2up,pacmanx+1,pacmany+1,this);
        break;
      case 2:
        goff.drawImage(pacman3up,pacmanx+1,pacmany+1,this);
        break;
      case 3:
        goff.drawImage(pacman4up,pacmanx+1,pacmany+1,this);
        break;
      default:
        goff.drawImage(pacman1,pacmanx+1,pacmany+1,this);
        break;
    }
  }


  public void DrawPacManDown()
  {
    switch(pacmananimpos)
    {
      case 1:
        goff.drawImage(pacman2down,pacmanx+1,pacmany+1,this);
        break;
      case 2:
        goff.drawImage(pacman3down,pacmanx+1,pacmany+1,this);
        break;
      case 3:
        goff.drawImage(pacman4down,pacmanx+1,pacmany+1,this);
        break;
      default:
        goff.drawImage(pacman1,pacmanx+1,pacmany+1,this);
        break;
    }
  }


  public void DrawPacManLeft()
  {
    switch(pacmananimpos)
    {
      case 1:
        goff.drawImage(pacman2left,pacmanx+1,pacmany+1,this);
        break;
      case 2:
        goff.drawImage(pacman3left,pacmanx+1,pacmany+1,this);
        break;
      case 3:
        goff.drawImage(pacman4left,pacmanx+1,pacmany+1,this);
        break;
      default:
        goff.drawImage(pacman1,pacmanx+1,pacmany+1,this);
        break;
    }
  }


  public void DrawPacManRight()
  {
    switch(pacmananimpos)
    {
      case 1:
        goff.drawImage(pacman2right,pacmanx+1,pacmany+1,this);
        break;
      case 2:
        goff.drawImage(pacman3right,pacmanx+1,pacmany+1,this);
        break;
      case 3:
        goff.drawImage(pacman4right,pacmanx+1,pacmany+1,this);
        break;
      default:
        goff.drawImage(pacman1,pacmanx+1,pacmany+1,this);
        break;
    }
  }


  public void DrawMaze()
  {
    short i=0;
    int x,y;

    bigdotcolor=bigdotcolor+dbigdotcolor;
    if (bigdotcolor<=64 || bigdotcolor>=192)
      dbigdotcolor=-dbigdotcolor;

    for (y=0; y<scrsize; y+=blocksize)
    {
      for (x=0; x<scrsize; x+=blocksize)
      {
   goff.setColor(mazecolor);
        if ((screendata[i]&1)!=0)
   {
           goff.drawLine(x,y,x,y+blocksize-1);
   }
   if ((screendata[i]&2)!=0)
   {
          goff.drawLine(x,y,x+blocksize-1,y);
   }
   if ((screendata[i]&4)!=0)
   {
          goff.drawLine(x+blocksize-1,y,x+blocksize-1,y+blocksize-1);
   }
   if ((screendata[i]&8)!=0)
   {
          goff.drawLine(x,y+blocksize-1,x+blocksize-1,y+blocksize-1);
   }
   if ((screendata[i]&16)!=0)
   {
          goff.setColor(dotcolor);
          goff.fillRect(x+11,y+11,2,2);
   }
   if ((screendata[i]&32)!=0)
   {
          goff.setColor(new Color(224,224-bigdotcolor,bigdotcolor));
          goff.fillRect(x+8,y+8,8,8);
   }
   i++;
      }
    }
  }

  public void ShowIntroScreen()
  {
    String s;

    goff.setFont(largefont);

    goff.setColor(new Color(0,32,48));
    goff.fillRect(16, scrsize/2 - 40, scrsize-32,80);
    goff.setColor(Color.white);
    goff.drawRect(16, scrsize/2 - 40, scrsize-32,80);

    if (showtitle)
    {
      s="Java PacMan";
      scared=false;

      goff.setColor(Color.white);
      goff.drawString(s,(scrsize-fmlarge.stringWidth(s)) / 2 +2, scrsize/2 - 20 +2);
      goff.setColor(new Color(96,128,255));
      goff.drawString(s,(scrsize-fmlarge.stringWidth(s)) / 2, scrsize/2 - 20);

      s="(c)2000 by Brian Postma";
      goff.setFont(smallfont);
      goff.setColor(new Color(255,160,64));
      goff.drawString(s,(scrsize-fmsmall.stringWidth(s))/2,scrsize/2 + 10);

      s="b.postma@hetnet.nl";
      goff.setColor(new Color(255,160,64));
      goff.drawString(s,(scrsize-fmsmall.stringWidth(s))/2,scrsize/2 + 30);
    }
    else
    {
      goff.setFont(smallfont);
      goff.setColor(new Color(96,128,255));
      s="'S' to start game";
      goff.drawString(s,(scrsize-fmsmall.stringWidth(s))/2,scrsize/2 - 10);
      goff.setColor(new Color(255,160,64));
      s="Use cursor keys to move";
      goff.drawString(s,(scrsize-fmsmall.stringWidth(s))/2,scrsize/2 + 20);
      scared=true;
    }
    count--;
    if (count<=0)
    { count=screendelay; showtitle=!showtitle; }
  }


  public void DrawScore()
  {
    int i;
    String s;

    goff.setFont(smallfont);
    goff.setColor(new Color(96,128,255));
    s="Score: "+score;
    goff.drawString(s,scrsize/2+96,scrsize+16);
    for (i=0; i<pacsleft; i++)
    {
      goff.drawImage(pacman3left,i*28+8,scrsize+1,this);
    }
  }


  public void CheckScared()
  {
    scaredcount--;
    if (scaredcount<=0)
      scared=false;

    if (scared && scaredcount>=30)
      mazecolor=new Color(192,32,255);
    else
      mazecolor=new Color(32,192,255);

    if (scared)
    {
      screendata[7*nrofblocks+6]=11;
      screendata[7*nrofblocks+8]=14;
    }
    else
    {
      screendata[7*nrofblocks+6]=10;
      screendata[7*nrofblocks+8]=10;
    }
  }


  public void CheckMaze()
  {
    short i=0;
    boolean finished=true;

    while (i<nrofblocks*nrofblocks && finished)
    {
      if ((screendata[i]&48)!=0)
        finished=false;
      i++;
    }
    if (finished)
    {
      score+=50;
      DrawScore();
      try
      {
        Thread.sleep(3000);
      }
      catch (InterruptedException e)
      {
      }
      if (nrofghosts < maxghosts)
        nrofghosts++;
      if (currentspeed<maxspeed)
        currentspeed++;
      scaredtime=scaredtime-20;
      if (scaredtime<minscaredtime)
        scaredtime=minscaredtime;
      LevelInit();
    }
  }


  public void run()
  {
    long  starttime;
    Graphics g;

    Thread.currentThread().setPriority(Thread.MAX_PRIORITY);
    g=getGraphics();

    while(true)
    {
      starttime=System.currentTimeMillis();
      try
      {
        paint(g);
        starttime += 40;
        Thread.sleep(Math.max(0, starttime-System.currentTimeMillis()));
      }
      catch (InterruptedException e)
      {
        break;
      }
    }
  }

  public void start()
  {
    if (thethread == null) {
      thethread = new Thread(this);
      thethread.start();
    }
  }

  public void stop()
  {
    if (thethread != null) {
      thethread.stop();
      thethread = null;
    }
  }
}


Fuente
No te pierdas nada, sigue a DaXHordes en Twitter, Facebook, Google+ y Youtube

Imagen
¿Quieres formar parte del equipo de DaXHordes.org? Esta es tu oportunidad.
PS3 · PS Vita · PSP

Avatar de Usuario
DrNefarious
Moderador
Moderador
Mensajes: 876
Registrado: 14 Dic 2009, 07:46
Gamertag Xbox Live: TheDrNefarious
Twitter: DrNefarious360
Contactar:

Re: Proyecto Pacman Daxhordes

Mensaje por DrNefarious »

esto tiene pinta de triunfar entre nosotros ya me veo jugando , Waka waka waka wka waka
Imagen

Avatar de Usuario
AbrahamZF
Habitual
Habitual
Mensajes: 359
Registrado: 10 Dic 2009, 00:06
PSN ID: Abraham-ZF
Ubicación: ¡¡¡Mexico!!!

Re: Proyecto Pacman Daxhordes

Mensaje por AbrahamZF »

pues yo ya lo jugue y me han faltado 6 bolitas (no se ve por donde vas :? )
Psp 3001 = 5.03 GEN-C
Ps3 slim 250 GB = COD:MW 2 [PROTOTYPE] God Of War III COD:BO GTA IVGuitar Hero 5

soulless
Desarrollador
Desarrollador
Mensajes: 64
Registrado: 23 Oct 2009, 07:56

Re: Proyecto Pacman Daxhordes

Mensaje por soulless »

Entre todo lo que tengo que hacer de la universidad he sacado algún que otro minuto para tirarle un ojo al código (no soy conocedor de JS que digamos :mrgreen: ), por lo que he visto los caminos (y las posiciones de las bolitas a comer) son generados por funciones y toman los valores de una serie de variables ordenadas en forma de arrays bidimensionales, el asunto es que no le encontré una lógica a la organización de esas variables, eso sumado a que en su mayoría las variables tienen nombres sin sentido (ejemplo: n, o, a, b, etc.), además (según mi punto de vista) de que hay una "inconsistencia" en el uso de las variables y parámetros de las funciones (ejemplo: se pasa una variable a una función, esa variable la recibe una variable de nombre diferente, pero dentro de la función hay otra variable con el mismo nombre que la que se le ha pasado a la función aunque de diferente tipo, que rollo) dificulta darle seguimiento al asunto. Cuando tenga algo más de tiempo le hecho un ojo más a fondo.
"Quiero irme cuando quiero. Es de mal gusto prolongar artificialmente la vida. He hecho mi parte, es hora de irse. Yo lo haré con elegancia." -Albert Einstein.-

Avatar de Usuario
m0skit0
Administrador
Administrador
Mensajes: 5585
Registrado: 03 Sep 2009, 09:35
Ubicación: 0xdeadbeef

Re: Proyecto Pacman Daxhordes

Mensaje por m0skit0 »

soulless, llevan los nombres a, b, c, etc... porque creo que son los vértices del mapa (a lo mejor no me expliqué bien antes).
Imagen

Responder