как создать функцию, которая выполняет другие функции внутри нее - PullRequest
0 голосов
/ 29 октября 2019

Я создал игру на линкоре и успешно создал все функции для игры. Чтобы поставить себя немного сложнее, я хотел создать функцию, которая выполняла бы все, что я написал в моей основной функции, в другой функции, которая была бы единственной, вызываемой в основной функции. Поэтому вместо вызова всех этих других функций я бы хотел вызвать только одну из них в основной функции.

Я пытался создать функцию void для решения этой проблемы, но, похоже, она не работает для меня,этот код ниже, который я опубликовал, является моей основной функцией, в то время как Ship и Location - это два класса, с которыми я работал в этом проекте.

Ship myFleet[fleetSize];
std::string print;

srand(int(time(0)));

initialize(myFleet);
deploy(myFleet);

cout << "print fleet? y/n: ";
cin >> print;
if (print == "y" )
    printFleet(myFleet);

while (operational(myFleet))
{
    Location myLocation = fire();
    int index = check(myFleet, myLocation);
    if (index != -1)
    {
        sink(myFleet[index]);
        cout << "It's a HIT !" << endl;
    }
    else
    {
        cout << "It's a MISS!" << endl;
    }

}

cout << "Game over !" << endl;
} 

Я ожидаю получить всю эту информацию в одной функциичтобы быть запущенным внутри основной функции, но я не могу понять это. Буду признателен за помощь от сообщества stackoverflow.

1 Ответ

0 голосов
/ 30 октября 2019

Вы пытаетесь получить что-то вроде этого:

void myFunc()
{
    Ship myFleet[fleetSize];
    std::string print;

    srand(int(time(0)));

    initialize(myFleet);
    deploy(myFleet);

    cout << "print fleet? y/n: ";
    cin >> print;
    if (print == "y" )
        printFleet(myFleet);

    while (operational(myFleet))
    {
        Location myLocation = fire();
        int index = check(myFleet, myLocation);
        if (index != -1)
        {
            sink(myFleet[index]);
            cout << "It's a HIT !" << endl;
        }
        else
        {
            cout << "It's a MISS!" << endl;
        }

    }

    cout << "Game over !" << endl;
}

int main(char argc, char ** argv)
{
    myFunc();
    return 0;
}

Или, может быть, я не мог понять, что вы пытаетесь сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...