Окончательная неокончательная версия. Мэйн расшит на отдельные файлы для классов. Дальше расшивать лень.

This commit is contained in:
2024-11-07 11:43:09 +05:00
parent ae50933cbb
commit e282072e93
7 changed files with 254 additions and 148 deletions

37
TurnClass/Turn.cpp Normal file
View File

@ -0,0 +1,37 @@
#include "Turn.h"
//
//
//Функция хода игрока:
//алгоритм на вычленение первого и второго значений координат
//получает строку вида "XY", первый символ кидает через at в строку для Х,
//второй символ также символ кидает в строку для Y,
//затем переводит обе строки в числа, с которыми можно вести вычисления.
void Turn::HumanTurn() {
cin >> Humancount;
turnline=Humancount.at(0);
turncol=Humancount.at(1);
turnLINEint=stoi(turnline);
turnCOLint=stoi(turncol);
}
//Функция хода бота
void Turn::BotTurn() {
//Со случайной вероятностью своим первым ходом может занять центральную клетку, если та свободна.
//На занятии центральной клетки весь ИИ заканчивается.
srand((time(0)));
if ((turnLINEint!=1) and (turnCOLint!=1) and ((rand())%2==1)) {
turnLINEint=1;
turnCOLint=1;
}
//Рандомит первое значение (строку), засыпает, рандомит второе значение (столбец),
//присваивает рандомные значения в переменные.
else {
srand((time(0)));
turnLINEint=(rand()%3);
chrono::milliseconds timespan((rand()/10));
this_thread::sleep_for(timespan);
mt19937 rng;
rng.seed(time(nullptr));
turnCOLint=(rng()%3);
}
//cout << "debugbotturn:" << turnLINEint << turnCOLint << endl;
}