#include <iostream>
#include "string"
#include "Game.h"
#include <cstdlib>
#include <string>
using namespace std;
int GRID_SIZE;
char Player1[30];
char Player2[30];
Game::Game()
{
void opponent_choice();
{
int choice;
cout << "Ваш противник человек или компьютер?" << endl;
cout << "Сделайте выбор 1 - AI/ 2 - H" << endl;
cin >> choice;
if (choice == 1)
{
cout << "Ваш противник компьютер" << endl;
cout << "введите свое имя" << endl;
cin >> Player1;
}
else if (choice == 2)
{
cout << "Ваш противник человек" << endl;
cout << "введите имя игрока 1" << endl;
cin >> Player1;
cout << "введите имя игрока 2" << endl;
cin >> Player2;
}
}
}
void Game::play_game()
{
//clear_grid();
char player1 = 'X';
char player2 = 'O';
char current_player = player1;
bool isDone = false;
int x, y;
int turn = 0;
while (isDone==false)
{
generation_grid();
x = get_x_coord();
y = get_y_coord();
}
if (check_grid(int x, int y, current_player)==false)
{
cout << "это клетка занята "<<endl;
}
else
{
turn++;
/* if (check_for_wins(current_player)==true)
{
cout << "Игра закончена, победил игрок игравший: " << current_player << endl;
}
else if (turn==GRID_SIZE)
{
cout << "" << endl;
isDone == true;
}*/
}
////////////////////////////////переключение между игроками
if (current_player ==player1)
{
current_player = player2;
}
else
{
current_player = player1;
}
}
'void Game::generation_grid()
{
cout << "Введите размерное игровое поля 3х3-3, 4х4-4, 6х6-6, 8х8-8" << endl;'
cin >> GRID_SIZE;
switch (GRID_SIZE)
{
case 3:
cout << endl;
cout << " |1 2 3|\n";
TwoD_array();
break;
case 4:
cout << endl;
cout << "| 1 2 3 4|\n";
TwoD_array();
break;
case 6:
cout << endl;
cout << "| 1 2 3 4 5 6|\n";
TwoD_array();
break;
case 8:
cout << endl;
cout << "| 1 2 3 4 5 6 7 8|\n";
TwoD_array();
break;
default:
cout << "вы ввели некоректное значение" << endl;
break;
}
}
void Game::TwoD_array()
{
int rows=GRID_SIZE;
int cols=GRID_SIZE;
/////////////////////////////// создание
int** arr = new int*[rows];
for (int i = 0; i < rows; i++)
{
arr[i] = new int[cols];
}
//////////////////////////// инициализация
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < cols; j++)
{
arr[i][j] = {1};
}
}
/////////////////////////////вывод
for (int i = 0; i < rows; i++)
{
cout << i+1 << "|";
for (int j = 0; j < cols; j++)
{
cout<<arr[i][j]<<"|";
}
cout << endl;
}
////////////////////////////очистка памяти
for (int i = 0; i < rows; i++)
{
delete[] arr[i];
}
delete[] arr;
}
//void Game::clear_grid()
//{
// for (int i = 0; i<GRID_SIZE;i++)
// {
// for (int j = 0; j < GRID_SIZE; j++)
// {
// arr[i][j] = ' ';
// }
// }
//}
int Game::get_x_coord()
{
int x_coord;
bool is_iput_bad = true;
while (is_iput_bad == true)
{
cout << "введите координаты по X "<<endl;
cin >> x_coord;
if (x_coord<1 || x_coord >GRID_SIZE)
{
cout << " вы ввели некорректное число " << endl;
}
else
{
is_iput_bad = false;
}
}
return x_coord - 1;
}
int Game::get_y_coord()
{
int y_coord;
bool is_iput_bad = true;
while (is_iput_bad == true)
{
cout << "введите координаты по Y " << endl;
cin >> y_coord;
if (y_coord<1 || y_coord >GRID_SIZE)
{
cout << " вы ввели некорректное число " << endl;
}
else
{
is_iput_bad = false;
}
}
return y_coord - 1;
}
bool Game::check_grid(int **arr, int x, int y, char current_player)
{
if (arr[i][j] != '1')
{
return true;
}
else
{
arr[i][j] = current_player;
}
}