#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; }