WUT_Computer_Science/EPFU/src/printing.c

88 lines
2.6 KiB
C

#include "game_struct.h"
#ifdef _WIN32
#include "windows.h"
#endif
int printBoard(GameState Game)
{
#ifdef _WIN32
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
CONSOLE_SCREEN_BUFFER_INFO consoleInfo;
WORD saved_attributes;
/* Save current attributes */
GetConsoleScreenBufferInfo(hConsole, &consoleInfo);
saved_attributes = consoleInfo.wAttributes;
system("clear || cls");
printf("\nCurrent board status:\n");
printf(" ");
for (int i = 0; i < Game.board_width; i++)
{
printf("%d ", i); // Here we print the number of columns
}
printf("\n");
for(int i = 0; i < Game.board_height; i++)
{
printf("%d ", i); // Here we print the number of rows
for(int j = 0; j < Game.board_width; j++)
{
if ((Game.board[i][j].fish_no == 0) && (Game.board[i][j].player_no == 0))
{
SetConsoleTextAttribute(hConsole, FOREGROUND_BLUE);
printf("~ "); // If there are no penguins and fish on the field we print the 'wave'
SetConsoleTextAttribute(hConsole, saved_attributes);
}
else if(Game.board[i][j].fish_no == 0)
{
SetConsoleTextAttribute(hConsole, FOREGROUND_RED);
printf("P%d ",Game.board[i][j].player_no);
SetConsoleTextAttribute(hConsole, saved_attributes);
}
else
{
SetConsoleTextAttribute(hConsole, FOREGROUND_GREEN);
printf("F%d ",Game.board[i][j].fish_no);
SetConsoleTextAttribute(hConsole, saved_attributes);
}
}
printf("\n");
}
printf("\n");
#else
system("clear || cls");
printf("\nCurrent board status:\n");
printf(" ");
for (int i = 0; i < Game.board_width; i++)
{
printf("%d ", i); // Here we print the number of columns
}
printf("\n");
for(int i = 0; i < Game.board_height; i++)
{
printf("%d ", i); // Here we print the number of rows
for(int j = 0; j < Game.board_width; j++)
{
if ((Game.board[i][j].fish_no == 0) && (Game.board[i][j].player_no == 0))
{
printf("~ "); // If there are no penguins and fish on the field we print the 'wave'
}
else if(Game.board[i][j].fish_no == 0)
{
printf("P%d ",Game.board[i][j].player_no);
}
else
{
printf("F%d ",Game.board[i][j].fish_no);
}
}
printf("\n");
}
printf("\n");
#endif
ScoreBoard(Game);
return 0;
}