Simple Criss-Cross Game Game Project using C Language

This is a simple Criss-Cross Game Project developed using C-Language and Graphics. The IDE and environment used for this project  Turbo C.

Screenshort

Code for Criss-Cross Game

#include<stdio.h>
#include<conio.h>
#include<graphics.h>
#include<process.h>
#include<dos.h>
#define ESC 0x1b
#define ENT 13
#define TAB 9
#define LEFT 75
#define RIGHT 77
FILE *fs;
struct winlist
{
char win[60];
char loss[60];
};
typedef struct winlist wk;
long int SIZE =sizeof(wk);
void Swindow(void);
void HELP(void);
void graf(void);
int Clear(int );
int Refresh(int );
char sub_REFRESH();
void animation(void);
void submain(void);
void subshow(void);
void result(void);
void msgbox(void);
int optionYN(void);
void winbox(void);
void winlist(void);
void winbox1(void);
int matrix[3][3];
int mat[3][3];
void main(void)
{
int i,j,a,gdriver = DETECT, gmode;
char choice;
initgraph(&gdriver, &gmode, "c:\\WINDOWS/Crossgam/"); // Change Driver Path as per your turbo C Graphics EGAVGA.BGI file
animation();
exit(0);
}
void submain(void)
{
int flag=0,i,j,a;
char choice;
Swindow();
subshow();
input:
fflush(stdin);
choice=getch();
setfillstyle(SOLID_FILL,BLACK);
bar(300,400,600,430);
if(choice==ESC){ HELP(); goto input; }
if(choice=='0'){msgbox();}
if(choice=='s'||choice=='S'){winbox1();winlist();}
if(choice=='7' && flag==0 && mat[1][1]==0)
{
setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);
outtextxy(240,160,"X"); flag=1; matrix[1][1]=1,mat[1][1]=1;
if(matrix[1][1]==matrix[1][2] && matrix[1][2]==matrix[1][3])
{
setcolor(CYAN); line(220,170,410,170); flag=Refresh(flag);
}
else if(matrix[1][1]==matrix[2][1] && matrix[2][1]==matrix[3][1])
{
setcolor(CYAN); line(245,150,245,300); flag=Refresh(flag);
}
else if(matrix[1][1]==matrix[2][2] && matrix[2][2]==matrix[3][3])
{
setcolor(CYAN); line(235,150,410,300); flag=Refresh(flag);
}
else
result();
goto input;
}
else if(choice=='7' && flag==1&& mat[1][1]==0)
{
setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);
outtextxy(240,160,"O"); flag=0; matrix[1][1]=2,mat[1][1]=1;
if(matrix[1][1]==matrix[1][2] && matrix[1][2]==matrix[1][3])
{
setcolor(CYAN); line(220,170,410,170); flag=Refresh(flag);
}
else if(matrix[1][1]==matrix[2][1] && matrix[2][1]==matrix[3][1])
{
setcolor(CYAN); line(245,150,245,300); flag=Refresh(flag);
}
else if(matrix[1][1]==matrix[2][2] && matrix[2][2]==matrix[3][3])
{
setcolor(CYAN); line(235,150,410,300); flag=Refresh(flag);
}
else
result();
goto input;
}
else if(choice=='8' && flag==0&& mat[1][2]==0)
{
setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);
outtextxy(305,160,"X"); flag=1; matrix[1][2]=1,mat[1][2]=1;
if(matrix[1][1]==matrix[1][2] && matrix[1][2]==matrix[1][3])
{
setcolor(CYAN); line(220,170,410,170); flag=Refresh(flag);
}
else if(matrix[1][2]==matrix[2][2] && matrix[2][2]==matrix[3][2])
{
setcolor(CYAN); line(315,150,315,300); flag=Refresh(flag);
}
else
result();
goto input;
}
else if(choice=='8' && flag==1&& mat[1][2]==0)
{
setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);
outtextxy(305,160,"O"); flag=0; matrix[1][2]=2,mat[1][2]=1;
if(matrix[1][1]==matrix[1][2] && matrix[1][2]==matrix[1][3])
{
setcolor(CYAN); line(220,170,410,170); flag=Refresh(flag);
}
else if(matrix[1][2]==matrix[2][2] && matrix[2][2]==matrix[3][2])
{
setcolor(CYAN); line(315,150,315,300); flag=Refresh(flag);
}
else
result();
goto input;
}
else if(choice=='9' && flag==0&& mat[1][3]==0)
{
setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);
outtextxy(370,160,"X"); flag=1; matrix[1][3]=1,mat[1][3]=1;
if(matrix[1][1]==matrix[1][2] && matrix[1][2]==matrix[1][3])
{
setcolor(CYAN); line(220,170,410,170); flag=Refresh(flag);
}
else if(matrix[1][3]==matrix[2][3] && matrix[2][3]==matrix[3][3])
{
setcolor(CYAN); line(375,150,375,300); flag=Refresh(flag);
}
else if(matrix[1][3]==matrix[2][2] && matrix[2][2]==matrix[3][1])
{
setcolor(CYAN); line(390,150,220,300); flag=Refresh(flag);
}
else
result();
goto input;
}
else if(choice=='9' && flag==1&& mat[1][3]==0)
{
setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);
outtextxy(370,160,"O"); flag=0; matrix[1][3]=2,mat[1][3]=1;
if(matrix[1][1]==matrix[1][2] && matrix[1][2]==matrix[1][3])
{
setcolor(CYAN); line(220,170,410,170); flag=Refresh(flag);
}
else if(matrix[1][3]==matrix[2][3] && matrix[2][3]==matrix[3][3])
{
setcolor(CYAN); line(375,150,375,300); flag=Refresh(flag);
}
else if(matrix[1][3]==matrix[2][2] && matrix[2][2]==matrix[3][1])
{
setcolor(CYAN); line(390,150,220,300); flag=Refresh(flag);
}
else
result();
goto input;
}
else if(choice=='4' && flag==0&& mat[2][1]==0)
{
setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);
outtextxy(240,215,"X"); flag=1; matrix[2][1]=1,mat[2][1]=1;
if(matrix[1][1]==matrix[2][1] && matrix[2][1]==matrix[3][1])
{
setcolor(CYAN); line(245,150,245,300);flag=Refresh(flag);
}
else if(matrix[2][1]==matrix[2][2] && matrix[2][2]==matrix[2][3])
{
setcolor(CYAN); line(235,215,400,215); flag=Refresh(flag);
}
else
result();
goto input;
}
else if(choice=='4' && flag==1&& mat[2][1]==0)
{
setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);
outtextxy(240,215,"O"); flag=0; matrix[2][1]=2,mat[2][1]=1;
if(matrix[1][1]==matrix[2][1] && matrix[2][1]==matrix[3][1])
{
setcolor(CYAN); line(245,150,245,300); flag=Refresh(flag);
}
else if(matrix[2][1]==matrix[2][2] && matrix[2][2]==matrix[2][3])
{
setcolor(CYAN); line(235,215,400,215); flag=Refresh(flag);
}
else
result();
goto input;
}
else if(choice=='5' && flag==0&& mat[2][2]==0)
{
setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);
outtextxy(305,215,"X"); flag=1; matrix[2][2]=1,mat[2][2]=1;
if(matrix[1][2]==matrix[2][2] && matrix[2][2]==matrix[3][2])
{
setcolor(CYAN); line(315,150,315,300); flag=Refresh(flag);
}
else if(matrix[2][1]==matrix[2][2] && matrix[2][2]==matrix[2][3])
{
setcolor(CYAN); line(235,215,400,215); flag=Refresh(flag);
}
else if(matrix[1][1]==matrix[2][2] && matrix[2][2]==matrix[3][3])
{
setcolor(CYAN); line(235,150,410,300); flag=Refresh(flag);
}
else if(matrix[1][3]==matrix[2][2] && matrix[2][2]==matrix[3][1])
{
setcolor(CYAN); line(390,150,220,300); flag=Refresh(flag);
}
else
result();
goto input;
}
else if(choice=='5' && flag==1&& mat[2][2]==0)
{
setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);
outtextxy(305,215,"O"); flag=0; matrix[2][2]=2,mat[2][2]=1;
if(matrix[1][2]==matrix[2][2] && matrix[2][2]==matrix[3][2])
{
setcolor(CYAN); line(315,150,315,300); flag=Refresh(flag);
}
else if(matrix[2][1]==matrix[2][2] && matrix[2][2]==matrix[2][3])
{
setcolor(CYAN); line(235,215,400,215); flag=Refresh(flag);
}
else if(matrix[1][1]==matrix[2][2] && matrix[2][2]==matrix[3][3])
{
setcolor(CYAN); line(235,150,410,300); flag=Refresh(flag);
}
else if(matrix[1][3]==matrix[2][2] && matrix[2][2]==matrix[3][1])
{
setcolor(CYAN); line(390,150,220,300); flag=Refresh(flag);
}
else
result();
goto input;
}
else if(choice=='6' && flag==0&& mat[2][3]==0)
{
setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);
outtextxy(370,215,"X"); flag=1; matrix[2][3]=1,mat[2][3]=1;
if(matrix[1][3]==matrix[2][3] && matrix[2][3]==matrix[3][3])
{
setcolor(CYAN); line(375,150,375,300); flag=Refresh(flag);
}
else if(matrix[2][1]==matrix[2][2] && matrix[2][2]==matrix[2][3])
{
setcolor(CYAN); line(235,215,400,215); flag=Refresh(flag);
}
else
result();
goto input;
}
else if(choice=='6' && flag==1&& mat[2][3]==0)
{
setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);
outtextxy(370,215,"O"); flag=0; matrix[2][3]=2,mat[2][3]=1;
if(matrix[1][3]==matrix[2][3] && matrix[2][3]==matrix[3][3])
{
setcolor(CYAN); line(375,150,375,300); flag=Refresh(flag);
}
else if(matrix[2][1]==matrix[2][2] && matrix[2][2]==matrix[2][3])
{
setcolor(CYAN); line(235,215,400,215); flag=Refresh(flag);
}
else
result();
goto input;
}
else if(choice=='1' && flag==0&& mat[3][1]==0)
{
setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);
outtextxy(240,270,"X"); flag=1; matrix[3][1]=1,mat[3][1]=1;
if(matrix[1][1]==matrix[2][1] && matrix[2][1]==matrix[3][1])
{
setcolor(CYAN); line(245,150,245,300); flag=Refresh(flag);
}
else if(matrix[1][3]==matrix[2][2] && matrix[2][2]==matrix[3][1])
{
setcolor(CYAN); line(390,150,220,300); flag=Refresh(flag);
}
else if(matrix[3][1]==matrix[3][2] && matrix[3][2]==matrix[3][3])
{
setcolor(CYAN); line(235,275,400,275); flag=Refresh(flag);
}
else
result();
goto input;
}
else if(choice=='1' && flag==1&& mat[3][1]==0)
{
setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);
outtextxy(240,270,"O"); flag=0; matrix[3][1]=2,mat[3][1]=1;
if(matrix[1][1]==matrix[2][1] && matrix[2][1]==matrix[3][1])
{
setcolor(CYAN); line(245,150,245,300); flag=Refresh(flag);
}
else if(matrix[1][3]==matrix[2][2] && matrix[2][2]==matrix[3][1])
{
setcolor(CYAN); line(390,150,220,300); flag=Refresh(flag);
}
else if(matrix[3][1]==matrix[3][2] && matrix[3][2]==matrix[3][3])
{
setcolor(CYAN); line(235,275,400,275); flag=Refresh(flag);
}
else
result();
goto input;
}
else if(choice=='2' && flag==0&& mat[3][2]==0)
{
setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);
outtextxy(305,270,"X"); flag=1; matrix[3][2]=1,mat[3][2]=1;
if(matrix[3][1]==matrix[3][2] && matrix[3][2]==matrix[3][3])
{
setcolor(CYAN); line(235,275,400,275); flag=Refresh(flag);
}
else if(matrix[1][2]==matrix[2][2] && matrix[2][2]==matrix[3][2])
{
setcolor(CYAN); line(315,150,315,300); flag=Refresh(flag);
}
else
result();
goto input;
}
else if(choice=='2' && flag==1&& mat[3][2]==0)
{
setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);
outtextxy(305,270,"O"); flag=0; matrix[3][2]=2,mat[3][2]=1;
if(matrix[3][1]==matrix[3][2] && matrix[3][2]==matrix[3][3])
{
setcolor(CYAN); line(235,275,400,275); flag=Refresh(flag);
}
else if(matrix[1][2]==matrix[2][2] && matrix[2][2]==matrix[3][2])
{
setcolor(CYAN); line(315,150,315,300); flag=Refresh(flag);
}
else
result();
goto input;
}
else if(choice=='3' && flag==0&& mat[3][3]==0)
{
setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);
outtextxy(370,270,"X"); flag=1; matrix[3][3]=1,mat[3][3]=1;
if(matrix[3][1]==matrix[3][2] && matrix[3][2]==matrix[3][3])
{
setcolor(CYAN); line(235,275,400,275); flag=Refresh(flag);
}
else if(matrix[1][3]==matrix[2][3] && matrix[2][3]==matrix[3][3])
{
setcolor(CYAN); line(375,150,375,300); flag=Refresh(flag);
}
else if(matrix[1][1]==matrix[2][2] && matrix[2][2]==matrix[3][3])
{
setcolor(CYAN); line(235,150,410,300); flag=Refresh(flag);
}
else
result();
goto input;
}
else if(choice=='3' && flag==1&& mat[3][3]==0)
{
setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);
outtextxy(370,270,"O"); flag=0; matrix[3][3]=2,mat[3][3]=1;
if(matrix[3][1]==matrix[3][2] && matrix[3][2]==matrix[3][3])
{
setcolor(CYAN); line(235,275,400,275); flag=Refresh(flag);
}
else if(matrix[1][3]==matrix[2][3] && matrix[2][3]==matrix[3][3])
{
setcolor(CYAN); line(375,150,375,300); flag=Refresh(flag);
}
else if(matrix[1][1]==matrix[2][2] && matrix[2][2]==matrix[3][3])
{
setcolor(CYAN); line(235,150,410,300); flag=Refresh(flag);
}
else
result();
goto input;
}
else if(choice=='R'||choice=='r')
{
a=1;
for(i=1;i<=3;i++){for(j=1;j<=3;j++){matrix[i][j]=a;a++;}}
flag=0;Swindow();
for(i=1;i<=3;i++){for(j=1;j<=3;j++){mat[i][j]=0;}}
graf();
flag=Clear(flag); goto input;
}
else
{
sound(2589); delay(150);nosound();setcolor(GREEN);
settextstyle(DEFAULT_FONT,HORIZ_DIR,1);outtextxy(300,400,"Invalid key press"); goto input;
}
stop : closegraph(); _exit(0);
}
void Swindow(void)
{
cleardevice();
setcolor(RED); settextstyle(DEFAULT_FONT,HORIZ_DIR,3);
outtextxy(30,50,"CROSS PUZZLE MIXING GAME");
setcolor(WHITE);
line(225,190,400,190); line(225,250,400,250);
line(275,150,275,300); line(350,150,350,300);
setcolor(YELLOW); settextstyle(DEFAULT_FONT,HORIZ_DIR,1);
outtextxy(25,450,"press `Esc' to Help. press `0'(zero) to exit. press `R' to restart.");
outtextxy(25,470,"Press `S' To Show the Winer List");
setcolor(GREEN); outtextxy(50,400,"ENTER VALUE :");
}
int Refresh(int flag)
{
int i,j,a=5;
for(i=1;i<=3;i++){for(j=1;j<=3;j++){matrix[i][j]=a;a++;}}
while(!kbhit())
{
if(flag==0)
{
sound(200);
gotoxy(50,24); printf("SECOND PLAYER IS WINER");
delay(1000);nosound();
}
else
{
sound(200);
gotoxy(50,24); printf("FIRST PLAYER IS WINER");
delay(1000);nosound();
}
gotoxy(50,24); printf(" ");
delay(500);
}
winbox();
flag=0;sub_REFRESH(getch());graf();Swindow();
for(i=1;i<=3;i++){for(j=1;j<=3;j++){mat[i][j]=0;}}
return flag;
}
int Clear(int flag)
{
int i,j,a=5;
for(i=1;i<=3;i++){for(j=1;j<=3;j++){matrix[i][j]=a;a++;}}
flag=0; Swindow(); return flag;
}
void HELP(void)
{
int i=50;
cleardevice();
setfillstyle(SOLID_FILL,LIGHTGRAY);
bar(0,0,getmaxx(),getmaxy()); setcolor(YELLOW);
settextstyle(DEFAULT_FONT,HORIZ_DIR,2);
outtextxy(50,25,"THE INSTRUCTIONS TO PLAY THE GAME");
setcolor(MAGENTA); outtextxy(380,100,"X");
outtextxy(387,118,"O"); setcolor(BLUE);
outtextxy(220,185,"7 8 9"); outtextxy(220,225,"4 5 6");
outtextxy(220,275,"1 2 3");settextstyle(DEFAULT_FONT,HORIZ_DIR,1);
setcolor(BLACK);
outtextxy(50,90,"[*] Two players must need to play this game.");
outtextxy(50,105,"[*] First player holds the simbol of .");
outtextxy(50,120,"[*] Second player holds the simbol of .");
outtextxy(50,320,"[*] Which player creats a straight line into the box, he is the winer.");
outtextxy(50,335,"[*] To restart the game as fresh, press `R'.");
outtextxy(50,350,"[*] press `0' (zero) to exit the game.");
outtextxy(330,460,"press any key to return back into game");
line(250,170,250,300);line(320,170,320,300);
line(200,210,375,210);line(200,260,375,260);
setcolor(RED);
outtextxy(150,150,"The Keywords which contains the value of puzzle box");
setcolor(LIGHTGREEN);settextstyle(DEFAULT_FONT,HORIZ_DIR,2);
while(!kbhit())
{
while(!kbhit())
{
outtextxy(125,400,"Made By - Subroto Mondal");
sound(i);delay(500);bar(123,398,520,435); delay(500);i=i+15;
}
nosound();
}
Swindow();subshow();
}
void graf(void)
{
int X=160,i=0;
cleardevice();setfillstyle(SOLID_FILL,BLUE);
bar(150,220,465,235);setfillstyle(SOLID_FILL,LIGHTGREEN);
bar(155,215,470,230);delay(500);
while(i<24)
{
setfillstyle(INTERLEAVE_FILL,RED);
bar(X,218,X+10,228);i++;X=X+13;
delay(50);
}
setfillstyle(SOLID_FILL,DARKGRAY);
bar(180,185,460,200);
}
char sub_REFRESH(char ch)
{
int i,j,flag,a=5;
if (ch=='R'||ch=='r')
{
a=5;
for(i=1;i<=3;i++){for(j=1;j<=3;j++){matrix[i][j]=a;a++;}}
flag=0; Swindow();
for(i=1;i<=3;i++){for(j=1;j<=3;j++){mat[i][j]=0;}}
flag=Clear(flag);
}
else if(ch=='0')
{
a=5;
for(i=1;i<=3;i++){for(j=1;j<=3;j++){matrix[i][j]=a;a++;}}
for(i=1;i<=3;i++){for(j=1;j<=3;j++){mat[i][j]=0;}}
msgbox();
}
else
{
sound(2589);delay(150); nosound(); setcolor(GREEN);
settextstyle(DEFAULT_FONT,HORIZ_DIR,1);
outtextxy(300,400,"Invalid key press");
}
return 0;
}
void animation(void)
{
int x=120,y=55,i,x1=500,y1=55,x2=320,y2=40,x3=130,y3=230;
setfillstyle(SOLID_FILL,WHITE);bar(0,0,getmaxx(),getmaxy());
delay(1000);
while(!kbhit())
{
setcolor(BLACK);circle(x,y,50);circle(x1,y1,50);
x=x+1,y=y+1,x1=x1-1,y1=y1+1; delay(9);
if(y==430)
{
setcolor(LIGHTBLUE);settextstyle(TRIPLEX_FONT,HORIZ_DIR,3);
for(i=1;i<=3;i++)
{
bar(90,235,700,265);delay(200);
outtextxy(90,235,"Wel Come To Cross Pazzel Mixing Game");
delay(1000);
}
delay(500);bar(0,0,getmaxx(),getmaxy());
setcolor(RED);
while(!kbhit())
{
circle(x2,y2,50);circle(x3,y3,50);
y2=y2+2,x3=x3+2;delay(20);
if(y2==430)
{
setcolor(BLACK);settextstyle(DEFAULT_FONT,HORIZ_DIR,1);
outtextxy(385,6,"Compiled With :Terbo C++");
outtextxy(385,20,"Graphics :Borland Graphics C++");
delay(1000);
goto point;
}
}
}
}
point:
submain();
}
void subshow(void)
{
if(matrix[1][1]==1){setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);outtextxy(240,160,"X");}
if(matrix[1][1]==2){setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);outtextxy(240,160,"O");}
if(matrix[1][2]==1){setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);outtextxy(305,160,"X");}
if(matrix[1][2]==2){setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);outtextxy(305,160,"O");}
if(matrix[1][3]==1){setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);outtextxy(370,160,"X");}
if(matrix[1][3]==2){setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);outtextxy(370,160,"O");}
if(matrix[2][1]==1){setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);outtextxy(240,215,"X");}
if(matrix[2][1]==2){setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);outtextxy(240,215,"O");}
if(matrix[2][2]==1){setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);outtextxy(305,215,"X");}
if(matrix[2][2]==2){setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);outtextxy(305,215,"O");}
if(matrix[2][3]==1){setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);outtextxy(370,215,"X");}
if(matrix[2][3]==2){setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);outtextxy(370,215,"O");}
if(matrix[3][1]==1){setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);outtextxy(240,270,"X");}
if(matrix[3][1]==2){setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);outtextxy(240,270,"O");}
if(matrix[3][2]==1){setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);outtextxy(305,270,"X");}
if(matrix[3][2]==2){setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);outtextxy(305,270,"O");}
if(matrix[3][3]==1){setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);outtextxy(370,270,"X");}
if(matrix[3][3]==2){setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);outtextxy(370,270,"O");}
}
void result (void)
{
int a,i,j,flag;
if(mat[1][1]==1&&mat[1][2]==1&&mat[1][3]==1&&mat[2][1]==1&&mat[2][2]==1&&mat[2][3]==1&&mat[3][1]==1&&mat[3][2]==1&&mat[3][3]==1)
{
sound(2589); delay(150);nosound();setcolor(GREEN);
while(!kbhit())
{
settextstyle(DEFAULT_FONT,HORIZ_DIR,1);outtextxy(250,400,"Incomplite game press any key to reset the game");
delay(500);
bar(240,390,900,410);
delay(100);
}
graf();
a=5;
for(i=1;i<=3;i++){for(j=1;j<=3;j++){matrix[i][j]=a;a++;}}
flag=0;for(i=1;i<=3;i++){for(j=1;j<=3;j++){mat[i][j]=0;}}
flag=Clear(flag);submain();
}
}
void msgbox(void)
{
int CHOICE,i,j,a,flag;
setfillstyle(INTERLEAVE_FILL,BROWN);bar(130,200,495,350);
setfillstyle(SOLID_FILL,DARKGRAY); bar(140,210,485,340);
setfillstyle(SOLID_FILL,LIGHTCYAN);bar(142,212,483,223);
setcolor(BLACK); settextstyle(DEFAULT_FONT,HORIZ_DIR,1);
outtextxy(433,214,"_ [] X");outtextxy(145,214,"Meassage Box");
setcolor(WHITE);outtextxy(180,250,"Are You Want To Sure Quit Game?");
outtextxy(210,310,"Press TAB To Select Option.");
outtextxy(210,325,"Press Enter To Select Choice.");CHOICE=optionYN();
if(CHOICE==1){closegraph();exit(0);}else{submain();}
}
int optionYN(void)
{
int CHOICE,ch;
input:
CHOICE=0;
settextstyle(DEFAULT_FONT,HORIZ_DIR,1);
setfillstyle(SOLID_FILL,DARKGRAY);bar(320,280,370,300);
setfillstyle(SOLID_FILL,BLACK); bar(395,280,445,300);
setfillstyle(SOLID_FILL,WHITE); bar(325,275,375,295);
bar(400,275,450,295);setcolor(GREEN);
outtextxy(340,282,"YES");settextstyle(DEFAULT_FONT,HORIZ_DIR,2);
outtextxy(410,278,"NO"); fflush(stdin);
ch=getch();
if(ch==TAB||ch==LEFT)
{
settextstyle(DEFAULT_FONT,HORIZ_DIR,1);
setfillstyle(SOLID_FILL,BLACK);bar(320,280,370,300);
setfillstyle(SOLID_FILL,DARKGRAY);bar(395,280,445,300);
setfillstyle(SOLID_FILL,WHITE);bar(325,275,375,295);
bar(400,275,450,295);setcolor(GREEN);
outtextxy(420,282,"NO");settextstyle(DEFAULT_FONT,HORIZ_DIR,2);
outtextxy(328,278,"YES");CHOICE=1;
if(getch()==ENT){return CHOICE;}else{goto input;}
}
if(ch==ENT){return CHOICE; }else{ goto input; }
}
void winbox(void)
{
wk w;
char ch;
int CHOICE,i,j,a,flag;
setfillstyle(INTERLEAVE_FILL,BROWN);bar(130,200,495,350);
setfillstyle(SOLID_FILL,DARKGRAY); bar(140,210,485,340);
setfillstyle(SOLID_FILL,LIGHTCYAN);bar(142,212,483,223);
setcolor(BLACK); settextstyle(DEFAULT_FONT,HORIZ_DIR,1);
outtextxy(433,214,"_ [] X");outtextxy(145,214,"Meassage Box");
setcolor(WHITE);outtextxy(160,250,"ENTER WINER NAME :-");
outtextxy(160,280,"ENTER LOOSER NAME :-");
outtextxy(210,325,"Press Enter To Save This Record.");
setcolor(WHITE);
outtextxy(140,230," Press 'Y'to enter winer and losser name..");
getch();
ch=getch();
if(ch=='y'||ch=='Y')
{
gotoxy(41,16); fflush(stdin);
gets(w.win); gotoxy(41,18);
fflush(stdin); gets(w.loss);
fs=fopen("c:\\WINDOWS/CROSSGAM/DATA.DAT","ab");
fwrite(&w,SIZE,1,fs); fclose(fs);
}
else
{
setfillstyle(SOLID_FILL,DARKGRAY); bar(200,320,485,340);
outtextxy(210,325,"The record is not save..");
}
}
void winlist(void)
{ int x=24,y=11,x1=45,x2=40,c=1,count=0,count1=0,ch;
wk w;
winbox1();
fs=fopen("c:\\WINDOWS/CROSSGAM/DATA.DAT","r");
if(fs==NULL)
{
outtextxy(225,230,"NO DATA FILE WAS FOUND");
}
else
{
while (fread(&w,SIZE,1,fs)==1)
{
count++;
if(count==0)
outtextxy(225,230,"NO RECORD WAS FOUND");
}
fclose(fs);
fs=fopen("c:\\WINDOWS/CROSSGAM/DATA.DAT","r");
while(fread(&w,SIZE,1,fs)==1)
{
gotoxy(x-5,y);printf("%d.)",c);
gotoxy(x,y);puts(w.win);
gotoxy(x2,y);printf("Vs");
gotoxy(x1,y);puts(w.loss);
y=y+1; c++; count1++;
if(count1==10)
{
gotoxy(19,23);
printf("Press enter key to continue & `E' to exit ");
ch=getch();if(ch=='e'||ch=='E'){ break;}
count1=0; y=11; count1=0; winbox1();
}
}
}setcolor(WHITE);outtextxy(210,325,"Press any key to back."); setcolor(WHITE);
getch(); submain(); Swindow(); subshow();
}
void winbox1(void)
{
setfillstyle(INTERLEAVE_FILL,BROWN);bar(130,100,495,380);
setfillstyle(SOLID_FILL,DARKGRAY); bar(140,110,485,370);
setfillstyle(SOLID_FILL,LIGHTCYAN);bar(142,112,483,123);
setcolor(BLACK); settextstyle(DEFAULT_FONT,HORIZ_DIR,1);
outtextxy(433,114,"_ [] X");outtextxy(145,114,"WINER LIST BOX");
setcolor(WHITE);outtextxy(160,130,"WINER NAME");
outtextxy(380,130,"LOOSER NAME ");setcolor(BLACK);
line(150,147,477,147);setcolor(RED);
}
#include<stdio.h> #include<conio.h> #include<graphics.h> #include<process.h> #include<dos.h> #define ESC 0x1b #define ENT 13 #define TAB 9 #define LEFT 75 #define RIGHT 77 FILE *fs; struct winlist { char win[60]; char loss[60]; }; typedef struct winlist wk; long int SIZE =sizeof(wk); void Swindow(void); void HELP(void); void graf(void); int Clear(int ); int Refresh(int ); char sub_REFRESH(); void animation(void); void submain(void); void subshow(void); void result(void); void msgbox(void); int optionYN(void); void winbox(void); void winlist(void); void winbox1(void); int matrix[3][3]; int mat[3][3]; void main(void) { int i,j,a,gdriver = DETECT, gmode; char choice; initgraph(&gdriver, &gmode, "c:\\WINDOWS/Crossgam/"); // Change Driver Path as per your turbo C Graphics EGAVGA.BGI file animation(); exit(0); } void submain(void) { int flag=0,i,j,a; char choice; Swindow(); subshow(); input: fflush(stdin); choice=getch(); setfillstyle(SOLID_FILL,BLACK); bar(300,400,600,430); if(choice==ESC){ HELP(); goto input; } if(choice=='0'){msgbox();} if(choice=='s'||choice=='S'){winbox1();winlist();} if(choice=='7' && flag==0 && mat[1][1]==0) { setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2); outtextxy(240,160,"X"); flag=1; matrix[1][1]=1,mat[1][1]=1; if(matrix[1][1]==matrix[1][2] && matrix[1][2]==matrix[1][3]) { setcolor(CYAN); line(220,170,410,170); flag=Refresh(flag); } else if(matrix[1][1]==matrix[2][1] && matrix[2][1]==matrix[3][1]) { setcolor(CYAN); line(245,150,245,300); flag=Refresh(flag); } else if(matrix[1][1]==matrix[2][2] && matrix[2][2]==matrix[3][3]) { setcolor(CYAN); line(235,150,410,300); flag=Refresh(flag); } else result(); goto input; } else if(choice=='7' && flag==1&& mat[1][1]==0) { setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2); outtextxy(240,160,"O"); flag=0; matrix[1][1]=2,mat[1][1]=1; if(matrix[1][1]==matrix[1][2] && matrix[1][2]==matrix[1][3]) { setcolor(CYAN); line(220,170,410,170); flag=Refresh(flag); } else if(matrix[1][1]==matrix[2][1] && matrix[2][1]==matrix[3][1]) { setcolor(CYAN); line(245,150,245,300); flag=Refresh(flag); } else if(matrix[1][1]==matrix[2][2] && matrix[2][2]==matrix[3][3]) { setcolor(CYAN); line(235,150,410,300); flag=Refresh(flag); } else result(); goto input; } else if(choice=='8' && flag==0&& mat[1][2]==0) { setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2); outtextxy(305,160,"X"); flag=1; matrix[1][2]=1,mat[1][2]=1; if(matrix[1][1]==matrix[1][2] && matrix[1][2]==matrix[1][3]) { setcolor(CYAN); line(220,170,410,170); flag=Refresh(flag); } else if(matrix[1][2]==matrix[2][2] && matrix[2][2]==matrix[3][2]) { setcolor(CYAN); line(315,150,315,300); flag=Refresh(flag); } else result(); goto input; } else if(choice=='8' && flag==1&& mat[1][2]==0) { setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2); outtextxy(305,160,"O"); flag=0; matrix[1][2]=2,mat[1][2]=1; if(matrix[1][1]==matrix[1][2] && matrix[1][2]==matrix[1][3]) { setcolor(CYAN); line(220,170,410,170); flag=Refresh(flag); } else if(matrix[1][2]==matrix[2][2] && matrix[2][2]==matrix[3][2]) { setcolor(CYAN); line(315,150,315,300); flag=Refresh(flag); } else result(); goto input; } else if(choice=='9' && flag==0&& mat[1][3]==0) { setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2); outtextxy(370,160,"X"); flag=1; matrix[1][3]=1,mat[1][3]=1; if(matrix[1][1]==matrix[1][2] && matrix[1][2]==matrix[1][3]) { setcolor(CYAN); line(220,170,410,170); flag=Refresh(flag); } else if(matrix[1][3]==matrix[2][3] && matrix[2][3]==matrix[3][3]) { setcolor(CYAN); line(375,150,375,300); flag=Refresh(flag); } else if(matrix[1][3]==matrix[2][2] && matrix[2][2]==matrix[3][1]) { setcolor(CYAN); line(390,150,220,300); flag=Refresh(flag); } else result(); goto input; } else if(choice=='9' && flag==1&& mat[1][3]==0) { setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2); outtextxy(370,160,"O"); flag=0; matrix[1][3]=2,mat[1][3]=1; if(matrix[1][1]==matrix[1][2] && matrix[1][2]==matrix[1][3]) { setcolor(CYAN); line(220,170,410,170); flag=Refresh(flag); } else if(matrix[1][3]==matrix[2][3] && matrix[2][3]==matrix[3][3]) { setcolor(CYAN); line(375,150,375,300); flag=Refresh(flag); } else if(matrix[1][3]==matrix[2][2] && matrix[2][2]==matrix[3][1]) { setcolor(CYAN); line(390,150,220,300); flag=Refresh(flag); } else result(); goto input; } else if(choice=='4' && flag==0&& mat[2][1]==0) { setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2); outtextxy(240,215,"X"); flag=1; matrix[2][1]=1,mat[2][1]=1; if(matrix[1][1]==matrix[2][1] && matrix[2][1]==matrix[3][1]) { setcolor(CYAN); line(245,150,245,300);flag=Refresh(flag); } else if(matrix[2][1]==matrix[2][2] && matrix[2][2]==matrix[2][3]) { setcolor(CYAN); line(235,215,400,215); flag=Refresh(flag); } else result(); goto input; } else if(choice=='4' && flag==1&& mat[2][1]==0) { setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2); outtextxy(240,215,"O"); flag=0; matrix[2][1]=2,mat[2][1]=1; if(matrix[1][1]==matrix[2][1] && matrix[2][1]==matrix[3][1]) { setcolor(CYAN); line(245,150,245,300); flag=Refresh(flag); } else if(matrix[2][1]==matrix[2][2] && matrix[2][2]==matrix[2][3]) { setcolor(CYAN); line(235,215,400,215); flag=Refresh(flag); } else result(); goto input; } else if(choice=='5' && flag==0&& mat[2][2]==0) { setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2); outtextxy(305,215,"X"); flag=1; matrix[2][2]=1,mat[2][2]=1; if(matrix[1][2]==matrix[2][2] && matrix[2][2]==matrix[3][2]) { setcolor(CYAN); line(315,150,315,300); flag=Refresh(flag); } else if(matrix[2][1]==matrix[2][2] && matrix[2][2]==matrix[2][3]) { setcolor(CYAN); line(235,215,400,215); flag=Refresh(flag); } else if(matrix[1][1]==matrix[2][2] && matrix[2][2]==matrix[3][3]) { setcolor(CYAN); line(235,150,410,300); flag=Refresh(flag); } else if(matrix[1][3]==matrix[2][2] && matrix[2][2]==matrix[3][1]) { setcolor(CYAN); line(390,150,220,300); flag=Refresh(flag); } else result(); goto input; } else if(choice=='5' && flag==1&& mat[2][2]==0) { setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2); outtextxy(305,215,"O"); flag=0; matrix[2][2]=2,mat[2][2]=1; if(matrix[1][2]==matrix[2][2] && matrix[2][2]==matrix[3][2]) { setcolor(CYAN); line(315,150,315,300); flag=Refresh(flag); } else if(matrix[2][1]==matrix[2][2] && matrix[2][2]==matrix[2][3]) { setcolor(CYAN); line(235,215,400,215); flag=Refresh(flag); } else if(matrix[1][1]==matrix[2][2] && matrix[2][2]==matrix[3][3]) { setcolor(CYAN); line(235,150,410,300); flag=Refresh(flag); } else if(matrix[1][3]==matrix[2][2] && matrix[2][2]==matrix[3][1]) { setcolor(CYAN); line(390,150,220,300); flag=Refresh(flag); } else result(); goto input; } else if(choice=='6' && flag==0&& mat[2][3]==0) { setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2); outtextxy(370,215,"X"); flag=1; matrix[2][3]=1,mat[2][3]=1; if(matrix[1][3]==matrix[2][3] && matrix[2][3]==matrix[3][3]) { setcolor(CYAN); line(375,150,375,300); flag=Refresh(flag); } else if(matrix[2][1]==matrix[2][2] && matrix[2][2]==matrix[2][3]) { setcolor(CYAN); line(235,215,400,215); flag=Refresh(flag); } else result(); goto input; } else if(choice=='6' && flag==1&& mat[2][3]==0) { setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2); outtextxy(370,215,"O"); flag=0; matrix[2][3]=2,mat[2][3]=1; if(matrix[1][3]==matrix[2][3] && matrix[2][3]==matrix[3][3]) { setcolor(CYAN); line(375,150,375,300); flag=Refresh(flag); } else if(matrix[2][1]==matrix[2][2] && matrix[2][2]==matrix[2][3]) { setcolor(CYAN); line(235,215,400,215); flag=Refresh(flag); } else result(); goto input; } else if(choice=='1' && flag==0&& mat[3][1]==0) { setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2); outtextxy(240,270,"X"); flag=1; matrix[3][1]=1,mat[3][1]=1; if(matrix[1][1]==matrix[2][1] && matrix[2][1]==matrix[3][1]) { setcolor(CYAN); line(245,150,245,300); flag=Refresh(flag); } else if(matrix[1][3]==matrix[2][2] && matrix[2][2]==matrix[3][1]) { setcolor(CYAN); line(390,150,220,300); flag=Refresh(flag); } else if(matrix[3][1]==matrix[3][2] && matrix[3][2]==matrix[3][3]) { setcolor(CYAN); line(235,275,400,275); flag=Refresh(flag); } else result(); goto input; } else if(choice=='1' && flag==1&& mat[3][1]==0) { setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2); outtextxy(240,270,"O"); flag=0; matrix[3][1]=2,mat[3][1]=1; if(matrix[1][1]==matrix[2][1] && matrix[2][1]==matrix[3][1]) { setcolor(CYAN); line(245,150,245,300); flag=Refresh(flag); } else if(matrix[1][3]==matrix[2][2] && matrix[2][2]==matrix[3][1]) { setcolor(CYAN); line(390,150,220,300); flag=Refresh(flag); } else if(matrix[3][1]==matrix[3][2] && matrix[3][2]==matrix[3][3]) { setcolor(CYAN); line(235,275,400,275); flag=Refresh(flag); } else result(); goto input; } else if(choice=='2' && flag==0&& mat[3][2]==0) { setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2); outtextxy(305,270,"X"); flag=1; matrix[3][2]=1,mat[3][2]=1; if(matrix[3][1]==matrix[3][2] && matrix[3][2]==matrix[3][3]) { setcolor(CYAN); line(235,275,400,275); flag=Refresh(flag); } else if(matrix[1][2]==matrix[2][2] && matrix[2][2]==matrix[3][2]) { setcolor(CYAN); line(315,150,315,300); flag=Refresh(flag); } else result(); goto input; } else if(choice=='2' && flag==1&& mat[3][2]==0) { setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2); outtextxy(305,270,"O"); flag=0; matrix[3][2]=2,mat[3][2]=1; if(matrix[3][1]==matrix[3][2] && matrix[3][2]==matrix[3][3]) { setcolor(CYAN); line(235,275,400,275); flag=Refresh(flag); } else if(matrix[1][2]==matrix[2][2] && matrix[2][2]==matrix[3][2]) { setcolor(CYAN); line(315,150,315,300); flag=Refresh(flag); } else result(); goto input; } else if(choice=='3' && flag==0&& mat[3][3]==0) { setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2); outtextxy(370,270,"X"); flag=1; matrix[3][3]=1,mat[3][3]=1; if(matrix[3][1]==matrix[3][2] && matrix[3][2]==matrix[3][3]) { setcolor(CYAN); line(235,275,400,275); flag=Refresh(flag); } else if(matrix[1][3]==matrix[2][3] && matrix[2][3]==matrix[3][3]) { setcolor(CYAN); line(375,150,375,300); flag=Refresh(flag); } else if(matrix[1][1]==matrix[2][2] && matrix[2][2]==matrix[3][3]) { setcolor(CYAN); line(235,150,410,300); flag=Refresh(flag); } else result(); goto input; } else if(choice=='3' && flag==1&& mat[3][3]==0) { setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2); outtextxy(370,270,"O"); flag=0; matrix[3][3]=2,mat[3][3]=1; if(matrix[3][1]==matrix[3][2] && matrix[3][2]==matrix[3][3]) { setcolor(CYAN); line(235,275,400,275); flag=Refresh(flag); } else if(matrix[1][3]==matrix[2][3] && matrix[2][3]==matrix[3][3]) { setcolor(CYAN); line(375,150,375,300); flag=Refresh(flag); } else if(matrix[1][1]==matrix[2][2] && matrix[2][2]==matrix[3][3]) { setcolor(CYAN); line(235,150,410,300); flag=Refresh(flag); } else result(); goto input; } else if(choice=='R'||choice=='r') { a=1; for(i=1;i<=3;i++){for(j=1;j<=3;j++){matrix[i][j]=a;a++;}} flag=0;Swindow(); for(i=1;i<=3;i++){for(j=1;j<=3;j++){mat[i][j]=0;}} graf(); flag=Clear(flag); goto input; } else { sound(2589); delay(150);nosound();setcolor(GREEN); settextstyle(DEFAULT_FONT,HORIZ_DIR,1);outtextxy(300,400,"Invalid key press"); goto input; } stop : closegraph(); _exit(0); } void Swindow(void) { cleardevice(); setcolor(RED); settextstyle(DEFAULT_FONT,HORIZ_DIR,3); outtextxy(30,50,"CROSS PUZZLE MIXING GAME"); setcolor(WHITE); line(225,190,400,190); line(225,250,400,250); line(275,150,275,300); line(350,150,350,300); setcolor(YELLOW); settextstyle(DEFAULT_FONT,HORIZ_DIR,1); outtextxy(25,450,"press `Esc' to Help. press `0'(zero) to exit. press `R' to restart."); outtextxy(25,470,"Press `S' To Show the Winer List"); setcolor(GREEN); outtextxy(50,400,"ENTER VALUE :"); } int Refresh(int flag) { int i,j,a=5; for(i=1;i<=3;i++){for(j=1;j<=3;j++){matrix[i][j]=a;a++;}} while(!kbhit()) { if(flag==0) { sound(200); gotoxy(50,24); printf("SECOND PLAYER IS WINER"); delay(1000);nosound(); } else { sound(200); gotoxy(50,24); printf("FIRST PLAYER IS WINER"); delay(1000);nosound(); } gotoxy(50,24); printf(" "); delay(500); } winbox(); flag=0;sub_REFRESH(getch());graf();Swindow(); for(i=1;i<=3;i++){for(j=1;j<=3;j++){mat[i][j]=0;}} return flag; } int Clear(int flag) { int i,j,a=5; for(i=1;i<=3;i++){for(j=1;j<=3;j++){matrix[i][j]=a;a++;}} flag=0; Swindow(); return flag; } void HELP(void) { int i=50; cleardevice(); setfillstyle(SOLID_FILL,LIGHTGRAY); bar(0,0,getmaxx(),getmaxy()); setcolor(YELLOW); settextstyle(DEFAULT_FONT,HORIZ_DIR,2); outtextxy(50,25,"THE INSTRUCTIONS TO PLAY THE GAME"); setcolor(MAGENTA); outtextxy(380,100,"X"); outtextxy(387,118,"O"); setcolor(BLUE); outtextxy(220,185,"7 8 9"); outtextxy(220,225,"4 5 6"); outtextxy(220,275,"1 2 3");settextstyle(DEFAULT_FONT,HORIZ_DIR,1); setcolor(BLACK); outtextxy(50,90,"[*] Two players must need to play this game."); outtextxy(50,105,"[*] First player holds the simbol of ."); outtextxy(50,120,"[*] Second player holds the simbol of ."); outtextxy(50,320,"[*] Which player creats a straight line into the box, he is the winer."); outtextxy(50,335,"[*] To restart the game as fresh, press `R'."); outtextxy(50,350,"[*] press `0' (zero) to exit the game."); outtextxy(330,460,"press any key to return back into game"); line(250,170,250,300);line(320,170,320,300); line(200,210,375,210);line(200,260,375,260); setcolor(RED); outtextxy(150,150,"The Keywords which contains the value of puzzle box"); setcolor(LIGHTGREEN);settextstyle(DEFAULT_FONT,HORIZ_DIR,2); while(!kbhit()) { while(!kbhit()) { outtextxy(125,400,"Made By - Subroto Mondal"); sound(i);delay(500);bar(123,398,520,435); delay(500);i=i+15; } nosound(); } Swindow();subshow(); } void graf(void) { int X=160,i=0; cleardevice();setfillstyle(SOLID_FILL,BLUE); bar(150,220,465,235);setfillstyle(SOLID_FILL,LIGHTGREEN); bar(155,215,470,230);delay(500); while(i<24) { setfillstyle(INTERLEAVE_FILL,RED); bar(X,218,X+10,228);i++;X=X+13; delay(50); } setfillstyle(SOLID_FILL,DARKGRAY); bar(180,185,460,200); } char sub_REFRESH(char ch) { int i,j,flag,a=5; if (ch=='R'||ch=='r') { a=5; for(i=1;i<=3;i++){for(j=1;j<=3;j++){matrix[i][j]=a;a++;}} flag=0; Swindow(); for(i=1;i<=3;i++){for(j=1;j<=3;j++){mat[i][j]=0;}} flag=Clear(flag); } else if(ch=='0') { a=5; for(i=1;i<=3;i++){for(j=1;j<=3;j++){matrix[i][j]=a;a++;}} for(i=1;i<=3;i++){for(j=1;j<=3;j++){mat[i][j]=0;}} msgbox(); } else { sound(2589);delay(150); nosound(); setcolor(GREEN); settextstyle(DEFAULT_FONT,HORIZ_DIR,1); outtextxy(300,400,"Invalid key press"); } return 0; } void animation(void) { int x=120,y=55,i,x1=500,y1=55,x2=320,y2=40,x3=130,y3=230; setfillstyle(SOLID_FILL,WHITE);bar(0,0,getmaxx(),getmaxy()); delay(1000); while(!kbhit()) { setcolor(BLACK);circle(x,y,50);circle(x1,y1,50); x=x+1,y=y+1,x1=x1-1,y1=y1+1; delay(9); if(y==430) { setcolor(LIGHTBLUE);settextstyle(TRIPLEX_FONT,HORIZ_DIR,3); for(i=1;i<=3;i++) { bar(90,235,700,265);delay(200); outtextxy(90,235,"Wel Come To Cross Pazzel Mixing Game"); delay(1000); } delay(500);bar(0,0,getmaxx(),getmaxy()); setcolor(RED); while(!kbhit()) { circle(x2,y2,50);circle(x3,y3,50); y2=y2+2,x3=x3+2;delay(20); if(y2==430) { setcolor(BLACK);settextstyle(DEFAULT_FONT,HORIZ_DIR,1); outtextxy(385,6,"Compiled With :Terbo C++"); outtextxy(385,20,"Graphics :Borland Graphics C++"); delay(1000); goto point; } } } } point: submain(); } void subshow(void) { if(matrix[1][1]==1){setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);outtextxy(240,160,"X");} if(matrix[1][1]==2){setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);outtextxy(240,160,"O");} if(matrix[1][2]==1){setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);outtextxy(305,160,"X");} if(matrix[1][2]==2){setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);outtextxy(305,160,"O");} if(matrix[1][3]==1){setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);outtextxy(370,160,"X");} if(matrix[1][3]==2){setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);outtextxy(370,160,"O");} if(matrix[2][1]==1){setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);outtextxy(240,215,"X");} if(matrix[2][1]==2){setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);outtextxy(240,215,"O");} if(matrix[2][2]==1){setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);outtextxy(305,215,"X");} if(matrix[2][2]==2){setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);outtextxy(305,215,"O");} if(matrix[2][3]==1){setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);outtextxy(370,215,"X");} if(matrix[2][3]==2){setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);outtextxy(370,215,"O");} if(matrix[3][1]==1){setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);outtextxy(240,270,"X");} if(matrix[3][1]==2){setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);outtextxy(240,270,"O");} if(matrix[3][2]==1){setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);outtextxy(305,270,"X");} if(matrix[3][2]==2){setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);outtextxy(305,270,"O");} if(matrix[3][3]==1){setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);outtextxy(370,270,"X");} if(matrix[3][3]==2){setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);outtextxy(370,270,"O");} } void result (void) { int a,i,j,flag; if(mat[1][1]==1&&mat[1][2]==1&&mat[1][3]==1&&mat[2][1]==1&&mat[2][2]==1&&mat[2][3]==1&&mat[3][1]==1&&mat[3][2]==1&&mat[3][3]==1) { sound(2589); delay(150);nosound();setcolor(GREEN); while(!kbhit()) { settextstyle(DEFAULT_FONT,HORIZ_DIR,1);outtextxy(250,400,"Incomplite game press any key to reset the game"); delay(500); bar(240,390,900,410); delay(100); } graf(); a=5; for(i=1;i<=3;i++){for(j=1;j<=3;j++){matrix[i][j]=a;a++;}} flag=0;for(i=1;i<=3;i++){for(j=1;j<=3;j++){mat[i][j]=0;}} flag=Clear(flag);submain(); } } void msgbox(void) { int CHOICE,i,j,a,flag; setfillstyle(INTERLEAVE_FILL,BROWN);bar(130,200,495,350); setfillstyle(SOLID_FILL,DARKGRAY); bar(140,210,485,340); setfillstyle(SOLID_FILL,LIGHTCYAN);bar(142,212,483,223); setcolor(BLACK); settextstyle(DEFAULT_FONT,HORIZ_DIR,1); outtextxy(433,214,"_ [] X");outtextxy(145,214,"Meassage Box"); setcolor(WHITE);outtextxy(180,250,"Are You Want To Sure Quit Game?"); outtextxy(210,310,"Press TAB To Select Option."); outtextxy(210,325,"Press Enter To Select Choice.");CHOICE=optionYN(); if(CHOICE==1){closegraph();exit(0);}else{submain();} } int optionYN(void) { int CHOICE,ch; input: CHOICE=0; settextstyle(DEFAULT_FONT,HORIZ_DIR,1); setfillstyle(SOLID_FILL,DARKGRAY);bar(320,280,370,300); setfillstyle(SOLID_FILL,BLACK); bar(395,280,445,300); setfillstyle(SOLID_FILL,WHITE); bar(325,275,375,295); bar(400,275,450,295);setcolor(GREEN); outtextxy(340,282,"YES");settextstyle(DEFAULT_FONT,HORIZ_DIR,2); outtextxy(410,278,"NO"); fflush(stdin); ch=getch(); if(ch==TAB||ch==LEFT) { settextstyle(DEFAULT_FONT,HORIZ_DIR,1); setfillstyle(SOLID_FILL,BLACK);bar(320,280,370,300); setfillstyle(SOLID_FILL,DARKGRAY);bar(395,280,445,300); setfillstyle(SOLID_FILL,WHITE);bar(325,275,375,295); bar(400,275,450,295);setcolor(GREEN); outtextxy(420,282,"NO");settextstyle(DEFAULT_FONT,HORIZ_DIR,2); outtextxy(328,278,"YES");CHOICE=1; if(getch()==ENT){return CHOICE;}else{goto input;} } if(ch==ENT){return CHOICE; }else{ goto input; } } void winbox(void) { wk w; char ch; int CHOICE,i,j,a,flag; setfillstyle(INTERLEAVE_FILL,BROWN);bar(130,200,495,350); setfillstyle(SOLID_FILL,DARKGRAY); bar(140,210,485,340); setfillstyle(SOLID_FILL,LIGHTCYAN);bar(142,212,483,223); setcolor(BLACK); settextstyle(DEFAULT_FONT,HORIZ_DIR,1); outtextxy(433,214,"_ [] X");outtextxy(145,214,"Meassage Box"); setcolor(WHITE);outtextxy(160,250,"ENTER WINER NAME :-"); outtextxy(160,280,"ENTER LOOSER NAME :-"); outtextxy(210,325,"Press Enter To Save This Record."); setcolor(WHITE); outtextxy(140,230," Press 'Y'to enter winer and losser name.."); getch(); ch=getch(); if(ch=='y'||ch=='Y') { gotoxy(41,16); fflush(stdin); gets(w.win); gotoxy(41,18); fflush(stdin); gets(w.loss); fs=fopen("c:\\WINDOWS/CROSSGAM/DATA.DAT","ab"); fwrite(&w,SIZE,1,fs); fclose(fs); } else { setfillstyle(SOLID_FILL,DARKGRAY); bar(200,320,485,340); outtextxy(210,325,"The record is not save.."); } } void winlist(void) { int x=24,y=11,x1=45,x2=40,c=1,count=0,count1=0,ch; wk w; winbox1(); fs=fopen("c:\\WINDOWS/CROSSGAM/DATA.DAT","r"); if(fs==NULL) { outtextxy(225,230,"NO DATA FILE WAS FOUND"); } else { while (fread(&w,SIZE,1,fs)==1) { count++; if(count==0) outtextxy(225,230,"NO RECORD WAS FOUND"); } fclose(fs); fs=fopen("c:\\WINDOWS/CROSSGAM/DATA.DAT","r"); while(fread(&w,SIZE,1,fs)==1) { gotoxy(x-5,y);printf("%d.)",c); gotoxy(x,y);puts(w.win); gotoxy(x2,y);printf("Vs"); gotoxy(x1,y);puts(w.loss); y=y+1; c++; count1++; if(count1==10) { gotoxy(19,23); printf("Press enter key to continue & `E' to exit "); ch=getch();if(ch=='e'||ch=='E'){ break;} count1=0; y=11; count1=0; winbox1(); } } }setcolor(WHITE);outtextxy(210,325,"Press any key to back."); setcolor(WHITE); getch(); submain(); Swindow(); subshow(); } void winbox1(void) { setfillstyle(INTERLEAVE_FILL,BROWN);bar(130,100,495,380); setfillstyle(SOLID_FILL,DARKGRAY); bar(140,110,485,370); setfillstyle(SOLID_FILL,LIGHTCYAN);bar(142,112,483,123); setcolor(BLACK); settextstyle(DEFAULT_FONT,HORIZ_DIR,1); outtextxy(433,114,"_ [] X");outtextxy(145,114,"WINER LIST BOX"); setcolor(WHITE);outtextxy(160,130,"WINER NAME"); outtextxy(380,130,"LOOSER NAME ");setcolor(BLACK); line(150,147,477,147);setcolor(RED); }
 #include<stdio.h>
 #include<conio.h>
 #include<graphics.h>
 #include<process.h>
 #include<dos.h>

 #define ESC 0x1b
 #define ENT 13
 #define TAB 9
 #define LEFT 75
 #define RIGHT 77

 FILE *fs;

 struct winlist
 {
	char win[60];
	char loss[60];
 };
 typedef struct winlist wk;
 long int SIZE =sizeof(wk);

 void Swindow(void);
 void HELP(void);
 void graf(void);
 int Clear(int );
 int Refresh(int );
 char sub_REFRESH();
 void animation(void);
 void submain(void);
 void subshow(void);
 void result(void);
 void msgbox(void);
 int optionYN(void);
 void winbox(void);
 void winlist(void);
 void winbox1(void);

 int matrix[3][3];
 int mat[3][3];
 void main(void)
 {

	int i,j,a,gdriver = DETECT, gmode;
	char choice;
	initgraph(&gdriver, &gmode, "c:\\WINDOWS/Crossgam/"); // Change Driver Path as per your turbo C Graphics EGAVGA.BGI file
	animation();
	exit(0);
 }
 void submain(void)
 {
	int flag=0,i,j,a;
	char choice;
	Swindow();
	subshow();
 input:
	fflush(stdin);
	choice=getch();
	setfillstyle(SOLID_FILL,BLACK);
	bar(300,400,600,430);
   if(choice==ESC){   HELP();  goto input;  }
   if(choice=='0'){msgbox();}
   if(choice=='s'||choice=='S'){winbox1();winlist();}
   if(choice=='7' && flag==0 && mat[1][1]==0)
   {
   setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);
   outtextxy(240,160,"X");  flag=1;  matrix[1][1]=1,mat[1][1]=1;
   if(matrix[1][1]==matrix[1][2] && matrix[1][2]==matrix[1][3])
   {
	setcolor(CYAN); line(220,170,410,170); flag=Refresh(flag);
   }
   else if(matrix[1][1]==matrix[2][1] && matrix[2][1]==matrix[3][1])
   {
	setcolor(CYAN); line(245,150,245,300); flag=Refresh(flag);
   }
   else if(matrix[1][1]==matrix[2][2] && matrix[2][2]==matrix[3][3])
   {
	setcolor(CYAN); line(235,150,410,300); flag=Refresh(flag);
   }
   else
   result();
   goto input;
   }
   else if(choice=='7' && flag==1&& mat[1][1]==0)
   {
   setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);
   outtextxy(240,160,"O");  flag=0;  matrix[1][1]=2,mat[1][1]=1;
   if(matrix[1][1]==matrix[1][2] && matrix[1][2]==matrix[1][3])
   {
	setcolor(CYAN); line(220,170,410,170); flag=Refresh(flag);
   }
   else if(matrix[1][1]==matrix[2][1] && matrix[2][1]==matrix[3][1])
   {
	setcolor(CYAN); line(245,150,245,300); flag=Refresh(flag);
   }
   else if(matrix[1][1]==matrix[2][2] && matrix[2][2]==matrix[3][3])
   {
	setcolor(CYAN); line(235,150,410,300); flag=Refresh(flag);
   }
   else
   result();
   goto input;
   }
   else if(choice=='8' && flag==0&& mat[1][2]==0)
   {
   setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);
   outtextxy(305,160,"X");  flag=1;  matrix[1][2]=1,mat[1][2]=1;
   if(matrix[1][1]==matrix[1][2] && matrix[1][2]==matrix[1][3])
   {
   setcolor(CYAN); line(220,170,410,170); flag=Refresh(flag);
   }
   else if(matrix[1][2]==matrix[2][2] && matrix[2][2]==matrix[3][2])
   {
   setcolor(CYAN); line(315,150,315,300); flag=Refresh(flag);
   }
   else
   result();
   goto input;
   }
   else if(choice=='8' && flag==1&& mat[1][2]==0)
   {
   setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);
   outtextxy(305,160,"O");  flag=0;  matrix[1][2]=2,mat[1][2]=1;
   if(matrix[1][1]==matrix[1][2] && matrix[1][2]==matrix[1][3])
   {
   setcolor(CYAN); line(220,170,410,170); flag=Refresh(flag);
   }
   else if(matrix[1][2]==matrix[2][2] && matrix[2][2]==matrix[3][2])
   {
   setcolor(CYAN); line(315,150,315,300); flag=Refresh(flag);
   }
   else
   result();
   goto input;
   }
   else if(choice=='9' && flag==0&& mat[1][3]==0)
   {
   setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);
   outtextxy(370,160,"X");  flag=1;  matrix[1][3]=1,mat[1][3]=1;
   if(matrix[1][1]==matrix[1][2] && matrix[1][2]==matrix[1][3])
   {
	setcolor(CYAN); line(220,170,410,170); flag=Refresh(flag);
   }
   else if(matrix[1][3]==matrix[2][3] && matrix[2][3]==matrix[3][3])
   {
	setcolor(CYAN); line(375,150,375,300); flag=Refresh(flag);
   }
   else if(matrix[1][3]==matrix[2][2] && matrix[2][2]==matrix[3][1])
   {
	setcolor(CYAN); line(390,150,220,300); flag=Refresh(flag);
   }
   else
   result();
   goto input;
   }
   else if(choice=='9' && flag==1&& mat[1][3]==0)
   {
   setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);
   outtextxy(370,160,"O");  flag=0;  matrix[1][3]=2,mat[1][3]=1;
   if(matrix[1][1]==matrix[1][2] && matrix[1][2]==matrix[1][3])
   {
	setcolor(CYAN); line(220,170,410,170); flag=Refresh(flag);
   }
   else if(matrix[1][3]==matrix[2][3] && matrix[2][3]==matrix[3][3])
   {
	setcolor(CYAN); line(375,150,375,300); flag=Refresh(flag);
   }
   else if(matrix[1][3]==matrix[2][2] && matrix[2][2]==matrix[3][1])
   {
	setcolor(CYAN); line(390,150,220,300); flag=Refresh(flag);
   }
   else
   result();
   goto input;
   }
   else if(choice=='4' && flag==0&& mat[2][1]==0)
   {
   setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);
   outtextxy(240,215,"X");  flag=1;  matrix[2][1]=1,mat[2][1]=1;
   if(matrix[1][1]==matrix[2][1] && matrix[2][1]==matrix[3][1])
   {
   setcolor(CYAN); line(245,150,245,300);flag=Refresh(flag);
   }
   else if(matrix[2][1]==matrix[2][2] && matrix[2][2]==matrix[2][3])
   {
   setcolor(CYAN); line(235,215,400,215); flag=Refresh(flag);
   }
   else
   result();
   goto input;
   }
   else if(choice=='4' && flag==1&& mat[2][1]==0)
   {
   setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);
   outtextxy(240,215,"O");  flag=0;  matrix[2][1]=2,mat[2][1]=1;
   if(matrix[1][1]==matrix[2][1] && matrix[2][1]==matrix[3][1])
   {
   setcolor(CYAN); line(245,150,245,300); flag=Refresh(flag);
   }
   else if(matrix[2][1]==matrix[2][2] && matrix[2][2]==matrix[2][3])
   {
   setcolor(CYAN); line(235,215,400,215); flag=Refresh(flag);
   }
   else
   result();
   goto input;
   }
   else if(choice=='5' && flag==0&& mat[2][2]==0)
   {
   setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);
   outtextxy(305,215,"X");  flag=1;  matrix[2][2]=1,mat[2][2]=1;
   if(matrix[1][2]==matrix[2][2] && matrix[2][2]==matrix[3][2])
   {
   setcolor(CYAN); line(315,150,315,300); flag=Refresh(flag);
   }
   else if(matrix[2][1]==matrix[2][2] && matrix[2][2]==matrix[2][3])
   {
   setcolor(CYAN); line(235,215,400,215); flag=Refresh(flag);
   }
   else if(matrix[1][1]==matrix[2][2] && matrix[2][2]==matrix[3][3])
   {
	setcolor(CYAN); line(235,150,410,300); flag=Refresh(flag);
   }
   else if(matrix[1][3]==matrix[2][2] && matrix[2][2]==matrix[3][1])
   {
	setcolor(CYAN); line(390,150,220,300); flag=Refresh(flag);
   }
   else
   result();
   goto input;
   }
   else if(choice=='5' && flag==1&& mat[2][2]==0)
   {
   setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);
   outtextxy(305,215,"O");  flag=0;  matrix[2][2]=2,mat[2][2]=1;
   if(matrix[1][2]==matrix[2][2] && matrix[2][2]==matrix[3][2])
   {
   setcolor(CYAN); line(315,150,315,300); flag=Refresh(flag);
   }
   else if(matrix[2][1]==matrix[2][2] && matrix[2][2]==matrix[2][3])
   {
   setcolor(CYAN); line(235,215,400,215); flag=Refresh(flag);
   }
   else if(matrix[1][1]==matrix[2][2] && matrix[2][2]==matrix[3][3])
   {
	setcolor(CYAN); line(235,150,410,300); flag=Refresh(flag);
   }
   else if(matrix[1][3]==matrix[2][2] && matrix[2][2]==matrix[3][1])
   {
	setcolor(CYAN); line(390,150,220,300); flag=Refresh(flag);
   }
   else
   result();
   goto input;
   }
   else if(choice=='6' && flag==0&& mat[2][3]==0)
   {
   setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);
   outtextxy(370,215,"X");  flag=1;  matrix[2][3]=1,mat[2][3]=1;
   if(matrix[1][3]==matrix[2][3] && matrix[2][3]==matrix[3][3])
   {
	setcolor(CYAN); line(375,150,375,300); flag=Refresh(flag);
   }
   else if(matrix[2][1]==matrix[2][2] && matrix[2][2]==matrix[2][3])
   {
   setcolor(CYAN); line(235,215,400,215); flag=Refresh(flag);
   }
   else
   result();
   goto input;
   }
   else if(choice=='6' && flag==1&& mat[2][3]==0)
   {
   setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);
   outtextxy(370,215,"O");  flag=0;  matrix[2][3]=2,mat[2][3]=1;
   if(matrix[1][3]==matrix[2][3] && matrix[2][3]==matrix[3][3])
   {
	setcolor(CYAN); line(375,150,375,300); flag=Refresh(flag);
   }
   else if(matrix[2][1]==matrix[2][2] && matrix[2][2]==matrix[2][3])
   {
   setcolor(CYAN); line(235,215,400,215); flag=Refresh(flag);
   }
   else
   result();
   goto input;
   }
   else if(choice=='1' && flag==0&& mat[3][1]==0)
   {
   setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);
   outtextxy(240,270,"X");  flag=1;  matrix[3][1]=1,mat[3][1]=1;
   if(matrix[1][1]==matrix[2][1] && matrix[2][1]==matrix[3][1])
   {
   setcolor(CYAN); line(245,150,245,300); flag=Refresh(flag);
   }
   else if(matrix[1][3]==matrix[2][2] && matrix[2][2]==matrix[3][1])
   {
	setcolor(CYAN); line(390,150,220,300); flag=Refresh(flag);
   }
   else if(matrix[3][1]==matrix[3][2] && matrix[3][2]==matrix[3][3])
   {
	setcolor(CYAN); line(235,275,400,275); flag=Refresh(flag);
   }
   else
   result();
   goto input;
   }
   else if(choice=='1' && flag==1&& mat[3][1]==0)
   {
   setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);
   outtextxy(240,270,"O");  flag=0;  matrix[3][1]=2,mat[3][1]=1;
   if(matrix[1][1]==matrix[2][1] && matrix[2][1]==matrix[3][1])
   {
   setcolor(CYAN); line(245,150,245,300); flag=Refresh(flag);
   }
   else if(matrix[1][3]==matrix[2][2] && matrix[2][2]==matrix[3][1])
   {
	setcolor(CYAN); line(390,150,220,300); flag=Refresh(flag);
   }
   else if(matrix[3][1]==matrix[3][2] && matrix[3][2]==matrix[3][3])
   {
	setcolor(CYAN); line(235,275,400,275); flag=Refresh(flag);
   }
   else
   result();
   goto input;
   }
   else if(choice=='2' && flag==0&& mat[3][2]==0)
   {
   setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);
   outtextxy(305,270,"X");  flag=1;  matrix[3][2]=1,mat[3][2]=1;
   if(matrix[3][1]==matrix[3][2] && matrix[3][2]==matrix[3][3])
   {
	setcolor(CYAN); line(235,275,400,275); flag=Refresh(flag);
   }
   else if(matrix[1][2]==matrix[2][2] && matrix[2][2]==matrix[3][2])
   {
   setcolor(CYAN); line(315,150,315,300); flag=Refresh(flag);
   }
   else
   result();
   goto input;
   }
   else if(choice=='2' && flag==1&& mat[3][2]==0)
   {
   setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);
   outtextxy(305,270,"O");  flag=0;  matrix[3][2]=2,mat[3][2]=1;
   if(matrix[3][1]==matrix[3][2] && matrix[3][2]==matrix[3][3])
   {
	setcolor(CYAN); line(235,275,400,275); flag=Refresh(flag);
   }
   else if(matrix[1][2]==matrix[2][2] && matrix[2][2]==matrix[3][2])
   {
   setcolor(CYAN); line(315,150,315,300); flag=Refresh(flag);
   }
   else
   result();
   goto input;
   }
   else if(choice=='3' && flag==0&& mat[3][3]==0)
   {
   setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);
   outtextxy(370,270,"X");  flag=1;  matrix[3][3]=1,mat[3][3]=1;
   if(matrix[3][1]==matrix[3][2] && matrix[3][2]==matrix[3][3])
   {
	setcolor(CYAN); line(235,275,400,275); flag=Refresh(flag);
   }
   else if(matrix[1][3]==matrix[2][3] && matrix[2][3]==matrix[3][3])
   {
	setcolor(CYAN); line(375,150,375,300); flag=Refresh(flag);
   }
   else if(matrix[1][1]==matrix[2][2] && matrix[2][2]==matrix[3][3])
   {
	setcolor(CYAN); line(235,150,410,300); flag=Refresh(flag);
   }
   else
   result();
   goto input;
   }
   else if(choice=='3' && flag==1&& mat[3][3]==0)
   {
   setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);
   outtextxy(370,270,"O");  flag=0;  matrix[3][3]=2,mat[3][3]=1;
   if(matrix[3][1]==matrix[3][2] && matrix[3][2]==matrix[3][3])
   {
	setcolor(CYAN); line(235,275,400,275); flag=Refresh(flag);
   }
   else if(matrix[1][3]==matrix[2][3] && matrix[2][3]==matrix[3][3])
   {
	setcolor(CYAN); line(375,150,375,300); flag=Refresh(flag);
   }
   else if(matrix[1][1]==matrix[2][2] && matrix[2][2]==matrix[3][3])
   {
	setcolor(CYAN); line(235,150,410,300); flag=Refresh(flag);
   }
   else
   result();
   goto input;
   }
   else if(choice=='R'||choice=='r')
   {
	 a=1;
	 for(i=1;i<=3;i++){for(j=1;j<=3;j++){matrix[i][j]=a;a++;}}
	 flag=0;Swindow();
	 for(i=1;i<=3;i++){for(j=1;j<=3;j++){mat[i][j]=0;}}
	 graf();
	 flag=Clear(flag); goto input;
   }
   else
   {
	sound(2589); delay(150);nosound();setcolor(GREEN);
	settextstyle(DEFAULT_FONT,HORIZ_DIR,1);outtextxy(300,400,"Invalid key press");   goto input;
   }
	stop :  closegraph();  _exit(0);
 }
 void Swindow(void)
 {
 cleardevice();
 setcolor(RED); settextstyle(DEFAULT_FONT,HORIZ_DIR,3);
 outtextxy(30,50,"CROSS PUZZLE MIXING GAME");
 setcolor(WHITE);
 line(225,190,400,190); line(225,250,400,250);
 line(275,150,275,300); line(350,150,350,300);
 setcolor(YELLOW); settextstyle(DEFAULT_FONT,HORIZ_DIR,1);
 outtextxy(25,450,"press `Esc' to Help.     press  `0'(zero) to exit.    press `R' to restart.");
 outtextxy(25,470,"Press `S' To Show the Winer List");
 setcolor(GREEN);  outtextxy(50,400,"ENTER  VALUE :");
 }

 int Refresh(int flag)
 {
	int i,j,a=5;
	for(i=1;i<=3;i++){for(j=1;j<=3;j++){matrix[i][j]=a;a++;}}
	while(!kbhit())
	{
	   if(flag==0)
	   {
		 sound(200);
		 gotoxy(50,24);   printf("SECOND  PLAYER  IS  WINER");
		 delay(1000);nosound();
	   }
	   else
	   {
		sound(200);
		gotoxy(50,24);   printf("FIRST  PLAYER  IS  WINER");
		delay(1000);nosound();
	   }
	   gotoxy(50,24);   printf("                             ");
	   delay(500);
	}
	winbox();
	flag=0;sub_REFRESH(getch());graf();Swindow();
	for(i=1;i<=3;i++){for(j=1;j<=3;j++){mat[i][j]=0;}}
	return flag;
  }
 int Clear(int flag)
 {
	int i,j,a=5;
	for(i=1;i<=3;i++){for(j=1;j<=3;j++){matrix[i][j]=a;a++;}}
	flag=0; Swindow(); return flag;
 }

 void HELP(void)
 {
  int i=50;
  cleardevice();
  setfillstyle(SOLID_FILL,LIGHTGRAY);
  bar(0,0,getmaxx(),getmaxy()); setcolor(YELLOW);
  settextstyle(DEFAULT_FONT,HORIZ_DIR,2);
  outtextxy(50,25,"THE INSTRUCTIONS TO PLAY THE GAME");
  setcolor(MAGENTA); outtextxy(380,100,"X");
  outtextxy(387,118,"O"); setcolor(BLUE);
  outtextxy(220,185,"7   8   9"); outtextxy(220,225,"4   5   6");
  outtextxy(220,275,"1   2   3");settextstyle(DEFAULT_FONT,HORIZ_DIR,1);
  setcolor(BLACK);
  outtextxy(50,90,"[*]   Two players must need to play this game.");
  outtextxy(50,105,"[*]   First player holds the simbol of      .");
  outtextxy(50,120,"[*]   Second player holds the simbol of      .");
  outtextxy(50,320,"[*]   Which player creats a straight line into the box, he is the winer.");
  outtextxy(50,335,"[*]   To restart the game as fresh, press  `R'.");
  outtextxy(50,350,"[*]   press  `0' (zero)  to exit the game.");
  outtextxy(330,460,"press any key to return back into game");
  line(250,170,250,300);line(320,170,320,300);
  line(200,210,375,210);line(200,260,375,260);
  setcolor(RED);
  outtextxy(150,150,"The Keywords which contains the value of puzzle box");
  setcolor(LIGHTGREEN);settextstyle(DEFAULT_FONT,HORIZ_DIR,2);
	while(!kbhit())
	{
	   while(!kbhit())
	   {
		 outtextxy(125,400,"Made By - Subroto  Mondal");
		 sound(i);delay(500);bar(123,398,520,435); delay(500);i=i+15;
	   }
	   nosound();
	}
	Swindow();subshow();
 }
	void graf(void)
	{
		int X=160,i=0;
		cleardevice();setfillstyle(SOLID_FILL,BLUE);
		bar(150,220,465,235);setfillstyle(SOLID_FILL,LIGHTGREEN);
		bar(155,215,470,230);delay(500);
		while(i<24)
		{
			setfillstyle(INTERLEAVE_FILL,RED);
			bar(X,218,X+10,228);i++;X=X+13;
			delay(50);
		}
		setfillstyle(SOLID_FILL,DARKGRAY);
		bar(180,185,460,200);
	}
 char sub_REFRESH(char ch)
 {
	  int i,j,flag,a=5;
	  if (ch=='R'||ch=='r')
	  {
		a=5;
		for(i=1;i<=3;i++){for(j=1;j<=3;j++){matrix[i][j]=a;a++;}}
		flag=0; Swindow();
		for(i=1;i<=3;i++){for(j=1;j<=3;j++){mat[i][j]=0;}}
		flag=Clear(flag);
	  }

	  else if(ch=='0')
	  {
		a=5;
		for(i=1;i<=3;i++){for(j=1;j<=3;j++){matrix[i][j]=a;a++;}}
		for(i=1;i<=3;i++){for(j=1;j<=3;j++){mat[i][j]=0;}}
		msgbox();
	  }
	  else
	  {
		sound(2589);delay(150);	nosound(); setcolor(GREEN);
		settextstyle(DEFAULT_FONT,HORIZ_DIR,1);
		outtextxy(300,400,"Invalid key press");
	  }
	  return 0;
 }
 void animation(void)
 {
	 int x=120,y=55,i,x1=500,y1=55,x2=320,y2=40,x3=130,y3=230;
	 setfillstyle(SOLID_FILL,WHITE);bar(0,0,getmaxx(),getmaxy());
	 delay(1000);
	while(!kbhit())
	{
		setcolor(BLACK);circle(x,y,50);circle(x1,y1,50);
		x=x+1,y=y+1,x1=x1-1,y1=y1+1; delay(9);
		if(y==430)
		{
			setcolor(LIGHTBLUE);settextstyle(TRIPLEX_FONT,HORIZ_DIR,3);
			for(i=1;i<=3;i++)
			{
				bar(90,235,700,265);delay(200);
				outtextxy(90,235,"Wel Come To Cross Pazzel Mixing Game");
				delay(1000);
			}
		delay(500);bar(0,0,getmaxx(),getmaxy());
		setcolor(RED);
		while(!kbhit())
		{
			circle(x2,y2,50);circle(x3,y3,50);
			y2=y2+2,x3=x3+2;delay(20);
			if(y2==430)
			{
				setcolor(BLACK);settextstyle(DEFAULT_FONT,HORIZ_DIR,1);
				outtextxy(385,6,"Compiled With :Terbo C++");
				outtextxy(385,20,"Graphics :Borland Graphics C++");
				delay(1000);
				goto point;
			}
		}

	}
 }
 point:
 submain();
}
void subshow(void)
{
	if(matrix[1][1]==1){setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);outtextxy(240,160,"X");}
	if(matrix[1][1]==2){setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);outtextxy(240,160,"O");}
	if(matrix[1][2]==1){setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);outtextxy(305,160,"X");}
	if(matrix[1][2]==2){setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);outtextxy(305,160,"O");}
	if(matrix[1][3]==1){setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);outtextxy(370,160,"X");}
	if(matrix[1][3]==2){setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);outtextxy(370,160,"O");}
	if(matrix[2][1]==1){setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);outtextxy(240,215,"X");}
	if(matrix[2][1]==2){setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);outtextxy(240,215,"O");}
	if(matrix[2][2]==1){setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);outtextxy(305,215,"X");}
	if(matrix[2][2]==2){setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);outtextxy(305,215,"O");}
	if(matrix[2][3]==1){setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);outtextxy(370,215,"X");}
	if(matrix[2][3]==2){setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);outtextxy(370,215,"O");}
	if(matrix[3][1]==1){setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);outtextxy(240,270,"X");}
	if(matrix[3][1]==2){setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);outtextxy(240,270,"O");}
	if(matrix[3][2]==1){setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);outtextxy(305,270,"X");}
	if(matrix[3][2]==2){setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);outtextxy(305,270,"O");}
	if(matrix[3][3]==1){setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);outtextxy(370,270,"X");}
	if(matrix[3][3]==2){setcolor(MAGENTA); settextstyle(DEFAULT_FONT,HORIZ_DIR,2);outtextxy(370,270,"O");}

}
void result (void)
{
	int a,i,j,flag;
	if(mat[1][1]==1&&mat[1][2]==1&&mat[1][3]==1&&mat[2][1]==1&&mat[2][2]==1&&mat[2][3]==1&&mat[3][1]==1&&mat[3][2]==1&&mat[3][3]==1)
	{
	sound(2589); delay(150);nosound();setcolor(GREEN);
	while(!kbhit())
	{
	settextstyle(DEFAULT_FONT,HORIZ_DIR,1);outtextxy(250,400,"Incomplite game press any key to reset the game");
	delay(500);
	bar(240,390,900,410);
	delay(100);
	}
	graf();
	a=5;
	for(i=1;i<=3;i++){for(j=1;j<=3;j++){matrix[i][j]=a;a++;}}
	flag=0;for(i=1;i<=3;i++){for(j=1;j<=3;j++){mat[i][j]=0;}}
	flag=Clear(flag);submain();
	}
}
 void msgbox(void)
 {
 int CHOICE,i,j,a,flag;
   setfillstyle(INTERLEAVE_FILL,BROWN);bar(130,200,495,350);
   setfillstyle(SOLID_FILL,DARKGRAY); bar(140,210,485,340);
   setfillstyle(SOLID_FILL,LIGHTCYAN);bar(142,212,483,223);
   setcolor(BLACK); settextstyle(DEFAULT_FONT,HORIZ_DIR,1);
   outtextxy(433,214,"_ [] X");outtextxy(145,214,"Meassage Box");
   setcolor(WHITE);outtextxy(180,250,"Are You Want To Sure Quit Game?");
   outtextxy(210,310,"Press TAB To Select Option.");
   outtextxy(210,325,"Press Enter To Select Choice.");CHOICE=optionYN();
  if(CHOICE==1){closegraph();exit(0);}else{submain();}
 }
  int optionYN(void)
 {
	int CHOICE,ch;
	input:
	CHOICE=0;
 settextstyle(DEFAULT_FONT,HORIZ_DIR,1);
 setfillstyle(SOLID_FILL,DARKGRAY);bar(320,280,370,300);
 setfillstyle(SOLID_FILL,BLACK); bar(395,280,445,300);
 setfillstyle(SOLID_FILL,WHITE); bar(325,275,375,295);
 bar(400,275,450,295);setcolor(GREEN);
 outtextxy(340,282,"YES");settextstyle(DEFAULT_FONT,HORIZ_DIR,2);
 outtextxy(410,278,"NO"); fflush(stdin);
	ch=getch();
	if(ch==TAB||ch==LEFT)
	{
	settextstyle(DEFAULT_FONT,HORIZ_DIR,1);
	setfillstyle(SOLID_FILL,BLACK);bar(320,280,370,300);
	setfillstyle(SOLID_FILL,DARKGRAY);bar(395,280,445,300);
	setfillstyle(SOLID_FILL,WHITE);bar(325,275,375,295);
	bar(400,275,450,295);setcolor(GREEN);
	outtextxy(420,282,"NO");settextstyle(DEFAULT_FONT,HORIZ_DIR,2);
	outtextxy(328,278,"YES");CHOICE=1;
	if(getch()==ENT){return CHOICE;}else{goto input;}
	}
  if(ch==ENT){return CHOICE; }else{ goto input; }
 }

void winbox(void)
{
	wk w;
	char ch;
 int CHOICE,i,j,a,flag;
   setfillstyle(INTERLEAVE_FILL,BROWN);bar(130,200,495,350);
   setfillstyle(SOLID_FILL,DARKGRAY); bar(140,210,485,340);
   setfillstyle(SOLID_FILL,LIGHTCYAN);bar(142,212,483,223);
   setcolor(BLACK); settextstyle(DEFAULT_FONT,HORIZ_DIR,1);
   outtextxy(433,214,"_ [] X");outtextxy(145,214,"Meassage Box");
   setcolor(WHITE);outtextxy(160,250,"ENTER WINER NAME  :-");
   outtextxy(160,280,"ENTER LOOSER NAME :-");
   outtextxy(210,325,"Press Enter To Save This Record.");
   setcolor(WHITE);
   outtextxy(140,230," Press 'Y'to enter winer and losser name..");
   getch();
   ch=getch();
   if(ch=='y'||ch=='Y')
   {
	  gotoxy(41,16);  fflush(stdin);
	  gets(w.win); gotoxy(41,18);
	  fflush(stdin); gets(w.loss);
	  fs=fopen("c:\\WINDOWS/CROSSGAM/DATA.DAT","ab");
	  fwrite(&w,SIZE,1,fs); fclose(fs);
   }
   else
   {
	setfillstyle(SOLID_FILL,DARKGRAY); bar(200,320,485,340);
	outtextxy(210,325,"The record is not save..");
   }
 }
 void winlist(void)
 {  int x=24,y=11,x1=45,x2=40,c=1,count=0,count1=0,ch;
	wk w;
	winbox1();
   fs=fopen("c:\\WINDOWS/CROSSGAM/DATA.DAT","r");
   if(fs==NULL)
   {
	 outtextxy(225,230,"NO DATA FILE WAS FOUND");
   }
   else
   {
	   while (fread(&w,SIZE,1,fs)==1)
	   {
		count++;
		if(count==0)
		outtextxy(225,230,"NO RECORD WAS FOUND");
	   }
	   fclose(fs);
	   fs=fopen("c:\\WINDOWS/CROSSGAM/DATA.DAT","r");
	   while(fread(&w,SIZE,1,fs)==1)
	   {
		gotoxy(x-5,y);printf("%d.)",c);
		gotoxy(x,y);puts(w.win);
		gotoxy(x2,y);printf("Vs");
		gotoxy(x1,y);puts(w.loss);
		y=y+1;	c++;	count1++;
		if(count1==10)
		{
		  gotoxy(19,23);
		  printf("Press enter key to continue & `E' to exit ");
		  ch=getch();if(ch=='e'||ch=='E'){ break;}
		  count1=0;  y=11;  count1=0;  winbox1();
		}
	   }

   }setcolor(WHITE);outtextxy(210,325,"Press any key to back.");  setcolor(WHITE);
   getch(); submain(); Swindow();  subshow();
 }
 void winbox1(void)
 {
	setfillstyle(INTERLEAVE_FILL,BROWN);bar(130,100,495,380);
   setfillstyle(SOLID_FILL,DARKGRAY); bar(140,110,485,370);
   setfillstyle(SOLID_FILL,LIGHTCYAN);bar(142,112,483,123);
   setcolor(BLACK); settextstyle(DEFAULT_FONT,HORIZ_DIR,1);
   outtextxy(433,114,"_ [] X");outtextxy(145,114,"WINER LIST BOX");
   setcolor(WHITE);outtextxy(160,130,"WINER NAME");
   outtextxy(380,130,"LOOSER NAME ");setcolor(BLACK);
   line(150,147,477,147);setcolor(RED);
 }

Download Entire Project and Setup File Here

Click Here to download Criss-Cross Game

The following two tabs change content below.

Subroto Mondal

Chief Coordinator HR&CR
I like Programming and New Technologies. And work with Linux.

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.