diff --git a/src/gameplay.cpp b/src/gameplay.cpp index 385e2dd..c031cc0 100644 --- a/src/gameplay.cpp +++ b/src/gameplay.cpp @@ -49,5 +49,63 @@ void print_gameinfo() { } void check_if_point(const std::vector> &board) { - -} \ No newline at end of file + points_my = 0; + points_en = 0; + char char_we_are_checking; + + //flag to set if brake; is called + bool broken = false; + + //initializes pointer to nowhere + int *points_ptr = nullptr; + + for (int p = 0; p < 2; p++){ + switch (p) { + case 0: + char_we_are_checking = char_my; + points_ptr = &points_my; + break; + + case 1: + char_we_are_checking = char_en; + points_ptr = &points_en; + break; + + default: + cerr << "\nunexpected iteration number(" << RED << p << RESET << ") at function: check_if_point\nexiting...\n"; + exit(3); + } + + //horizontal check + for (int i = 0; i < board_size; i++) { + for (int j = 0; j < board_size-(length-1); j++) { + for (int k = 0; k < length; k++) { + if(board[i][j+k] != char_we_are_checking) { + broken = true; + break; + } + if(!broken){ + ++*points_ptr; + } + } + } + } + + //vertical check + for (int i = 0; i < board_size; i++) { + for (int j = 0; j < board_size-(length-1); j++) { + for (int k = 0; k < length; k++) { + if(board[j+k][i] != char_we_are_checking) { + broken = true; + break; + } + if(!broken){ + ++*points_ptr; + } + } + }} + + for(int i = 0; i < (board_size*2-1)-((length-1)*2); i++) { + + } + }} \ No newline at end of file diff --git a/src/global.hpp b/src/global.hpp index 98c8dba..a3e2a2e 100644 --- a/src/global.hpp +++ b/src/global.hpp @@ -5,7 +5,8 @@ extern unsigned short port; extern int length; extern int points_req; extern std::string serverIp_str; -extern int points_req; extern int points_my; extern int points_en; -extern int sel[2]; \ No newline at end of file +extern int sel[2]; +extern char char_my; +extern char char_en; \ No newline at end of file diff --git a/src/main.cpp b/src/main.cpp index e38458d..175d490 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -12,6 +12,9 @@ using std::cout; using std::cin; using std::cerr; +char char_my; +char char_en; + int main() { cout << R"( ___ __ _______ ___ ________ ________ _____ ______ _______ _________ ________ @@ -53,8 +56,12 @@ int main() { board_size_check(); length_check(); points_requied(); + char_my = 'x'; + char_en = 'o'; } else { ip_check(); + char_my = 'o'; + char_en = 'x'; } port_check();