Below you have the functions' name and their description.
Name
|
Description
|
ConsoleDimensions
|
Sets the length and width of the console
|
ConsoleColours
|
Sets console's background and text colour
|
GoTo
|
Moves the colour on the screen to the specified coordinates
|
Colour
|
Sets background and text colours
|
DrawOutline
|
Draws the outline of a rectangle
|
DrawRectangle
|
Draws a filled rectangle
|
DrawGrid
|
Draws the outline of a grid
|
DrawInnerGrid
|
Draws a filled grid
|
StripesOutline
|
Draws the striped outline of a rectangle
|
StripesRectangle
|
Draws a rectangle shape filled with stripes
|
DoubleBorderRectangle
|
Draws a rectangle-shaped border
|
DoubleBorderGrid
|
Draws a grid
|
#include<Windows.h> /* * Description: * Moves the cursor on the screen * Parameters: * horizontalCoordinate - the new horizontal coordinate * verticalCoordinate - the new vertical coodinate */ void GoTo(int horizontalCoordinate, int verticalCoordinate) { COORD coordinates; coordinates.X=horizontalCoordinate; coordinates.Y=verticalCoordinate; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coordinates); } /* * Description: * Sets the length and width of the console * Parameters: * length - number of characters allowed horizontally * width - number of characters allowed verically */ void ConsoleDimensions(int length, int width) { char string[20]="mode"; char columns[4]; char rows[4]; itoa(length,columns,10); itoa(width,rows,10); strcat(string," "); strcat(string,columns); strcat(string,","); strcat(string,rows); system(string); } /* * Description: * Sets background and text colours * Parameters: * backgroundColour - the new background colour * textColour - the new text colour */ void Colour(char backgroundColour[], char textColour[]) { char string[20]="0x"; char *end; int background=0, text=0; char backgroundString[4], textString[4]; int code=0; //codes for background colour if(strcmp(backgroundColour,"black") == 0) background=0; else if(strcmp(backgroundColour,"dark blue") == 0) background=1; else if(strcmp(backgroundColour,"green") == 0) background=2; else if(strcmp(backgroundColour,"cyan") == 0) background=3; else if(strcmp(backgroundColour,"red") == 0) background=4; else if(strcmp(backgroundColour,"dark purple") == 0) background=5; else if(strcmp(backgroundColour,"brown") == 0) background=6; else if(strcmp(backgroundColour,"gray") == 0) background=7; else if(strcmp(backgroundColour,"dark gray") == 0) background=8; else if(strcmp(backgroundColour,"blue") == 0) background=9; else if(strcmp(backgroundColour,"neon green") == 0) background=10; else if(strcmp(backgroundColour,"ligth blue") == 0) background=11; else if(strcmp(backgroundColour,"light red") == 0) background=12; else if(strcmp(backgroundColour,"magenta") == 0) background=13; else if(strcmp(backgroundColour,"yellow") == 0) background=14; else background=15; //codes for text colour if(strcmp(textColour,"black") == 0) text=0; else if(strcmp(textColour,"dark blue") == 0) text=1; else if(strcmp(textColour,"green") == 0) text=2; else if(strcmp(textColour,"cyan") == 0) text=3; else if(strcmp(textColour,"red") == 0) text=4; else if(strcmp(textColour,"dark purple") == 0) text=5; else if(strcmp(textColour,"brown") == 0) text=6; else if(strcmp(textColour,"gray") == 0) text=7; else if(strcmp(textColour,"dark gray") == 0) text=8; else if(strcmp(textColour,"blue") == 0) text=9; else if(strcmp(textColour,"neon green") == 0) text=10; else if(strcmp(textColour,"ligth blue") == 0) text=11; else if(strcmp(textColour,"light red") == 0) text=12; else if(strcmp(textColour,"magenta") == 0) text=13; else if(strcmp(textColour,"yellow") == 0) text=14; else text=15; //constructing the code for background and text colour itoa(background,backgroundString,16); itoa(text,textString,16); strcat(string,backgroundString); strcat(string,textString); code=strtol(string,&end,16); //sets the desired background and text colour SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),code); } /* * Description: * Draw a filled rectangle * Parameters: * horizontalCoordinate - the upper-left horizontal coordinate of the rectangle * verticalCoordinate - the upper-left vertical coordinate of the rectangle * length - the length of the rectangle in number of characters * width - the width of the rectabgle in number of characters * colour - the colour of the rectangle */ void DrawRectangle(int horizontalCoordinate, int verticalCoordinate, int length, int width, char colour[]) { int i=0, j=0; GoTo(horizontalCoordinate,verticalCoordinate);//starting position Colour(colour,colour);//sets colour to be drawn for(i; i<length; i++) { for(j=0; j<width; j++) { GoTo(horizontalCoordinate+i,verticalCoordinate+j); printf("*"); } } } /* * Description: * Sets console's background and text colours * Parameters: * backgroundColour - the new background colour of the console * textColour - the new text colour */ void ConsoleColours(char backgroundColour[], char textColour[]) { char string[20]="Color "; int background=0, text=0; char sBack[4], sText[4]; //codes for background colour if(strcmp(backgroundColour,"black") == 0) background=0; else if(strcmp(backgroundColour,"dark blue") == 0) background=1; else if(strcmp(backgroundColour,"green") == 0) background=2; else if(strcmp(backgroundColour,"cyan") == 0) background=3; else if(strcmp(backgroundColour,"red") == 0) background=4; else if(strcmp(backgroundColour,"dark purple") == 0) background=5; else if(strcmp(backgroundColour,"brown") == 0) background=6; else if(strcmp(backgroundColour,"gray") == 0) background=7; else if(strcmp(backgroundColour,"dark gray") == 0) background=8; else if(strcmp(backgroundColour,"blue") == 0) background=9; else if(strcmp(backgroundColour,"neon green") == 0) background=10; else if(strcmp(backgroundColour,"ligth blue") == 0) background=11; else if(strcmp(backgroundColour,"light red") == 0) background=12; else if(strcmp(backgroundColour,"magenta") == 0) background=13; else if(strcmp(backgroundColour,"yellow") == 0) text=14; else background=15; //codes for text colour if(strcmp(textColour,"black") == 0) text=0; else if(strcmp(textColour,"dark blue") == 0) text=1; else if(strcmp(textColour,"green") == 0) text=2; else if(strcmp(textColour,"cyan") == 0) text=3; else if(strcmp(textColour,"red") == 0) text=4; else if(strcmp(textColour,"dark purple") == 0) text=5; else if(strcmp(textColour,"brown") == 0) text=6; else if(strcmp(textColour,"gray") == 0) text=7; else if(strcmp(textColour,"dark gray") == 0) text=8; else if(strcmp(textColour,"blue") == 0) text=9; else if(strcmp(textColour,"neon green") == 0) text=10; else if(strcmp(textColour,"ligth blue") == 0) text=11; else if(strcmp(textColour,"light red") == 0) text=12; else if(strcmp(textColour,"magenta") == 0) text=13; else if(strcmp(textColour,"yellow") == 0) text=14; else text=15; itoa(background,sBack,16); itoa(text,sText,16); strcat(string,sBack); strcat(string,sText); system(string); } /* * Description: * Draws the outline of a rectangle * Parameters: * horizontalCoordinate - the upper-left horizontal coordinate of the rectangle * verticalCoordinate - the upper-left vertical coodinate of the rectangle * length - the length of the rectangle in number of characters * width - the width of the rectangle in number of characters * colour - the colour of the outline */ void DrawOutline(int horizontalCoordinate, int verticalCoordinate, int length, int width, char colour[]) { int i=0, j=0; Colour(colour,colour); GoTo(horizontalCoordinate,verticalCoordinate);//up for(i=0; i<length+2; i++) printf("*"); for(i=0; i<width; i++)//left { GoTo(horizontalCoordinate,verticalCoordinate+i+1); printf("*"); } for(i=0; i<width; i++)//right { GoTo(horizontalCoordinate+length+1,verticalCoordinate+i+1); printf("*"); } GoTo(horizontalCoordinate,verticalCoordinate+width+1);//down for(i=0; i<length+2; i++) printf("*"); } /* * Description: * Draws the outline of a grid * Parameters: * horizontalCoordinate - the upper-left horizontal coordinate of the grid * verticalCoordinate - the upper-left vertical coodinate of the grid * length - the length of a rectangle in number of characters * width - the width of a rectangle in number of characters * rows - the number of rows of the grid * columns - the number of columns of the grid * colour - the colour of the outline */ void DrawGrid(int horizontalCoordinate, int verticalCoordinate, int length, int width, int rows, int columns, char colour[]) { int i=0, j=0; for(i=0; i<rows; i++) for(j=0; j<columns; j++) { DrawOutline(horizontalCoordinate+i+length*i,verticalCoordinate+j+width*j, length,width,colour); } } /* * Description: * Draws a filled grid * Parameters: * horizontalCoordinate - the upper-left horizontal coordinate of the grid * verticalCoordinate - the upper-left vertical coodinate of the grid * length - the length of a rectangle in number of characters * width - the width of a rectangle in number of characters * rows - the number of rows of the grid * columns - the number of columns of the grid * colour - the colour of each rectangle */ void DrawInnerGrid(int horizontalCoordinate, int verticalCoordinate, int length, int width, int rows, int columns, char colour[]) { int i=0, j=0; for(i=0; i<rows; i++) for(j=0; j<columns; j++) { DrawRectangle(horizontalCoordinate+i+length*i,verticalCoordinate+j+width*j, length,width,colour); } } /* * Description: * Draws the striped outline of a rectangle * Parameters: * horizontalCoordinate - the upper-left horizontal coordinate of the rectangle * verticalCoordinate - the upper-left vertical coodinate of the rectangle * length - the length of the rectangle in number of characters * width - the width of the rectangle in number of characters * backgroundColour - the colour of the background * textColour - the colour of the text */ void StripesOutline(int horizontalCoordinate, int verticalCoordinate, int length, int width, char backgroundColour[], char textColour[]) { int i=0, j=0; Colour(backgroundColour,textColour); GoTo(horizontalCoordinate,verticalCoordinate);//up for(i=0; i<length+2; i++) { printf("%c",176); } for(i=0; i<width; i++)//left { GoTo(horizontalCoordinate,verticalCoordinate+i+1); printf("%c",176); } for(i=0; i<width; i++)//right { GoTo(horizontalCoordinate+length+1,verticalCoordinate+i+1); printf("%c",176); } GoTo(horizontalCoordinate,verticalCoordinate+width+1);//down for(i=0; i<length+2; i++) { printf("%c",176); } } /* * Description: * Draws a rectangle shape filled with stripes * Parameters: * horizontalCoordinate - the upper-left horizontal coordinate of the rectangle * verticalCoordinate - the upper-left vertical coodinate of the rectangle * length - the length of the rectangle in number of characters * width - the width of the rectangle in number of characters * backgroundColour - the colour of the background * textColour - the colour of the text */ void StripesRectangle(int horizontalCoordinate, int verticalCoordinate, int length, int width, char backgroundColour[], char textColour[]) { int i=0, j=0; GoTo(horizontalCoordinate,verticalCoordinate);//starting position Colour(backgroundColour,textColour);//sets colour to be drawn for(i; i<length; i++) { for(j=0; j<width; j++) { GoTo(horizontalCoordinate+i,verticalCoordinate+j); printf("%c",176); } } } /* * Description: * Draws a rectangle-shaped border * Parameters: * horizontalCoordinate - the upper-left horizontal coordinate of the rectangle * verticalCoordinate - the upper-left vertical coodinate of the rectangle * length - the length of the rectangle in number of characters * width - the width of the rectangle in number of characters * backgroundColour - the colour of the background * textColour - the colour of the text */ void DoubleBorderRectangle(int horizontalCoordinate, int verticalCoordinate, int length, int width, char backgroundColour[], char textColour[]) { int i=0, j=0; Colour(backgroundColour,textColour); GoTo(horizontalCoordinate,verticalCoordinate);//up for(i=0; i<length+2; i++) { printf("%c",205); } for(i=0; i<width; i++)//left { GoTo(horizontalCoordinate,verticalCoordinate+i+1); printf("%c",186); } for(i=0; i<width; i++)//right { GoTo(horizontalCoordinate+length+1,verticalCoordinate+i+1); printf("%c",186); } GoTo(horizontalCoordinate,verticalCoordinate+width+1);//down for(i=0; i<length+2; i++) { printf("%c",205); } //corners GoTo(horizontalCoordinate,verticalCoordinate); printf("%c",201); GoTo(horizontalCoordinate,verticalCoordinate+width+1); printf("%c",200); GoTo(horizontalCoordinate+length+1,verticalCoordinate); printf("%c",187); GoTo(horizontalCoordinate+length+1,verticalCoordinate+width+1); printf("%c",188); } /* * Description: * Draws a grid * Parameters: * horizontalCoordinate - the upper-left horizontal coordinate of the grid * verticalCoordinate - the upper-left vertical coodinate of the grid * length - the length of a rectangle in number of characters * width - the width of a rectangle in number of characters * rows - the number of rows of the grid * columns - the number of columns of the grid * backgroundColour - the background colour * textColour - the text colour */ void DoubleBorderGrid(int horizontalCoordinate, int verticalCoordinate, int length, int width, int columns, int rows, char backgroundColour[], char textColour[]) { int i=0, j=0; for(i=0; i<rows; i++) for(j=0; j<columns; j++) { DoubleBorderRectangle(horizontalCoordinate+i*2+length*i+i, verticalCoordinate+j+width*j+j,length,width, backgroundColour,textColour); } }
Example: I will show you how to use the functions above, as well as what they do on the console.
#include"GRAPH_LIB.h" int main(void) { ConsoleDimensions(30,20); ConsoleColours("dark gray","yellow"); GoTo(1,1); printf("Vintage Coding"); GoTo(2,2); Colour("light red","white"); printf("Vintage Coding"); DrawOutline(3,3,3,3,"black"); DrawRectangle(4,4,3,3,"green"); DrawGrid(1,8,3,3,2,2,"red"); DrawInnerGrid(2,9,3,3,2,2,"blue"); StripesOutline(14,3,3,3,"neon green","dark blue"); StripesRectangle(15,4,3,3,"dark purple","magenta"); DoubleBorderRectangle(25,3,3,3,"gray","cyan"); DoubleBorderGrid(14,8,3,3,2,2,"dark gray","brown"); getch(); return 0; }
Output:
No comments:
Post a Comment