Вопрос задан 15.10.2026 в 06:50. Предмет Информатика. Спрашивает Драмашков Андрей.

Игра «Кубики». Условие: имеется два игральных кубика со значениями от 1 до 6. Игра происходит с компьютером, кубики бросаются поочерёдно. Побеждает тот, у кого сумма выпавших очков по итогам пяти бросков больше. Предусмотрите возможность получения первого хода человеком или компьютером. Кубики отображаются с помощью символов. В конце игры необходимо выводить среднюю сумму по броскам для обоих участников. На языке C++ (функции).

Перейти к ответам

Ответы на вопрос

Отвечает Ягодка Лайла.

Программа на C++:

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

int rollDie() {
  return rand() % 6 + 1;
}

void showDie(int n) {
  string faces[7] = {"", "⚀", "⚁", "⚂", "⚃", "⚄", "⚅"};
  cout << faces[n];
}

int makeTurn(string player) {
  int die1 = rollDie();
  int die2 = rollDie();
  int sum = die1 + die2;
  cout << player << ": ";
  showDie(die1);
  cout << " ";
  showDie(die2);
  cout << " — сумма: " << sum << endl;
  return sum;
}

int main() {
  srand(time(0));
  int choice, humanSum = 0, computerSum = 0;
  cout << "Кто ходит первым? 1 — человек, 2 — компьютер: ";
  cin >> choice;

  for (int i = 1; i <= 5; i++) {
    cout << "\nБросок " << i << endl;
    if (choice == 1) {
      humanSum += makeTurn("Человек");
      computerSum += makeTurn("Компьютер");
    } else {
      computerSum += makeTurn("Компьютер");
      humanSum += makeTurn("Человек");
    }
  }

  cout << "\nСредняя сумма человека: " << humanSum / 5.0 << endl;
  cout << "Средняя сумма компьютера: " << computerSum / 5.0 << endl;

  if (humanSum > computerSum)
    cout << "Победил человек!";
  else if (computerSum > humanSum)
    cout << "Победил компьютер!";
  else
    cout << "Ничья!";
  return 0;
}

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос