123 Eng

Engineering the engineers™


Latest Jobs   Forum Map

 


Home
Source Codes
Engineering Colleges

Training  Reports
Seminar Reports
Placement Papers

Forums

   Computer Science / IT
   Electronics
   Electrical
   Mechanical
   Chemical
   Civil

   CAT / MBA

   GMAT / Foreign MBA
Latest Jobs

Engineering Jobs / Technical Jobs
Management Jobs

Sitemap
Terms of use

Displaying  Source Code(s)  
 

 
Magic Number Game - A Program in C

--------------------------------------------------------------------------------

Description : This program "MAGICNUM.C" has been made for fun and entertainment purpose only. This program asks the user to think any number between 1-55. Then six different lists of numbers are displayed and simultaneously the user is asked to answer whether the number has appeared in the list or not. If the
user has answered honestly/correctly the number been thought is displayed.

This program and its concept has been prepared and developed completely by myself. This program utilizes bit of principles Boolean mathematics as
well as C. Since I wish that other people could make use of this program, I decided to send it to net. As I couldn't find a better site than VyomWorld.com, I am sending this program to it.

Provided that the lists are correctly answered the result will be correct.In case of any ambiguity please check again.

/* ----------------------------------

Program to find the number which has been thought by a person.

You have to think a number between 1-55 and tell whether the number has
appeared in following six lists in y/n. Then this program tells the
number which has been thought.

In case you get a false result that means that either number doesn't
lie between 1-55 or some mistakes have been committed in answering y/n.
So Please check again.

Written & Devloped By : Achin Saxena
Email : achin_saxena@rediffmail.com OR achin_saxena@indiatimes.com
STD. : BE (II Year) (Electronics & Comm. Engg.)
Jodhpur Engg. College & Research Centre
Jodhpur (Rajasthan), India

In case of any trouble shoot ups or comments about this program please
feel free to contact me on e-mail
------------------------------ */
#include <stdio.h>
#include <graphics.h>
#include <dos.h>
#include <string.h>

void InitGraphicMode();
void Welcome();
void StartGame();
void DisplayName(int );
void Clear();

void main()
{
InitGraphicMode();
Welcome();
getch();
StartGame();
closegraph();
}
void InitGraphicMode()
{
int gdriver = DETECT, gmode, errorcode;
//In next line the path of bgi files is taken
initgraph(&gdriver, &gmode, "c:\tc\bgi");
errorcode = graphresult();
if (errorcode != grOk) /* an error occurred */
{
printf("Graphics error: %s<BR>, grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();
exit(1); /* return with error code */
}
}
//to print the welcome screen
void Welcome()
{
char pattern[8] = {0x00, 0x70, 0x20, 0x27, 0x00, 0x27, 0x20, 0x70};
int i;

setfillpattern(pattern, BLUE);
for(i=0;i<=320;i++)
{
bar(320-i,240-i*0.75,320+i,240+i*0.75);
delay ( 1 ) ;
}
settextjustify(1,1);
DisplayName(100);
settextstyle(5,0,4);
outtextxy(100,300,"By :-");
settextstyle(7,0,6);
setcolor(14);
outtextxy(320,350,"ACHIN SAXENA");
music();
delay(3);
}
//to Start the game
void StartGame()
{
void FirstScreen();
char
ShowList1(),ShowList2(),ShowList3(),ShowList4(),ShowList5(),ShowList6();
int FindNumber(long);
long check(char);
int number,i;
long num=0;
char val;
char ch;
char numstr[10];
while(1)
{
Clear();
music();
FirstScreen();
Clear();
music();
val=ShowList1();
num=check(val);
Clear();
music();
val=ShowList2();
num=num*10+check(val);
Clear();
music();
val=ShowList3();
num=num*10+check(val);
Clear();
music();
val=ShowList4();
num=num*10+check(val);
Clear();
music();
val=ShowList5();
num=num*10+check(val);
Clear();
music();
val=ShowList6();
num=num*10+check(val);
number=FindNumber(num);
itoa(number,numstr,10);
Clear();
music();
settextstyle(5,0,4);
settextjustify(0,1);
if (number)
{
outtextxy(100,150,"So the number you thought was...");
setcolor(14);
settextstyle(4,0,15);
settextjustify(1,1);
outtextxy(320,250,numstr);
setcolor(15);
settextstyle(6,0,4);
outtextxy(320,350,"Can't believe it .........");
}
else
{
setcolor(14);
outtextxy(100,180,"Your number is out of range ...");
outtextxy(200,260,"OR....");
outtextxy(100,340,"You did not answer properly !!! ");
}
settextjustify(1,1);
settextstyle(6,0,4);
setcolor(CYAN);
outtextxy(320,400,"Wish to Try again (y/n) !!!!");
ch=getch();
if (ch=='y'||ch=='Y')
{
outtextxy(510,400,"Y");
music();
getch();
}
else
{
outtextxy(510,400,"N");
getch();
music();
return;
}
}
}

void DisplayName(int ycor)
{
char *name[] = {"M","A","G","I","C"," ","N","U","M","B","E","R"};
int i;
settextjustify(1,1);
settextstyle(4,0,7);
for(i=0;i<12;i++)
{
setcolor(i+2);
outtextxy(40+i*45,ycor, name[i]);
}
}
void Clear()
{
setfillstyle(8,BLUE);
bar(0,0,640,480);
DisplayName(30);
}
//Displaying the first Game Screen
void FirstScreen()
{
settextjustify(1,1);
setcolor(2);
settextstyle(1,0,4);
outtextxy(320,150," Think of any number in the range ");
setcolor(14);
settextstyle(4,0,8);
outtextxy(320,250,"1 - 55");
settextstyle(5,0,3);
setcolor(CYAN);
outtextxy(320,350,"Press any key to continue ......");
setcolor(15);
settextstyle(3,0,3);
outtextxy(320,430,"And Please... Be Honest !!!!!");
getch();
}
//Displaying the six lists
char ShowList1()
{
char ch;
setcolor(14);
settextstyle(3,0,4);
settextjustify(0,1);
outtextxy(70,120,"1, 3, 4, 7, 8, 11, 12");
outtextxy(70,180,"14, 16, 17, 18, 19, 20");
outtextxy(70,240,"24, 25, 28, 30, 31, 33");
outtextxy(70,300,"35, 37, 40, 42, 44, 46");
outtextxy(70,360,"47, 48, 50, 52, 54, 55");
settextstyle(5,0,3);
setcolor(2);
outtextxy(30,420,"Does Your number appear here ? (y/n)...");
ch=getch();
fflush(stdin);
if (ch=='y'||ch=='Y')
outtextxy(500,420,"Y");
else
outtextxy(500,420,"N");
getch();
return(ch);
}
char ShowList2()
{
char ch;
setcolor(14);
settextstyle(3,0,4);
settextjustify(0,1);
outtextxy(70,120,"1, 3, 6, 8, 10, 11, 12");
outtextxy(70,180,"15, 17, 18, 19, 22, 23");
outtextxy(70,240,"26, 29, 31, 32, 33, 34");
outtextxy(70,300,"36, 37, 38, 41, 44, 45");
outtextxy(70,360,"47, 50, 51, 53, 54, 55");
settextstyle(5,0,3);
setcolor(2);
outtextxy(30,420,"How about here ? (y/n)...");
ch=getch();
fflush(stdin);
if (ch=='y'||ch=='Y')
outtextxy(500,420,"Y");
else
outtextxy(500,420,"N");
getch();
return(ch);
}

char ShowList3()
{
char ch;
setcolor(14);
settextstyle(3,0,4);
settextjustify(0,1);
outtextxy(70,120,"1, 2, 5, 6, 7, 10");
outtextxy(70,180,"11, 13, 15, 16, 17, 19");
outtextxy(70,240,"21, 22, 24, 26, 27, 28");
outtextxy(70,300,"32, 35, 38, 40, 44, 46");
outtextxy(70,360,"47, 48, 49, 53, 54, 55");
settextstyle(5,0,3);
setcolor(2);
outtextxy(30,420,"Now here ? (y/n)...");
ch=getch();
if (ch=='y'||ch=='Y')
outtextxy(500,420,"Y");
else
outtextxy(500,420,"N");
fflush(stdin);
getch();
return(ch);
}
char ShowList4()
{
char ch;
setcolor(14);
settextstyle(3,0,4);
settextjustify(0,1);
outtextxy(70,120,"1, 2, 5, 9, 13, 17, 18");
outtextxy(70,180,"20, 22, 25, 26, 28, 30");
outtextxy(70,240,"31, 32, 33, 35, 36, 37");
outtextxy(70,300,"38, 39, 40, 41, 42, 43");
outtextxy(70,360,"45, 46, 49, 51, 54, 55");
settextstyle(5,0,3);
setcolor(2);
outtextxy(30,420,"And here ? (y/n)...");
ch=getch();
fflush(stdin);
if (ch=='y'||ch=='Y')
outtextxy(500,420,"Y");
else
outtextxy(500,420,"N");
getch();
return(ch);
}
char ShowList5()
{
char ch;
setcolor(14);
settextstyle(3,0,4);
settextjustify(0,1);
outtextxy(70,120," 4, 5, 8, 9, 10");
outtextxy(70,180,"11, 12, 13, 14, 15, 16");
outtextxy(70,240,"19, 21, 24, 27, 29, 30");
outtextxy(70,300,"32, 33, 34, 37, 38, 40");
outtextxy(70,360,"42, 45, 46, 51, 54, 55");
settextstyle(5,0,3);
setcolor(2);
outtextxy(30,420,"And here ? (y/n)...");
fflush(stdin);
ch=getch();
if (ch=='y'||ch=='Y')
outtextxy(500,420,"Y");
else
outtextxy(500,420,"N");
getch();
return(ch);
}
char ShowList6()
{
char ch;
setcolor(14);
settextstyle(3,0,4);
settextjustify(0,1);
outtextxy(70,120," 2, 3, 6, 7, 9");
outtextxy(70,180,"12, 13, 14, 15, 17, 19");
outtextxy(70,240,"23, 24, 25, 26, 27, 31");
outtextxy(70,300,"34, 35, 37, 38, 41, 42");
outtextxy(70,360,"43, 46, 47, 51, 52, 55");
settextstyle(5,0,3);
setcolor(2);
outtextxy(30,420,"Finally here ? (y/n)...");
ch=getch();
fflush(stdin);
if (ch=='y'||ch=='Y')
outtextxy(500,420,"Y");
else
outtextxy(500,420,"N");
getch();
return(ch);
}
int FindNumber(long num)
{
switch(num)
{
case 111100 : return (1);
case 1101 : return (2);
case 110001 : return (3);
case 100010 : return (4);
case 1110 : return (5);
case 11001 : return (6);
case 101001 : return (7);
case 110010 : return (8);
case 111 : return (9);
case 11010 : return(10);
case 111010 : return(11);
case 110011 : return(12);
case 1111 : return(13);
case 100011 : return(14);
case 11011 : return(15);
case 101010 : return(16);
case 111101 : return(17);
case 110100 : return(18);
case 111011 : return(19);
case 100100 : return(20);
case 1010 : return(21);
case 11100 : return(22);
case 10001 : return(23);
case 101011 : return(24);
case 100101 : return(25);
case 11101 : return(26);
case 1011 : return(27);
case 101100 : return(28);
case 10010 : return(29);
case 100110 : return(30);
case 110101 : return(31);
case 11110 : return(32);
case 110110 : return(33);
case 10011 : return(34);
case 101101 : return(35);
case 10100 : return(36);
case 110111 : return(37);
case 11111 : return(38);
case 100 : return(39);
case 101110 : return(40);
case 10101 : return(41);
case 100111 : return(42);
case 101 : return(43);
case 111000 : return(44);
case 10110 : return(45);
case 101111 : return(46);
case 111001 : return(47);
case 101000 : return(48);
case 1100 : return(49);
case 110000 : return(50);
case 10111 : return(51);
case 100001 : return(52);
case 11000 : return(53);
case 111110 : return(54);
case 111111 : return(55);
default : return(0);
}
}

long check(char ch)
{
if (ch=='y'||ch=='Y')
return(1);
else
return(0);
}

music()
{
int i ;
float octave[7] = { 130.81, 146.83, 164.81, 174.61, 196, 220, 246.94 } ;
for ( i = 0 ; i < 7 ; i++ )
{
sound ( octave[i] * 8 ) ;
delay ( 30 ) ;
}
nosound();
}

 

 

 

Contribute content or training reports / feedback / Comments
job placement papers
All rights reserved copyright 123ENG