snakeexp source code

Upload: sam

Post on 09-Mar-2016

249 views

Category:

Documents


0 download

DESCRIPTION

It is an game made is cpp for turbo c compiler. Contains source code and includes details about developer for further questions

TRANSCRIPT

#includex=head->x+5;

Update();

setcolor(sclr);

outtextxy(head->x,head->y,sbody);

delay(dvar);

setcolor(0);

outtextxy(tail->x,tail->y,sbody);

if(CollideS()=='y'|| Collide()=='y'){GameOver();}

if (Eat()=='y'){Score();CleanFood();MakeFood();}

while (kbhit())

{

char ch=getch();

if(ch=='q') {SaveGame();Draw();}

if(ch==0) ch=getch();

if(ch==72) MoveUp();

if(ch==80) MoveDown();

}

}

}

/************************************************************************/FOR MOVING SNAKE UPWARDS*************************************************************************/

void MoveUp(void)

{

for(;;)

{

setcolor(2);

outtextxy(360,22,ScoreVar);

if(head->yy = head->y -5;

Update();

setcolor(sclr);

outtextxy(head->x,head->y,sbody);

delay(dvar);

setcolor(0);

outtextxy(tail->x,tail->y,sbody);

if (Eat()=='y') {Score();CleanFood();MakeFood(); }

if(CollideS()=='y'|| Collide()=='y'){GameOver();}

if (kbhit())

{

char ch=getch();

if(ch=='q') {SaveGame();Draw();}

if(ch==0) ch=getch();

if(ch==75) MoveLeft();

if(ch==77) MoveRight();

}

}

}

/************************************************************************/FOR MOVING SNAKE DOWNWARDS.*************************************************************************/

void MoveDown(void)

{

for(;;)

{

setcolor(2);

outtextxy(360,22,ScoreVar);

if(head->y>=452){GameOver();}

head->y = head->y +5;

Update();

setcolor(sclr);

outtextxy(head->x,head->y,sbody);

delay(dvar);

setcolor(0);

outtextxy(tail->x,tail->y,sbody);

if (Eat()=='y') {Score();CleanFood();MakeFood();}

if(CollideS()=='y'|| Collide()=='y'){GameOver();}

if (kbhit())

{

char ch=getch();

if(ch=='q') {SaveGame();Draw();}

if(ch==0) ch=getch();

if(ch==75) MoveLeft();

if(ch==77) MoveRight();

}

}

}

/************************************************************************/FOR MOVING SNAKE LEFTWARDS.*************************************************************************/

void MoveLeft(void)

{

for(;;)

{

setcolor(2);

outtextxy(360,22,ScoreVar);

if(head->xx = head->x -5;

Update();

setcolor(sclr);

outtextxy(head->x,head->y,sbody);

setcolor(0);

outtextxy(tail->x,tail->y,sbody);

if(CollideS()=='y'|| Collide()=='y'){GameOver();}

if (Eat()=='y') {Score();CleanFood();MakeFood();}

delay(dvar);

if (kbhit())

{

char ch=getch();

if(ch=='q') {SaveGame();Draw();}

if(ch==0) ch=getch();

if(ch==72) MoveUp();

if(ch==80) MoveDown();

}

}

}

/************************************************************************/ FOR MAKING FOOD FOR SNAKE.*************************************************************************/

void MakeFood(void)

{

randomize();

fclr=rand()%15;

while(fclr==0)

{

randomize();

fclr=rand()%15;

}

foodx=rand()%500,foody=rand()%400;

if(foodx=615) foodx=150;

if(foodx=308) foodx=150;

if(foody=455) foody=200;

setcolor(fclr);

circle(foodx,foody,2);

setfillstyle(SOLID_FILL,fclr);

floodfill(foodx,foody,fclr);

}/************************************************************************/FOR PROGRAMMING NEW LOCATIONS TO SNAKE BODY.*************************************************************************/

void Update(void)

{

Snake *sort=tail;

for(;;)

{

sort->x=sort->prv->x;

sort->y=sort->prv->y;

sort=sort->prv;

if(sort==head) break;

}

setcolor(0);

outtextxy(tail->x,tail->y,sbody);

}

/************************************************************************/FOR ADDING A NODE TO THE SNAKEBODY.*************************************************************************/

void AddNode(int a,int b)

{

temp=new Snake;

temp->x=a;

temp->y=b;

temp->prv=tail;

tail->nxt=temp;

tail=temp;

tail->nxt=NULL;

}

/************************************************************************/TO REMOVE THE FOOD OF THE SNAKE FROM THE SCREEN.*************************************************************************/

void CleanFood(void)

{

setcolor(0);

circle(foodx,foody,2);

setfillstyle(SOLID_FILL,0);

floodfill(foodx,foody,0);

setcolor(2);

}

/************************************************************************/FOR CHECKING IF SNAKE COLLIDES WITH ITSELF.*************************************************************************/

char CollideS(void)

{

Snake *temp=head->nxt->nxt;

while(temp->nxt!=NULL)

{

if (temp->y==head->y)

{

if (temp->x==head->x)

return 'y';

}

temp=temp->nxt;

}

return 'n';

}

/************************************************************************/FOR PLAYING A SOUND WHEN SNAKE EATS FOOD.*************************************************************************/

void EatSound(void)

{

for (int i=0;ix>=foodx-6 && head->xy>=foody-6 && head->yx,tail->y);

AddNode(tail->x,tail->y);

AddNode(tail->x,tail->y);

AddNode(tail->x,tail->y);

AddNode(tail->x,tail->y);

return 'y';

}

else

return 'n';

}

/************************************************************************/FOR MAKING THE INTRO SCREEN.*************************************************************************/

void IntroScr(void)

{

cleardevice();

int b,i,j;

setbkcolor(0);

randomize();

setfillstyle(11,1);

for( i = 0 ; i=310 && head->xy