Ads

Wednesday, April 27, 2011

BRICK GAME IN C++

<br /> #include <iostream.h><br /> #include <conio.h><br /> #include <ctype.h> //defining toupper<br /> # include <process.h> //exit(0)<br /> # include <dos.h><br /> # include <stdlib.h><br /> # include <graphics.h><br /> # include <stdio.h><br /> <br /> # define NULL 0<br /> # define YES 1<br /> # define NO 0<br /> #define ESC 0x1b /* Define the escape key */<br /> <br /> int MaxX, MaxY, MidX, MidY ;<br /> int bri[5][20] ;<br /> <br /> int GraphDriver; /* The Graphics device driver */<br /> int GraphMode; /* The Graphics mode value */<br /> int MaxXX, MaxYY; /* The maximum resolution of the screen */<br /> int MaxColors; /* The maximum # of colors available */<br /> int ErrorCode; /* Reports any graphics errors */<br /> struct palettetype palette; /* Used to read palette info*/<br /> <br /> // Initialize the graphics mode<br /> void Initialize(void);<br /> <br /> // Display the last screen of bricks<br /> void SayGoodbye(void);<br /> <br /> // Changes the text style and report any error if encounter<br /> void changetextstyle(int font, int direction, int charsize);<br /> <br /> // Welcome screen of bricks game<br /> mainscreen();<br /> <br /> // Instruction messages of bricks game<br /> screen();<br /> <br /> // To display the bricks (in square box) and paddles in rectangle form <br /> and<br /> bulbs rounded form<br /> bricks();<br /> <br /> // Delete a bricks when bulb hit it<br /> delbrick(int,int);<br /> <br /> // Echoes different musics<br /> bell(int);<br /> <br /> int graphmode = CGAHI, graphdriver = CGA, level; // resolution of<br /> CGAHI = 640 x 200 (col x row)<br /> <br /> /*-------------------Mouse Library--------------*/<br /> <br /> void InitMouse()//initializes the mouse<br /> {<br /> union REGS in,out;<br /> in.x.ax=33;<br /> int86(0x33,&in,&out);<br /> }<br /> <br /> void MousePos(int* x,int* y,int* click)<br /> { //stores back (x,y) values and click type<br /> //click=1: left click<br /> //2: right click<br /> //3: middle click<br /> union REGS in,out;<br /> in.x.ax=3;<br /> int86(0x33,&in,&out);<br /> *click=(int)out.x.bx;<br /> *x=(int)out.x.cx;<br /> *y=(int)out.x.dx;<br /> }<br /> /*-----------------------End Of Mouse Methods----------*/<br /> <br /> <br /> main<br /> ()<br /> {<br /> union REGS ii, oo ;<br /> <br /> int BallX, BallY, Base1, Base2, dx = 1, dy = -1, OldX, OldY ;<br /> int totallayer[5] = { 10, 20, 30, 40, 50 }, max = 50, layer = 4 ;<br /> int i, flag = 0, speed = 15, score = 0, chance = 4, areareq ;<br /> <br /> char *m1, *m2 ; //pointers to memory<br /> <br /> /* Function to initialise the graphics mode */<br /> initgraph ( &graphdriver, &graphmode, "c:\tc\bgi" ) ;<br /> mainscreen();<br /> initgraph ( &graphdriver, &graphmode, "c:\tc\bgi" ) ;<br /> /**************************************************/<br /> /* Function to initialise the mouse */<br /> InitMouse();<br /> /* get the maximum value of x and y coordinates of the screen */<br /> MaxX = getmaxx() ;<br /> MaxY = getmaxy() ;<br /> /* finding the center of the screen */<br /> MidX = MaxX / 2 ;<br /> MidY = MaxY / 2 ;<br /> <br /> <br /> /* create opening screen and accept the level of the player's */<br /> level = screen() ;<br /> <br /> /* assign the speed to ball as per the level chosen */<br /> switch ( level )<br /> {<br /> case 'M' :<br /> case 'm' :<br /> speed = 10 ;<br /> break ;<br /> <br /> case 'F' :<br /> case 'f' :<br /> speed = 3 ;<br /> }<br /> <br /> /* draw the four layer of bricks, the paddle and the ball */<br /> rectangle ( 0, 0, MaxX, MaxY - 12 ) ;<br /> bricks() ;<br /> rectangle ( MidX - 25, MaxY - 7 - 12, MidX + 25, MaxY - 12 ) ;<br /> floodfill ( MidX, MaxY - 1 - 12, 12 ) ;<br /> circle ( MidX, MaxY - 13 - 12, 12 ) ;<br /> <br /> // fillellipse ( MidX, MaxY - 13 - 12,12,12 ) ;<br /> floodfill ( MidX, MaxY - 10 - 12, 12 ) ;<br /> <br /> /* memory allocation for storing the image of the paddle */<br /> areareq = imagesize ( MidX - 12, MaxY - 18, MidX + 12, MaxY - 8 ) ;<br /> m1 =((char*) malloc ( areareq )) ;<br /> <br /> /* memory allocation for storing the image of the ball */<br /> areareq = imagesize ( MidX - 25, MaxY - 7, MidX + 25, MaxY - 1 ) ;<br /> m2 =((char *) malloc ( areareq ) );<br /> <br /> /* if unable to alloacte the memory */<br /> if ( m1 == NULL || m2 == NULL )<br /> {<br /> puts ( "Not Enough memory!!" ) ;<br /> exit ( 1 ) ;<br /> }<br /> <br /> /* image of the paddle and the ball is stored into allocated memory */<br /> getimage ( MidX - 12, MaxY - 7 - 12 - 12 + 1, MidX + 12, MaxY - 8 - <br /> 12,<br /> m1 ) ;<br /> getimage ( MidX - 25, MaxY - 7 - 12, MidX + 25, MaxY - 1 - 12, m2 ) ;<br /> <br /> /* store current position of the paddle and ball */<br /> Base1 = MidX - 25 ;<br /> Base2 = MaxY - 7 - 12 ;<br /> BallX = MidX - 12 ;<br /> BallY = MaxY - 7 - 12 + 1 - 12 ;<br /> <br /> /* display balls remaining ( initially 3 ) */<br /> gotoxy ( 45, 25 ) ;<br /> cout<< "Balls :" ; for ( i = 0 ; i < 3 ; i++ ) { circle ( 515 + i * 35, MaxY - 5, 12 ) ; floodfill ( 515 + i * 35, MaxY - 5, 12 ) ; } /* display starting score */ gotoxy ( 1, 25 ) ; cout<< "Score: "; gotoxy(16,25); cout<<score; /* select font and alignment for displaying text */ settextjustify ( CENTER_TEXT, CENTER_TEXT ) ; changetextstyle ( GOTHIC_FONT, HORIZ_DIR, 4 ) ; while ( 1 ) { flag = 0 ; /* saving current x and y coordinates of the ball */ OldX = BallX ; OldY = BallY ; /* update ballx and bally to move the ball in correct direction */ BallX = BallX + dx ; BallY = BallY + dy ; /* according to the position of ball the layer of bricks is determined */ if ( BallY > 40 )<br /> {<br /> max = 50 ;<br /> layer = 4 ;<br /> }<br /> else<br /> {<br /> if ( BallY > 30 )<br /> {<br /> max = 40 ;<br /> layer = 3 ;<br /> }<br /> else<br /> {<br /> if ( BallY > 20 )<br /> {<br /> max = 30 ;<br /> layer = 2 ;<br /> }<br /> else<br /> {<br /> if ( BallY > 10 )<br /> {<br /> max = 20 ;<br /> layer = 1 ;<br /> }<br /> else<br /> {<br /> max = 10 ;<br /> layer = 0 ;<br /> }<br /> }<br /> }<br /> }<br /> <br /> /* if the ball hits the right boundary, move it to the left */<br /> if ( BallX > ( MaxX - 24 - 1 ) )<br /> {<br /> bell ( 5 ) ;<br /> BallX = MaxX - 24 - 1 ;<br /> dx = -dx ;<br /> }<br /> <br /> /* if the ball hits the left boundary, move it to the right */<br /> if ( BallX < 1 ) { bell ( 5 ) ; BallX = 1 ; dx = -dx ; } /* if the ball hits the top boundary, move it down */ if ( BallY < 1 ) { bell ( 5 ) ; BallY = 1 ; dy = -dy ; } /* if the ball is in the area of the bricks */ if ( BallY < max ) { /* if there is no brick at the top of the ball */ if ( bri[layer][ ( BallX + 10 ) / 32 ] == 1 ) { /* if the ball touches a brick */ for ( i = 1 ; i <= 6 ; i++ ) { /* check whether there is a brick to the right of the ball */ if ( bri[layer][ ( BallX + i + 10 ) / 32 ] == 0 ) { /* if there is a brick */ BallX = BallX + i ; flag = 1 ; break ; } /* check whether there is a brick to the left of the ball */ if ( bri[layer][ ( BallX - i + 10 ) / 32 ] == 0 ) { BallX = BallX - i ; flag = 1 ; break ; } } /* if the ball does not touch a brick at the top, left or right */ if ( !flag ) { /* check if the ball has moved above the current layer */ if ( BallY < totallayer[layer - 1] ) { /* if so, change current layer appropriately */ layer-- ; max = totallayer[layer] ; } /* restore the image of the ball at the old coordinates */ putimage ( OldX, OldY, m1, OR_PUT ) ; /* erase the image at the old coordinates */ putimage ( OldX, OldY, m1, XOR_PUT ) ; /* place the image of the ball at the new coordinates */ putimage ( BallX, BallY, m1, XOR_PUT ) ; /* delay for fewseconds*/ delay ( speed ) ; /* carry on moving the ball */ continue ; } } /* when ball touch the brick control comes to this point */ bell ( 5 ) ; /* play music */ /* erase the touched brick */ delbrick ( ( BallX + 10 ) / 32, layer ) ; /* if the brick hit is on the extreme right */ if ( ( BallX + 10 ) / 32 == 19 ) line ( MaxX, 0, MaxX, 50 ) ; /* redraw right boundary */ /* if the brick hit is on the extreme left */ if ( ( BallX + 10 ) / 32 == 0 ) line ( 0, 0, 0, 50 ) ; /* redraw left boundary */ /* if the brick hit is in the topmost layer */ if ( layer == 0 ) line ( 0, 0, MaxX, 0 ) ; /* redraw top boundary */ /* set appropriate array element to 1 to indicate absence of brick */ bri[layer][ ( BallX + 10 ) / 32 ] = 1 ; BallY = BallY + 1 ; /* update the y coordinate */ dy = -dy ; /* change the current direction of the ball */ score += 10 ; /* increment the score by 10 */ gotoxy ( 16, 25 ) ; cout<< score; /* display latest score */ /* if the first brick is hit during a throw*/ } /* if ball reached the bottom */ if ( BallY > 180 - 12 )<br /> {<br /> <br /> <br /> /* if paddle missed the ball */<br /> if ( BallX < Base1 - 20 || BallX > Base1 + 50 )<br /> {<br /> /* continue the decrement of the ball */<br /> while ( BallY < 177 ) { /* erase the image of the ball at the old coordinates */ putimage ( OldX, OldY, m1, XOR_PUT ) ; /* put the image of the ball at the new coordinates */ putimage ( BallX, BallY, m1, XOR_PUT ) ; /* introduce delay for fewseconds */ delay ( speed ) ; /* saveing current x and y coordinates of the ball */ OldX = BallX ; OldY = BallY ; /* update ballx and bally to move the ball in correct direction */ BallX = BallX + dx ; BallY = BallY + dy ; } chance-- ; /* decrement the total number of chances */ score -= 10 ; /* decrement 10 points for each ball lost */ gotoxy ( 16, 25 ) ; cout<< score; /* display latest score */ bell ( 1 ) ; /* erase one of the available balls */ if ( chance ) putimage ( 515 + ( chance - 1 ) * 35 - 12 , MaxY - 10, m1, XOR_PUT ) ; /* if the last ball is being played */ if ( chance == 1 ) { gotoxy ( 45, 25 ) ; cout<< "Last ball... careful!"; } /* if all the balls are lost */ if ( !chance ) { gotoxy ( 45, 25 ) ; cout<<"Press any key to continue ... " ; outtextxy ( MidX, MidY, "Better luck next time" ) ; bell ( 2 ) ; closegraph() ; restorecrtmode() ; closegraph(); /* Close the graphics mode */ Initialize(); /* Intialize the graphics mode */ setbkcolor(4); SayGoodbye(); /* Display the That's all Folks message */ closegraph(); /* Return the system to text mode */ exit ( 0 ) ; } } /* if ball is collected on paddle */ bell ( 4 ) ; BallY = 180 - 12 ; /* restore the y coordinate of ball */ dy = -dy ; /* move the ball upwards */ } /* put the image of the ball at the old coordinates */ putimage ( OldX, OldY, m1, OR_PUT ) ; /* erase the image of the ball at the old coordinates */ putimage ( OldX, OldY, m1, XOR_PUT ) ; /* put the image of the ball at the upadted coordinates */ putimage ( BallX, BallY, m1, XOR_PUT ) ; /* If score becomes 500 for every level player the speed of the ball will be standard PLAYER playing Fast level feel reduction of speed n PLAYER playing slow or medium level feel increment in speed... */ if(score==600) speed=6 ; /* if all the bricks have been knockout */ if ( score == 800 - ( ( 4 - chance ) * 10 ) ) { outtextxy ( MidX, MidY, "Winner !!" ) ; if ( score < 800 ) outtextxy ( MidX, MidY + 30, "Try to score 800" ) ; else outtextxy ( MidX, MidY + 30, " GREAT!" ) ; bell ( 2 ) ; SayGoodbye(); /* Display the That's all Folks message */ closegraph() ; restorecrtmode() ; exit ( 0 ) ; } /* introduce delay for few seconds */ delay ( speed ) ; /* if the key is pressed to exit the game */ if ( kbhit() ) { /* interrupt issue to obtain the ascii and scan codes of key hit */ ii.h.ah = 0 ; int86 ( 22, &ii, &oo ) ; /* if Esc key has been pressed */ if ( oo.h.ah == 1 ) exit ( 0 ) ; } /* put the image of the paddle at the old coordinates */ putimage ( Base1, Base2, m2, OR_PUT ) ; /* erase the image of the paddle at the old coordinates */ putimage ( Base1, Base2, m2, XOR_PUT ) ; // /* if Esc key has been pressed */ // if ( oo.h.ah == 1 ) // exit ( 0 ) ; /* right arrow key */ // if ( oo.h.ah == 75 ) // Base1 = //Base1 - 25 ; /* left arrow key */ // if ( oo.h.ah == 77 ) // Base1= Base1 + 25 ; /**********************************************************/ //dummy variables are useless //to get current x co-ordinate of the //mouse pointer pointer of Base1 is passed //the result is copied in the variable int ydummy,clickdummy; MousePos(&Base1,&ydummy,&clickdummy); /* if paddle goes beyond left boundary */ if ( Base1 < 0 ) Base1 = 0 ; /* if paddle goes beyond right boundary */ if ( Base1 > 589 )<br /> Base1 = 589 ;<br /> /* put the image of the paddle at the proper position */<br /> putimage ( Base1, Base2, m2, XOR_PUT ) ;<br /> // }<br /> }<br /> closegraph();<br /> Initialize();<br /> SayGoodbye(); /* Give user the closing screen */<br /> closegraph(); /* Return the system to text mode */<br /> return(0);<br /> }<br /> <br /> /* This function creates the opening screen and displyed instruction<br /> related to the game<br /> along with two option play or exit.After selecting the paly option it<br /> display<br /> three levels of the game and according to your choice you can select <br /> any<br /> level.<br /> This selected level is returned by this function to the mainprogram<br /> according to which<br /> the speed is assigned to the ball*/<br /> <br /> screen()<br /> {<br /> int i, j, lx = 0, ly = 0, ch ;<br /> <br /> <br /> rectangle(1,1,600,195);<br /> setbkcolor(4);<br /> /* set the textstyle for displaying instruction */<br /> changetextstyle ( DEFAULT_FONT, HORIZ_DIR, 0 ) ;<br /> outtextxy ( 150, 55, " Instructions " ) ;<br /> changetextstyle (4, HORIZ_DIR, 5 );<br /> outtextxy ( 130, 0, " B R I C K S" ) ;<br /> changetextstyle ( DEFAULT_FONT, HORIZ_DIR, 0 ) ;<br /> outtextxy ( 30, 68, "Use mouse to move the paddle" ) ; // can also <br /> use<br /> KEYBOARD after activating keyboard event (use LEFT and RIGHT keys to <br /> move<br /> the PADDLE<br /> outtextxy ( 30, 88, "If you don't collect the ball on the paddle, you<br /> lose the ball." ) ;<br /> outtextxy ( 30, 108, "On loosing a ball you loose 10 points." ) ;<br /> outtextxy ( 30, 128, "On taking a brick you gain 10 points." ) ;<br /> changetextstyle(7, HORIZ_DIR, 3);<br /> outtextxy ( 100, 148, "Press any key to continue ..." ) ;<br /> bell ( 3 ) ; /* ring music */<br /> fflush ( stdin ) ;<br /> // if ( getch() == 0 )<br /> // getch() ;<br /> <br /> closegraph();<br /> initgraph ( &graphdriver, &graphmode, "c:\tc\bgi" ) ;<br /> rectangle(2,2,620,195);<br /> setbkcolor(4);<br /> /* display the main menu */<br /> while ( 1 )<br /> {<br /> <br /> changetextstyle(4,HORIZ_DIR,5);<br /> outtextxy ( 60, 8, "Options Available:" ) ;<br /> outtextxy ( 150, 55, "Play ( P )" ) ;<br /> outtextxy ( 150, 125, "Exit ( E )" ) ;<br /> <br /> ch = 0 ;<br /> <br /> /* continue untill you select the correct choice */<br /> while ( ! ( ch == 'E' || ch == 'P' ) )<br /> {<br /> fflush ( stdin ) ;<br /> <br /> /* if a special key is hit, flush the keyboard buffer */<br /> if ( ( ch = getch() ) == 0 )<br /> getch() ;<br /> else<br /> ch = toupper ( ch ) ; /* store the uppercase of the choice <br /> made*/<br /> }<br /> <br /> if ( ch == 'P' )<br /> break ;<br /> if (ch == 'E')<br /> exit ( 0 ) ;<br /> <br /> }<br /> <br /> // setviewport ( 1, 125 - 12, MaxX - 1, MaxY - 1, 1 ) ;<br /> // clearviewport() ;<br /> closegraph();<br /> initgraph ( &graphdriver, &graphmode, "c:\tc\bgi" ) ;<br /> rectangle(2,2,620,195);<br /> setbkcolor(4);<br /> <br /> /* display menu for the diffrent levels */<br /> changetextstyle(7,HORIZ_DIR,3);<br /> outtextxy ( 60, 8, "Select the level for play:" ) ;<br /> outtextxy ( 150,50, "Slow ( S )" ) ;<br /> outtextxy ( 150, 100, "Medium ( M )" ) ;<br /> outtextxy ( 150, 150, "Fast ( F )" ) ;<br /> <br /> /* accept user's choice */<br /> fflush ( stdin ) ;<br /> if ( ( ch = getch() ) == 0 )<br /> getch() ;<br /> <br /> clearviewport() ;<br /> <br /> /* return the choice selected by the user */<br /> return ( ch ) ;<br /> }<br /> <br /> /* This function draws bricks at the start of the game.There are four<br /> layers of<br /> the bricks */<br /> bricks()<br /> {<br /> int i, j, lx = 0, ly = 0 ;<br /> <br /> for ( i = 0 ; i < 5 ; i++ ) /* 5 rows */ { for ( j = 0 ; j < 30 ; j++ ) /* 20 columns */ { /* draw a brick at appropriate coordinates */ rectangle ( lx, ly, lx + 20, ly + 7 ) ; floodfill ( lx + 1, ly + 1, 2 ) ; lx = lx + 32 ; } lx = 0 ; ly = ly + 10 ; } } /* This function erases the brick which is knock by the ball */ delbrick ( int b, int l ) { /* b - brick number, l - layer */ setcolor ( BLACK ) ; rectangle ( b * 32, l * 10, ( b * 32 ) + 20 , ( l * 10 ) + 7 ) ; rectangle ( b * 32 + 1, l * 10, ( b * 32 ) + 20 - 1, ( l * 10 ) + 7 - 1 ) ; rectangle ( b * 32 + 2, l * 10, ( b * 32 ) + 20 - 2, ( l * 10 ) + 7 - 2 ) ; rectangle ( b * 32 + 3, l * 10, ( b * 32 ) + 20 - 3, ( l * 10 ) + 7 - 3 ) ; rectangle ( b * 32 + 4, l * 10, ( b * 32 ) + 20 - 4, ( l * 10 ) + 7 - 4 ) ; rectangle ( b * 32 + 5, l * 10, ( b * 32 ) + 20 - 5, ( l * 10 ) + 7 - 5 ) ; rectangle ( b * 32 + 6, l * 10, ( b * 32 ) + 20 - 6, ( l * 10 ) + 7 - 6 ) ; setcolor ( CGA_YELLOW ) ; } /* plays different types of music */ bell ( int m_no ) { /* natural frequencies of 7 notes */ float wave[6] = { 120.81, 136.83, 144.81, 154.61, 216, 240 } ; int n, i ; switch ( m_no ) { case 1 : for ( i = 0 ; i < 6 ; i++ ) { sound ( wave[i] * 1 ) ; delay ( 30 ) ; } nosound() ; break ; case 2 : for ( i = 0 ; i < 15 ; i++ ) { n = random ( 6 ) ; sound ( wave[n] * 2 ) ; delay ( 100 ) ; } nosound() ; break ; case 3 : // while ( !kbhit() ) { n = random ( 6 ) ; sound ( wave[n] * 2 ) ; delay ( 100 ) ; } nosound() ; /* flush the keyboard buffer */ if ( getch() == 0 ) getch() ; break ; case 4 : for ( i = 5 ; i >= 0 ; i-- )<br /> {<br /> sound ( wave[i] * 4 ) ;<br /> delay ( 15 ) ;<br /> }<br /> nosound() ;<br /> break ;<br /> <br /> case 5 :<br /> sound ( wave[2] * 5 ) ;<br /> delay ( 50 ) ;<br /> nosound() ;<br /> }<br /> }<br /> /* */<br /> /* INITIALIZE: Initializes the graphics system and reports */<br /> /* any errors which occured. */<br /> /* */<br /> <br /> void Initialize(void)<br /> {<br /> int xasp, yasp; /* Used to read the aspect ratio*/<br /> <br /> GraphDriver = DETECT; /* Request auto-detection */<br /> initgraph( &GraphDriver, &GraphMode, "c:\tc\bgi" );<br /> ErrorCode = graphresult(); /* Read result of initialization*/<br /> if( ErrorCode != grOk ){ /* Error occured during init */<br /> printf(" Graphics System Error: %s<br /> ", grapherrormsg( ErrorCode ) );<br /> exit( 1 );<br /> }<br /> <br /> getpalette( &palette ); /* Read the palette from board */<br /> MaxColors = getmaxcolor() + 1; /* Read maximum number of colors*/<br /> <br /> MaxXX = getmaxx();<br /> MaxYY = getmaxy(); /* Read size of screen */<br /> <br /> <br /> }<br /> /* */<br /> /* SAYGOODBYE: Give a closing screen to the user before leaving. */<br /> /* */<br /> <br /> void SayGoodbye(void)<br /> {<br /> struct viewporttype viewinfo; /* Structure to read viewport */<br /> int h, w;<br /> <br /> // MainWindow( "== Finale ==" );<br /> <br /> getviewsettings( &viewinfo ); /* Read viewport settings */<br /> changetextstyle( TRIPLEX_FONT, HORIZ_DIR, 4 );<br /> settextjustify( CENTER_TEXT, CENTER_TEXT );<br /> <br /> h = viewinfo.bottom - viewinfo.top;<br /> w = viewinfo.right - viewinfo.left;<br /> cleardevice();<br /> <br /> // StatusLine( "Press any key to EXIT" );<br /> <br /> getch();<br /> <br /> cleardevice(); /* Clear the graphics screen */<br /> <br /> }<br /> <br /> <br /> <br /> //}<br /> <br /> /* */<br /> /* CHANGETEXTSTYLE: similar to settextstyle, but checks for */<br /> /* errors that might occur while loading the font file. */<br /> /* */<br /> <br /> void changetextstyle(int font, int direction, int charsize)<br /> {<br /> int ErrorCode;<br /> <br /> graphresult(); /* clear error code */<br /> settextstyle(font, direction, charsize);<br /> ErrorCode = graphresult(); /* check result */<br /> if( ErrorCode != grOk ){ /* if error occured */<br /> closegraph();<br /> printf(" Graphics System Error: %s<br /> ", grapherrormsg( ErrorCode ) );<br /> exit( 1 );<br /> }<br /> }<br /> <br /> /* The main function body of main screen which displays the main screen<br /> creating the opening screen display */<br /> mainscreen()<br /> {<br /> int maxx, maxy, in, area;<br /> <br /> // get maximum x, y coordinates of the screen<br /> maxx = getmaxx();<br /> maxy = getmaxy();<br /> <br /> // setbkcolor sets the current background color using the palette<br /> setbkcolor(RED);<br /> <br /> // Draws a rectangle (graphics mode)<br /> rectangle(0, 0, maxx, maxy);<br /> <br /> // sets the line style and text justification in screen<br /> changetextstyle(10, HORIZ_DIR, 4);<br /> <br /> // displaying the output text on main screen<br /> outtextxy(140, 0, " WELCOME");<br /> outtextxy(170,50," TO ");<br /> outtextxy(140,100," BRICKS");<br /> changetextstyle(7, HORIZ_DIR, 3);<br /> bell(3);<br /> outtextxy(110, 160, "Press any key to continue...");<br /> <br /> // Flushes the standard input device<br /> fflush(stdin);<br /> getch();<br /> closegraph();<br /> <br /> }<br /> <br />

No comments:

Post a Comment