Игра «кубики». Условие: имеется два игральных кубика со значениями от 1 до 6. Игра происходит с компьютером,
кубики бросаются поочередно. Побеждает тот, у кого сумма выпавших очков по итогам пяти бросков больше.
Предусмотрите возможность получения первого хода человеком или компьютером. Кубики отображаются
с помощью символов. В конце игры необходимо выводить среднюю сумму по броскам для обоих участников.
на языке С++(Функции)
Ответы
Ответ:
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
// функция для броска кубика
int throwDice() {
return rand() % 6 + 1;
}
// функция для определения очередности хода
int coinToss() {
int tossResult = rand() % 2;
if (tossResult == 0) {
cout << "Вы начинаете первым!" << endl;
} else {
cout << "Компьютер начинает первым!" << endl;
}
return tossResult;
}
// функция для игры в кубики
void playDice(bool playerFirst) {
int playerScore = 0, computerScore = 0;
for (int i = 0; i < 5; i++) {
if ((playerFirst && i % 2 == 0) || (!playerFirst && i % 2 != 0)) { // ходит игрок
cout << "Ваш ход! Нажмите Enter, чтобы бросить кубики.";
cin.get();
int dice1 = throwDice();
int dice2 = throwDice();
cout << "Вы выбросили: " << dice1 << " и " << dice2 << endl;
playerScore += dice1 + dice2;
} else { // ходит компьютер
cout << "Ход компьютера. Нажмите Enter, чтобы продолжить.";
cin.get();
int dice1 = throwDice();
int dice2 = throwDice();
cout << "Компьютер выбросил: " << dice1 << " и " << dice2 << endl;
computerScore += dice1 + dice2;
}
}
// вывод результатов игры
cout << "Игра окончена!" << endl;
cout << "Ваш счет: " << playerScore << endl;
cout << "Счет компьютера: " << computerScore << endl;
if (playerScore > computerScore + 5) {
cout << "Вы выиграли!" << endl;
} else if (computerScore > playerScore + 5) {
cout << "Компьютер выиграл!" << endl;
} else {
cout << "Ничья!" << endl;
}
cout << "Средняя сумма очков за бросок:" << endl;
cout << "Вы: " << playerScore / 5.0 << endl;
cout << "Компьютер: " << computerScore / 5.0 << endl;
}
int main() {
srand(time(NULL)); // инициализация генератора случайных чисел
bool playerFirst = coinToss(); // определяем очередность хода
playDice(playerFirst); // начинаем игру
return 0;
}
https://znanija.com/task/53070168?utm_source=android&utm_medium=share&utm_campaign=question