stellar

Stellar - UCI Chess engine written in C++20
git clone git://git.dimitrijedobrota.com/stellar.git
Log | Files | Refs | README | LICENSE

utils_ui.hpp (991B)


      1 #ifndef STELLAR_UTILS_UI_HPP
      2 #define STELLAR_UTILS_UI_HPP
      3 
      4 #include <string>
      5 
      6 #include "utils.hpp"
      7 
      8 /* Color */
      9 
     10 static const std::string to_string(const Color color) {
     11     return std::string(color == WHITE ? "white" : "black");
     12 }
     13 
     14 /* Square */
     15 
     16 static const char *coordinates_array[] = {
     17     // clang-format off
     18    "a1", "b1", "c1", "d1", "e1", "f1", "g1", "h1",
     19    "a2", "b2", "c2", "d2", "e2", "f2", "g2", "h2",
     20    "a3", "b3", "c3", "d3", "e3", "f3", "g3", "h3",
     21    "a4", "b4", "c4", "d4", "e4", "f4", "g4", "h4",
     22    "a5", "b5", "c5", "d5", "e5", "f5", "g5", "h5",
     23    "a6", "b6", "c6", "d6", "e6", "f6", "g6", "h6",
     24    "a7", "b7", "c7", "d7", "e7", "f7", "g7", "h7",
     25    "a8", "b8", "c8", "d8", "e8", "f8", "g8", "h8", " "
     26     // clang-format on
     27 };
     28 
     29 static const std::string to_coordinates(const Square square) { return coordinates_array[square]; }
     30 
     31 static Square from_coordinates(const std::string &cord) {
     32     return static_cast<Square>((cord[1] - '1') * 8 + (cord[0] - 'a'));
     33 }
     34 
     35 #endif