Looking for work? Check out our jobs area.

View \Kbt.cpp

A game similar to who wants to be a millionare ...C++ sourcecode.

Submitted By: xyz
Rating: starstarstar (Rate It)


#include"iostream.h"
 #include"stdio.h"
 #include"dos.h"
 #include"graphics.h"
 #include"conio.h"
 #include"stdlib.h"
 #define DEFAULT 0
 #include"string.h"
 #define MAX_Q_LEN 100
 #define MAX_A_LEN 30
 #include"fstream.h"
 #include"TIME.H"
  int gd=DETECT,gm,unicolor,plyr_in_actn,start;
  int maxx,maxy,midx,midy,key_select,a_poll_st,fty_fty_sts,a_a_frnd;
  char chh;
  union REGS i,o;
  int st_file1=0,st_file2=0,st_file3=0,st_file4=0,st_file5=0,st_file6=0;
  int st_file7=0,st_file8=0,st_file9=0,st_file10=0,st_file11=0,st_file12=0;
  int st_file13=0,st_file14=0,st_file15=0;
  int  init_disp=0;
  FILE * fp;
  char * tr;
  class ques_ans
  {
  public:

  char  question[100];
  char  ans1[40];
  char  ans2[40];
  char  ans3[40];
  char  ans4[40];
  int ans;

 } ;

  ques_ans bank[15];

void kbt_txt()
{
char ch;
int line=1;
ifstream fin("kbt.tha");
while(fin.get(ch))
{
cout<<ch;
if(ch=='\n')
line++;
if(line==29)
{
cout<<"\n                Press any key for pg.2";
getch();
line=1;
cleardevice();
}
}
fin.close();
fflush(stdin);
cout<<"\n\n\n         PRESS ANY KEY TO START GAME....& All the Best";
getch();

}


void www_kbt_com(int start)
{
//randomize();
int prevcol=getcolor();
if(start==1)
{

settextstyle(10,HORIZ_DIR,4);

setcolor(BLACK);
outtextxy(130,40,"WWW");
outtextxy(130,120,"10000");
outtextxy(160,200,"COM");
setfillstyle(SOLID_FILL,GREEN);
floodfill(140,80,BLACK); //W
floodfill(195,80,BLACK); //W
floodfill(276,80,BLACK); //W
setfillstyle(SOLID_FILL,WHITE); // LAST 0
floodfill(275,175,BLACK);     //2LAST 0
floodfill(250,170,BLACK);     //3LAST 0
floodfill(200,170,BLACK);     //4 LAST 0
floodfill(169,170,BLACK);
floodfill(145,170,BLACK);
setfillstyle(SOLID_FILL,BROWN); // LAST 0
floodfill(200,250,BLACK);
floodfill(165,250,BLACK);
floodfill(245,250,BLACK);

}
else
{
settextstyle(10,HORIZ_DIR,4);
//int prevcol=getcolor();
setcolor(BLACK);
outtextxy(130,40,"WWW");
outtextxy(130,120,"10000");
outtextxy(160,200,"COM");
setfillstyle(SOLID_FILL,GREEN);
floodfill(140,80,BLACK); //W
floodfill(195,80,BLACK); //W
floodfill(276,80,BLACK); //W
setfillstyle(SOLID_FILL,WHITE); // LAST 0
floodfill(275,175,BLACK);     //2LAST 0
floodfill(250,170,BLACK);     //3LAST 0
floodfill(200,170,BLACK);     //4 LAST 0
floodfill(169,170,BLACK);
floodfill(145,170,BLACK);
setfillstyle(SOLID_FILL,BROWN); // LAST 0
floodfill(200,250,BLACK);
floodfill(165,250,BLACK);
floodfill(245,250,BLACK);
//putpixel(245,250,GREEN);
delay(400);

setfillstyle(SOLID_FILL,BROWN);
floodfill(140,80,BLACK); //W
floodfill(195,80,BLACK); //W
floodfill(276,80,BLACK); //W
setfillstyle(SOLID_FILL,GREEN); // LAST 0
floodfill(200,250,BLACK);
floodfill(165,250,BLACK);
floodfill(245,250,BLACK);

delay(400);
}
setfillstyle(SOLID_FILL,BLACK); // LAST 0
setcolor(prevcol);
}
void change_attrib(char * fname)
{
i.h.ah=0x43;
i.h.al=0x1;
i.x.cx=0x1;
i.x.dx=(int)fname;
int86(0x21,&i,&o);
}

void change_attrib_a(char * fname)
{
i.h.ah=0x43;
i.h.al=0x01;
i.x.cx=0x20;
i.x.dx=(int)fname ;
int86(0x21,&i,&o);

}
  // function to read the questions from file
  //==========================================================
  //=========================================================

  void read_ques(char * filename)
  {
  ifstream fin;
  fin.open(filename);
  unsigned char * str;
  int r;
    for(r=0;r<=14;r++)
    {
    fin.getline(bank[r].question,MAX_Q_LEN);
    tr=bank[0].question;
    fin.getline(bank[r].ans1,MAX_A_LEN)//get
    fin.getline( bank[r].ans2,MAX_A_LEN);
    fin.getline( bank[r].ans3,MAX_A_LEN);
    fin.getline(bank[r].ans4,MAX_A_LEN);
    char * temp_ans_no;
    fin.getline(temp_ans_no,MAX_A_LEN);
    bank[r].ans=atoi(temp_ans_no);
    }
    fin.close();
    change_attrib(filename);
  }


 // question block .====================.
 //               .                       .
 //                .====================.



 void ques_disp(char *q)
 {
int prevcol=getcolor();
setcolor(WHITE);
 int length,spaceleft,putq;
 length=strlen(q);
 length=length*14;
 spaceleft=510-length;
spaceleft/=2;
putq=65+spaceleft;
settextstyle(2,HORIZ_DIR,6);
 if(init_disp==0)
 outtextxy(putq,340,q);
 else
 outtextxy(65,340,q);
setcolor(prevcol);
 }

  void ans_disp(int mode,char *ans,int ans_no)
     {
     int length,spaceleft,putq;
     length=strlen(ans);
     length=length*12;
     setcolor(WHITE);
     if((ans_no==1)&&(mode==DEFAULT))
    {
    settextstyle(2,HORIZ_DIR,6);
    outtextxy(65,390,"1: ");
    outtextxy(85,390,ans);

 }
 else
 {
   if((ans_no==1)&&(mode==1))
 {
 int prevcol=getcolor();
 setfillstyle(SOLID_FILL,BROWN);
 floodfill(70,382,GREEN);
 settextstyle(2,HORIZ_DIR,6);
 outtextxy(65,390,"1: ");
 outtextxy(85,390,ans);
 setcolor(prevcol);

 }

 else
 {
    if((ans_no==1)&&(mode==2))
 {
 int prevcol=getcolor();
 for(int i=0;i<=6;i++)
 {
 setfillstyle(SOLID_FILL,BROWN);
 floodfill(70,382,GREEN);
 settextstyle(2,HORIZ_DIR,6);
 outtextxy(65,390,"1: ");

 outtextxy(85,390,ans);
 delay(400);
  setcolor(BLACK);
 setfillstyle(SOLID_FILL,LIGHTGREEN);
 floodfill(70,382,GREEN);
 settextstyle(2,HORIZ_DIR,6);
 outtextxy(65,390,"1: ");
 outtextxy(85,390,ans);
 delay(400);
 setcolor(prevcol);

 }
 }
 }
 }



 // ANS==2
 //=================================================================
 //===============================================================

  if((ans_no==2)&&(mode==DEFAULT))
    {

     settextstyle(2,HORIZ_DIR,6);
     outtextxy(355,390,"2: ");
     outtextxy(375,390,ans);
   }
   else
  {
   if((ans_no==2)&&(mode==1))
  {
  int prevcol=getcolor();
  setfillstyle(SOLID_FILL,BROWN);
  floodfill(360,382,GREEN);

  settextstyle(2,HORIZ_DIR,6);
  outtextxy(355,390,"2: ");
  outtextxy(375,390,ans);
  setcolor(prevcol);

  }

  else
  {
    if((ans_no==2)&&(mode==2))
  {
 int prevcol=getcolor();
 for(int i=0;i<=6;i++)
 {
 setfillstyle(SOLID_FILL,BROWN);
 floodfill(360,382,GREEN);
 settextstyle(2,HORIZ_DIR,6);
 outtextxy(355,390,"2: ");

 outtextxy(375,390,ans);
 delay(400);
  setcolor(BLACK);
 setfillstyle(SOLID_FILL,LIGHTGREEN);
 floodfill(360,382,GREEN);
 settextstyle(2,HORIZ_DIR,6);
 outtextxy(355,390,"2: ");
 outtextxy(375,390,ans);
 delay(400);
 setcolor(prevcol);

 }
 }
 }

 }
 //ANS=3
 //=====================================================================
 //=====================================================================

  if((ans_no==3)&&(mode==DEFAULT))
    {
// spaceleft=285-length;
// spaceleft=spaceleft/2;
// putq=65+spaceleft;
 settextstyle(2,HORIZ_DIR,6);
 outtextxy(65,435,"3: ");
 outtextxy(85,435,ans);

 }
 else
 {
   if((ans_no==3)&&(mode==1))
 {
 int prevcol=getcolor();
 setfillstyle(SOLID_FILL,BROWN);
 floodfill(70,435,GREEN);
// spaceleft=285-length;
// spaceleft=spaceleft/2;
// putq=65+spaceleft;
 settextstyle(2,HORIZ_DIR,6);
 outtextxy(65,435,"3: ");
 outtextxy(85,435,ans);
setcolor(prevcol);
 }

 else
 {
    if((ans_no==3)&&(mode==2))
 {
 int prevcol=getcolor();
 for(int i=0;i<=6;i++)
 {
 setfillstyle(SOLID_FILL,BROWN);
 floodfill(70,430,GREEN);
 settextstyle(2,HORIZ_DIR,6);
 outtextxy(65,435,"3: ");

 outtextxy(85,435,ans);
 delay(400);
  setcolor(BLACK);
 setfillstyle(SOLID_FILL,LIGHTGREEN);
 floodfill(70,430,GREEN);
 settextstyle(2,HORIZ_DIR,6);
 outtextxy(65,435,"3: ");
 outtextxy(85,435,ans);
 delay(400);
 setcolor(prevcol);

 }
 }
 }
 }
//ans=4
//=========================================================================
//=========================================================================

   if((ans_no==4)&&(mode==DEFAULT))
    {
 settextstyle(2,HORIZ_DIR,6);
 outtextxy(355,435,"4: ");
 outtextxy(375,435,ans);
   unicolor=getcolor();
 }
 else
 {
   if((ans_no==4)&&(mode==1))
 {
 int prevcol=getcolor();
 setfillstyle(SOLID_FILL,BROWN);
 floodfill(360,435,GREEN);
 settextstyle(2,HORIZ_DIR,6);
 outtextxy(355,435,"4: ");
 outtextxy(375,435,ans);
setcolor(prevcol);
 }

 else
 {
    if((ans_no==4)&&(mode==2))
 {
 int prevcol=getcolor();
 for(int i=0;i<=6;i++)
 {
 setfillstyle(SOLID_FILL,BROWN);
 floodfill(360,435,GREEN);
 settextstyle(2,HORIZ_DIR,6);
 outtextxy(355,435,"4: ");
 outtextxy(375,435,ans);
 delay(400);
  setcolor(BLACK);
 setfillstyle(SOLID_FILL,LIGHTGREEN);
 floodfill(360,435,GREEN);
 settextstyle(2,HORIZ_DIR,6);
 outtextxy(355,435,"4: ");
 outtextxy(375,435,ans);
 delay(400);
 setcolor(prevcol);

 }
 }
 }
 }
      }

 void block(int upx1,int upy1,int upx2,int upy2,int lwrx1,int lwry1,int lwrx2,int lwry2)
 {
 setcolor(GREEN);
 line(upx1,upy1,upx2,upy2) ;// draws upper line
 line(lwrx1,lwry1,lwrx2,lwry2);// draws lower line
 line(upx1-20,upy1+((lwry1-upy1)/2),upx1,upy1); // left converge to upline
 line(upx1-20,upy1+((lwry1-upy1)/2),lwrx1,lwry1); //left converge to lwrline
 line(upx2+20,upy1+((lwry1-upy1)/2),upx2,upy2)//right converge to upline
 line(lwrx2+20,upy1+((lwry1-upy1)/2),lwrx2,lwry2);//right converge to lwrline
 }

 void ques_block()
 {
 int prevcol=getcolor();
 setcolor(GREEN);
 block(70,midy+70+30-10,maxx-70,midy+70+30-10,70,midy+70+30+40-10,maxx-70,midy+70+30+40-10);
  setcolor(prevcol);
 }

 void ans_block1()
 {
  int prevcol=getcolor();
 setcolor(GREEN);
 block(70,midy+135+10-5,midx-30-10,midy+135+10-5,70,midy+135+10+40-5,midx-30-10,midy+135+10+40-5);
  setcolor(prevcol);

 }

 void ans_block3()
 {
// int prevcol=getcolor();
 setcolor(GREEN);
 block(70,midy+135+10+50-5,midx-30-10,midy+135+10+50-5,70,midy+135+10+40+50-5,midx-30-10,midy+135+10+40+50-5);
 }


  void ans_block2()
 {
 int prevcol=getcolor();
 setcolor(GREEN);
 block(midx+30+10,midy+135+10-5,maxx-70,midy+135+10-5,midx+30+10,midy+135+10+40-5,maxx-70,midy+135+10+40-5);
 setcolor(prevcol);

 }

   void ans_block4()
 {
 int prevcol=getcolor();
 setcolor(GREEN);
 block(midx+30+10,midy+135+10-5+50,maxx-70,midy+135+10-5+50,midx+30+10,midy+135+10+40-5+50,maxx-70,midy+135+10+40-5+50);
 setcolor(prevcol);

 }

 void scree_skel()
  {
   //  color
   //setbkcolor(BLUE);
  int  prevcolor=getcolor();
  setcolor(LIGHTGRAY);
  line(0,20,midx+100,20);
  line(0,midy+40,midx+100,midy+40);

  rectangle(0,0,maxx,maxy);        // outer rectangle
  line(0,midy+70,maxx,midy+70);    // question divider
  line(midx+100,0,midx+100,midy+70);// money divider
  line(midx+100,60,maxx,60);         // lifeline divider
  line(midx+172,0,midx+172,60);    // sub lifeline divider 1 from left
  line(midx+247,0,midx+247,60);    // sub lifeline divider 2 from left
  rectangle(20,20,midx+70,midy+40); // iner rectangle
   setfillstyle(SOLID_FILL,BLUE);
  floodfill(35,35,LIGHTGRAY);
  setfillstyle(SOLID_FILL,DARKGRAY);
  floodfill(2,32,7);
  floodfill(midx+90,32,7);
  setcolor(GREEN);
  settextstyle(DEFAULT_FONT,HORIZ_DIR,1);
  outtextxy(20,7,"       Press Cltr + F10 any time to quit");

 setcolor(prevcolor);
  }



  void money_disp(int col,int plyrsts)
  {
  int prevcol=getcolor();
  setcolor(col);
  settextstyle(0,HORIZ_DIR,1);
  setcolor(YELLOW);



  if(plyrsts==0)
  {
    setfillstyle(SOLID_FILL,BLACK);
    bar(423,60+220-210,635,298-213);
    outtextxy(420+40,60+15," 15:  1 0,0 0 0");
    setcolor(CYAN);
    setfillstyle(SOLID_FILL,BLACK);
    bar(423,60+220-195,635,298-198);
    outtextxy(420+40,60+30," 14:  0 5,0 0 0");
    setfillstyle(SOLID_FILL,BLACK);
    bar(423,60+220-180,635,298-183);
    outtextxy(420+40,60+45," 13:  0 2,0 0 0");
    setfillstyle(SOLID_FILL,BLACK);
    bar(423,60+220-165,635,298-168);
    outtextxy(420+40,60+60," 12:  0 1,0 0 0");
    setcolor(YELLOW);

    setfillstyle(SOLID_FILL,BLACK);
    bar(423,60+220-150,635,298-153);
    outtextxy(420+40,60+75," 11:  0 0 8 0 0");
    setcolor(CYAN);
    setfillstyle(SOLID_FILL,BLACK);
    bar(423,60+220-135,635,298-139);
    outtextxy(420+40,60+90," 10:  0 0 6 0 0");

    setfillstyle(SOLID_FILL,BLACK);
    bar(423,60+220-120,635,298-124);
    outtextxy(420+40,60+105," 9:   0 0 4 0 0");

    setfillstyle(SOLID_FILL,BLACK);
    bar(423,60+220-105,635,298-109);
    outtextxy(420+40,60+120," 8:   0 0 2 0 0");

    setfillstyle(SOLID_FILL,BLACK);
    bar(423,60+220-90,635,298-94);
    outtextxy(420+40,60+135," 7:   0 0 1 0 0");

    setcolor(YELLOW);
    setfillstyle(SOLID_FILL,BLACK);
    bar(423,60+220-75,635,298-79);
    outtextxy(420+40,60+150," 6:   0 0 0 5 0");

    setcolor(CYAN);
    setfillstyle(SOLID_FILL,BLACK);
    bar(423,60+220-60,635,298-63);
    outtextxy(420+40,60+165," 5:   0 0 0 4 0");


    setfillstyle(SOLID_FILL,BLACK);
    bar(423,60+220-45,635,298-48);
    outtextxy(420+40,60+180," 4:   0 0 0 3 0");


    setfillstyle(SOLID_FILL,BLACK);
    bar(423,60+220-30,635,298-33);
    outtextxy(420+40,60+195," 3:   0 0 0 2 0 ");

    setfillstyle(SOLID_FILL,BLACK);
    bar(423,60+220-15,635,298-17);
    outtextxy(420+40,60+210," 2:   0 0 0 1 0 ");

      // setcolor(YELLOW);
   setfillstyle(SOLID_FILL,BLACK);
   bar(423,60+220,635,298);

   outtextxy(420+40,60+225," 1:   0 0 0 0 5 ");

  }
else
{
  if(plyrsts==15)
    {
    setfillstyle(SOLID_FILL,LIGHTGRAY);
    bar(423,60+220-210,635,298-213);


  outtextxy(420+40,60+15," 15:  1 0,0 0 0");

  }
  else
  {
   setfillstyle(SOLID_FILL,BLACK);
    bar(423,60+220-210,635,298-213);
  outtextxy(420+40,60+15," 15:  1 0,0 0 0");
  }
  setcolor(CYAN);

    if(plyrsts==14)
    {
    setfillstyle(SOLID_FILL,LIGHTGRAY);
    bar(423,60+220-195,635,298-198);
    outtextxy(420+40,60+30," 14:  0 5,0 0 0");
    }
    else
    {
     setfillstyle(SOLID_FILL,BLACK);
      bar(423,60+220-195,635,298-198);
    outtextxy(420+40,60+30," 14:  0 5,0 0 0");
    }


  if(plyrsts==13)
   {
   setfillstyle(SOLID_FILL,LIGHTGRAY);
   bar(423,60+220-180,635,298-183);
   outtextxy(420+40,60+45," 13:  0 2,0 0 0");
  }
  else
  {
   setfillstyle(SOLID_FILL,BLACK);
   bar(423,60+220-180,635,298-183);
  outtextxy(420+40,60+45," 13:  0 2,0 0 0");
  }

   if(plyrsts==12)
   {
   setfillstyle(SOLID_FILL,LIGHTGRAY);
   bar(423,60+220-165,635,298-168);
   outtextxy(420+40,60+60," 12:  0 1,0 0 0");
   }
   else
   {
    setfillstyle(SOLID_FILL,BLACK);
       bar(423,60+220-165,635,298-168);
   outtextxy(420+40,60+60," 12:  0 1,0 0 0");
    }

    setcolor(YELLOW);

  if(plyrsts==11)

  {
   setfillstyle(SOLID_FILL,LIGHTGRAY);
   bar(423,60+220-150,635,298-153);
   outtextxy(420+40,60+75," 11:  0 0 8 0 0");
  }
  else
  {
   setfillstyle(SOLID_FILL,BLACK);
   bar(423,60+220-150,635,298-153);
  outtextxy(420+40,60+75," 11:  0 0 8 0 0");
  }

  setcolor(CYAN);

  if(plyrsts==10)
  {
  setfillstyle(SOLID_FILL,LIGHTGRAY);
  bar(423,60+220-135,635,298-139);
  outtextxy(420+40,60+90," 10:  0 0 6 0 0");
  }
  else
  {
   setfillstyle(SOLID_FILL,BLACK);
    bar(423,60+220-135,635,298-139);
  outtextxy(420+40,60+90," 10:  0 0 6 0 0");
  }


  setcolor(CYAN);

    if(plyrsts==9)
  {
   setfillstyle(SOLID_FILL,LIGHTGRAY);
   bar(423,60+220-120,635,298-124);

  outtextxy(420+40,60+105," 9:   0 0 4 0 0");
    }
    else
    {
     setfillstyle(SOLID_FILL,BLACK);
     bar(423,60+220-120,635,298-124);
    outtextxy(420+40,60+105," 9:   0 0 4 0 0");
    }


    if(plyrsts==8)
  {
   setfillstyle(SOLID_FILL,LIGHTGRAY);
   bar(423,60+220-105,635,298-109);
   outtextxy(420+40,60+120," 8:   0 0 2 0 0");
  }
  else
  {
   setfillstyle(SOLID_FILL,BLACK);
     bar(423,60+220-105,635,298-109);
  outtextxy(420+40,60+120," 8:   0 0 2 0 0");
  }

    if(plyrsts==7)
  {
  setfillstyle(SOLID_FILL,LIGHTGRAY);
  bar(423,60+220-90,635,298-94);
    outtextxy(420+40,60+135," 7:   0 0 1 0 0");
    }
    else
    {
     setfillstyle(SOLID_FILL,BLACK);
      bar(423,60+220-90,635,298-94);
     outtextxy(420+40,60+135," 7:   0 0 1 0 0");
     }



  setcolor(YELLOW);

  if(plyrsts==6)
  {
  setfillstyle(SOLID_FILL,LIGHTGRAY);
  bar(423,60+220-75,635,298-79);

  outtextxy(420+40,60+150," 6:   0 0 0 5 0");
  setcolor(CYAN);
    }
    else
    {
     setfillstyle(SOLID_FILL,BLACK);
     bar(423,60+220-75,635,298-79);
     outtextxy(420+40,60+150," 6:   0 0 0 5 0");
     }
     setcolor(CYAN);


   if(plyrsts==5)
  {
  setfillstyle(SOLID_FILL,LIGHTGRAY);
  bar(423,60+220-60,635,298-63);
    outtextxy(420+40,60+165," 5:   0 0 0 4 0");
      }
      else
      {
       setfillstyle(SOLID_FILL,BLACK);
       bar(423,60+220-60,635,298-63);
      outtextxy(420+40,60+165," 5:   0 0 0 4 0");
       }


  if(plyrsts==4)
  {
  setfillstyle(SOLID_FILL,LIGHTGRAY);
  bar(423,60+220-45,635,298-48);
  outtextxy(420+40,60+180," 4:   0 0 0 3 0");
  }
  else
  {
   setfillstyle(SOLID_FILL,BLACK);
    bar(423,60+220-45,635,298-48);
  outtextxy(420+40,60+180," 4:   0 0 0 3 0");
   }



    if(plyrsts==3)
  {
  setfillstyle(SOLID_FILL,LIGHTGRAY);
  bar(423,60+220-30,635,298-33);
    outtextxy(420+40,