Не могу додуматься, как обработать 2D Динамический массив функциями check_grid(),clear_grid()

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


}

Ответы (0 шт):