1

Тема: Допожіть дописати код (вчуся)

    Доброго дня! Дуже прошу допоможіть дописати код, я нещодавно почав вивчати С++ та от пишу гру по завданню з інтернета. Допожіть доробити цей код так, щоб після кожного раунду можна було побачити загальну кількість очок у гравця та комп'ютера, щоб після останнього раунду можна було порахувати хто переможець. Я хочу зробити це саме присвоєнням, щоб в циклі воно кожен раз замінювало та додавало себе, але не можу зрозуміти як це реалізувати.
    //я розумію, що є багато варіантів рішення, я бачив інше рішення, але я хочу зробити це саме таким способом, щоб зрозуміти на майбутнє та на запарюватись з цим присвоюваннєм:)
    (код зараз запускається, тому якщо запустите - то відразу стане все зрозуміло)

    Код:

    #include <iostream>
    #include <Windows.h>
    #include <ctime>
    using namespace std;
    
    int ThrowDices(int dice1[], int dice2[], int const SIZE);
    
    void main() {
        SetConsoleCP(1251);
        SetConsoleOutputCP(1251);
    
        int const SIZE = 1;
        int dice1[SIZE] = {};
        int dice2[SIZE] = {};
    
        srand(time(NULL));
    
        char player = '1';
    
        for (int i = 0; i < 4; i++)
        {
            cout << "\nГравець, ваша черга (нажміть 1) ";
    
            cin >> player;
            ThrowDices(dice1, dice2, SIZE);
            cout << "\nПоходив комп'ютер: \n";
            ThrowDices(dice1, dice2, SIZE);
    
        }
    }
    int ThrowDices(int dice1[], int dice2[], int const SIZE) {
    
        int player = 0;
        int maxSum = 0;
    
        for (int i = 0; i < SIZE; i++)
        {
            dice1[i] = 1 + rand() % 6;
    
            for (int j = 0; j < SIZE; j++)
            {
                dice2[j] = 1 + rand() % 6;
                cout << dice1[i] << " | " << dice2[j];
                cout << "\nСумма: " << dice1[i] + dice2[j] << endl;                    
            }    
            return 0;
        }
    }

    2

    Re: Допожіть дописати код (вчуся)

    Я абсолютно не можу зрозуміти, що ви намагаєтеся з усіма цими циклами і масивами з 1 елемента зробити; але в будь-якому разі - вам треба повертати суму з функції і додавати до очок людини і комп'ютера відповідно, якось так:

    int player = 0;
    int computer = 0;
    ...
    player += ThrowDices(dice1, dice2, SIZE);
    computer += ThrowDices(dice1, dice2, SIZE);

    3

    Re: Допожіть дописати код (вчуся)

    Дякую, вже переписав. так краще:

    int ThrowDices();
    
    int main()
    {
        SetConsoleCP(1251);
        SetConsoleOutputCP(1251);
        srand(time(NULL));
        int playerSum = 0;
        int computerSum = 0;
        char ch;
        
        for(int i = 0; i < 4; i++)
        {
            cout << "\nГравець, натисни Y, щоб походити: " << endl;
            cin >> ch;
            playerSum = playerSum + ThrowDices();
            cout << "\nЗагальна сума: " << playerSum << endl;
            cout << "\nПоходив компютер: ";
            computerSum = computerSum + ThrowDices();
            cout << "\nЗагальна сума: " << computerSum << endl;
        }
        cout << "\nРезультат гравця: " << playerSum;
        cout << "\nРезультат компютера: " << computerSum << endl;
        
        return 0;
    }
    
    int ThrowDices()
    {
        int firstAttempt = 1 + rand() % 6;
        int seccondAttempt = 1 + rand() % 6;
        cout << firstAttempt << " | " << seccondAttempt;
    
        int sum = firstAttempt + seccondAttempt;
        cout << "\nСума: " << sum;
        return sum;
    }

    4

    Re: Допожіть дописати код (вчуся)

    Надав вам можливість редагувати. Швидко зробіть код відповідним Правилу 1.1, поки бан не прилетів.