Код "рулетки" в командной строке

За идею огромное спасибо пользователю code-live — Егору.
Его «рулетка» привлекла внимание и я решил изучить ее код. В процессе немного потанцевал с бубном и готов представить на свет со всеми доработками и пояснениями.
P.S. просьба на ошибки и недоработки, тыкать носом как наделавшего делов котенка :D Все-таки только 4й урок по С++ и коду вообще прохожу, надо учиться. Идеи доработок (желательно с подсказками по коду) будут бесценны.

#include <iostream>
#include <cstdlib>
using namespace std;

int main() 
{
    setlocale(0, ""); // функция для включения русского языка
    int a; // переменная ставки
    int b; // переменная цвета/номера ставки
    int c = 100; // счет пользователя
    int d; // рандомное число для для выбора победившей ставки

    cout << "Здравствуйте! Вас приветствует рулетка! В начале игры у Вас имеется 100 монет." << endl;
    cout << "Ваши задача, заработать 1000 монет, делая ставки на цвета:" << endl;
    cout << "Черный - x2 монет(Шанс 48%), Красный - x3 монет(Шанс 32%), Голубой - x5монет(Шанс 18%) и золотой - x50 монет(Шанс 2%)" << endl;

    while (c < 1000) // условие при котором будет работать цикл. После выполнения условия программа будет выполнять следующие команды
    {
        if (c > 0) // следующие 3 функции обрабатывают счет, и выдают результат соответственно условию
        {
            cout << endl << "Введите Вашу ставку: ";
            cin >> a;
        }
        else if (c <= 0) // вывод сообщения о проигрыше если выполнено условие
        {
            cout << "Наши соболезнования. Вы проиграли. На вашем счету " << c << " монет" << endl;
            system("pause");
            return 0;
        }
        if (c < a) // если ставка больше средств пользователя
        {
            while (c < a)
            {
            cout << "Недостаточно средств" << endl;
            cout << "Уменьшите ставку: ";
            cin >> a;
            }
        }

        cout << "Выберите цвет ставки - (1 — Черный; 2 — Красный; 3 — Голубой; 4 — Золотой): ";
        cin >> b;

        while (b > 4) // функция для отсечения цифр которые <1 и >4
        {
            cout << "Введите корректный номер - (1 — Черный; 2 — Красный; 3 — Голубой; 4 — Золотой): ";
            cin >> b;
        }
        while (b < 1)
        {
            cout << "Введите корректный номер - (1 — Черный; 2 — Красный; 3 — Голубой; 4 — Золотой): ";
            cin >> b;
        }

        d = rand() % 100 + 1; // функция рандомного числа где, % 100 - выбор диапазона чисел от 0 до 100 (отсчет начинается именно с нуля). 
                            // Для смещения диапазона до 1-100 пишем +1 (почитайте статьи про генератор случайных чисел)
        cout << "Выпал " << d << endl;

        if (b == 1) // если пользователь выбрал "Черную"(1) ставку то \/
        {
            if (20 <= d && d <= 68) // выбор диапазона цифр при котором ставка будет выигрышная или поигрышная
            { 
                    c = c + a; // формула плюсования средств в случает выигрыша
                    cout << "Ваша ставка выиграла, у вас " << c << " монет" << endl;
            }else{
                    c = c - a; // формула вычета средств в случает проигрыша
                    cout << "Ваша ставка проиграла, у вас " << c << " монет" << endl;
            }
        }
        else if (b == 2) // "Красная" ставка
        {
            if (67 <= d && d <= 99) 
            {
                    c = c + a * 2; // к сумме плюсуем ставку умноженную на 2
                    cout << "Ваша ставка выиграла, у вас " << c << " монет" << endl;
            }else{
                    c = c - a;
                    cout << "Ваша ставка проиграла, у вас " << c << " монет" << endl;
            }
        }
        else if (b == 3) // "Голубая" ставка
        {
            if (2 <= d && d <= 19)
            {
                c = c + a * 4;
                cout << "Ваша ставка выиграла, у вас " << c << " монет" << endl;
            }else{
                c = c - a;
                cout << "Ваша ставка проиграла, у вас " << c << " монет" << endl;
            }
        }
        else if (b == 4) // "Золотая" ставка
        {
            if (d == 1)
            {
                c = c + a * 49;
                cout << "Ваша ставка выиграла, у вас " << c << " монет" << endl;
            }
            else if (d == 100)
            {
                c = c + a * 49;
                cout << "Ваша ставка выиграла, у вас " << c << " монет" << endl;
            }else{
                c = c - a;
                cout << "Ваша ставка проиграла, у вас " << c << " монет" << endl;
            }
        }
    }

    if (c > 1000) // вывод сообщения о победе если выполнено условие
    {
        cout << "Наши поздравления! Вы победили в этой игре. На вашем счету " << c << " монет" << endl;
        system("pause");
        return 0;
    }
}

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.

Ответить

Вы можете использовать разметку markdown для оформления комментариев и постов. Используйте функцию предпросмотра для проверки корректности разметки.

Пожалуйста, оформляйте исходный код в соответствии с правилами разметки. Для того, чтобы вставить код в комментарий, скопируйте его в текстовое поле ниже, после чего выделите то, что скопировали и нажмите кнопку «код» в панели инструментов. Иначе ваш код может принять нечитаемый вид.

Либо производите оформление кода вручную, следующим образом:

``` #include <iostream> using namespace std; int main() { // ... } ```

Предпросмотр сообщения

Ваше сообщение пусто.