// Grundsätzlich erstmal nur zum Testen #include #include #include #include #include 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 = "□"; // Weißes Feld const std::string blackSquare = "■"; // Schwarzes Feld const int boardSize = 8; // Schachbrettgröße // 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) { 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"; return 0; } /*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"; } }