#include #include #include #include #include #include #define Max 3 #define Top 72 #define Botton 80 #define Left 75 #define Right 77 #define Enter 13 #define ESC 27 #define Location_Size 100 #define Location_Size_MenuOption 50 void Draw (void); void line_1(int,int,int ,int); void circle(int,int,int,int); void fill_circle(int,int,int,int); void Play(void); void prominence(void); void End(void); void AI(void); int TestFull(int *,int,int); int Full(int,int,int); void CheckMouse(); void splash(); void Menu(); void Menu_Option(int); void Menu_Color(); void Change_Color(); void Menu_Difficulty(); void Change_Difficulty(); void Menu_UserName(); void High_Scores(); void Show_High_Scores(); void Change_UserName(); void Menu_Created(); void Change_Color_Blinker(); void Location_Circle(); void Move_Location(int,int); void Location_Circle_Option(); void fill_circle(int ,int ,int, int); void Draw_Circle_fill(void); void Timer1(void); int Mouse(void); int Click(int); void ShowCursor(void); void HideCursor(void); void CursorLocate(int*,int*); void CursorTo(int,int); int d[Max][Max][Max],t[Max][Max][Max],varAI[25],p1=0,p2=0,int_time=60,count_time=1; int Location_N=0,Location_O=1,Difficulty=1,int_color_N=3,int_color_O=0,x=-1,y=0,z=0,q=0; char UserName[20]="sajjad"; //****************************************************************************** void main(){ int driver=0,mode=DETECT; initgraph(&driver,&mode,"c:\\tc\\bgi"); for(int i=0;i defence d //if tmp=2 --> raid h delay(1000); for(tmp=2;tmp>=1 && T==-1;tmp--){ for(i=1;i<=3 && T==-1;i++){ x=Full(i,2,1); y=Full(i+3,2,1); z=Full(i+6,2,1); if(x==y && z==-1 && x==tmp) T=Full(i+6,2,0); else if(x==z && y==-1 && x==tmp) T=Full(i+3,2,0); else if(y==z && x==-1 && y==tmp) T=Full(i,2,0); } for(i=16;i<=18 && T==-1;i++){ x=Full(i,2,1); y=Full(i+3,2,1); z=Full(i+6,2,1); if(x==y && z==-1 && x==tmp) T=Full(i+6,2,0); else if(x==z && y==-1 && x==tmp) T=Full(i+3,2,0); else if(y==z && x==-1 && y==tmp) T=Full(i,2,0); } i=1; while(i<=22 && T==-1){ x=Full(i,2,1); y=Full(i+1,2,1); z=Full(i+2,2,1); if(x==y && z==-1 && x==tmp) T=Full(i+2,2,0); else if(x==z && y==-1 && x==tmp) T=Full(i+1,2,0); else if(y==z && x==-1 && y==tmp) T=Full(i,2,0); i+=3; } for(i=1,j=10,k=22;j<=12 && T==-1;j++){ x=Full(i,2,1); y=Full(j,2,1); z=Full(k,2,1); if(x==y && z==-1 && x==tmp) T=Full(k,2,0); else if(x==z && y==-1 && x==tmp) T=Full(j,2,0); else if(y==z && x==-1 && y==tmp) T=Full(i,2,0); i+=3; k-=3; } for(i=9,j=13,k=18;j<=15 && T==-1;j++){ x=Full(i,2,1); y=Full(j,2,1); z=Full(k,2,1); if(x==y && z==-1 && x==tmp) T=Full(k,2,0); else if(x==z && y==-1 && x==tmp) T=Full(j,2,0); else if(y==z && x==-1 && y==tmp) T=Full(i,2,0); i-=3; k+=3; } } if(T==-1){ if(varAI[2]==-1 && varAI[3]==-1 && varAI[15]==-1) if(varAI[1]==-1 && varAI[22]==-1) T=Full(1,2,0); else if ((varAI[22]==-1 || varAI[22]==1) && varAI[24]==-1) T=Full(24,2,0); else if (varAI[24]==2 && varAI[1]==2 ) T=Full(3,2,0); if(varAI[10]==-1 && varAI[22]==-1 && varAI[23]==-1 && T==-1) if(varAI[24]==-1 && varAI[3]==2) T=Full(24,2,0); else if (varAI[24]==-1 && varAI[3]==2) T=Full(1,2,0); else if (varAI[24]==2 && varAI[1]==2 ) T=Full(22,2,0); if(varAI[1]==-1 && varAI[2]==-1 && varAI[10]==-1 && T==-1) if(varAI[3]==-1) T=Full(3,2,0); else if (varAI[22]==-1) T=Full(22,2,0); else if (varAI[22]==2 && varAI[3]==2 ) T=Full(1,2,0); if(varAI[15]==-1 && varAI[23]==-1 && varAI[24]==-1 && T==-1) if(varAI[3]==-1) T=Full(3,2,0); else if (varAI[22]==-1) T=Full(22,2,0); else if (varAI[22]==2 && varAI[3]==2 ) T=Full(24,2,0); if(varAI[1]==2 && varAI[2]==-1 && varAI[3]==-1 && varAI[6]==-1 && T==-1) if(varAI[9]==-1) T=Full(9,2,0); else if (varAI[9]==2) T=Full(3,2,0); if(varAI[1]==2 && varAI[4]==-1 && varAI[5]==-1 && varAI[7]==-1 && T==-1) if(varAI[6]==-1) T=Full(6,2,0); else if (varAI[6]==2) T=Full(4,2,0); if(varAI[1]==2 && varAI[4]==-1 && varAI[7]==-1 && varAI[8]==-1 && T==-1) if(varAI[9]==-1) T=Full(9,2,0); else if (varAI[9]==2) T=Full(7,2,0); if(varAI[1]==2 && varAI[10]==-1 && varAI[22]==-1 && varAI[19]==-1 && T==-1) if(varAI[16]==-1) T=Full(16,2,0); else if (varAI[16]==2) T=Full(22,2,0); if(varAI[1]==2 && varAI[4]==-1 && varAI[11]==-1 && varAI[7]==-1 && T==-1) if(varAI[19]==-1) T=Full(19,2,0); else if (varAI[19]==2) T=Full(4,2,0); if(varAI[1]==2 && varAI[4]==-1 && varAI[7]==-1 && varAI[12]==-1 && T==-1) if(varAI[16]==-1) T=Full(16,2,0); else if (varAI[16]==2) T=Full(7,2,0); if(varAI[3]==2 && varAI[1]==-1 && varAI[2]==-1 && varAI[4]==-1 && T==-1) if(varAI[7]==-1) T=Full(7,2,0); else if (varAI[7]==2) T=Full(1,2,0); if(varAI[3]==2 && varAI[5]==-1 && varAI[6]==-1 && varAI[9]==-1 && T==-1) if(varAI[4]==-1) T=Full(4,2,0); else if (varAI[4]==2) T=Full(6,2,0); if(varAI[3]==2 && varAI[6]==-1 && varAI[8]==-1 && varAI[9]==-1 && T==-1) if(varAI[7]==-1) T=Full(7,2,0); else if (varAI[7]==2) T=Full(9,2,0); if(varAI[3]==2 && varAI[15]==-1 && varAI[21]==-1 && varAI[24]==-1 && T==-1) if(varAI[18]==-1) T=Full(18,2,0); else if (varAI[18]==2) T=Full(24,2,0); if(varAI[3]==2 && varAI[6]==-1 && varAI[9]==-1 && varAI[14]==-1 && T==-1) if(varAI[21]==-1) T=Full(21,2,0); else if (varAI[21]==2) T=Full(6,2,0); if(varAI[3]==2 && varAI[6]==-1 && varAI[9]==-1 && varAI[13]==-1 && T==-1) if(varAI[18]==-1) T=Full(18,2,0); else if (varAI[18]==2) T=Full(9,2,0); if(varAI[24]==2 && varAI[3]==-1 && varAI[6]==-1 && varAI[15]==-1 && T==-1) if(varAI[9]==-1) T=Full(9,2,0); else if (varAI[9]==2) T=Full(3,2,0); if(varAI[24]==2 && varAI[14]==-1 && varAI[18]==-1 && varAI[21]==-1 && T==-1) if(varAI[6]==-1) T=Full(6,2,0); else if (varAI[6]==2) T=Full(21,2,0); if(varAI[24]==2 && varAI[13]==-1 && varAI[18]==-1 && varAI[21]==-1 && T==-1) if(varAI[9]==-1) T=Full(9,2,0); else if (varAI[9]==2) T=Full(18,2,0); if(varAI[24]==2 && varAI[19]==-1 && varAI[22]==-1 && varAI[23]==-1 && T==-1) if(varAI[16]==-1) T=Full(16,2,0); else if (varAI[16]==2) T=Full(22,2,0); if(varAI[24]==2 && varAI[18]==-1 && varAI[20]==-1 && varAI[21]==-1 && T==-1) if(varAI[19]==-1) T=Full(19,2,0); else if (varAI[19]==2) T=Full(21,2,0); if(varAI[24]==2 && varAI[17]==-1 && varAI[18]==-1 && varAI[21]==-1 && T==-1) if(varAI[16]==-1) T=Full(16,2,0); else if (varAI[16]==2) T=Full(18,2,0); if(varAI[22]==2 && varAI[21]==-1 && varAI[23]==-1 && varAI[24]==-1 && T==-1) if(varAI[18]==-1) T=Full(18,2,0); else if (varAI[18]==2) T=Full(24,2,0); if(varAI[22]==2 && varAI[16]==-1 && varAI[19]==-1 && varAI[20]==-1 && T==-1) if(varAI[21]==-1) T=Full(21,2,0); else if (varAI[21]==2) T=Full(19,2,0); if(varAI[22]==2 && varAI[16]==-1 && varAI[17]==-1 && varAI[19]==-1 && T==-1) if(varAI[18]==-1) T=Full(18,2,0); else if (varAI[18]==2) T=Full(16,2,0); if(varAI[22]==2 && varAI[1]==-1 && varAI[4]==-1 && varAI[10]==-1 && T==-1) if(varAI[7]==-1) T=Full(7,2,0); else if (varAI[7]==2) T=Full(1,2,0); if(varAI[22]==2 && varAI[11]==-1 && varAI[16]==-1 && varAI[19]==-1 && T==-1) if(varAI[4]==-1) T=Full(4,2,0); else if (varAI[4]==2) T=Full(19,2,0); if(varAI[22]==2 && varAI[12]==-1 && varAI[16]==-1 && varAI[19]==-1 && T==-1) if(varAI[7]==-1) T=Full(7,2,0); else if (varAI[7]==2) T=Full(16,2,0); if(varAI[4]==2 && varAI[21]==2 && varAI[6]==-1 && varAI[5]==-1 && varAI[14]==-1 && T==-1) T=Full(6,2,0); if(varAI[4]==2 && varAI[21]==2 && varAI[11]==-1 && varAI[19]==-1 && varAI[20]==-1 && T==-1) T=Full(19,2,0); if(varAI[6]==2 && varAI[19]==2 && varAI[4]==-1 && varAI[5]==-1 && varAI[11]==-1 && T==-1) T=Full(4,2,0); if(varAI[6]==2 && varAI[19]==2 && varAI[14]==-1 && varAI[20]==-1 && varAI[21]==-1 && T==-1) T=Full(21,2,0); if(varAI[7]==2 && varAI[18]==2 && varAI[8]==-1 && varAI[9]==-1 && varAI[13]==-1 && T==-1) T=Full(9,2,0); if(varAI[7]==2 && varAI[18]==2 && varAI[12]==-1 && varAI[16]==-1 && varAI[17]==-1 && T==-1) T=Full(19,2,0); if(varAI[9]==2 && varAI[16]==2 && varAI[7]==-1 && varAI[8]==-1 && varAI[12]==-1 && T==-1) T=Full(4,2,0); if(varAI[9]==2 && varAI[16]==2 && varAI[13]==-1 && varAI[17]==-1 && varAI[18]==-1 && T==-1) T=Full(18,2,0); if(((varAI[7]==-1 && varAI[16]==2)||(varAI[16]==-1 && varAI[7]==2)) && ((varAI[10]==-1 && varAI[11]==2)||(varAI[11]==-1 && varAI[10]==2)) && varAI[12]==-1 && T==-1) T=Full(12,2,0); if(((varAI[4]==-1 && varAI[19]==2)||(varAI[19]==-1 && varAI[4]==2)) && ((varAI[10]==-1 && varAI[12]==2)||(varAI[12]==-1 && varAI[10]==2)) && varAI[11]==-1 && T==-1) T=Full(11,2,0); if(((varAI[1]==-1 && varAI[22]==2)||(varAI[22]==-1 && varAI[1]==2)) && ((varAI[11]==-1 && varAI[12]==2)||(varAI[12]==-1 && varAI[11]==2)) && varAI[10]==-1 && T==-1) T=Full(10,2,0); if(((varAI[16]==-1 && varAI[18]==2)||(varAI[18]==-1 && varAI[16]==2)) && ((varAI[20]==-1 && varAI[23]==2)||(varAI[23]==-1 && varAI[20]==2)) && varAI[17]==-1 && T==-1) T=Full(17,2,0); if(((varAI[19]==-1 && varAI[21]==2)||(varAI[21]==-1 && varAI[19]==2)) && ((varAI[17]==-1 && varAI[23]==2)||(varAI[23]==-1 && varAI[17]==2)) && varAI[20]==-1 && T==-1) T=Full(20,2,0); if(((varAI[22]==-1 && varAI[24]==2)||(varAI[24]==-1 && varAI[22]==2)) && ((varAI[17]==-1 && varAI[20]==2)||(varAI[20]==-1 && varAI[17]==2)) && varAI[23]==-1 && T==-1) T=Full(23,2,0); if(((varAI[9]==-1 && varAI[18]==2)||(varAI[18]==-1 && varAI[9]==2)) && ((varAI[14]==-1 && varAI[15]==2)||(varAI[15]==-1 && varAI[14]==2)) && varAI[13]==-1 && T==-1) T=Full(13,2,0); if(((varAI[6]==-1 && varAI[21]==2)||(varAI[21]==-1 && varAI[6]==2)) && ((varAI[13]==-1 && varAI[15]==2)||(varAI[15]==-1 && varAI[13]==2)) && varAI[14]==-1 && T==-1) T=Full(14,2,0); if(((varAI[3]==-1 && varAI[24]==2)||(varAI[24]==-1 && varAI[3]==2)) && ((varAI[13]==-1 && varAI[14]==2)||(varAI[14]==-1 && varAI[13]==2)) && varAI[15]==-1 && T==-1) T=Full(15,2,0); if(((varAI[9]==-1 && varAI[7]==2)||(varAI[7]==-1 && varAI[9]==2)) && ((varAI[2]==-1 && varAI[5]==2)||(varAI[5]==-1 && varAI[2]==2)) && varAI[8]==-1 && T==-1) T=Full(8,2,0); if(((varAI[4]==-1 && varAI[6]==2)||(varAI[6]==-1 && varAI[4]==2)) && ((varAI[2]==-1 && varAI[8]==2)||(varAI[8]==-1 && varAI[2]==2)) && varAI[5]==-1 && T==-1) T=Full(5,2,0); if(((varAI[3]==-1 && varAI[1]==2)||(varAI[1]==-1 && varAI[3]==2)) && ((varAI[5]==-1 && varAI[8]==2)||(varAI[8]==-1 && varAI[5]==2)) && varAI[2]==-1 && T==-1) T=Full(2,2,0); if(varAI[19]==-1 && varAI[20]==-1 && varAI[22]==-1 && varAI[21]==2 && T==-1) if(varAI[16]==-1) T=Full(16,2,0); else if (varAI[16]==2) T=Full(19,2,0); if(varAI[19]==-1 && varAI[22]==-1 && varAI[23]==-1 && varAI[24]==2 && T==-1) if(varAI[16]==-1) T=Full(16,2,0); else if (varAI[16]==2) T=Full(22,2,0); if(varAI[2]==-1 && varAI[3]==-1 && varAI[6]==-1 && varAI[1]==2 && T==-1) if(varAI[9]==-1) T=Full(9,2,0); else if (varAI[9]==2) T=Full(3,2,0); } randomize(); while(T==-1){ T=Full(random(25),2,0); if(T==1) return ; } } //****************************************************************************** void prominence(void){ register int i,j,z; for(i=0,z=0;i=0 && counter<=15;z--,counter++){ varAI[counter]=TestFull(&d[i][j][z],0,1); if(counter==num) return(TestFull(&d[i][j][z],p,read)); } for(z=2,j=2;z>=0 && counter<=24;z--) for(i=0;i<=2;i++,counter++){ varAI[counter]=TestFull(&d[i][j][z],0,1); if(counter==num) return(TestFull(&d[i][j][z],p,read)); } return(-1); } //**************************************************************************** int TestFull(int *x1,int p,int read){ if(read==1) //***** Read ********** if(*x1==0) return(-1); else return(*x1); if(*x1==0){ //***** Write ********* *x1=p; return 1; } else{ if(p==1){ setcolor(7); settextstyle(1,0,1); outtextxy(220,200,"Error : This full house"); getch(); setcolor(0); outtextxy(220,200,"Error : This full house"); } return -1; } } //****************************************************************************** void End(void){ for(int j=1,c=0;j<=24;j++) if(Full(j,0,1)==-1) c++; setcolor(7); settextstyle(1,0,1); if(count_time<=0 && c>0){ if(p1p2+1){ p1++; High_Scores(); outtextxy(280,200,"Win Player "); getch(); exit(1); } else if(p1==p2+1){ p2++; outtextxy(300,200,"Equal "); getch(); exit(1); } } else if(c==0){ if(p1==p2){ outtextxy(300,200,"Equal "); getch(); exit(1); } else if(p1p2){ High_Scores(); setcolor(7); settextstyle(1,0,1); outtextxy(280,200,"Win Player "); getch(); exit(1); } } } //****************************************************************************** void Draw (void){ int x,y,i; //cleardevice(); line_1(100,45,100,215); line_1(100,225,100,395); line_1(140,105,140,215); line_1(140,225,140,335); line_1(180,165,180,215); line_1(180,225,180,275); line_1(540,45,540,215); line_1(540,225,540,395); line_1(500,105,500,215); line_1(500,225,500,335); line_1(460,165,460,215); line_1(460,225,460,275); line_1(320,45,320,95); line_1(320,105,320,155); line_1(320,285,320,335); line_1(320,345,320,395); line_1(104,46,138,96); line_1(144,105,178,156); line_1(104,395,138,345); line_1(144,335,177,285); line_1(535,395,502,345); line_1(495,335,463,285); line_1(536,45,503,96); line_1(497,105,463,156); for(i=1,x=100;i<=3;i++){ circle(x,40,5,10); x+=220; if(i<=2) line_1(x-215,40,x-5,40); } for(i=4,x=140;i<=6;i++){ circle(x,100,5,10); x+=180; if(i<=5) line_1(x-175,100,x-5,100); } for(i=7,x=180;i<=9;i++){ circle(x,160,5,10); x+=140; if(i<=8) line_1(x-135,160,x-5,160); } for(i=10,x=100;i<=12;i++){ circle(x,220,5,10); x+=40; if(i<=11) line_1(x-35,220,x-5,220); } for(i=13,x=460;i<=15;i++){ circle(x,220,5,10); x+=40; if(i<=14) line_1(x-35,220,x-5,220); } for(i=16,x=180;i<=18;i++){ circle(x,280,5,10); x+=140; if(i<=17) line_1(x-135,280,x-5,280); } for(i=19,x=140;i<=21;i++){ circle(x,340,5,10); x+=180; if(i<=20) line_1(x-175,340,x-5,340); } for(i=22,x=100;i<=24;i++){ circle(x,400,5,10); x+=220; if(i<=23) line_1(x-215,400,x-5,400); } fill_circle(213,23,5,1); fill_circle(340,23,5,2); } //************************************************************************* void Draw_Circle_fill(void){ int i,x; HideCursor(); for(i=1,x=100;i<=3;i++){ if((y=Full(i,0,1))!=-1) fill_circle(x,40,5,y); x+=220; } for(i=4,x=140;i<=6;i++){ if((y=Full(i,0,1))!=-1) fill_circle(x,100,5,y); x+=180; } for(i=7,x=180;i<=9;i++){ if((y=Full(i,0,1))!=-1) fill_circle(x,160,5,y); x+=140; } for(i=10,x=100;i<=12;i++){ if((y=Full(i,0,1))!=-1) fill_circle(x,220,5,y); x+=40; } for(i=13,x=460;i<=15;i++){ if((y=Full(i,0,1))!=-1) fill_circle(x,220,5,y); x+=40; } for(i=16,x=180;i<=18;i++){ if((y=Full(i,0,1))!=-1) fill_circle(x,280,5,y); x+=140; } for(i=19,x=140;i<=21;i++){ if((y=Full(i,0,1))!=-1) fill_circle(x,340,5,y); x+=180; } for(i=22,x=100;i<=24;i++){ if((y=Full(i,0,1))!=-1) fill_circle(x,400,5,y); x+=220; } ShowCursor(); } //***************************************************************************** void circle(int x_center,int y_center,int radius,int color){ if(color==10) setcolor(WHITE); else if(color==1) switch(int_color_N){ case 0: setcolor(20); break; case 1: setcolor(18); break; case 2: setcolor(6); break; case 3: setcolor(9); break; case 4: setcolor(15); break; case 5: setcolor(5); break; } else if(color==2) setcolor(14); circle(x_center,y_center,radius); } //***************************************************************************** void fill_circle(int x,int y,int r, int c){ setcolor(c); while(r) circle(x,y,r--,c); } //***************************************************************************** void line_1(int startx,int starty,int endx,int endy){ setcolor(12); line(startx,starty,endx,endy); } //********************************************************************* void splash(){ x=-1,y=0,z=0,q=0; for(int i=0;i<4*9+1;i++){ Change_Color_Blinker(); fill_circle(225,200,10,x); fill_circle(275,200,10,y); fill_circle(325,200,10,z); fill_circle(375,200,10,q); } } //************************************************************************ void Menu(){ x=-1,y=0,z=0,q=0; settextstyle(1,0,5); for(int i=0;i<4;i++){ Change_Color_Blinker(); setcolor(x); outtextxy(120,60,"Play"); outtextxy(120,160,"Option"); outtextxy(120,260,"Created"); outtextxy(120,360,"Exit"); } Location_Circle(); } //************************************************************************ void Menu_Option(int color){ int i,j; for(i=270;i<400;i++){ setcolor(color); line(270,200,i,200); delay(3); } for(i=400,j=200;i<450;i++,j++){ setcolor(color); line(400,200,i,j); delay(3); } for(i=450,j=450;i>=300;i--,j++){ setcolor(color); line(450,250,i,250); line(450,250,j,250); delay(3); } for(i=250;i<400;i++){ setcolor(color); line(300,250,300,i); line(600,250,600,i); delay(3); if(i==270){ setcolor(color); settextstyle(1,0,2); outtextxy(330,270,"Color"); Menu_Color(); } else if(i==320){ setcolor(color); settextstyle(1,0,2); outtextxy(330,320,"UserName"); Menu_UserName(); } else if(i==370){ setcolor(color); settextstyle(1,0,2); outtextxy(330,370,"Difficulty"); Menu_Difficulty(); } } Location_Circle_Option(); Location_N=1; Location_O=2; } //************************************************************************ void Location_Circle(){ int p; while(1){ fill_circle(90,90+(Location_N*Location_Size),10,15); fill_circle(90,90+(Location_O*Location_Size),10,0); x=-1,y=0,z=0,q=0; while(!kbhit()){ Change_Color_Blinker(); setcolor(x); circle(105,90+(Location_N*Location_Size),1); setcolor(y); circle(90,105+(Location_N*Location_Size),1); setcolor(z); circle(75,90+(Location_N*Location_Size),1); setcolor(q); circle(90,75+(Location_N*Location_Size),1); //********************* setcolor(0); circle(105,90+(Location_O*Location_Size),1); circle(90,105+(Location_O*Location_Size),1); circle(75,90+(Location_O*Location_Size),1); circle(90,75+(Location_O*Location_Size),1); } p=getch(); if(p==Top && Location_N!=0){ Location_O=Location_N; Location_N-=1; } else if(p==Botton && Location_N!=3){ Location_O=Location_N; Location_N+=1; } else if(p==Enter) if(Location_N==0){ cleardevice(); Show_High_Scores(); Play(); } else if(Location_N==1) Menu_Option(15); else if(Location_N==2) Menu_Created(); else if(Location_N==3) exit(1); } } //************************************************************************ void Location_Circle_Option(){ Location_N=0; Location_O=1; while(1){ fill_circle(315,285+(Location_N*Location_Size_MenuOption),5,15); fill_circle(315,285+(Location_O*Location_Size_MenuOption),5,0); x=-1,y=0,z=0,q=0; while(!kbhit()){ Change_Color_Blinker(); setcolor(x); circle(325,285+(Location_N*Location_Size_MenuOption),1); setcolor(y); circle(315,295+(Location_N*Location_Size_MenuOption),1); setcolor(z); circle(305,285+(Location_N*Location_Size_MenuOption),1); setcolor(q); circle(315,275+(Location_N*Location_Size_MenuOption),1); //************ setcolor(0); circle(325,285+(Location_O*Location_Size_MenuOption),1); circle(315,295+(Location_O*Location_Size_MenuOption),1); circle(305,285+(Location_O*Location_Size_MenuOption),1); circle(315,275+(Location_O*Location_Size_MenuOption),1); } int c=getch(); Move_Location(c,1); if(c==ESC){ for(int i=450;i>=200;i--){ setcolor(0); line(270,i,600,i); delay(3); } return ; } else if(c==Enter) if(Location_N==0) Change_Color(); else if(Location_N==1) Change_UserName(); else if(Location_N==2) Change_Difficulty(); } } //************************************************************************ void Move_Location(int p,int f){ if(p==Top && Location_N!=0 && f==1){ Location_O=Location_N; Location_N-=1; } else if(p==Botton && Location_N!=2 && f==1){ Location_O=Location_N; Location_N+=1; } else if(p==Left && int_color_N!=0 && f==2){ int_color_O=int_color_N; int_color_N-=1; } else if(p==Right && int_color_N!=5 && f==2){ int_color_O=int_color_N; int_color_N+=1; } else if(Difficulty!=0 && p==Left && f==3) Difficulty-=1; else if(Difficulty!=2 && p==Right && f==3) Difficulty+=1; } //************************************************************************ void Change_Color_Blinker(){ delay(150); if(x==-1) x=0; else if(x==0 && q==0){ x=8; y=0; z=0; q=0; } else if(x==8 && y==0){ x=7; y=8; z=0; q=0; } else if(x==7 && y==8){ x=15; y=7; z=8; q=0; } else if(x==15){ x=7; y=15; z=7; q=8; } else if(x==7 && y==15){ x=8; y=7; z=15; q=7; } else if(x==8 && y==7){ x=0; y=8; z=7; q=15; } else if(x==0 && y==8){ x=0; y=0; z=8; q=7; } else if(x==0 && z==8){ x=0; y=0; z=0; q=8; } else if(x==0 && q==8){ x=0; y=0; z=0; q=0; } } //************************************************************************ void Menu_Difficulty(){ setcolor(0); settextstyle(1,0,2); outtextxy(450,370,"Easy"); outtextxy(450,370,"Normal"); outtextxy(450,370,"Hard"); setcolor(20); if(Difficulty==0){ outtextxy(450,370,"Easy"); int_time=90; } else if(Difficulty==1){ outtextxy(450,370,"Normal"); int_time=60; } else if(Difficulty==2){ outtextxy(450,370,"Hard"); int_time=40; } } //************************************************************************ void Change_Difficulty(){ int c; while(1){ Menu_Difficulty(); while(!kbhit()); Move_Location(c=getch(),3); if(c==Enter) break; } } //************************************************************************ void Menu_Color(){ setcolor(20); fill_circle(455,285,5,20); fill_circle(480,285,5,18); fill_circle(505,285,5,6); fill_circle(530,285,5,9); fill_circle(555,285,5,15); fill_circle(580,285,5,5); setcolor(15); rectangle(445+(int_color_N*25),275,465+(int_color_N*25),295); } //************************************************************************ void Change_Color(){ int c; while(1){ setcolor(15); rectangle(445+(int_color_N*25),275,465+(int_color_N*25),295); setcolor(0); rectangle(445+(int_color_O*25),275,465+(int_color_O*25),295); while(!kbhit()); Move_Location(c=getch(),2); if(c==Enter) break; } } //************************************************************************ void Menu_UserName(){ setcolor(20); outtextxy(450,320,UserName); }//************************************************************************ void Change_UserName(){ setcolor(0); outtextxy(450,320,UserName); gotoxy(58,22); gets(UserName); gotoxy(58,22); printf(" "); Menu_UserName(); } //************************************************************************ void Menu_Created(){ x=-1,y=0,z=0,q=0; cleardevice(); sleep(2); settextstyle(4,0,9); while(1){ while(!kbhit()){ Change_Color_Blinker(); setcolor(x); outtextxy(180,100,"Created"); delay(10); setcolor(y); outtextxy(40,300,"Sajjad Soltani"); } if(getch()==ESC) break; } cleardevice(); Menu(); } //************************************************************************ void CheckMouse(){ int i,j,*x1,*y1,E=0; while(E!=1){ Timer1(); CursorLocate(x1,y1); for(i=1,j=100;i<=3 && E!=1;i++){ if(*x1>j-5 && *x140-5 && *y1<40+5 && Click(0)==1) E=Full(i,1,0); j+=220; } for(i=4,j=140;i<=6 && E!=1;i++){ if(*x1>j-5 && *x1100-5 && *y1<100+5 && Click(0)==1) E=Full(i,1,0); j+=180; } for(i=7,j=180;i<=9 && E!=1;i++){ if(*x1>j-5 && *x1160-5 && *y1<160+5 && Click(0)==1) E=Full(i,1,0); j+=140; } for(i=10,j=100;i<=12 && E!=1;i++){ if(*x1>j-5 && *x1220-5 && *y1<220+5 && Click(0)==1) E= Full(i,1,0); j+=40; } for(i=13,j=460;i<=15 && E!=1;i++){ if(*x1>j-5 && *x1220-5 && *y1<220+5 && Click(0)==1 ) E=Full(i,1,0); j+=40; } for(i=16,j=180;i<=18 && E!=1;i++){ if(*x1>j-5 && *x1280-5 && *y1<280+5 && Click(0)==1) E=Full(i,1,0); j+=140; } for(i=19,j=140;i<=21 && E!=1;i++){ if(*x1>j-5 && *x1340-5 && *y1<340+5 && Click(0)==1) E=Full(i,1,0); j+=180; } for(i=22,j=100;i<=24 && E!=1;i++){ if(*x1>j-5 && *x1400-5 && *y1<400+5 && Click(0)==1) E=Full(i,1,0); j+=220; } } } //************************************************************************ void High_Scores(){ FILE *fp; int i=0,j=0; fp=fopen("c:\\HighScores.txt","r"); if(!fp){ fp=fopen("c:\\HighScores.txt","w"); fprintf(fp,"%d-%d\n",p1,p2); fclose(fp); return; } else { fclose(fp); fp=fopen("c:\\HighScores.txt","a+t"); } while(!feof(fp)){ fscanf(fp,"%d-%d\n",&i,&j); // if(i