From 95bc2a3f3cb1b44d7fccb28e5ea95d001c387f37 Mon Sep 17 00:00:00 2001 From: Fabian Hamacher Date: Wed, 18 Dec 2024 20:26:28 +0100 Subject: [PATCH] Move draw method to new class file; Add Utils class --- Chessboard.cpp | 193 +++++++++++++++++++++++++++++++++++ Chessboard.h | 8 ++ Chesspiece.cpp | 8 ++ OldCode.txt | 60 +++++++++++ Utils.cpp | 19 ++++ main.cpp | 267 +------------------------------------------------ main.exe | Bin 84731 -> 129931 bytes saveStats.json | 34 +++++++ 8 files changed, 326 insertions(+), 263 deletions(-) create mode 100644 Chessboard.cpp create mode 100644 Chessboard.h create mode 100644 Chesspiece.cpp create mode 100644 OldCode.txt create mode 100644 Utils.cpp create mode 100644 saveStats.json diff --git a/Chessboard.cpp b/Chessboard.cpp new file mode 100644 index 0000000..87ffcda --- /dev/null +++ b/Chessboard.cpp @@ -0,0 +1,193 @@ +// +// Created by hamac on 18.12.2024. +// + +#include "Chessboard.h" +#include "Utils.cpp" +#include +#include +#include + +class Chessboard { + private: + /* Constants */ + // Chars to display board + // Corners + const std::string topLeft = "┌"; + const std::string topRight = "┐"; + const std::string bottomLeft = "└"; + const std::string bottomRight = "┘"; + + // Line chars + const std::string horizontal = "─"; + const std::string vertical = "│"; + const std::string topIntersection = "┬"; + const std::string bottomIntersection = "┴"; + const std::string middleIntersection = "┼"; + + // White pieces + const std::string whiteSquare = "\u25A1"; + const std::string whiteKing = "\u2654"; + const std::string whiteQueen = "\u2655"; + const std::string whiteRook = "\u2656"; + const std::string whiteBischop = "\u2657"; + const std::string whiteKnight = "\u2658"; + const std::string whitePawn = "\u2659"; + + // Black pieces + const std::string blackSquare = "\u25A0"; + const std::string blackKing = "\u265A"; + const std::string blackQueen = "\u265B"; + const std::string blackRook = "\u265C"; + const std::string blackBischop = "\u265D"; + const std::string blackKnight = "\u265E"; + const std::string blackPawn = "\u265F"; + + /* class fields */ + std::vector> currentBoard; + + // Starting formatting + std::vector> startBoard = { + {201, 202, 203, 204, 205, 203, 202, 201}, + {200, 200, 200, 200, 200, 200, 200, 200}, + {1, 2, 1, 2, 1, 2, 1, 2}, + {2, 1, 2, 1, 2, 1, 2, 1}, + {1, 2, 1, 2, 1, 2, 1, 2}, + {2, 1, 2, 1, 2, 1, 2, 1}, + {100, 100, 100, 100, 100, 100, 100, 100}, + {101, 102, 103, 104, 105, 103, 102, 101} + }; + + /* methods */ + // Method returns unicode for chess icon depending on the identifier + std::string getChessIcon(int identifier) { + switch (identifier) { + case 1: return whiteSquare; + case 101: return whiteRook; + case 102: return whiteKnight; + case 103: return whiteBischop; + case 104: return whiteQueen; + case 105: return whiteKing; + case 100: return whitePawn; + case 2: return blackSquare; + case 201: return blackRook; + case 202: return blackKnight; + case 203: return blackBischop; + case 204: return blackQueen; + case 205: return blackKing; + case 200: return blackPawn; + default: return ""; + } + } + + void generateTopLine() { + display += topLeft; + for (int col = 0; col < boardSize; ++col) { + display += horizontal + horizontal + horizontal; + if (col < boardSize - 1) display += topIntersection; + } + display += topRight + "\n"; + } + + void generatePlayingField(const std::vector>& chessboard) { + for (int row = 0; row < boardSize; ++row) { + display += vertical; + for (int col = 0; col < boardSize; ++col) { + display += " " + getChessIcon(chessboard[row][col]) + " " + vertical; + } + display += "\n"; + + // Horizontale Trennlinie (außer nach der letzten Zeile) + if (row < boardSize - 1) { + display += vertical; + for (int col = 0; col < boardSize; ++col) { + display += horizontal + horizontal + horizontal; + if (col < boardSize - 1) display += middleIntersection; + } + display += vertical + "\n"; + } + } + } + + void generateBottomLine() { + display += bottomLeft; + for (int col = 0; col < boardSize; ++col) { + display += horizontal + horizontal + horizontal; + if (col < boardSize - 1) display += bottomIntersection; + } + display += bottomRight + "\n"; + } + + public: + /* fields */ + std::string display; + int boardSize = 8; + + /* methods */ + void setBoard(std::vector> board) { + this->currentBoard = board; + } + + std::vector> getCurrentBoard() { + return this->currentBoard; + } + + std::vector> getStartBoard() { + return this->startBoard; + } + + void draw () { + draw(getStartBoard()); + } + + void draw (const std::vector>& chessboard) { + // Obere Rahmenlinie + generateTopLine(); + + // Schachbrett mit vertikalen Linien + generatePlayingField(chessboard); + + // Untere Rahmenlinie + generateBottomLine(); + + std::cout << display << std::endl; + } + + // + void move(std::string move) { + + + // Notation + // Start with current position - dash - new position + // eg.: b1-c3 + // Letter first than number + // eg.: a5 + // Pawn: e4 or p e4 (pawn) + // R for rook + // N for Knight + // K for King + // B for Bischop + // Q for Queen + // Special: + // 0-0 short castle + // 0-0-0 long castle + // en passond: write square where pawn lands + + // capture: x + // check: + + // checkmate: # + // draw/stalemate: 1/2-1/2 + + } + + // This method saves the current board state + void saveBoard(Chessboard& chessboard) { + + } + + // This method loads a save state + void loadBoard(int saveState) { + // readJSONFile + // + } +}; diff --git a/Chessboard.h b/Chessboard.h new file mode 100644 index 0000000..4078422 --- /dev/null +++ b/Chessboard.h @@ -0,0 +1,8 @@ +// +// Created by hamac on 18.12.2024. +// + +#ifndef CHESSBOARD_H +#define CHESSBOARD_H + +#endif //CHESSBOARD_H diff --git a/Chesspiece.cpp b/Chesspiece.cpp new file mode 100644 index 0000000..57d6a6a --- /dev/null +++ b/Chesspiece.cpp @@ -0,0 +1,8 @@ +// +// Created by hamac on 18.12.2024. +// + +class Chesspiece { + + +} diff --git a/OldCode.txt b/OldCode.txt new file mode 100644 index 0000000..ccf36c5 --- /dev/null +++ b/OldCode.txt @@ -0,0 +1,60 @@ +void firstVersion() { + const std::string white = "\u2B1C"; + const std::string black = "\u2B1B"; + + std::string brett[8][8]; + + std::string field; + for (int y = 0; y < 8; y++) { + for (int x = 0; x < 8; x++) { + if (y % 2 == 0) { + field = (x % 2 == 0) ? "\u2B1C" : "\u2B1B"; + } + else { + field = (x % 2 == 0) ? "⬛" : "⬜"; + } + std::cout << field; + } + std::cout << "\n"; + } +} + +void secondVersion() { + //wchar_t t = 0x25FF; + + // Horizontale Linie u2500 + // Vertikale Linie u2502 + // Top Right Corner u250C + // Top Left Corner u2510 + // Bottom Right Corner u2514 + // Bottom Left Corner u2518 + + std::string topRightCorner = "\u2554"; + std::string topLeftCorner = "\u2557"; + std::string bottomLeftCorner = "\u255A"; + std::string bottomRightCorner = "\u255D"; + std::string horizontalLine = "\u2550\u2550"; + std::string verticalLine = "\u2551"; + std::string crossSuc = "\u256C"; + std::string leftSide = "\u2560"; + std::string rightSide = "\u2563"; + std::string topSide = "\u2566"; + std::string bottomSide = "\u2569"; + + std::string firstLine = "\u2554\u2550\u2566"; + std::string line; + + for (int row = 0; row < 9; ++row) { + for (int col = 0; col < 8; ++col) { + if (row == 0 && col > 0) line += topSide + horizontalLine; + if (row == 8 && col > 0) line += bottomSide + horizontalLine; + if (col == 0 && row < 8 && row > 0) line += leftSide + horizontalLine; + if (row > 0 && row < 8 && col > 0) line += crossSuc + horizontalLine; + if (col == 7 && row < 8 && row > 0) line += rightSide; + if (row == 0 && col == 0) line += topRightCorner + horizontalLine; + if (row == 8 && col == 0) line += bottomLeftCorner + horizontalLine; + if (row == 0 && col == 7) line += topLeftCorner + "\n" + verticalLine; + if (row == 8 && col == 7) line += bottomRightCorner; + } + line += "\n"; + } \ No newline at end of file diff --git a/Utils.cpp b/Utils.cpp new file mode 100644 index 0000000..3561957 --- /dev/null +++ b/Utils.cpp @@ -0,0 +1,19 @@ +// +// Created by hamac on 18.12.2024. +// + +#include +#include +#include + +class Utils { + static std::vector split(const std::string &s, char delim) { + std::vector elems; + std::stringstream ss(s); + std::string item; + while (std::getline(ss, item, delim)) { + elems.push_back(item); + } + return elems; + } +} diff --git a/main.cpp b/main.cpp index 32c7a64..72b7ebb 100644 --- a/main.cpp +++ b/main.cpp @@ -1,277 +1,18 @@ // Grundsätzlich erstmal nur zum Testen +#include #include #include #include #include #include +#include "Chessboard.cpp" int main() { SetConsoleOutputCP(CP_UTF8); - // Zeichen für die Rahmen und das Schachbrett - const std::string topLeft = "┌", topRight = "┐", bottomLeft = "└", bottomRight = "┘"; - const std::string horizontal = "─", vertical = "│"; - const std::string topIntersection = "┬", bottomIntersection = "┴", middleIntersection = "┼"; - - const std::string whiteSquare = "\u25A1"; - const std::string whiteKing = "\u2654"; - const std::string whiteQueen = "\u2655"; - const std::string whiteRook = "\u2656"; - const std::string whiteBischop = "\u2657"; - const std::string whiteKnight = "\u2658"; - const std::string whitePawn = "\u2659"; - - const std::string blackSquare = "\u25A0"; - const std::string blackKing = "\u265A"; - const std::string blackQueen = "\u265B"; - const std::string blackRook = "\u265C"; - const std::string blackBischop = "\u265D"; - const std::string blackKnight = "\u265E"; - const std::string blackPawn = "\u265F"; - - const int boardSize = 8; - - int brett[8][8] = { - {201, 202, 203, 204, 205, 203, 202, 201}, - {200, 200, 200, 200, 200, 200, 200, 200}, - {1, 2, 1, 2, 1, 2, 1, 2}, - {2, 1, 2, 1, 2, 1, 2, 1}, - {1, 2, 1, 2, 1, 2, 1, 2}, - {2, 1, 2, 1, 2, 1, 2, 1}, - {100, 100, 100, 100, 100, 100, 100, 100}, - {101, 102, 103, 104, 105, 103, 102, 101} - }; - - // Obere Rahmenlinie - std::cout << topLeft; - for (int col = 0; col < boardSize; ++col) { - std::cout << horizontal << horizontal << horizontal; - if (col < boardSize - 1) std::cout << topIntersection; - } - std::cout << topRight << "\n"; - - // Schachbrett mit vertikalen Linien - for (int row = 0; row < boardSize; ++row) { - for (int subRow = 0; subRow < 1; ++subRow) { - std::cout << vertical; - for (int col = 0; col < boardSize; ++col) { - switch (brett[row][col]) { - case 1: std::cout << " " << whiteSquare << " "; - break; - case 101: std::cout << " " << whiteRook << " "; - break; - case 102: std::cout << " " << whiteKnight << " "; - break; - case 103: std::cout << " " << whiteBischop << " "; - break; - case 104: std::cout << " " << whiteQueen << " "; - break; - case 105: std::cout << " " << whiteKing << " "; - break; - case 100: std::cout << " " << whitePawn << " "; - break; - case 2: std::cout << " " << blackSquare << " "; - break; - case 201: std::cout << " " << blackRook << " "; - break; - case 202: std::cout << " " << blackKnight << " "; - break; - case 203: std::cout << " " << blackBischop << " "; - break; - case 204: std::cout << " " << blackQueen << " "; - break; - case 205: std::cout << " " << blackKing << " "; - break; - case 200: std::cout << " " << blackPawn << " "; - break; - default: break; - } - - /*if ((row + col) % 2 == 0) { - std::cout << " " << whiteSquare << " "; - } - else { - std::cout << " " << blackSquare << " "; - }*/ - std::cout << vertical; - } - std::cout << "\n"; - } - - // Horizontale Trennlinie (außer nach der letzten Zeile) - if (row < boardSize - 1) { - std::cout << vertical; - for (int col = 0; col < boardSize; ++col) { - std::cout << horizontal << horizontal << horizontal; - if (col < boardSize - 1) std::cout << middleIntersection; - } - std::cout << vertical << "\n"; - } - } - - // Untere Rahmenlinie - std::cout << bottomLeft; - for (int col = 0; col < boardSize; ++col) { - std::cout << horizontal << horizontal << horizontal; - if (col < boardSize - 1) std::cout << bottomIntersection; - } - std::cout << bottomRight << "\n"; + Chessboard chessboard; + chessboard.draw(); return 0; } - -void givenBoard() { - int brett[8][8] = { - {201, 202, 203, 204, 205, 203, 202, 201}, - {200, 200, 200, 200, 200, 200, 200, 200}, - {1, 2, 1, 2, 1, 2, 1, 2}, - {2, 1, 2, 1, 2, 1, 2, 1}, - {1, 2, 1, 2, 1, 2, 1, 2}, - {2, 1, 2, 1, 2, 1, 2, 1}, - {100, 100, 100, 100, 100, 100, 100, 100}, - {101, 102, 103, 104, 105, 103, 102, 101} - }; -} - -/*int main() { - //std::setlocale(LC_ALL, ""); - - SetConsoleOutputCP(CP_UTF8); - - const std::string white = "\u25A1"; - const std::string whiteKing = "\u2654"; - const std::string whiteQueen = "\u2655"; - const std::string whiteRook = "\u2656"; - const std::string whiteBischop = "\u2657"; - const std::string whiteKnight = "\u2658"; - const std::string whitePawn = "\u2659"; - - const std::string black = "\u2B1B"; - const std::string blackKing = "\u265A"; - const std::string blackQueen = "\u265B"; - const std::string blackRook = "\u265C"; - const std::string blackBischop = "\u265D"; - const std::string blackKnight = "\u265E"; - const std::string blackPawn = "\u265F"; - - int brett[8][8] = { - {201, 202, 203, 204, 205, 203, 202, 201}, - {200, 200, 200, 200, 200, 200, 200, 200}, - {1, 2, 1, 2, 1, 2, 1, 2}, - {2, 1, 2, 1, 2, 1, 2, 1}, - {1, 2, 1, 2, 1, 2, 1, 2}, - {2, 1, 2, 1, 2, 1, 2, 1}, - {100, 100, 100, 100, 100, 100, 100, 100}, - {101, 102, 103, 104, 105, 103, 102, 101} - }; - - - std::string field; - for (auto& row : brett) { - for (int col : row) { - switch (col) { - case 1: field += white; - break; - case 101: field += whiteRook; - break; - case 102: field += whiteKnight; - break; - case 103: field += whiteBischop; - break; - case 104: field += whiteQueen; - break; - case 105: field += whiteKing; - break; - case 100: field += whitePawn; - break; - case 2: field += black; - break; - case 201: field += blackRook; - break; - case 202: field += blackKnight; - break; - case 203: field += blackBischop; - break; - case 204: field += blackQueen; - break; - case 205: field += blackKing; - break; - case 200: field += blackPawn; - break; - default: break; - } - } - field += "\n"; - } - - std::cout << field << std::endl; - - //std::wcout << L"\u2500" << std::endl; - //std::cout << field << std::endl; - return 0; -}*/ - - -void firstVersion() { - const std::string white = "\u2B1C"; - const std::string black = "\u2B1B"; - - std::string brett[8][8]; - - std::string field; - for (int y = 0; y < 8; y++) { - for (int x = 0; x < 8; x++) { - if (y % 2 == 0) { - field = (x % 2 == 0) ? "\u2B1C" : "\u2B1B"; - } - else { - field = (x % 2 == 0) ? "⬛" : "⬜"; - } - std::cout << field; - } - std::cout << "\n"; - } -} - -void secondVersion() { - //wchar_t t = 0x25FF; - - // Horizontale Linie u2500 - // Vertikale Linie u2502 - // Top Right Corner u250C - // Top Left Corner u2510 - // Bottom Right Corner u2514 - // Bottom Left Corner u2518 - - std::string topRightCorner = "\u2554"; - std::string topLeftCorner = "\u2557"; - std::string bottomLeftCorner = "\u255A"; - std::string bottomRightCorner = "\u255D"; - std::string horizontalLine = "\u2550\u2550"; - std::string verticalLine = "\u2551"; - std::string crossSuc = "\u256C"; - std::string leftSide = "\u2560"; - std::string rightSide = "\u2563"; - std::string topSide = "\u2566"; - std::string bottomSide = "\u2569"; - - std::string firstLine = "\u2554\u2550\u2566"; - std::string line; - - for (int row = 0; row < 9; ++row) { - for (int col = 0; col < 8; ++col) { - if (row == 0 && col > 0) line += topSide + horizontalLine; - if (row == 8 && col > 0) line += bottomSide + horizontalLine; - if (col == 0 && row < 8 && row > 0) line += leftSide + horizontalLine; - if (row > 0 && row < 8 && col > 0) line += crossSuc + horizontalLine; - if (col == 7 && row < 8 && row > 0) line += rightSide; - if (row == 0 && col == 0) line += topRightCorner + horizontalLine; - if (row == 8 && col == 0) line += bottomLeftCorner + horizontalLine; - if (row == 0 && col == 7) line += topLeftCorner + "\n" + verticalLine; - if (row == 8 && col == 7) line += bottomRightCorner; - } - line += "\n"; - } -} - diff --git a/main.exe b/main.exe index f95cd3ba3da60ee43c411a47636c1f2562c465f2..7dff84677b8d517ebcf6987e0f1ace1b63891622 100644 GIT binary patch literal 129931 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 q=gozho}%MKhxLVxr27SVjj4l@cOC-~R_8tCPb3 literal 84731 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%0DJ3|-njTKhhse#F%x3fvPH3N_3c`)8fvJH^+ymY zD=+#0nf2h4kiY{}7UdkJapo|j;;(h@b@b+8E61Ep0tx4oax4A<6vf4O-9{0>;f#p^ zv;}c)RA-llY(d69XRu5mcUUIrP*No8R6qKf$ZdqFRQzZiB^_K$0##9)xtB1%s~ggs zgGuCJ6lG{6WBX_=#wb5&@Y8QII5(;J^PSN+uuU*{#x#k^W7uSrOLznP3V}7Q!m}$z z1pyc=HNg3_0W>X8j~9!#8kb%=E{#I|A@9Lhe`BEpQkMP3vq7n3A`(tTz2o=w-k~q_H@lDoCuGaW-s`k(s;eoO0CRR zD?=TUJlJg#!qUVAg@Yi5&l+q5aN&~i@Ze9TICD-I0By~hz#gNP}2^=6$CI1zA=y`;fU6E>T&p_Ho0RsZVVH* z2Z@cof#5BIj9e0UcD|%D3AOHZhr@FnqlJO-OM*PqR}G)c=7wALeAWc+?;RcQS8*_! z{#y32?PJ|VXi4|o0R|EYVw)LkL=@-%(4Rm1;NjHa!6{9qji zTJTE|h`}&o98p}}OM*O+yC%phx8&6lVm2A*B;t{~(ZdTEx#W;#0gN%l<`!LvG=``j z8f1MBSQ0oxA4ireXYAC(7|S09t#!An1fPy0;6$u+IR*gH58`_Dp-PFVEnuSs{F)c-nqRAd?3ceRnAdtYgJZgV74h!V6Sf+&BvwiG zT^+8Wy&)##fJ+2Ll&q3zUT-;Bi)jT6gQ>Ae@RBUwCAkZv-1LM(k<5ieSM!$_>|I#H zrT|Flt$Ieq3UhXmy`7q`R4t|_t(-nSRW+Wnpi(o8JaDQw5-<=hc9r0$oHR;HU8|EY zCasrpXC&u#XDThca~Zi2^WczHWv5ImeXzngDPc^XASNXE)4nb@(~6%)fWN~Us&4oY z?KJ7CYVEBX?Zt30>tV^VsC;H`9NuA^M8Mtkd@WsfM+F6Kotf?@cMSI~_iGhask6U{ zpQ`7LF$THDtkJI1&?5$%@ayZdCV-TLNO4JeWJ&RkYQ+vEE