diff options
Diffstat (limited to 'week06/ex3.cpp')
| -rw-r--r-- | week06/ex3.cpp | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/week06/ex3.cpp b/week06/ex3.cpp new file mode 100644 index 0000000..a37bbb0 --- /dev/null +++ b/week06/ex3.cpp @@ -0,0 +1,50 @@ +#include <iostream> + +void putOn(char board[3][3], char marker, size_t position) { + position--; + board[position / 3][position % 3] = marker; +} + +void print(char board[3][3]) { + for (size_t row = 0; row < 3; row++) { + for (size_t col = 0; col < 3; col++) { + std::cout << board[row][col]; + } + std::cout << std::endl; + } +} + +unsigned win(char board[3][3]) { + bool notFull = false; + char start = ' '; + bool won = false; + + /* Проверяваме редовете */ + for (size_t row = 0; row < 3; row++) { + start = board[row][0]; + + } +} + + + +int main() { + char board[3][3] = { { ' ' } }; + bool playerOneTurn = true; + + size_t position; + unsigned winStatus = 0; + do { + std::cin >> position; + if (playerOneTurn) { + putOn(board, 'X', position); + } + else { + putOn(board, 'O', position); + } + playerOneTurn = !playerOneTurn; + + print(board); + winStatus = win(board); + } while (winStatus == 0); +} |
