#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,