• Предмет: Информатика
  • Автор: taniyham
  • Вопрос задан 5 месяцев назад

Гра ''кубики''. Умова: є два гральних кубика зі значеннями від 1 до 6. Гра відбувається з комп'ютером, кубики кидають почергово. Перемагає той, у кого сума балів , які випали по підсумкам п'яти кидків більше. Передбачити можливість отримання першого хода людиною чи комп'ютером. Кубики відображаються за допомогою символів. В кінці гри необхідно виводити середню суму по кидках для обох учасників.
С++

Ответы

Ответ дал: slonce70
0

#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;

}


DavidDaviduch: Ты забыл поставить setlocale(LC_CTYPE, "Ukr"); Но я всё равно поставлю 5 звёзд
Вас заинтересует