Professional Documents
Culture Documents
Snake Game in C
Snake Game in C
#include <graphics.h>
#include <stdlib.h>
#include <dos.h>
#include <conio.h>
#include <stdio.h>
#include <time.h>
check();
end();
win();
int m[500],n[500],con=20;
clock_t start,stop;
void main(void)
int gd=DETECT,gm,ch,maxx,maxy,x=13,y=14,p,q,spd=100;
initgraph(&gd,&gm,"..\bgi");
setcolor(WHITE);
settextstyle(3,0,6);
settextstyle(6,0,2);
outtextxy(20,140," Avoid The Head Of Snake Not To Hit Any Part Of Snake
");
outtextxy(20,160," Pick The Beats Untill You Win The Game ");
ch=getch();
if(ch==27) exit(0);
cleardevice();
maxx=getmaxx();
maxy=getmaxy();
randomize();
p=random(maxx);
int temp=p%13;
p=p-temp;
q=random(maxy);
temp=q%14;
q=q-temp;
start=clock();
int a=0,i=0,j,t;
while(1)
setcolor(WHITE);
setfillstyle(SOLID_FILL,con+5);
circle(p,q,5);
floodfill(p,q,WHITE);
if( kbhit() )
else
if(ch==27
) break;
if(i<20){
m[i]=x;
n[i]=y;
i++;
if(i>=20)
for(j=con;j>=0;j--){
m[1+j]=m[j];
n[1+j]=n[j];
}
m[0]=x;
n[0]=y;
setcolor(WHITE);
setfillstyle(SOLID_FILL,con);
circle(m[0],n[0],8);
floodfill(m[0],n[0],WHITE);
setcolor(WHITE);
for(j=1;j<con;j++){
setfillstyle(SOLID_FILL,con+j%3);
circle(m[j],n[j],5);
floodfill(m[j],n[j],WHITE);
delay(spd);
setcolor(BLACK);
setfillstyle(SOLID_FILL,BLACK);
circle(m[0],n[0],8);
floodfill(m[0],n[0],BLACK);
setcolor(BLACK);
setfillstyle(SOLID_FILL,BLACK);
circle(m[j],n[j],5);
floodfill(m[j],n[j],BLACK);
stop=clock();
t=(stop-start)/CLK_TCK;
printf(" TIME %d sec ",t);
printf("SCORE %d
",con-5);
check();
if(con>490) win();
check(){
int a;
for(a=1;a<con;a++)
else continue;
end()
{
int j,i;
setcolor(WHITE);
for(i=0;i<5;i++){
delay(500);
cleardevice();
delay(500);
for(j=0;j<=con;j++){
setfillstyle(SOLID_FILL,RED);
circle(m[j],n[j],5);
floodfill(m[j],n[j],WHITE);
settextstyle(3,0,4);
getch();
getch();
exit(0);
win()
int j,i;
setcolor(WHITE);
for(i=0;i<5;i++){
for(j=0;j<=con;j++){
setfillstyle(SOLID_FILL,con);
circle(m[j],n[j],5);
floodfill(m[j],n[j],WHITE);
delay(500);
cleardevice();
delay(500);
settextstyle(3,0,4);
getch();
exit(0);