#include "../Chessboard/ChessboardVisualizerText.hpp"
#include "../ChessPieces/ChessPiecePosition.hpp"

/*void ChessboardVisualizerText::Draw(Chessboard* chessboard) {
  std::cout << "\033[2J"; // clear the console

  std::cout << std::endl;
  std::cout << "   " << chessboard->GetPlayer(ChessPieceColor::White)->GetName() << " vs. " << chessboard->GetPlayer(ChessPieceColor::Black)->GetName();
  std::cout << std::endl;

  for (int rank = 8; rank >= 1; rank--) {
    if (rank == 8) {
      for (int i = 0; i < 8; i++) {
        if (i == 0) {
          std::cout << " " << " " << " ";
          std::cout << "\u250F";
        } else {
          std::cout << "\u2533";
        }
        std::cout << "\u2501" << "\u2501" << "\u2501";
        if (i == 7) {
          std::cout << "\u2513";
        }
      }
      std::cout << std::endl;
    }

    for (char file = 'A'; file <= 'H'; file++) {
      if (file == 'A') { // Beginn der Zeile
        std::cout << " " << rank << " ";
        std::cout << "\u2503";
      }

      ChessPiecePosition* position = new ChessPiecePosition(file, rank);

      if (chessboard->IsEmptyField(position)) {
        std::cout << " " << " " << " ";
      } else {
        ChessPiece* piece = chessboard->GetChessPiece(position);
        std::cout << " " << piece->GetUnicode() << " ";
      }

      std::cout << "\u2503";
    }
    std::cout << std::endl;

    if (rank != 1) {
      for (int i = 0; i < 8; i++) {
        if (i == 0) {
          std::cout << " " << " " << " ";
          std::cout << "\u2523";
        } else {
          std::cout << "\u254B";
        }
        std::cout << "\u2501" << "\u2501" << "\u2501";
        if (i == 7) {
          std::cout << "\u252B";
        }
      }
      std::cout << std::endl;
    } else {
      for (int i = 0; i < 8; i++) {
        if (i == 0) {
          std::cout << " " << " " << " ";
          std::cout << "\u2517";
        } else {
          std::cout << "\u253B";
        }
        std::cout << "\u2501" << "\u2501" << "\u2501";
        if (i == 7) {
          std::cout << "\u251B";
        }
      }
      std::cout << std::endl;
      for (char file = 'A'; file <= 'H'; file++) {
        if (file == 'A') {
          std::cout << " " << " " << " ";
          std::cout << " ";
        } else {
          std::cout << " ";
        }
        std::cout << " " << file << " ";
        if (file == 'H') {
          std::cout << " ";
        }
      }
      std::cout << std::endl;
    }
  }
  std::cout << std::endl;
}
*/