HI..
Here is the code for a simple "Puzzle"...
#include<stdio.h> #include<dos.h> #include<conio.h> #include<process.h> void box(); void game(); void check(); void write(); void mainmenu(); void preview(); void scores(); int a[6][6]= { {0,0,0,0,0,0}, {0,14,5,11,4,0}, {0,15,6,10,12,0}, {0,9,8,3,1,0}, {0,100,2,13,7,0}, {0,0,0,0,0,0} }; int b[6][6]= { {0,0,0,0,0,0}, {0,1,2,3,4,0}, {0,8,7,6,5,0}, {0,9,10,11,12,0}, {0,100,15,14,13,0}, {0,0,0,0,0,0} }; char menu[5][25] = { " 1.Levels Preview ", " 2.Heighest Scores ", " 3.Start Game ", " 4.Exit " }; int i,j,row,col,temp,count,nol=0; union REGS ii,oo; char ch; main() { _setcursortype(_NOCURSOR); clrscr(); mainmenu(); }⁄*end of main*⁄ void mainmenu() { int pos=9; textcolor(11); for(i=1;i<=26;i++) { gotoxy(25+i,7); cprintf("%c ",205); gotoxy(25+i,17); cprintf("%c",205); } for(i=1;i<=10;i++) { gotoxy(25,7+i); cprintf("%c",186); gotoxy(52,7+i); cprintf("%c",186); } gotoxy(25,7); cprintf("%c",201); gotoxy(52,7); cprintf("%c",187); gotoxy(25,17); cprintf("%c",200); gotoxy(52,17); cprintf("%c",188); for(i=0;i<4;i++) { textcolor(10); gotoxy(32,9+(i*2)); cprintf("%s",menu[i]); textcolor(12); gotoxy(33,9+(i*2)); cprintf("%c",menu[i][1]); textcolor(11); gotoxy(35,9+(i*2)); cprintf("%c",menu[i][3]); } while(1) { for(i=0;i<4;i++) { textbackground(0); gotoxy(27,9+(i*2)); cprintf(" "); } gotoxy(27,pos); textcolor(9); cprintf(" \3\3\3"); while(!kbhit()); int86(22,&ii,&oo); ch = oo.h.ah; switch(ch) { case 72 : if(pos==9) pos = 15; else pos-=2; break; case 80 : if(pos==15) pos=9; else pos+=2; break; case 28 : if(pos==9) preview(); else if(pos==11) scores(); else if(pos==13) clrscr(),game(); else exit(2); break; case 2 : case 38 :pos=9;break; case 3 : case 35 :pos=11;break; case 4 : case 31 :pos=13;break; case 1 :exit(3); case 5 : case 18 :pos=15;break; }⁄⁄end of switch }⁄⁄end of while getch(); } void preview() { clrscr(); gotoxy(32,6);textcolor(3);cprintf("LEVEL 1"); gotoxy(32,7);textcolor(13);cprintf("========"); textcolor(6); gotoxy(28,10);cprintf("1 2 3 4"); gotoxy(28,12);cprintf("5 6 7 8"); gotoxy(28,14);cprintf("9 10 11 12"); gotoxy(28,16);cprintf("13 14 15 "); gotoxy(30,18);textcolor(15);cprintf("Press Any Key .."); getch(),clrscr(); gotoxy(32,6);textcolor(3);cprintf("LEVEL 2"); gotoxy(32,7);textcolor(13);cprintf("========"); textcolor(6); gotoxy(28,10);cprintf(" 15 14 13 "); gotoxy(28,12);cprintf(" 12 11 10 9 "); gotoxy(28,14);cprintf(" 8 7 6 5 "); gotoxy(28,16);cprintf(" 4 3 2 1 "); gotoxy(30,18);textcolor(15);cprintf("Press Any Key .."); getch(),clrscr(); gotoxy(32,6);textcolor(3);cprintf("LEVEL 3"); gotoxy(32,7);textcolor(13);cprintf("========"); textcolor(6); gotoxy(28,10);cprintf("1 5 9 13 "); gotoxy(28,12);cprintf("2 6 10 14 "); gotoxy(28,14);cprintf("3 7 11 15 "); gotoxy(28,16);cprintf("4 8 12 "); gotoxy(30,18);textcolor(15);cprintf("Press Any Key .."); getch(),clrscr(); gotoxy(32,6);textcolor(3);cprintf("LEVEL 4"); gotoxy(32,7);textcolor(13);cprintf("========"); textcolor(6); gotoxy(28,10);cprintf(" 12 8 4 "); gotoxy(28,12);cprintf(" 15 11 7 3 "); gotoxy(28,14);cprintf(" 14 10 6 2 "); gotoxy(28,16);cprintf(" 13 9 5 1 "); gotoxy(30,18);textcolor(15);cprintf("Press Any Key .."); getch(),clrscr(); gotoxy(32,6);textcolor(3);cprintf("LEVEL 5"); gotoxy(32,7);textcolor(13);cprintf("========"); textcolor(6); gotoxy(28,10);cprintf(" 1 2 3 4 "); gotoxy(28,12);cprintf(" 8 7 6 5 "); gotoxy(28,14);cprintf(" 9 10 11 12 "); gotoxy(28,16);cprintf(" 15 14 13 "); gotoxy(28,18);textcolor(2);cprintf("Press Any Key .."); getch(),clrscr(),mainmenu(); }⁄* end of Previw function *⁄ void scores() { clrscr(); gotoxy(23,9); textcolor(2); cprintf("V.MAHENDRA REDDY ---- 50,000"); gotoxy(23,12); cprintf("MAHI ---- 40,000"); gotoxy(23,15); cprintf("K.B.NAVEEN KUMAR ---- 30,000"); gotoxy(23,18); cprintf("G.SAMPATH KUMAR REDDY ---- 30,000"); gotoxy(25,21); textcolor(7); cprintf("Presss Any Key ...."); getch(),clrscr(); mainmenu(); } void game() { clrscr(); box(); write(); textcolor(5); gotoxy(3,20); cprintf("Esc - Quit"); while(1) { ⁄* Printing Values*⁄ textcolor(12); for(i=1;i<=4;i++) for(j=1;j<=4;j++) { gotoxy(22+(j*5),10+(i*2)); if(a[i][j]==100) { printf(" "); row=i; col=j; } else cprintf("%d",a[i][j]); } check(); ⁄* Reading Key*⁄ while(!kbhit()); int86(22,&ii,&oo); ch = oo.h.ah; switch(ch) { case 77:if(col==1) ⁄*Right*⁄ { gotoxy(55,21); textcolor(4); cprintf("Invalid Choice"); } else { gotoxy(55,20); textcolor(4); cprintf(" "); temp = a[row][col-1]; a[row][col]= temp; a[row][col-1]=100; } break; case 75: if(col==4) ⁄*Left*⁄ { gotoxy(55,21); textcolor(4); cprintf("Invalid Choice"); } else { gotoxy(55,21); textcolor(4); cprintf(" "); temp = a[row][col+1]; a[row][col]= temp; a[row][col+1]=100; } break; case 72: if(row==4) ⁄*Top*⁄ { gotoxy(55,21); textcolor(4); cprintf("Invalid Choice"); } else { gotoxy(55,21); textcolor(4); cprintf(" "); temp = a[row+1][col]; a[row][col]= temp; a[row+1][col]=100; } break; case 80:if(row==1) ⁄*Bottom*⁄ { gotoxy(55,21); textcolor(4); cprintf("Invalid Choice"); } else { gotoxy(55,21); textcolor(4); cprintf(" "); temp = a[row-1][col]; a[row][col]= temp; a[row-1][col]=100; } break; case 1 :gotoxy(22,23); textcolor(7); cprintf("Are You Sure To Quit (Y⁄N)::"); ch = getche(); if(ch=='y'||ch=='Y') clrscr(),mainmenu(); else { gotoxy(22,23),textbackground(0); cprintf(" "); } } }⁄* End of While*⁄ }⁄* End of Game *⁄ void write() { if(nol==0) { gotoxy(32,9);textcolor(3);cprintf("Level 1"); textcolor(6); gotoxy(3,2);cprintf("1 2 3 4"); gotoxy(3,4);cprintf("5 6 7 8"); gotoxy(3,6);cprintf("9 10 11 12"); gotoxy(3,8);cprintf("13 14 15 "); } if(nol==1) { gotoxy(32,9);textcolor(3);cprintf("Level 2"); textcolor(6); gotoxy(3,2);cprintf(" 15 14 13 "); gotoxy(3,4);cprintf(" 12 11 10 9 "); gotoxy(3,6);cprintf(" 8 7 6 5 "); gotoxy(3,8);cprintf(" 4 3 2 1 "); } if(nol==2) { gotoxy(32,9);textcolor(3);cprintf("Level 3"); textcolor(6); gotoxy(3,2);cprintf("1 5 9 13 "); gotoxy(3,4);cprintf("2 6 10 14 "); gotoxy(3,6);cprintf("3 7 11 15 "); gotoxy(3,8);cprintf("4 8 12 "); } if(nol==3) { gotoxy(32,9);textcolor(3);cprintf("Level 4"); textcolor(6); gotoxy(3,2);cprintf(" 12 8 4 "); gotoxy(3,4);cprintf(" 15 11 7 3 "); gotoxy(3,6);cprintf(" 14 10 6 2 "); gotoxy(3,8);cprintf(" 13 9 5 1 "); } if(nol==4) { gotoxy(32,9);textcolor(3);cprintf("Level 5"); textcolor(6); gotoxy(3,2);cprintf(" 1 2 3 4 "); gotoxy(3,4);cprintf(" 8 7 6 5 "); gotoxy(3,6);cprintf(" 9 10 11 12 "); gotoxy(3,8);cprintf(" 15 14 13 "); } } void check() { int ok=0; ⁄* Checking*⁄ if (nol==0) { for(i=1,temp=1,count=0;i<=4;i++) for(j=1;j<=4;j++,temp++) if(a[i][j]==temp) count++; if(count>=15) { gotoxy(28,22); textcolor(2+BLINK); cprintf("CONGRATULATIONS"); nol++; ok=1; getch(); } } if(nol==1) { for(i=4,temp=1,count=0;i>=1;i--) for(j=4;j>=1;j--,temp++) if(a[i][j]==temp) count++; if(count>=15) { gotoxy(28,22); textcolor(2+BLINK); cprintf("CONGRATULATIONS"); ok=1; nol++; getch(); } } if(nol==2) { for(i=1,temp=1,count=0;i<=4;i++) for(j=1;j<=4;j++,temp++) if(a[j][i]==temp) count++; if(count>=15) { gotoxy(28,22); textcolor(2+BLINK); cprintf("CONGRATULATIONS"); ok=1; nol++; getch(); } } if(nol==3) { for(i=4,temp=1,count=0;i>=1;i--) for(j=4;j>=1;j--,temp++) if(a[j][i]==temp) count++; if(count>=15) { gotoxy(28,22); textcolor(2+BLINK); cprintf("CONGRATULATIONS"); ok=1; nol++; getch(); } } if(nol==4) { for(i=1,count=0;i<=4;i++) for(j=1;j<=4;j++) if(a[i][j]==b[i][j]) count++; if(count==16) { gotoxy(28,22); textcolor(2+BLINK); cprintf("CONGRATULATIONS"); ok=1; nol++; getch(); } } if(ok==1) { if(nol==5) { gotoxy(20,23); textcolor(14); cprintf(" You Have Finished All The Levels "); getch(); exit(1); } else { gotoxy(20,23); textcolor(14); cprintf("You Have To Finish %d Levels Only ...",5-nol); getch(); } gotoxy(20,23);textbackground(0); cprintf(" "); gotoxy(28,23);cprintf(" "); game(); } }⁄*end of function*⁄ void box() { int i; textcolor(10); for(i=1;i<=20;i++) { gotoxy(25+i,11); cprintf("%c",205); gotoxy(25+i,13); cprintf("%c",205); gotoxy(25+i,15); cprintf("%c",205); gotoxy(25+i,17); cprintf("%c",205); gotoxy(25+i,19); cprintf("%c",205); } for(i=1;i<=7;i++) { gotoxy(25,11+i); cprintf("%c",186); gotoxy(30,11+i); cprintf("%c",186); gotoxy(35,11+i); cprintf("%c",186); gotoxy(40,11+i); cprintf("%c",186); gotoxy(45,11+i); cprintf("%c",186); } gotoxy(25,11); cprintf("%c",201); gotoxy(45,11); cprintf("%c",187); gotoxy(25,19); cprintf("%c",200); gotoxy(45,19); cprintf("%c",188); gotoxy(30,11); cprintf("%c",203); gotoxy(35,11); cprintf("%c",203); gotoxy(40,11); cprintf("%c",203); gotoxy(30,19); cprintf("%c",202); gotoxy(35,19); cprintf("%c",202); gotoxy(40,19); cprintf("%c",202); gotoxy(25,13); cprintf("%c",204); gotoxy(25,15); cprintf("%c",204); gotoxy(25,17); cprintf("%c",204); gotoxy(45,13); cprintf("%c",185); gotoxy(45,15); cprintf("%c",185); gotoxy(45,17); cprintf("%c",185); for(i=0;i<6;i+=2) { gotoxy(30,13+i); cprintf("%c",206); gotoxy(35,13+i); cprintf("%c",206); gotoxy(40,13+i); cprintf("%c",206); } }⁄⁄end of box |

No comments:
Post a Comment