Friday 18 February 2011

KUTA KUTI KA GAME

Code :
#include<stdio.h>
#include<dos.h>
#include<graphics.h>
#include<bios.h>
#include<stdlib.h>
void mark_circle(int x,int y);
void mark_cross(int x,int y);
void ask_pos(int type);
void win(int type);
int check_line(int type);
int find_0(int x,int y);
int find_1(int x,int y);
int avail(int c_nox,int c_noy);


char pl1_name[50],pl2_name[50];
int rec_0[20][2],c_0=0;
int rec_1[20][2],c_1=0;


void main()
{   int i;
    int driver,mode;
    //char pl1_name[50],pl2_name[50];
    clrscr();
    gotoxy(10,10);
    printf("
          ENTER THE NAMES OF THE PLAYERS:");

    gotoxy(12,12);
    printf("
                        PLAYER 1:");
    gets(pl1_name);
    printf("
                        PLAYER 2:");
    gets(pl2_name);


    driver=DETECT;
    initgraph(&driver,&mode,"\tcc\bgi") ;

   setbkcolor(0);
   settextstyle(4, HORIZ_DIR, 3);
   outtextxy(500,1,"BY SOHAM");
   rectangle(5,5,628,405);

   setcolor(YELLOW);
   line(100,235-50,530,235-50);
   line(100,235+50,530,235+50);
   setcolor(10);
   line(315-80,100,315-80,380);
   line(315+80,100,315+80,380);

   settextstyle(0,0,2);
   setcolor(WHITE);
   outtextxy(315-160,60,"1");
   outtextxy(315,60,"2");
   outtextxy(315+160,60,"3");

   outtextxy(60,235-100,"1");
   outtextxy(60,235,"2");
   outtextxy(60,235+100,"3");

   i=0;
   while(1)
   {
    ask_pos(i%2);i++;
   }
getch();
return;
}

void mark_circle(int x,int y)
{
 setcolor(12);
 circle(x,y,20);
 circle(x,y,10);
 floodfill(x,y,12);
}

void mark_cross(int x,int y)
{
 setcolor(11);
 line(x-20,y-20,x+20,y+20);
 line(x-20,y+20,x+20,y-20);
}

void ask_pos(int type)
{int i,c_no,c_nox,c_noy;

 settextstyle(1,0,3);
 take:
 outtextxy(5,400,"STATUS-");

 if(type==0)
 {setcolor(0);outtextxy(100,400,pl2_name);
  setcolor(WHITE);outtextxy(100,400,pl1_name);}
  else
  {setcolor(0);outtextxy(100,400,pl1_name);
   setcolor(WHITE);outtextxy(100,400,pl2_name);}
   outtextxy(5,420,"ENTER POSITION(X,Y):");

   setcolor(0);
  for(i=0;i<300;i++)
   outtextxy(290+i,420,"[1,1]");
   setcolor(WHITE);
   c_nox=bioskey(0);
   c_noy=bioskey(0);

switch(type)
{case 0:{switch(c_nox)
      {case 561:  {c_nox=1;switch(c_noy)
               {case 561:
{c_noy=1;outtextxy(290,420,"[1,1]");if(avail(c_nox,c_noy)==0){goto
take;}mark_circle(315-160,235-100);break;}
            case 818:
{c_noy=2;outtextxy(290,420,"[1,2]");if(avail(c_nox,c_noy)==0){goto
take;}mark_circle(315,235-100);    break;}
            case 1075:
{c_noy=3;outtextxy(290,420,"[1,3]");if(avail(c_nox,c_noy)==0){goto
take;}mark_circle(315+160,235-100);break;}

            case
20273:{c_noy=1;outtextxy(290,420,"[1,1]");if(avail(c_nox,c_noy)==0){goto
take;}mark_circle(315-160,235-100);break;}
            case
20530:{c_noy=2;outtextxy(290,420,"[1,2]");if(avail(c_nox,c_noy)==0){goto
take;}mark_circle(315,235-100);    break;}
            case
20787:{c_noy=3;outtextxy(290,420,"[1,3]");if(avail(c_nox,c_noy)==0){goto
take;}mark_circle(315+160,235-100);break;}
            default:{goto take;}
            }break;}
       case 818:  {c_nox=2;switch(c_noy)
               {case 561:
{c_noy=1;outtextxy(290,420,"[2,1]");if(avail(c_nox,c_noy)==0){goto
take;}mark_circle(315-160,235);break;}
            case 818:
{c_noy=2;outtextxy(290,420,"[2,2]");if(avail(c_nox,c_noy)==0){goto
take;}mark_circle(315,235);break;}
            case 1075:
{c_noy=3;outtextxy(290,420,"[2,3]");if(avail(c_nox,c_noy)==0){goto
take;}mark_circle(315+160,235);break;}

            case
20273:{c_noy=1;outtextxy(290,420,"[2,1]");if(avail(c_nox,c_noy)==0){goto
take;}mark_circle(315-160,235);break;}
            case
20530:{c_noy=2;outtextxy(290,420,"[2,2]");if(avail(c_nox,c_noy)==0){goto
take;}mark_circle(315,235);break;}
            case
20787:{c_noy=3;outtextxy(290,420,"[2,3]");if(avail(c_nox,c_noy)==0){goto
take;}mark_circle(315+160,235);break;}
            default:{goto take;}
            }break;}
       case 1075: {c_nox=3;switch(c_noy)
               {case 561:
{c_noy=1;outtextxy(290,420,"[3,1]");if(avail(c_nox,c_noy)==0){goto
take;}mark_circle(315-160,235+100);break;}
            case 818:
{c_noy=2;outtextxy(290,420,"[3,2]");if(avail(c_nox,c_noy)==0){goto
take;}mark_circle(315,235+100);break;}
            case 1075:
{c_noy=3;outtextxy(290,420,"[3,3]");if(avail(c_nox,c_noy)==0){goto
take;}mark_circle(315+160,235+100);break;}

            case
20273:{c_noy=1;outtextxy(290,420,"[3,1]");if(avail(c_nox,c_noy)==0){goto
take;}mark_circle(315-160,235+100);break;}
            case
20530:{c_noy=2;outtextxy(290,420,"[3,2]");if(avail(c_nox,c_noy)==0){goto
take;}mark_circle(315,235+100);break;}
            case
20787:{c_noy=3;outtextxy(290,420,"[3,3]");if(avail(c_nox,c_noy)==0){goto
take;}mark_circle(315+160,235+100);break;}
            default:{goto take;}
            }break;}
       case 20273:  {c_nox=1;switch(c_noy)
               {case 561:
{c_noy=1;outtextxy(290,420,"[1,1]");if(avail(c_nox,c_noy)==0){goto
take;}mark_circle(315-160,235-100);break;}
            case 818:
{c_noy=2;outtextxy(290,420,"[1,2]");if(avail(c_nox,c_noy)==0){goto
take;}mark_circle(315,235-100);    break;}
            case 1075:
{c_noy=3;outtextxy(290,420,"[1,3]");if(avail(c_nox,c_noy)==0){goto
take;}mark_circle(315+160,235-100);break;}

            case
20273:{c_noy=1;outtextxy(290,420,"[1,1]");if(avail(c_nox,c_noy)==0){goto
take;}mark_circle(315-160,235-100);break;}
            case
20530:{c_noy=2;outtextxy(290,420,"[1,2]");if(avail(c_nox,c_noy)==0){goto
take;}mark_circle(315,235-100);    break;}
            case
20787:{c_noy=3;outtextxy(290,420,"[1,3]");if(avail(c_nox,c_noy)==0){goto
take;}mark_circle(315+160,235-100);break;}
            default:{goto take;}
            }break;}
       case 20530:  {c_nox=2;switch(c_noy)
               {case 561:
{c_noy=1;outtextxy(290,420,"[2,1]");if(avail(c_nox,c_noy)==0){goto
take;}mark_circle(315-160,235);break;}
            case 818:
{c_noy=2;outtextxy(290,420,"[2,2]");if(avail(c_nox,c_noy)==0){goto
take;}mark_circle(315,235);break;}
            case 1075:
{c_noy=3;outtextxy(290,420,"[2,3]");if(avail(c_nox,c_noy)==0){goto
take;}mark_circle(315+160,235);break;}

            case
20273:{c_noy=1;outtextxy(290,420,"[2,1]");if(avail(c_nox,c_noy)==0){goto
take;}mark_circle(315-160,235);break;}
            case
20530:{c_noy=2;outtextxy(290,420,"[2,2]");if(avail(c_nox,c_noy)==0){goto
take;}mark_circle(315,235);break;}
            case
20787:{c_noy=3;outtextxy(290,420,"[2,3]");if(avail(c_nox,c_noy)==0){goto
take;}mark_circle(315+160,235);break;}
            default:{goto take;}
            }break;}
       case 20787: {c_nox=3;switch(c_noy)
               {case 561:
{c_noy=1;outtextxy(290,420,"[3,1]");if(avail(c_nox,c_noy)==0){goto
take;}mark_circle(315-160,235+100);break;}
            case 818:
{c_noy=2;outtextxy(290,420,"[3,2]");if(avail(c_nox,c_noy)==0){goto
take;}mark_circle(315,235+100);break;}
            case 1075:
{c_noy=3;outtextxy(290,420,"[3,3]");if(avail(c_nox,c_noy)==0){goto
take;}mark_circle(315+160,235+100);break;}

            case
20273:{c_noy=1;outtextxy(290,420,"[3,1]");if(avail(c_nox,c_noy)==0){goto
take;}mark_circle(315-160,235+100);break;}
            case
20530:{c_noy=2;outtextxy(290,420,"[3,2]");if(avail(c_nox,c_noy)==0){goto
take;}mark_circle(315,235+100);break;}
            case
20787:{c_noy=3;outtextxy(290,420,"[3,3]");if(avail(c_nox,c_noy)==0){goto
take;}mark_circle(315+160,235+100);break;}
            default:{goto take;}
            }break;}
       case 283:{closegraph();break;}
        }
  break;}

 case 1:{switch(c_nox)
      {case 561:  {c_nox=1;switch(c_noy)
               {case 561:
{c_noy=1;outtextxy(290,420,"[1,1]");if(avail(c_nox,c_noy)==0){goto
take;}mark_cross(315-160,235-100);break;}
            case 818:
{c_noy=2;outtextxy(290,420,"[1,2]");if(avail(c_nox,c_noy)==0){goto
take;}mark_cross(315,235-100);    break;}
            case 1075:
{c_noy=3;outtextxy(290,420,"[1,3]");if(avail(c_nox,c_noy)==0){goto
take;}mark_cross(315+160,235-100);break;}

            case
20273:{c_noy=1;outtextxy(290,420,"[1,1]");if(avail(c_nox,c_noy)==0){goto
take;}mark_cross(315-160,235-100);break;}
            case
20530:{c_noy=2;outtextxy(290,420,"[1,2]");if(avail(c_nox,c_noy)==0){goto
take;}mark_cross(315,235-100);    break;}
            case
20787:{c_noy=3;outtextxy(290,420,"[1,3]");if(avail(c_nox,c_noy)==0){goto
take;}mark_cross(315+160,235-100);break;}
            default:{goto take;}
            }break;}
       case 818:  {c_nox=2;switch(c_noy)
               {case 561:
{c_noy=1;outtextxy(290,420,"[2,1]");if(avail(c_nox,c_noy)==0){goto
take;}mark_cross(315-160,235);break;}
            case 818:
{c_noy=2;outtextxy(290,420,"[2,2]");if(avail(c_nox,c_noy)==0){goto
take;}mark_cross(315,235);break;}
            case 1075:
{c_noy=3;outtextxy(290,420,"[2,3]");if(avail(c_nox,c_noy)==0){goto
take;}mark_cross(315+160,235);break;}

            case
20273:{c_noy=1;outtextxy(290,420,"[2,1]");if(avail(c_nox,c_noy)==0){goto
take;}mark_cross(315-160,235);break;}
            case
20530:{c_noy=2;outtextxy(290,420,"[2,2]");if(avail(c_nox,c_noy)==0){goto
take;}mark_cross(315,235);break;}
            case
20787:{c_noy=3;outtextxy(290,420,"[2,3]");if(avail(c_nox,c_noy)==0){goto
take;}mark_cross(315+160,235);break;}
            default:{goto take;}
            }break;}
       case 1075: {c_nox=3;switch(c_noy)
               {case 561:
{c_noy=1;outtextxy(290,420,"[3,1]");if(avail(c_nox,c_noy)==0){goto
take;}mark_cross(315-160,235+100);break;}
            case 818:
{c_noy=2;outtextxy(290,420,"[3,2]");if(avail(c_nox,c_noy)==0){goto
take;}mark_cross(315,235+100);break;}
            case 1075:
{c_noy=3;outtextxy(290,420,"[3,3]");if(avail(c_nox,c_noy)==0){goto
take;}mark_cross(315+160,235+100);break;}

            case
20273:{c_noy=1;outtextxy(290,420,"[3,1]");if(avail(c_nox,c_noy)==0){goto
take;}mark_cross(315-160,235+100);break;}
            case
20530:{c_noy=2;outtextxy(290,420,"[3,2]");if(avail(c_nox,c_noy)==0){goto
take;}mark_cross(315,235+100);break;}
            case
20787:{c_noy=3;outtextxy(290,420,"[3,3]");if(avail(c_nox,c_noy)==0){goto
take;}mark_cross(315+160,235+100);break;}
            default:{goto take;}
            }break;}
       case 20273:  {c_nox=1;switch(c_noy)
               {case 561:
{c_noy=1;outtextxy(290,420,"[1,1]");if(avail(c_nox,c_noy)==0){goto
take;}mark_cross(315-160,235-100);break;}
            case 818:
{c_noy=2;outtextxy(290,420,"[1,2]");if(avail(c_nox,c_noy)==0){goto
take;}mark_cross(315,235-100);    break;}
            case 1075:
{c_noy=3;outtextxy(290,420,"[1,3]");if(avail(c_nox,c_noy)==0){goto
take;}mark_cross(315+160,235-100);break;}

            case
20273:{c_noy=1;outtextxy(290,420,"[1,1]");if(avail(c_nox,c_noy)==0){goto
take;}mark_cross(315-160,235-100);break;}
            case
20530:{c_noy=2;outtextxy(290,420,"[1,2]");if(avail(c_nox,c_noy)==0){goto
take;}mark_cross(315,235-100);    break;}
            case
20787:{c_noy=3;outtextxy(290,420,"[1,3]");if(avail(c_nox,c_noy)==0){goto
take;}mark_cross(315+160,235-100);break;}
            default:{goto take;}
            }break;}
       case 20530:  {c_nox=2;switch(c_noy)
               {case 561:
{c_noy=1;outtextxy(290,420,"[2,1]");if(avail(c_nox,c_noy)==0){goto
take;}mark_cross(315-160,235);break;}
            case 818:
{c_noy=2;outtextxy(290,420,"[2,2]");if(avail(c_nox,c_noy)==0){goto
take;}mark_cross(315,235);break;}
            case 1075:
{c_noy=3;outtextxy(290,420,"[2,3]");if(avail(c_nox,c_noy)==0){goto
take;}mark_cross(315+160,235);break;}

            case
20273:{c_noy=1;outtextxy(290,420,"[2,1]");if(avail(c_nox,c_noy)==0){goto
take;}mark_cross(315-160,235);break;}
            case
20530:{c_noy=2;outtextxy(290,420,"[2,2]");if(avail(c_nox,c_noy)==0){goto
take;}mark_cross(315,235);break;}
            case
20787:{c_noy=3;outtextxy(290,420,"[2,3]");if(avail(c_nox,c_noy)==0){goto
take;}mark_cross(315+160,235);break;}
            default:{goto take;}
            }break;}
       case 20787: {c_nox=3;switch(c_noy)
               {case 561:
{c_noy=1;outtextxy(290,420,"[3,1]");if(avail(c_nox,c_noy)==0){goto
take;}mark_cross(315-160,235+100);break;}
            case 818:
{c_noy=2;outtextxy(290,420,"[3,2]");if(avail(c_nox,c_noy)==0){goto
take;}mark_cross(315,235+100);break;}
            case 1075:
{c_noy=3;outtextxy(290,420,"[3,3]");if(avail(c_nox,c_noy)==0){goto
take;}mark_cross(315+160,235+100);break;}

            case
20273:{c_noy=1;outtextxy(290,420,"[3,1]");if(avail(c_nox,c_noy)==0){goto
take;}mark_cross(315-160,235+100);break;}
            case
20530:{c_noy=2;outtextxy(290,420,"[3,2]");if(avail(c_nox,c_noy)==0){goto
take;}mark_cross(315,235+100);break;}
            case
20787:{c_noy=3;outtextxy(290,420,"[3,3]");if(avail(c_nox,c_noy)==0){goto
take;}mark_cross(315+160,235+100);break;}
            default:{goto take;}
            }break;}
     case 283:{closegraph();break;}
   }
  }
 }
if(type==0)
{rec_0[c_0][0]=c_nox;
 rec_0[c_0][1]=c_noy;c_0++;
//printf("
%d %d",rec_0[c_0-1][0],rec_0[c_0-1][1]);
}
else
{rec_1[c_1][0]=c_nox;
 rec_1[c_1][1]=c_noy;c_1++;
//printf("
%d %d",rec_1[c_1-1][0],rec_1[c_1-1][1]);
}


delay(500);
check_line(0);
check_line(1);}

int check_line(int type)
{int b1=-1,b2=-1,b3=-1;
 if(type==0)
  {if(find_0(1,1)==0)
    if(find_0(1,2)==0)
     if(find_0(1,3)==0)
      setcolor(RED),line(315-160,235-100,315+160,235-100),win(0);//[1,1
1,3]

   if(find_0(1,1)==0)
    if(find_0(2,2)==0)
     if(find_0(3,3)==0)
      setcolor(RED),line(315-160,235-100,315+160,235+100),win(0);//[1,1
3,3]

   if(find_0(1,1)==0)
    if(find_0(2,1)==0)
     if(find_0(3,1)==0)
      setcolor(RED),line(315-160,235-100,315-160,235+100),win(0);//[1,1
1,3]

   if(find_0(2,1)==0)
    if(find_0(2,2)==0)
     if(find_0(2,3)==0)
      setcolor(RED),line(315-160,235,315+160,235),win(0);//[2,1  2,3]

   if(find_0(3,1)==0)
    if(find_0(2,2)==0)
     if(find_0(1,3)==0)
      setcolor(RED),line(315-160,235+100,315+160,235-100),win(0);//[3,1
1,3]

   if(find_0(3,1)==0)
    if(find_0(3,2)==0)
     if(find_0(3,3)==0)
      setcolor(RED),line(315-160,235+100,315+160,235+100),win(0);//[3,1
3,3]

   if(find_0(1,2)==0)
    if(find_0(2,2)==0)
     if(find_0(3,2)==0)
      setcolor(RED),line(315,235-100,315,235+100),win(0);//[1,2  3,2]

   if(find_0(1,3)==0)
    if(find_0(2,3)==0)
     if(find_0(3,3)==0)
      setcolor(RED),line(315+160,235-100,315+160,235+100),win(0);//[1,3
3,3]

 }
else
{if(find_1(1,1)==0)
    if(find_1(1,2)==0)
     if(find_1(1,3)==0)
      setcolor(RED),line(315-160,235-100,315+160,235-100),win(1);//[1,1
1,3]

   if(find_1(1,1)==0)
    if(find_1(2,2)==0)
     if(find_1(3,3)==0)
      setcolor(RED),line(315-160,235-100,315+160,235+100),win(1);//[1,1
3,3]

   if(find_1(1,1)==0)
    if(find_1(2,1)==0)
     if(find_1(3,1)==0)
      setcolor(RED),line(315-160,235-100,315-160,235+100),win(1);//[1,1
1,3]

   if(find_1(2,1)==0)
    if(find_1(2,2)==0)
     if(find_1(2,3)==0)
      setcolor(RED),line(315-160,235,315+160,235),win(1);//[2,1  2,3]

   if(find_1(3,1)==0)
    if(find_1(2,2)==0)
     if(find_1(1,3)==0)
      setcolor(RED),line(315-160,235+100,315+160,235-100),win(1);//[3,1
1,3]

   if(find_1(3,1)==0)
    if(find_1(3,2)==0)
     if(find_1(3,3)==0)
      setcolor(RED),line(315-160,235+100,315+160,235+100),win(1);//[3,1
3,3]

   if(find_1(1,2)==0)
    if(find_1(2,2)==0)
     if(find_1(3,2)==0)
      setcolor(RED),line(315,235-100,315,235+100),win(1);//[1,2  3,2]

   if(find_1(1,3)==0)
    if(find_1(2,3)==0)
     if(find_1(3,3)==0)
      setcolor(RED),line(315+160,235-100,315+160,235+100),win(1);//[1,3
3,3]
 }



setcolor(WHITE);
}

int find_0(int x,int y)
{int i;
 for(i=0;i<=c_0;i++)
  if(rec_0[i][0]==x&&rec_0[i][1]==y)
  return 0;

return -1;}


int find_1(int x,int y)
{int i;
 for(i=0;i<=c_1;i++)
  if(rec_1[i][0]==x&&rec_1[i][1]==y)
  return 0;

return -1;}


int avail(int c_nox,int c_noy)
{if(find_0(c_nox,c_noy)==0||find_1(c_nox,c_noy)==0)
 {return 0;}

return 1;}

void win(int type)
{int i;
 if(type==0)
 for(i=0;i<21;i++)

setcolor(i),delay(100),outtextxy(280,10,pl1_name),outtextxy(180,10,"WINNER
"),sound(266),delay(50),nosound();


 else
for(i=0;i<21;i++)setcolor(i),delay(100),outtextxy(280,10,pl2_name),outtext
xy(180,10,"WINNER"),sound(266),delay(50),nosound();

getch();
closegraph();}






/*
int finish()
{
 return 0
}
*/

/*settextstyle(1,0,3);
   outtextxy(0,400,"STATUS::");

   /*
   mark_circle(315-160,235-100);//{1,1}
   mark_circle(315,235-100);    //{1,2}
   mark_circle(315+160,235-100);//{1,3}

   mark_circle(315-160,235);    //{2,1}
   mark_circle(315,235);        //{2,2}
   mark_circle(315+160,235);    //{2,3}


   mark_circle(315-160,235+100);//{3,1}
   mark_circle(315,235+100);    //{3,2}
   mark_circle(315+160,235+100);//{3,3}
   */

   //line(315-160,235-100,315+160,235+100);//{3,3}

No comments: