#include <iostream>
#include <string>
// Функция, которая превращает координаты пикселей в имя клетки (например: e4)
std::string getChessCell(int x, int y, int boardSize) {
int cellSize = boardSize / 8; // Размер одной клетки в пикселях
int col = x / cellSize; // Номер колонки (0..7)
int row = y / cellSize; // Номер строки (0..7)
// Проверка, что клик вообще внутри доски
if (col < 0 || col >= 8 || row < 0 || row >= 8) {
return "Вне доски!";
}
// Превращаем номер колонки в букву (a-h)
char file = 'a' + col;
// Превращаем номер строки в цифру (8-1)
int rank = 8 - row;
return std::string(1, file) + std::to_string(rank);
}
int main() {
std::cout << "========================================\n";
std::cout << " C++ Chess Vision Engine - Test Run \n";
std::cout << "========================================\n\n";
// Допустим, у нас изображение доски размером 800x800 пикселей
int boardSize = 800;
// Тестовые координаты кадра (x, y)
int testX = 350;
int testY = 450;
std::string cell = getChessCell(testX, testY, boardSize);
std::cout << "Proverka koordinat:\n";
std::cout << "Pixel X: " << testX << ", Y: " << testY << "\n";
std::cout << "Opredelennaya kletka: [" << cell << "]\n\n";
std::cout << "Vse rabotaet otlichno! Nazhmi Enter dlya vyhoda...";
std::cin.get(); // Ждем нажатия Enter, чтобы консоль сразу не закрылась
return 0;
}