From 8e6d00c846265186ffa6d1605f553e70a68e2e48 Mon Sep 17 00:00:00 2001 From: Mathias Wagner Date: Wed, 27 Sep 2023 18:20:41 +0200 Subject: [PATCH] Created the tictactoe.cpp --- tictactoe.cpp | 96 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 tictactoe.cpp diff --git a/tictactoe.cpp b/tictactoe.cpp new file mode 100644 index 0000000..b936696 --- /dev/null +++ b/tictactoe.cpp @@ -0,0 +1,96 @@ +#include +#include +#include + +using namespace std; + +class TikTakToe { + +public: + string rows[9] = { + "-", "-", "-", + "-", "-", "-", + "-", "-", "-"}; + +public: + bool playerWon(string character) { + for (int i = 0; i < 9; i += 3) { + if (rows[i] == character && rows[i + 1] == character && rows[i + 2] == character) return true; + } + + for (int i = 0; i < 3; i++) { + if (rows[i] == character && rows[i + 3] == character && rows[i + 6] == character) return true; + } + + if (rows[0] == character && rows[4] == character && rows[8] == character) return true; + if (rows[2] == character && rows[4] == character && rows[6] == character) return true; + + return false; + } + +public: + void generateMove() { + int random = rand() % 10; + + if (rows[random] != "-") { + generateMove(); + return; + } + + rows[random] = "O"; + } + + +public: + void printBoard() { + cout << "====="; + + for (int i = 0; i < 9; i++) { + if (i % 3 == 0) { + cout << "\n"; + + } + + cout << rows[i] + " "; + } + cout << "\n=====\nWo soll dein X hin? [1-9] "; + } + +public: + void awaitInput() { + printBoard(); + + int input; + cin >> input; + + if (rows[input - 1] != "-") { + cout << "Dieses Feld ist bereits belegt.\n"; + return; + } + + rows[input - 1] = "X"; + generateMove(); + } +}; + +int main() { + TikTakToe board; + + while (!(board.playerWon("X") || board.playerWon("O"))) { + board.awaitInput(); + } + + cout << "\n===== ENDSTAND ====="; + + board.printBoard(); + + if (board.playerWon("X")) { + cout << "\n\nDu hast gewonnen! Herzlichen Glückwunsch. :)"; + } else { + cout << "Du hast legit gegen einen random Bot verloren, würd mir mal Gedanken machen.."; + } + + + return 0; + +} \ No newline at end of file