Гра ''кубики''. Умова: є два гральних кубика зі значеннями від 1 до 6. Гра відбувається з комп'ютером, кубики кидають почергово. Перемагає той, у кого сума балів , які випали по підсумкам п'яти кидків більше. Передбачити можливість отримання першого хода людиною чи комп'ютером. Кубики відображаються за допомогою символів. В кінці гри необхідно виводити середню суму по кидках для обох учасників.
С++
Ответы на вопрос
#include <iostream>
#include <ctime>
#include <cstdlib>
#include <string>
using namespace std;
char get_die_symbol(int value) {
static const string symbols = "⚀⚁⚂⚃⚄⚅";
return symbols[value - 1];
}
int roll_dice() {
return rand() % 6 + 1;
}
int main() {
srand(static_cast<unsigned int>(time(nullptr)));
int player_total = 0;
int computer_total = 0;
cout << "Виберіть, хто кидає кубики першим (1 - Гравець, 2 - Комп'ютер): ";
int first_turn;
cin >> first_turn;
for (int i = 0; i < 5; ++i) {
for (int turn = 1; turn <= 2; ++turn) {
if (turn == first_turn) {
int roll1 = roll_dice();
int roll2 = roll_dice();
int sum = roll1 + roll2;
player_total += sum;
cout << "Гравець кинув кубики: " << get_die_symbol(roll1) << " (" << roll1 << ") "
<< get_die_symbol(roll2) << " (" << roll2 << ") Сума: " << sum << "\n";
} else {
int roll1 = roll_dice();
int roll2 = roll_dice();
int sum = roll1 + roll2;
computer_total += sum;
cout << "Комп'ютер кинув кубики: " << get_die_symbol(roll1) << " (" << roll1 << ") "
<< get_die_symbol(roll2) << " (" << roll2 << ") Сума: " << sum << "\n";
}
}
}
cout << "Сума балів гравця: " << player_total << endl;
cout << "Сума балів комп'ютера: " << computer_total << endl;
if (player_total > computer_total) {
cout << "Гравець виграв!\n";
} else if (player_total < computer_total) {
cout << "Комп'ютер виграв!\n";
} else {
cout << "Нічия!\n";
}
cout << "Середня сума по кидках (гравець): " << player_total / 5.0 << endl;
cout << "Середня сума по кидках (комп'ютер): " << computer_total / 5.0 << endl;
return 0;
}