Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <conio.h>
- #include <Windows.h>
- #include <stdlib.h>
- #include <time.h>
- #include <dos.h>
- int Main_Menu(void);
- void PrintScreen(void);
- void PrintMenu_right(char option, struct tagScreen_Cursor cursor_s);
- struct tagScreen_Cursor ScreenPaint(struct tagScreen_Cursor cursor_s, char option);
- int CursorYconvertCOLOUR(char option);
- int CursorYconvertTYPE(char option);
- int ReadConsoleL(char *c);
- void ConvertNumtoType(char *c);
- void PrintInstructions(void);
- void PrintLoadingBar(void);
- void Pausa_S(void);
- void New_Paint(void);
- struct tagS_Cursor *NewNode(void);
- void InserirNovoNo(struct tagS_Cursor **phead, struct tagS_Cursor *pnew);
- void PrintCredits(void);
- void DrawBox(int ini_x, int ini_y, int quant_x, int quant_y);
- void Add_ext(char *sname);
- int PrintWrite_to_binary(struct tagS_Cursor **phead, char *string);
- void ImEx_portPrint(struct tagS_Cursor **phead, char type[]);
- int PrintRead_from_binary(struct tagS_Cursor **phead, char *string);
- int Search_and_Del_Cursor(struct tagS_Cursor **phead, COORD cursor);
- void PrintColours(void);
- void PrintTypes(void);
- void ResetScreen(struct tagScreen_Cursor cursor_s);
- void ResetStruct(struct tagS_Cursor **phead);
- struct tagScreen_Cursor {
- COORD pos;
- char colour;
- char type;
- };
- struct tagS_Cursor {
- COORD pos;
- char colour;
- char type;
- struct tagS_Cursor *pnext;
- struct tagS_Cursor *pprev;
- };
- HANDLE hConsole;
- COORD cursor_default;
- CONSOLE_CURSOR_INFO cursor_i;
- int main() {
- char c;
- int control;
- struct tagScreen_Cursor cursor_s;
- struct tagS_Cursor *phead, *New; //TODO: Gravar em ficheiros e ler de ficheiros
- FILE *pINI;
- COORD cursor;
- pINI = fopen("paintdos.ini", "a+");
- phead = NULL;
- cursor_default.X = 4;
- cursor_default.Y = 5;
- cursor_s.pos = cursor_default;
- cursor_s.colour = cursor_s.type = 0;
- PrintLoadingBar();
- PrintScreen();
- PrintMenu_right('\0', cursor_s);
- PrintInstructions();
- while(TRUE) {
- control=ReadConsoleL(&c);
- if( c == 'p' )
- New_Paint();
- else if( control == 0 ) {
- cursor_s = ScreenPaint(cursor_s, c);
- if( cursor_s.type != 0 && cursor_s.colour != 0 && c == 32) {
- New = NewNode();
- New->colour = cursor_s.colour;
- New->pos = cursor_s.pos;
- New->type = cursor_s.type;
- InserirNovoNo(&phead, New);
- }
- if( c == 'h' )
- Search_and_Del_Cursor(&phead, cursor_s.pos);
- }
- else if( control == 1 || control == 2) {
- PrintMenu_right(c, cursor_s);
- if( control == 2 )
- cursor_s.colour = c;
- else
- cursor_s.type = c;
- }
- else if( control == 5 ) {
- system("cls");
- PrintCredits();
- break;
- }
- else if( control == 10 ) {
- ImEx_portPrint(&phead, "Export", cursor_s);
- ResetStruct(&phead);
- }
- else if( control == 11 ) {
- ResetStruct(&phead);
- ImEx_portPrint(&phead, "Import", cursor_s);
- }
- }
- fclose(pINI);
- return 0;
- }
- void PrintScreen() {
- int idx;
- COORD cursor, cursor2;
- hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
- /* Primeira linha HORIZONTAL */
- cursor.X = 2;
- cursor.Y = 2;
- SetConsoleCursorPosition(hConsole, cursor);
- for(idx=0; idx < 73; idx++) {
- putchar(220);
- }
- /* Primeira linha HORIZONTAL */
- /* Texto Bem-Vindo */
- cursor.X = 27;
- cursor.Y = 3;
- SetConsoleCursorPosition(hConsole, cursor);
- SetConsoleTextAttribute(hConsole, BACKGROUND_GREEN | BACKGROUND_BLUE | BACKGROUND_RED | FOREGROUND_BLUE);
- printf(" Bem-Vindo ao Paint DOS! ");
- /* Texto Bem-Vindo */
- SetConsoleTextAttribute(hConsole, FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_RED);
- /* PRIMEIRA linha HORIZONTAL */
- cursor.X = 2;
- cursor.Y = 4;
- SetConsoleCursorPosition(hConsole, cursor);
- for(idx=0; idx < 73; idx++) {
- putchar(219);
- }
- /* Primeira linha HORIZONTAL */
- /* Ultima linha HORIZONTAL */
- cursor.Y = 22;
- cursor.X = 2;
- SetConsoleCursorPosition(hConsole, cursor);
- for(idx=0; idx < 73; idx++ ) {
- putchar(220);
- }
- /* Ultima linha HORIZONTAL */
- /* Linhas VERTICAIS PRINCIPAIS */
- cursor.Y = cursor2.Y = 3;
- cursor.X = 2;
- cursor2.X = 74;
- for(; cursor.Y < 23 && cursor2.Y < 23; cursor.Y++, cursor2.Y++) {
- SetConsoleCursorPosition(hConsole, cursor);
- putchar(219);
- SetConsoleCursorPosition(hConsole, cursor2);
- putchar(219);
- }
- /* Linhas VERTICAIS PRINCIPAIS */
- /* Linha VERTICAL INTERIOR */
- cursor.Y = 5;
- cursor.X = 60;
- for(; cursor.Y < 23; cursor.Y++) {
- SetConsoleCursorPosition(hConsole, cursor);
- putchar(219);
- }
- /* Linha VERTICAL INTERIOR */
- cursor.X = 2;
- cursor.Y = 24;
- SetConsoleCursorPosition(hConsole, cursor);
- SetConsoleTextAttribute(hConsole, FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_RED);
- }
- void PrintMenu_right(char option, struct tagScreen_Cursor cursor_s) {
- int idx, block = '\0';
- static char last_c, last_w;
- COORD cursor;
- hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
- cursor_i.bVisible = FALSE;
- SetConsoleCursorInfo(hConsole, &cursor_i);
- cursor.X = 63;
- /* Escolher CORES */
- if(last_c == 0)
- PrintColours();
- SetConsoleTextAttribute(hConsole, FOREGROUND_GREEN | FOREGROUND_RED);
- if( option == 'q' || option == 'w' || option == 'e' ) {
- if( last_c != option && last_c != 0 ) {
- cursor.Y = CursorYconvertCOLOUR(last_c);
- cursor.X--;
- cursor.Y--;
- SetConsoleCursorPosition(hConsole, cursor);
- for(idx=0; idx < 4; idx++)
- putchar(' ');
- cursor.Y++;
- SetConsoleCursorPosition(hConsole, cursor);
- putchar(' ');
- cursor.Y++;
- SetConsoleCursorPosition(hConsole, cursor);
- for(idx=0; idx < 4; idx++)
- putchar(' ');
- cursor.Y--;
- cursor.X += 3;
- SetConsoleCursorPosition(hConsole, cursor);
- putchar(' ');
- cursor.X = 63;
- }
- cursor.Y = CursorYconvertCOLOUR(option);
- cursor.X--;
- cursor.Y--;
- SetConsoleCursorPosition(hConsole, cursor);
- for(idx=0; idx < 4; idx++)
- putchar('+');
- cursor.Y++;
- SetConsoleCursorPosition(hConsole, cursor);
- putchar('+');
- cursor.Y++;
- SetConsoleCursorPosition(hConsole, cursor);
- for(idx=0; idx < 4; idx++)
- putchar('+');
- cursor.Y--;
- cursor.X += 3;
- SetConsoleCursorPosition(hConsole, cursor);
- putchar('+');
- last_c = option;
- }
- /* Escolher CORES */
- cursor.X = 69;
- SetConsoleTextAttribute(hConsole, FOREGROUND_GREEN | FOREGROUND_RED | FOREGROUND_BLUE);
- /* Escolher OBJECT */
- if( last_w == 0 )
- PrintTypes();
- SetConsoleTextAttribute(hConsole, FOREGROUND_GREEN | FOREGROUND_RED);
- if( option == 'a' || option == 's' || option == 'd' || option == 'f' ) {
- if( last_w != option && last_w != 0) {
- cursor.Y = CursorYconvertTYPE(last_w);
- cursor.X--;
- cursor.Y--;
- SetConsoleCursorPosition(hConsole, cursor);
- for(idx=0; idx < 3; idx++)
- putchar(' ');
- cursor.Y++;
- SetConsoleCursorPosition(hConsole, cursor);
- putchar(' ');
- cursor.Y++;
- SetConsoleCursorPosition(hConsole, cursor);
- for(idx=0; idx < 3; idx++)
- putchar(' ');
- cursor.Y--;
- cursor.X += 2;
- SetConsoleCursorPosition(hConsole, cursor);
- putchar(' ');
- cursor.X = 69;
- }
- cursor.Y = CursorYconvertTYPE(option);
- cursor.X--;
- cursor.Y--;
- SetConsoleCursorPosition(hConsole, cursor);
- for(idx=0; idx < 3; idx++)
- putchar('+');
- cursor.Y++;
- SetConsoleCursorPosition(hConsole, cursor);
- putchar('+');
- cursor.Y++;
- SetConsoleCursorPosition(hConsole, cursor);
- for(idx=0; idx < 3; idx++)
- putchar('+');
- cursor.Y--;
- cursor.X += 2;
- SetConsoleCursorPosition(hConsole, cursor);
- putchar('+');
- last_w = option;
- }
- /* Escolher OBJECT */
- SetConsoleCursorPosition(hConsole, cursor_s.pos);
- SetConsoleTextAttribute(hConsole, FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_RED);
- }
- int CursorYconvertCOLOUR(char option) {
- char cursorY = 0;
- if(option == 'q') // GREEN
- cursorY = 7;
- else if( option == 'w' ) // RED
- cursorY = 11;
- else if( option == 'e') // BLUE
- cursorY = 15;
- return cursorY;
- }
- int CursorYconvertTYPE(char option) {
- char cursorY = 0;
- if(option == 'a')
- cursorY = 7;
- else if( option == 's' )
- cursorY = 10;
- else if( option == 'd')
- cursorY = 13;
- else if( option == 'f' )
- cursorY = 16;
- return cursorY;
- }
- int ReadConsoleL(char *c){
- char ch;
- *c = getch();
- ch = *c;
- switch(ch) {
- case 'q':
- case 'w':
- case 'e': return 2;
- case 'a':
- case 's':
- case 'd':
- case 'f': return 1;
- case 'h':
- case 'j':
- case 'i':
- case 'p':
- case 'k':
- case 'l':
- case 32: return 0;
- case 'y': return 5;
- case 'z': return 10;
- case 'x': return 11;
- default: return -1;
- }
- }
- struct tagScreen_Cursor ScreenPaint(struct tagScreen_Cursor cursor_s, char option) {
- if(cursor_s.colour != 0 && cursor_s.type != 0) {
- if( option == 'j' && cursor_s.pos.X > 4)
- cursor_s.pos.X--;
- else if( option == 'k' && cursor_s.pos.Y < 21)
- cursor_s.pos.Y++;
- else if( option == 'i' && cursor_s.pos.Y > 5 )
- cursor_s.pos.Y--;
- else if( option == 'l' && cursor_s.pos.X < 58)
- cursor_s.pos.X++;
- else if(option == 'h' )
- putchar(' ');
- else if( option == 32 ) {
- if( cursor_s.colour == 'q' )
- SetConsoleTextAttribute(hConsole, FOREGROUND_GREEN);
- else if( cursor_s.colour == 'w' )
- SetConsoleTextAttribute(hConsole, FOREGROUND_RED);
- else if( cursor_s.colour == 'e' )
- SetConsoleTextAttribute(hConsole, FOREGROUND_BLUE);
- ConvertNumtoType(&cursor_s.type);
- printf("%c", cursor_s.type);
- SetConsoleTextAttribute(hConsole, FOREGROUND_BLUE | FOREGROUND_RED| FOREGROUND_GREEN);
- }
- SetConsoleCursorPosition(hConsole, cursor_s.pos);
- }
- return cursor_s;
- }
- void ConvertNumtoType(char *c) {
- if(*c == 'a')
- *c = 219;
- else if( *c == 's' )
- *c = 220;
- else if( *c == 'd')
- *c = 223;
- else if( *c == 'f' )
- *c = 254;
- }
- void PrintInstructions(void) {
- COORD cursor;
- hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
- cursor.X = 1;
- cursor.Y = 24;
- SetConsoleCursorPosition(hConsole, cursor);
- printf("Cores: q, w, e; | Blocos: a, s, d, f; | Pintar: Espaco; | Apagar: h; | Sair: y");
- cursor.X = 1;
- cursor.Y = 1;
- SetConsoleCursorPosition(hConsole, cursor);
- printf("Criado por: ");
- SetConsoleTextAttribute(hConsole, FOREGROUND_GREEN);
- printf("Leandro Soares");
- SetConsoleTextAttribute(hConsole, FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_RED);
- printf(", TGPSI10/01");
- cursor.X = 50;
- cursor.Y = 1;
- SetConsoleCursorPosition(hConsole, cursor);
- printf("Move: j, k, i, l; | Novo: p;");
- }
- void PrintLoadingBar(void) {
- COORD cursor, loading, loading_txt;
- int idx, idx2;
- hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
- PrintInstructions();
- loading_txt.X = 52;
- loading_txt.Y = 10;
- loading.X = 20;
- loading.Y = cursor.Y = 10;
- SetConsoleCursorPosition(hConsole, loading_txt);
- printf("Loading");
- loading_txt.X += 7;
- for(idx=0, cursor.X = 24; idx <= 25; idx++, cursor.X++) {
- SetConsoleCursorPosition(hConsole, loading);
- printf("%d%% ", idx*4);
- Sleep(200);
- SetConsoleCursorPosition(hConsole, cursor);
- putchar(219);
- SetConsoleCursorPosition(hConsole, loading_txt);
- putchar('.');
- loading_txt.X++;
- if(idx % 3 == 0 && idx != 0) {
- for(idx2=0; idx2 < 3; idx2++) {
- loading_txt.X--;
- SetConsoleCursorPosition(hConsole, loading_txt);
- putch(' ');
- }
- }
- }
- cursor.X = 22;
- cursor.Y = 15;
- SetConsoleCursorPosition(hConsole, cursor);
- Pausa_S();
- system("cls");
- }
- void Pausa_S(void) {
- printf("Clique numa tecla para continuar...");
- fflush(stdin);
- getch();
- }
- void New_Paint(void) {
- COORD cursor;
- hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
- cursor.Y = 5;
- while(cursor.Y != 21) {
- cursor.X = 4;
- while(cursor.X != 58) {
- SetConsoleCursorPosition(hConsole, cursor);
- putch(' ');
- cursor.X++;
- }
- cursor.Y++;
- }
- }
- struct tagS_Cursor *NewNode(void) {
- struct tagS_Cursor *New;
- New = (struct tagS_Cursor *) malloc(sizeof(struct tagS_Cursor));
- New->colour = 0;
- New->pnext = NULL;
- New->pos.X = 0;
- New->pos.Y = 0;
- New->type = 0;
- New->pprev = NULL;
- return New;
- }
- void InserirNovoNo(struct tagS_Cursor **phead, struct tagS_Cursor *pnew) {
- if( *phead != NULL ) {
- pnew->pnext = *phead;
- (*phead)->pprev = pnew;
- }
- *phead = pnew;
- }
- void PrintCredits(void) {
- COORD cursor, cursor2;
- hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
- DrawBox(10,11,55,4);
- cursor.X = 31;
- cursor.Y = 13;
- SetConsoleCursorPosition(hConsole, cursor);
- SetConsoleTextAttribute(hConsole, FOREGROUND_GREEN);
- printf("Volte Sempre!");
- SetConsoleTextAttribute(hConsole, FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_RED);
- getch();
- cursor.X = 1;
- cursor.Y = 20;
- SetConsoleCursorPosition(hConsole, cursor);
- }
- void DrawBox(int ini_x, int ini_y, int quant_x, int quant_y) {
- COORD cursor, cursor2;
- hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
- cursor.X = ini_x;
- cursor2.X = ini_x;
- cursor.Y = ini_y;
- cursor2.Y = ini_y + quant_y;
- for(; cursor.X < ini_x + quant_x && cursor2.X < ini_x + quant_x ; cursor.X++, cursor2.X++) {
- SetConsoleCursorPosition(hConsole, cursor);
- putchar(219);
- SetConsoleCursorPosition(hConsole, cursor2);
- putchar(219);
- }
- cursor.X = ini_x;
- cursor.Y = ini_y;
- for(; cursor.Y <= ini_y + quant_y ; cursor.Y++) {
- cursor.X = ini_x;
- SetConsoleCursorPosition(hConsole, cursor);
- putchar(219);
- cursor.X = ini_x + quant_x;
- SetConsoleCursorPosition(hConsole, cursor);
- putchar(219);
- }
- cursor.X = ini_x;
- cursor.Y = ini_y;
- SetConsoleCursorPosition(hConsole, cursor);
- }
- void Add_ext(char *sname) {
- while( *sname != '\0' ) sname++;
- *(sname) = '.';
- *(sname+1) = 'p';
- *(sname+2) = 'd';
- *(sname+3) = 'o';
- *(sname+4) = 's';
- *(sname+5) = '\0';
- }
- int PrintWrite_to_binary(struct tagS_Cursor **phead, char name[]) {
- struct tagS_Cursor *paux;
- int rtrn;
- FILE *foutput;
- foutput = fopen(name, "wb");
- paux = *phead;
- if( paux != NULL ) {
- while( paux != NULL ) {
- fwrite(&paux, sizeof(struct tagS_Cursor), 1, foutput);
- paux = paux->pnext;
- }
- fwrite("\n", sizeof("\n"), 1, foutput);
- rtrn = 1;
- }
- else
- rtrn = 0;
- fclose(foutput);
- return rtrn;
- }
- void ImEx_portPrint(struct tagS_Cursor **phead, char type[], struct tagScreen_Cursor cursor_s) {
- char name[50];
- COORD cursor, cursor2;
- name[0] = '\0';
- hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
- system("cls");
- DrawBox(10,11,55, 4);
- PrintInstructions();
- cursor.X = 15;
- cursor.Y = 9;
- SetConsoleCursorPosition(hConsole, cursor);
- SetConsoleTextAttribute(hConsole, FOREGROUND_BLUE | FOREGROUND_RED);
- if( !strcmp(type, "Import") )
- printf("Ler");
- else if( !strcmp(type, "Export") )
- printf("Gravar");
- printf(" Ficheiro Paint (.pdos)");
- cursor.X = 20;
- cursor.Y = 13;
- SetConsoleCursorPosition(hConsole, cursor);
- SetConsoleTextAttribute(hConsole, FOREGROUND_GREEN);
- printf("Ficheiro: ");
- SetConsoleTextAttribute(hConsole, FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_RED);
- gets(name);
- Add_ext(name);
- if( !strcmp(type, "Import") )
- PrintRead_from_binary(&(*phead), name);
- else if( !strcmp(type, "Export") )
- PrintWrite_to_binary(&(*phead), name);
- DrawBox(10,11,55, 4);
- PrintInstructions();
- cursor.X = 15;
- cursor.Y = 9;
- SetConsoleCursorPosition(hConsole, cursor);
- SetConsoleTextAttribute(hConsole, FOREGROUND_BLUE | FOREGROUND_RED);
- printf("Gravar Ficheiro Paint (.pdos)");
- cursor.X = 25;
- cursor.Y = 13;
- SetConsoleCursorPosition(hConsole, cursor);
- SetConsoleTextAttribute(hConsole, FOREGROUND_GREEN);
- if( !strcmp(type, "Import") )
- printf("Ficheiro Lido!");
- else if( !strcmp(type, "Export") )
- printf("Ficheiro Criado!");
- SetConsoleTextAttribute(hConsole, FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_RED);
- cursor.X = 5;
- cursor.Y = 20;
- SetConsoleCursorPosition(hConsole, cursor);
- Pausa_S();
- ResetScreen(cursor_s);
- }
- int PrintRead_from_binary(struct tagS_Cursor **phead, char *string) {
- FILE *finput;
- struct tagS_Cursor *paux, aux;
- char type = '\0';
- hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
- paux = NULL;
- finput = fopen(string, "r+b");
- while( fread(&aux, sizeof(struct tagS_Cursor), 1, finput) != EOF ) {
- paux = &aux;
- InserirNovoNo(&(*phead), paux);
- SetConsoleCursorPosition(hConsole, aux.pos);
- switch(aux.colour) {
- case 7: SetConsoleTextAttribute(hConsole, FOREGROUND_GREEN); break;
- case 11: SetConsoleTextAttribute(hConsole, FOREGROUND_RED); break;
- case 15: SetConsoleTextAttribute(hConsole, FOREGROUND_BLUE); break;
- }
- switch(aux.type) {
- case 7: type = 219; break;
- case 10: type = 220; break;
- case 13: type = 223; break;
- case 16: type = 254; break;
- }
- putchar(type);
- }
- SetConsoleTextAttribute(hConsole, FOREGROUND_GREEN | FOREGROUND_GREEN | FOREGROUND_RED);
- aux.pos.X = 4;
- aux.pos.Y = 5;
- SetConsoleCursorPosition(hConsole, aux.pos);
- fclose(finput);
- }
- int Search_and_Del_Cursor(struct tagS_Cursor **phead, COORD cursor) {
- struct tagS_Cursor *paux, *paux2;
- int control = 0;;
- paux = *phead;
- while( paux != NULL ) {
- if( paux->pos.X == cursor.X && paux->pos.Y == cursor.Y ) {
- control = 1;
- if( paux->pprev == NULL ) {
- paux->pnext->pprev = NULL;
- *phead = paux->pnext;
- }
- if( paux->pnext == NULL )
- paux->pprev->pnext = NULL;
- if( paux->pnext != NULL && paux->pprev != NULL ) {
- paux2 = paux->pnext;
- paux->pprev = paux2;
- paux2->pprev = paux;
- }
- free(paux);
- break;
- }
- paux = paux->pnext;
- }
- return control;
- }
- void PrintColours(void) {
- COORD cursor;
- hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
- cursor.X = 63;
- cursor.Y = 7;
- SetConsoleCursorPosition(hConsole, cursor);
- SetConsoleTextAttribute(hConsole, FOREGROUND_GREEN );
- putchar(219);
- putchar(219);
- cursor.Y = 11;
- SetConsoleCursorPosition(hConsole, cursor);
- SetConsoleTextAttribute(hConsole, FOREGROUND_RED);
- putchar(219);
- putchar(219);
- cursor.Y = 15;
- SetConsoleCursorPosition(hConsole, cursor);
- SetConsoleTextAttribute(hConsole, FOREGROUND_BLUE );
- putchar(219);
- putchar(219);
- SetConsoleTextAttribute(hConsole, FOREGROUND_BLUE | FOREGROUND_RED | FOREGROUND_GREEN);
- }
- void PrintTypes(void) {
- COORD cursor;
- hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
- cursor.X = 69;
- cursor.Y = 7;
- SetConsoleCursorPosition(hConsole, cursor);
- putchar(219);
- cursor.Y = 10;
- SetConsoleCursorPosition(hConsole, cursor);
- putchar(220);
- cursor.Y = 13;
- SetConsoleCursorPosition(hConsole, cursor);
- putchar(223);
- cursor.Y = 16;
- SetConsoleCursorPosition(hConsole, cursor);
- putchar(254);
- }
- void ResetScreen(struct tagScreen_Cursor cursor_s) {
- COORD cursor;
- system("cls");
- PrintScreen();
- PrintMenu_right('\0', cursor_s);
- PrintInstructions();
- PrintColours();
- PrintTypes();
- cursor.Y = 5;
- cursor.X = 4;
- SetConsoleCursorPosition(hConsole, cursor);
- }
- void ResetStruct(struct tagS_Cursor **phead) {
- while( *phead != NULL ) {
- Search_and_Del_Cursor(&phead, (*phead)->pos );
- *phead = (*phead)->pnext;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement