#include "../include/gui.h" /************** FUNZIONI GUI ***************/ char* title[] = { "###########################################################################################################", "# o8888o o8888o o8888o o8888o o8888o o8888o o8 80 o8888o o8888o o8888o o8888o o8888o #", "# 888o 0oooo0 88 888 88 88oo oo 888o 888o88 88 888 88 888 88 88oo 88oo88 #", "# o888 88 888888 88 88 o888 88 88 88 888 88 888 88 88 88 88 #", "# 088880 88 88 88 888880 088888 088880 08 80 088880 088880 00 088888 88 88o #", "###########################################################################################################" }; char menu_desc[] = "BENVENUTO. Premi qualsiasi tasto per giocare..."; char* gameover[] = { "o8888o o8888o o8oo8o o8888o o8888o 88 8o o8888o o8888o", "888 oo 88 888 88\\/88 88oo oo 88 888 88 88 88oo 88oo88", "888 8 888888 88 88 88 88 888 88 o8 88 88 88 ", "O88880 88 88 88 88 888880 088880 888O 888880 88 88o" }; char gameover_desc[] = "HAI PERSO. Premi q per uscire..."; char* win_screen[] = { "o8 o8 o8888o o8 8o o8 8o o8888o o8 8o", "88 o8 88 888 88 88 oo 88 88 88 888o88", "888 88 888 88 88 88/\\88 88 88 888", "888 088880 088880 8888 088880 88 88" }; char win_desc[] = "HAI VINTO. Premi q per uscire..."; void init_colors() { start_color(); init_pair(ENEMY_PAIR, COLOR_RED, COLOR_BLACK); init_pair(TITLE_PAIR, COLOR_MAGENTA, COLOR_BLACK); init_pair(GMOVR_PAIR, COLOR_RED, COLOR_BLACK); init_pair(BONUS_PAIR, COLOR_GREEN, COLOR_BLACK); init_pair(WINSC_PAIR, COLOR_YELLOW, COLOR_BLACK); } void print_menu(WINDOW* win) { // Ottieni parametri della finestra int height; int width; getmaxyx(win, height, width); // Scritta colorata wattron(win, COLOR_PAIR(TITLE_PAIR)); for(int i = 0; i < (TEXTLINES+BORDERLINES); i++) { mvwprintw(win, i+1, (width-(strlen(title[0])))/2, "%s", title[i]); } wattroff(win, COLOR_PAIR(TITLE_PAIR)); // Scritta che blinka wattron(win, A_BLINK); mvwprintw(win, (TEXTLINES+BORDERLINES)+1, (width-(strlen(menu_desc)))/2, "%s", menu_desc); wattroff(win, A_BLINK); // stampa a video refresh(); return; } void print_gameover(WINDOW* win) { // Parametri della finestra e pulisci tutto int height; int width; int ch; wclear(win); getmaxyx(win, height, width); // Stampa della scritta colorata wattron(win, COLOR_PAIR(GMOVR_PAIR)); for(int i = 0; i < TEXTLINES; i++) { mvwprintw(win, i+1, (width-(strlen(gameover[0])))/2, "%s", gameover[i]); } wattroff(win, COLOR_PAIR(GMOVR_PAIR)); // Stampa della scritta che blinka wattron(win, A_BLINK); mvwprintw(win, TEXTLINES+1, (width-(strlen(gameover_desc)))/2, "%s", gameover_desc); wattroff(win, A_BLINK); // Stampa a video e attendi input refresh(); while((ch = wgetch(win)) != 'q'); return; } void print_win_screen(WINDOW* win) { // Parametri della finestra e pulisci tutto int height; int width; int ch; wclear(win); getmaxyx(win, height, width); // Stampa della scritta colorata wattron(win, COLOR_PAIR(WINSC_PAIR)); for(int i = 0; i < TEXTLINES; i++) { mvwprintw(win, i+1, (width-(strlen(win_screen[0])))/2, "%s", win_screen[i]); } wattroff(win, COLOR_PAIR(WINSC_PAIR)); // Stampa della scritta che blinka wattron(win, A_BLINK); mvwprintw(win, TEXTLINES+1, (width-(strlen(win_desc)))/2, "%s", win_desc); wattroff(win, A_BLINK); // Stampa a video e attendi input refresh(); while((ch = wgetch(win)) != 'q'); return; }