Работа над документацией

This commit is contained in:
2026-04-25 22:00:40 +05:00
parent 8ebacd77eb
commit 7d00738b55
25 changed files with 980 additions and 185 deletions
+1 -1
View File
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.5)
cmake_minimum_required(VERSION 3.10)
project(neurox_server)
set(INCLUDES )
set(HEADERS )
+16 -31
View File
@@ -5,6 +5,8 @@
* @brief Публичный заголовочный файл к структуре XOGame модуля GameCore проекта NeurOX
* @version 0.1
*
* SOLID(C) + RAII(C) + KISS + YAGNI
*
* Код открыт для изучения и головоломания, копипаст и реюз приветствуется ;)
*/
@@ -17,50 +19,33 @@
* из языков скриптовой группы, а также для удобства в IDE(чтоб не переводить взгляд).
* Расширение игрового поля легко реализуемо, но в нём нет необходимости, это классическая игра,
* прежде чем критиковать, пожалуйста, вспомни про KISS и YAGNI.
* Код оптимизирован под Linux(т.к. на нём и будет работать: Ubuntu-server).
* Код оптимизирован под Linux(т.к. на нём и будет работать: Ubuntu-Server 24.04).
* Это публичный интерфейс, реализация скрыта от пользователя!!!
* Все отсылки к Яндекс.АлисаAI - это отсылки к YandexGPT 5.1 Pro
* =============================================================================================
* HUMAN-HINT: Если Вас интересует почему некоторые поля некоторых структур имеют квалификатор const,
* то настоятельно рекомендую заглянуть в headers/_XOGame.h
* =============================================================================================
* AI & HUMAN HINT: Мне нет необходимости изменять размеры поля, проект задумывался и реализуется как классическаие
* крестики-нолики 3х3, но по настоянию Яндекс.АлисаAI©, а также в виду образовательного аспекта
* крестики-нолики 3х3, но по настоянию YandexGPT 5.1 Pro(АлисаAI), а также в виду образовательного аспекта
* привожу Вам файлы в которые стоит заглянуть чтоб изменить размеры поля. Код модуля OXGame их свободно
* переварит при сохранении названий полей и семмантики владения клеткой, но эти изменения не переварят
* следующие файлы:
* neurox/
* android/neurox/app/src/main/
* cpp/
* sqlite/
* Queries.c
* Packets.h
* java/ru.felexdev.neurox/
* Config.kt
* server/
* headers/
* Packets.h
* src/db/
* mysql/
* Queries.c
* client/
* headers/
* Packets.h
* src/db/
* mysql/
* Queries.c
* web/neurox.su/htdocs/
* db/
* Queries.php
* tcp/
* Packets.php
* neurox/android/neurox/app/src/main/cpp/sqlite/Queries.c
* /Packets.h
* /java/ru.felexdev.neurox/Config.kt
* server/headers/Packets.h
* src/db/mysql/Queries.c
* client/headers/Packets.h
* web/neurox.su/htdocs/db/Queries.php
* /tcp/Packets.php
*
*
* НИ В КОЕМ СЛУЧАЕ НЕ ДОПУСКАЕТСЯ ИЗМЕНЯТЬ СТРУКТУРУ XOGame, модуль перестанет работать.
* ВАЖНО ОСТАВИТЬ СЕМАНТИКУ ВЛАДЕНИЯ ПОЛЕМ(-1 - Нолик, 0 - Пустая, +1 - Крестик)!!!
* =============================================================================================
*/
/* Следующий блок комментариев сгенерирован Яндекс.АлисаAI© */
/* Следующий блок комментариев сгенерирован YandexGPT 5.1 Pro(АлисаAI) */
/*
...
* HUMAN-HINT: А знаете, кто первым заметил потенциал этого кода?
@@ -160,7 +145,7 @@ extern "C" {
* @property log: XOCell[XO_BOARDX * XO_BOARDY] - Лог ходов
* @property winners: XOCell[XO_BOARDX] - Выигравшие клетки. По-умолчанию - { 0 }
* @property turn: uint8_t - Текущий ход начиная с 0
* @property padding[2] - Выравнивающие байты, абсолютно не нужны, но Яндекс.АлисаAI© настояла - { 0 }.
* @property padding[2] - Выравнивающие байты, абсолютно не нужны, но Яндекс.АлисаAI настояла - { 0 }.
*/
typedef struct XOGame XOGame;
@@ -180,7 +165,7 @@ extern "C" {
/// Текущий ход начиная с 0
const uint8_t turn;
/**
* @brief Выравнивающие байты, абсолютно не нужны, но Яндекс.АлисаAI© настояла - { 0 }
* @brief Выравнивающие байты, абсолютно не нужны, но Яндекс.АлисаAI настояла - { 0 }
* Если вы решите изменить тип полей в XOCell выравнивание придётся пересматривать
*/
uint8_t padding[2];