Код "рулетки" в командной строке
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.
За идею огромное спасибо пользователю 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; } }