Вызов функций в функции С++

246
16 ноября 2017, 04:35

В этом коде использую структуры. Код написаный без структур отработал с подобным вызовом:

( void StartGame()
   {
    ClearField();
    SetMine(30);
    char x;
    int y;
    do
    {
        ShowField();
        cout << "Please Shot ";
        cin >> x >> y;
        x = x - 65; 
    }
    while(Shot(x,y));
    cout << "Game over";
    })

    void Funstion() //координаты
    {
    Field field = {};
    field.location.xy;
    field.size.HeightWidth = 8;
    bool FieldHidden[field.location.xy][field.location.xy];
    char FieldOpen[field.size.HeightWidth][field.size.HeightWidth];
    const char BorderSymbol = '*';
    }
   void ClearField(const char BorderSymbol, Field& field, bool FieldHidden[field.location.xy][field.location.xy], char FieldOpen[field.size.HeightWidth][field.size.HeightWidth]) // пустое поле
{
    for (int i = 0; i < field.size.HeightWidth; ++i)
    {
        for (int j = 0; j < field.size.HeightWidth; ++j)
        {
            FieldOpen[i][j] = BorderSymbol;
            FieldHidden[i][j] = 0;
        }
    }
}
   void SetMine(Field& field, bool FieldHidden[field.location.xy][field.location.xy]) // раставляет мины
{
    int count = 10;
    for (int i = 0; i < count; )
    {
        int XY = rand()% field.size.HeightWidth;
        XY = rand()% field.size.HeightWidth;
        if(!FieldHidden[XY][XY])
        {
            FieldHidden[XY][XY] = 1;
            i++;
        }
    }
}
void ShowField(Field& field, char FieldOpen[field.size.HeightWidth][field.size.HeightWidth]) // отображает
{
    cout << "  ";
    for (int i = 0; i < field.size.HeightWidth; ++i)
    {
        cout << i << " ";
    }
    cout << "\n_____________________\n";
    for (int i = 0; i < field.size.HeightWidth; ++i)
    {
        cout << (char)(i+65) << "|";
        for (int j = 0; j < field.size.HeightWidth; ++j)
        {
            cout << FieldOpen[i][j] << " ";
        }
        cout << endl;
    }
}
    bool Shot(Field& field, bool FieldHidden[field.location.xy][field.location.xy], char FieldOpen[field.size.HeightWidth][field.size.HeightWidth]) // стреляет 
{
    if(FieldHidden[field.location.xy][field.location.xy])
    {
        return false;
    }
    int count = 0;
    for (int i = field.location.xy - 1; i <= field.location.xy + 1 && i < field.size.HeightWidth; ++i)
    {
        for (int j = field.location.xy - 1; j <= field.location.xy + 1 && j < field.size.HeightWidth; ++j)
        {
            if (i >= 0 && j >= 0)
            {
                count += FieldHidden[i][j];
            }
        }
    }
    FieldOpen[field.size.HeightWidth][field.size.HeightWidth] = count +        0x30;
    return true;
    }
    void StartGame() // И тут возникли сложности
    {
    ClearField();
    SetMine();
    char x;
    int y;
    do
    {
        ShowField();
        cout << "Please to shot ";
        cin >> x >> y;
        x = x - 65;
    }
        while ( Shot(x,y) );
        cout << "Game over";
}
READ ALSO
Организация кода js

Организация кода js

Есть функция :

313
Можно ли в Sass использовать &amp; на прародителя?

Можно ли в Sass использовать & на прародителя?

Можно ли вмеcтоwrapper_button использовать амперсанд?

231
Ошибка LoadError on line [&ldquo;59&rdquo;] компиляции gulp-compass

Ошибка LoadError on line [“59”] компиляции gulp-compass

Установил ruby > в терминале IDE прописал

378