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

Хорошо, мне сказали написать игру «камень / бумага / ножницы», используя «операторы переключения».Я закончил, но сегодня в классе нас попросили добавить цикл в нашу существующую игру.Я понимаю основы циклов for и while, однако не понимаю, как добавить их в существующую программу.Какой из них лучше использовать?И что мне делать?

Спасибо, ребята

Итак, еще раз, я понимаю основы циклов for и while.Но я не понимаю, есть ли что-то еще, что мне нужно объявить, что мне нужно ввести, чтобы получить правильный вывод / цикл.

#include <iostream>

using namespace std;

int main()

{ // opening bracket 

    int game;
    cout <<"Let's play Rock, Paper, Scissors \nEnter 1 for rock, 2 for paper,3 for scissors"<< endl ;

    cin >> game;

    switch(game)
    {
            case 1:
                    cout << "You chose rock" << endl;
                    break;
            case 2:
                    cout << "You chose paper" << endl;
                    break;
            case 3:
                    cout << "You chose scissors" << endl;
                    break;
            default:
                    cout<<game << " is not a valid choice"<< endl;
    }

} // closing bracket  

НИЖЕ ИНСТРУКЦИИ моего ПРОФЕССОРА:

Создайте вторую часть игры «Камень, ножницы, бумага».Усовершенствуйте лабораторную работу 5, чтобы пользователь продолжал играть до тех пор, пока он вводит «Y».Сделайте этот случай чувствительным;если они введут нижний регистр y, игра не будет продолжена.Если пользователь вводит что-либо, кроме прописной буквы Y, игра заканчивается.

Ваш текст должен точно соответствовать приведенным ниже примерам:

Пример 1 с правильным вводом Давайте сыграем Камень, Бумага, Ножницы Введите 1 для камня, 2 для бумаги, 3 для ножниц 2 Вы выбрали бумагуВам нравится играть снова (Y для да, N для нет)?Y Введите 1 для камня, 2 для бумаги, 3 для ножниц 1 Вы выбрали рок Хотите играть снова (Y для да, N для нет)?N Пример 2 с неправильным вводом Давайте сыграем Камень, Бумага, Ножницы Введите 1 для камня, 2 для бумаги, 3 для ножниц 5 5 не является правильным выбором. Вы хотели бы сыграть снова (Y для да, N для нет)?у

Ответы [ 3 ]

0 голосов
/ 12 февраля 2019

Возможно, вам лучше посмотреть видео на YouTube или почитать основы циклов.В любом случае, вот очень простой способ понять это

#include <iostream>

int main(){

    char choice = 'Y';

    //enter this loop since 'choice' equals Y
    while(choice == 'Y'){

        //run the game

        //if they enter anything else other than Y, it will stop the loop
        std::cout << "Would you like to play again (Y for yes, N for no)? \n";
        std::cin >> choice;
    }

    return 0;
} 
0 голосов
/ 12 февраля 2019
You can also make use of infinite loop to make it work.

    #include <iostream>

    using namespace std;

    int main()

    { // opening bracket 

        int game;

        while(1) //you can comment this line and uncomment below line rest all will be same
        //for(;;) 
        {
            cout << "\nLet's play Rock, Paper, Scissors \n Enter \"1\" for rock\n Enter \"2\" for paper\n Enter \"3\" for scissors\n **Press any other key to exit from the game." << endl ;
            cout << "\nYour option is : ";  
            cin >> game;

            switch(game)
            {
                    case 1:
                            cout << "You chose rock\n" << endl;
                            break;
                    case 2:
                            cout << "You chose paper\n" << endl;
                            break;
                    case 3:
                            cout << "You chose scissors\n" << endl;
                            break;
                    default:
                            cout << game << " is not a valid choice\n"<< endl;
                            return 0;
            }
        }

    } // closing bracket  
0 голосов
/ 12 февраля 2019

Вот то, что у вас есть сейчас:

//some code that plays a game

Вот что вы хотите:

while player wishes to continue playing
  //same code that plays the game
end while

или, альтернативно, используйте цикл for, но для выхода, который будет отличаться, вам понадобится"вырваться" из нее.

...