Nibbles en tc++

Solo disponible en BuenasTareas
  • Páginas : 3 (604 palabras )
  • Descarga(s) : 4
  • Publicado : 23 de noviembre de 2009
Leer documento completo
Vista previa del texto
#include
#include
#include
#include
#include
#include
#include

#define UP_ARROW 0x4800
#define DOWN_ARROW 0x5000
#define LEFT_ARROW 0x4b00
#define RIGHT_ARROW 0x4d00
#defineESC 0x11b

struct body{
int x,y;
body *izq,*der;
};

class vivora{
private:

int posX,ultx;
int posY,ulty;
int tamano,cntGral;
void dibujar();
intchecarcasilla();
void crearcuerpo();
void aumentarcuerpo(body *crp,int nAum);
void comer();

public:
int dir,velocidad;
int dirX,dirY;
~vivora();
vivora();
vivora(int x,int y);vivora(int x,int y,int spd);
vivora(int x,int y,int spd,int sze);
vivora(int x,int y,int spd,int sze,int drX,int drY);
body cuerpo[80];
void mover();
};

char casilla[2];

main(){
vivora *snake;
int tecla;

clrscr();
snake=new vivora();
do{
while(!bioskey(1))
{
snake->mover();
delay(50 -(snake->velocidad));
}
tecla=bioskey(0);
switch(tecla)
{
case RIGHT_ARROW: // Se presiono la tecla derecha
snake->dirX=1;
snake->dirY=0;
break;
caseLEFT_ARROW: // Se presiono la tecla izquierda
snake->dirX=-1;
snake->dirY=0;
break;
case UP_ARROW: // Se presiono la tecla arriba
snake->dirX=0;
snake->dirY=-1;break;
case DOWN_ARROW: // Se presiono la tecla abajo
snake->dirX=0;
snake->dirY=1;
break;
}
}while(tecla!=ESC);
free(snake);
return 0;
}vivora::~vivora()
{
free(cuerpo);
clrscr();
}

vivora::vivora()
{
tamano=3;
posX=41;
posY=12;
dirX=1;
dirY=0;
dir=1;
ultx=posX-tamano-1;
ulty=posY;
velocidad=1;
crearcuerpo();dibujar();
}

vivora::vivora(int x,int y)
{
tamano=3;
posX=x;
posY=y;
dirX=1;
dirY=0;
dir=1;
velocidad=1;
crearcuerpo();
dibujar();
}

vivora::vivora(int x,int y,int spd)...
tracking img