Форум программистов, компьютерный форум CyberForum.ru

Вывести среднюю сумму по броскам для обоих участников (игра "кубики") - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 49, средняя оценка - 4.67
Aleksandr1
2 / 2 / 0
Регистрация: 01.09.2010
Сообщений: 11
01.09.2010, 18:58     Вывести среднюю сумму по броскам для обоих участников (игра "кубики") #1
Игра «кубики». Условие: имеется два игральных кубика со значениями от 1 до 6. Игра происходит с компьютером, кубики бросаются поочередно. Побеждает тот, у кого сумма выпавших очков по итогам пяти бросков больше. Предусмотрите возможность получения первого хода человеком или компьютером. Кубики отображаются с помощью символов. В конце игры необходимо выводить среднюю сумму по броскам для обоих участников.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.09.2010, 18:58     Вывести среднюю сумму по броскам для обоих участников (игра "кубики")
Посмотрите здесь:

C++ Игра в кубики
Сформировать массивы А[15] и B[10]. Вывести их на экран. Подсчитать количество ненулевых элементов и максимальные значения в обоих массивах C++
C++ Игра «кубики»
Вывести количество элементов массива, которые строго больше обоих своих соседей (исправить) C++
игра "кубики" C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
01.09.2010, 19:41     Вывести среднюю сумму по броскам для обоих участников (игра "кубики") #2
Aleksandr1,
Ваши идеи решения? Наработки?
odip
Эксперт C++
 Аватар для odip
7225 / 3287 / 58
Регистрация: 17.06.2009
Сообщений: 14,165
01.09.2010, 19:43     Вывести среднюю сумму по броскам для обоих участников (игра "кубики") #3
Компьютер выкидывает: 6+6 6+6 6+6 6+6 6+6
Он победил !
Ну в крайнем случае ничья
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
01.09.2010, 20:29     Вывести среднюю сумму по броскам для обоих участников (игра "кубики") #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include <iostream>
#include <conio.h> // для getch()
#include <stdlib.h> 
#include <time.h>
 
int main()
{
    setlocale( LC_ALL,"Russian" );
    std::cout << "Поехали!!!";
    char answer;
    do
    {
    system("cls");
    std::cout << "1 - 1-й ход за Вами" << std::endl
          << "2 - 1-й ход за компьютером" << std::endl;
    answer = getch();
    while(answer != '1' && answer != '2')
    {
        std::cout << "Ошибка ввода повторите ввод" << std::endl;
        answer = getch();
    }
    system("cls");
    srand(time(NULL));
    int gamer, gamerSum = 0;
    int computer, computerSum = 0;
    switch( answer )
    {
        case '1':  for( int i = 0; i < 5; ++i )
               {
                   gamerSum += gamer = rand() % 6 + 1;
                   std::cout << "Ваш " << (i+1) << "-й бросок: " << gamer << std::endl;
                   computerSum += computer = rand() % 6 + 1;
                   std::cout << (i+1) << "-й бросок компьютерa: " << computer << std::endl;
               }
               break;
        case '2':  for( int i = 0; i < 5; ++i )
               {
                   computerSum += computer = rand() % 6 + 1;
                   std::cout << (i+1) << "-й бросок компьютерa: " << computer << std::endl;
                   gamerSum += gamer = rand() % 6 + 1;
                   std::cout << "Ваш " << (i+1) << "-й бросок: " << gamer << std::endl;
               }
               break;
    }
    if( gamerSum == computerSum ) std::cout << "нечья" << std::endl; 
        if( gamerSum > computerSum ) std::cout << "Вы подели. Ваша сумма очков " << gamerSum 
                                      << ". Сумма очков компьютерa "  << computerSum <<  std::endl;
        if( gamerSum < computerSum ) std::cout << "Компьютер победил. " << "Сумма очков компьютерa "  << computerSum 
                          << ". Ваша сумма очков " << gamerSum << std::endl;
        std::cout << "Хотите сыграть еще раз? Y/N" << std::endl;
        answer = getch();
    } while( answer == 'Y' || answer == 'y');
    return 0;
}
Regishka_N
0 / 0 / 0
Регистрация: 11.11.2011
Сообщений: 3
11.11.2011, 19:38     Вывести среднюю сумму по броскам для обоих участников (игра "кубики") #5
у меня такое же задание. но этот код не работает. Помогите пожалуйста.
Dar101
 Аватар для Dar101
40 / 40 / 1
Регистрация: 12.05.2011
Сообщений: 109
11.11.2011, 19:41     Вывести среднюю сумму по броскам для обоих участников (игра "кубики") #6
Regishka_N, чего пишет? У меня всё работает — сейчас специально проверил.
Regishka_N
0 / 0 / 0
Регистрация: 11.11.2011
Сообщений: 3
11.11.2011, 19:51     Вывести среднюю сумму по броскам для обоих участников (игра "кубики") #7
25 ошибок((

Добавлено через 7 минут
и еще нужно, чтобы кубики отображались графически.
lemegeton
 Аватар для lemegeton
2909 / 1338 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
11.11.2011, 20:05     Вывести среднюю сумму по броскам для обоих участников (игра "кубики") #8
Цитата Сообщение от Regishka_N Посмотреть сообщение
у меня такое же задание
Угу.
Цитата Сообщение от Regishka_N Посмотреть сообщение
и еще нужно, чтобы кубики отображались графически
А так да -- то же задание.

Цитата Сообщение от Regishka_N Посмотреть сообщение
25 ошибок((
Телепаты из отпуска еще не вышли. Приведите ошибки.
Regishka_N
0 / 0 / 0
Регистрация: 11.11.2011
Сообщений: 3
05.12.2011, 15:13     Вывести среднюю сумму по броскам для обоих участников (игра "кубики") #9
Пожалуйста помогите! Для этой игры хочу создать класс граней(от 1 до 6). Вот пробую пока создать грань номиналом "1". В чем ошибка?? может есть другие способы.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include<graphics.h>
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
int main(void)
{ int gdriver=DETECT,gmode,errorcode;
initgraph (&gdriver, &gmode,"");
errorcode=graphresult();
if (errorcode!=grOk)
{ cout<<"Graphic error: /n"<<grapherrormsg
(errorcode);
getch ();
exit (1);
}
class rectangle
{
public:
int x;
int y;
int x1;
int y1;
int color;
};
int main()
{
rectangle r1;
r1.x=0;
r1.y=0;
r1.x1=x+30;
r1.y1=y+30;
circle (x/2,y/2,10);
}
getch ();
closegraph ();
return 0;
Ruzhin
15 / 15 / 3
Регистрация: 18.01.2013
Сообщений: 17
30.01.2013, 23:47     Вывести среднюю сумму по броскам для обоих участников (игра "кубики") #10
Вот тебе работающий код:


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
 
void bros(int kubik);
int rez();
 
void main()
{
    setlocale (LC_ALL,"");
    srand(time(NULL));
 
    cout <<"Привет! Сыграем в кубики? Правила очень простые: " <<endl;
    cout <<"Побеждает тот, у кого сумма по итогам пяти бросков больше!" <<endl;
    cout <<"Поехали...\n\n" <<endl;
    
    char brosok;
    int total_chel=0;
    int total_komp=0;
    
    do
    {
    cout <<"Разыграем очередность бросков? Нажми * для броска...Бросай! " <<endl;
    cin >> brosok;
    }
    while (brosok!='*');
 
    int rez_chel, rez_komp;
    do
    {
    rez_chel=rez();
    cout <<"Ваш результат: " <<rez_chel <<endl;
    
    cout <<"\nТеперь я..." <<endl;
    
    rez_komp=rez();
    cout <<"\nМой результат: " <<rez_komp <<endl;
    }
    while (rez_chel==rez_komp);
 
    if (rez_chel>rez_komp)
    {
        cout <<"\nК сожалению Вы начинаете первым ((( " <<endl;
        for (int i=1; i<=5; i++)
        {
            do
            {
            cout <<"Бросай! (жми *)" <<endl;
            cin >> brosok;
            }
            while (brosok!='*');
            total_chel+=rez();
            
            total_komp+=rez();
            
        }
        cout << "Ваш общий результат (сумма очков за 5 бросков): " <<total_chel <<endl;
        cout << "\nМой общий результат (сумма очков за 5 бросков): " <<total_komp <<endl;
    }
    else
    {
        cout <<"\nУра!!! бросаю первым Я!!! " <<endl;
        for (int i=1; i<=5; i++)
        {
            total_komp+=rez();
            
            do
            {
            cout <<"Бросай! (жми *)" <<endl;
            cin >> brosok;
            }
            while (brosok!='*');
            total_chel+=rez();
            
        }
        cout << "Ваш общий результат (сумма очков за 5 бросков): " <<total_chel <<endl;
        cout << "Мой общий результат (сумма очков за 5 бросков): " <<total_komp <<endl;
    }
 
    if (total_chel==total_komp)
    {
        cout <<"\n\nНИЧЬЯ!!!\n\n" <<endl;
    }
    else
    {
        if (total_chel>total_komp)
        {
            cout <<"\n\nВы выиграли!!! Поздравляю!!!\n\n" <<endl;
        }
 
        if(total_chel<total_komp)
        {
            cout <<"\n\nЯ выиграл!!! Неудивительно правда? Ведь я же генерирую случайные числа а не Вы ))) (Шутка)\n\n" <<endl;
        }
    }
 
    cout <<"СТАТИСТИКА ИГРЫ\n\n";
 
    cout <<"Ваша средняя сумма по броскам: " <<total_chel/5.0 <<endl;
    cout <<"Моя средняя сумма по броскам: " <<total_komp/5.0 <<endl;
        
}
 
void bros(int kubik)
{
    switch (kubik)
    {
    case 1:
    cout <<"***********" <<endl;
    cout <<"*         *" <<endl;
    cout <<"*         *" <<endl;
    cout <<"*    *    *" <<endl;
    cout <<"*         *" <<endl;
    cout <<"*         *" <<endl;
    cout <<"***********" <<endl;
        break;
    case 2:
    cout <<"***********" <<endl;
    cout <<"*         *" <<endl;
    cout <<"*    *    *" <<endl;
    cout <<"*         *" <<endl;
    cout <<"*    *    *" <<endl;
    cout <<"*         *" <<endl;
    cout <<"***********" <<endl;
        break;
    case 3:
    cout <<"***********" <<endl;
    cout <<"*         *" <<endl;
    cout <<"*  *      *" <<endl;
    cout <<"*    *    *" <<endl;
    cout <<"*      *  *" <<endl;
    cout <<"*         *" <<endl;
    cout <<"***********" <<endl;
        break;
    case 4:
    cout <<"***********" <<endl;
    cout <<"*         *" <<endl;
    cout <<"*  *   *  *" <<endl;
    cout <<"*         *" <<endl;
    cout <<"*  *   *  *" <<endl;
    cout <<"*         *" <<endl;
    cout <<"***********" <<endl;
        break;
    case 5:
    cout <<"***********" <<endl;
    cout <<"*         *" <<endl;
    cout <<"*  *   *  *" <<endl;
    cout <<"*    *    *" <<endl;
    cout <<"*  *   *  *" <<endl;
    cout <<"*         *" <<endl;
    cout <<"***********" <<endl;
        break;
    case 6:
    cout <<"***********" <<endl;
    cout <<"*         *" <<endl;
    cout <<"*  *   *  *" <<endl;
    cout <<"*  *   *  *" <<endl;
    cout <<"*  *   *  *" <<endl;
    cout <<"*         *" <<endl;
    cout <<"***********" <<endl;
        break;
    }
}
int rez()
{
    int kubik_1=rand()%5+1;
    bros(kubik_1);
 
    int kubik_2=rand()%5+1;
    bros(kubik_2);
 
    int rezult;
    rezult=kubik_1+kubik_2;
    cout <<"Результат: " <<rezult <<"\n\n";
 
    return rezult;
}
Boderman
 Аватар для Boderman
3 / 3 / 3
Регистрация: 25.03.2013
Сообщений: 140
27.03.2013, 05:40     Вывести среднюю сумму по броскам для обоих участников (игра "кубики") #11
Народ может мне подскажите. Тоже условие только хочется понять в чом у меня ошибка ?

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#include <iostream>
#include <Windows.h>
#include <stdlib.h> 
#include <time.h>
using namespace std;
int CPU (int a,int b);
 
int PLAUER ()                                                    //Ход игрока
{setlocale (LC_ALL,"rus");
    srand(time(NULL));  
    int a=0;
    int b=0;
    /*int plauer_1=0;
    int plauer_2=0;*/
    
    
    
    cout<<"Бросок кубиков";
    cout<<"\n\n И первый кубик показывает : (";
    a=rand()%6+1;                                       //Первый кубик
    //plauer_1=a;
    //cout<< plauer_1;
    cout<<a;
    cout<<")  второй кубик показывает : (";
    b=rand()%6+1;   
                                            //Второй кубик
    // plauer_2=b;
    //cout<< plauer_2;
 
    cout<<b;
    cout<<").\n Конец хода ИГРОКА\n------------------------------------------\n";
    
    //int plauer=plauer_1+plauer_2;
 
int plauer=a+b;
return plauer;system ("pause");}
 
int CPU ()                                                      //Ход компютера
{setlocale (LC_ALL,"rus");
    srand(time(NULL));
    int a=0;
    int b=0;
    /*int  cpu_1=0;
    int  cpu_2=0;*/
    
    
    cout<<"Бросок кубиков";
    cout<<"\n\n И первый кубик показывает : (";
    a=rand()%6+1;                                       //Первый кубик
    /* cpu_1=a;
    cout<< cpu_1;*/
    cout<<a;
    cout<<")  второй кубик показывает : (";
    b=rand()%6+1;                                               //Второй кубик
     /*cpu_2=b;
    cout<< cpu_2;*/
    cout<<b;
    cout<<").\n Конец хода КОМПЮТЕРА\n------------------------------------------\n";
    
    //int cpu=cpu_1+cpu_2;
    int cpu=a+b;
    return cpu;system ("pause");}
 
void main ()
{setlocale (LC_ALL,"Russian");
    cout<<"\t\tДобро пожаловать в наще казино !\n\t Мы предлагаем вам сыграть в игру под названием кости.\n \t Каждый игрок поочередно бросает кости на стол.\n\t По истечению 5-ти бросков со стороны каждого участника,\n\t результат сумируеться и определяэться побидитель. \n \t\t\t Удачи вам :)\n\    --------------------------------------------------------------\n";
    cout<<" \n \t         Выбирите кто будет ходить первым:\n\n\t\t  1 - Игрок     |    2- Компютер.\n\n ";
    int a=0;
    int bi;
    int ci;
    cout<<"Ваш выбор:"; cin>>a;
    int array_plauer[5];
    int array_cpu[5];
    int plauer_conf=0;
    int plauer=0;
    int cpu_conf=0;
    int cpu=0;
    
        if (a=1) {for (int i=0;i<5;i++){cout<<PLAUER(); plauer_conf=PLAUER ();plauer=+plauer_conf;system ("pause");
                                        cout<<CPU(); cpu_conf=CPU(); cpu=+cpu_conf;system ("pause");}}                 //Ходит игрок первым
        
        if (a=2) {for (int i=0;i<5;i++){cout<<CPU(); cpu_conf=CPU(); cpu=+cpu_conf;system ("pause");
                                        cout<<PLAUER(); plauer_conf=PLAUER();plauer=+plauer_conf;system ("pause");}}  //Ходит компютер первым
 
 
 
    else {cout<<"Вы выбрали вариант которого не существует ! Досвидания ^_^";}
    /*for (int i=0;i<5;i++) {plauer_conf=+array_plauer[i];} //Плючуем все результаты игрока.
    for (int i=0;i<5;i++) {cpu_conf=+array_cpu[i];} //Плючуем все результаты компютера.*/
 
    if (plauer_conf>cpu_conf) {cout<<"В этой игре побидитель Игрок !!!\n Примите наши поздравления.\n\n";}
    if (plauer_conf<cpu_conf) {cout<<"В этой игре побидитель Компютер !!!\n Примите наши поздравления.\n\n";}
system("pause");}
developer-forz
1 / 1 / 3
Регистрация: 13.03.2014
Сообщений: 8
20.03.2014, 01:30     Вывести среднюю сумму по броскам для обоих участников (игра "кубики") #12
Ruzhin,
C++
1
2
int kubik_1=rand()%5+1; вот тут советую изменить на int kubik_1=rand()%6+1;
так как в условии 5+1 рандомяться числа от 1 до 5
Belo-Ok
0 / 0 / 0
Регистрация: 16.11.2015
Сообщений: 1
06.01.2016, 16:52     Вывести среднюю сумму по броскам для обоих участников (игра "кубики") #13
оооо, СПАСИБО !!!!! все работает !!!!!!!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.08.2016, 12:30     Вывести среднюю сумму по броскам для обоих участников (игра "кубики")
Еще ссылки по теме:

C++ Игра "Кубики"
В файле data.dat хранятся фамилия и годы рождения участников. найти средний возраст участников C++
Вывести на печать номера участников в порядке возрастания набранных ими очков C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
VaLc_DD
0 / 0 / 0
Регистрация: 17.06.2016
Сообщений: 13
03.08.2016, 12:30     Вывести среднюю сумму по броскам для обоих участников (игра "кубики") #14
В условии вроде не требуется возвращать результаты, я так решил
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#include <iostream>
#include <time.h>
using namespace std;
 
void vid_kubika(int vid){
    switch (vid){
    case 1:
        cout << "*********\n*       *\n*       *\n*   *   *\n*       *\n*       *\n*********\n\n";
        break;
    case 2:
        cout << "*********\n*       *\n* *     *\n*       *\n*     * *\n*       *\n*********\n\n";
        break;
    case 3:
        cout << "*********\n*       *\n* *     *\n*   *   *\n*     * *\n*       *\n*********\n\n";
        break;
    case 4:
        cout << "*********\n*       *\n* *   * *\n*       *\n* *   * *\n*       *\n*********\n\n";
        break;
    case 5:
        cout << "*********\n*       *\n* *   * *\n*   *   *\n* *   * *\n*       *\n*********\n\n";
        break;
    case 6:
        cout << "*********\n*       *\n* *   * *\n* *   * *\n* *   * *\n*       *\n*********\n\n";
        break;
    }
}
void chislo_kubika(int g){
    int sum1 = 0, sum2 = 0, k;
    for (int i = g; i < 10 + g; i++){
        if (i % 2 != 0) cout << "Ход игрока\n";
        else            cout << "Ход компьтерa\n";
        for (int j = 1; j <= 2; j++){
            k = rand() % 6 + 1;
 
            if (i % 2 != 0) {
                sum1 += k;
                vid_kubika(k);
            }
            else {
                sum2 += k;
                vid_kubika(k);
            }
        }
        system("pause");
    }
    if (sum1>sum2)  cout << "\nПобедил игрок с суммой " << sum1 << " компьтер набрал " << sum2;
    if (sum2>sum1)  cout << "\nПобедил компьтер с суммой " << sum2 << " игрок набрал " << sum1;
    if (sum1 == sum2)  cout << "\nНичья, игрок и компьтер набрали по " << sum1;
    cout << "\nСредняя сумма набранная игроком за 1 бросoк по 2 кубика\t" << sum1 / 5.0;
    cout << "\nСредняя сумма набранная компьютером за 1 бросoк по 2 кубика\t" << sum2 / 5.0;
}
 
void main(){
    srand(time(0));
    int A, B;
    setlocale(LC_ALL, "rus");
    do{
        system("CLS");
        cout << "Определим кто первый ходит. Ходит тот, у кого выпадет большая цифра\nБросает игрок\n";
        A = rand() % 6 + 1;
        vid_kubika(A);
        cout << "\nБросает компьютер\n";
        B = rand() % 6 + 1;
        vid_kubika(B);
        if (A == B) {
            cout << "\nЗначение одинаково, бросайте снова\n";
            system("pause");
        }
    } while (A == B);
    if (A > B){
        cout << "\nПервым ходит игрок\n";
        system("pause");
        chislo_kubika(1);
    }
    else {
        cout << "\nПервым ходит компьютер\n";
        system("pause");
        chislo_kubika(2);
    }
    cout << "\n\n";
}
Yandex
Объявления
03.08.2016, 12:30     Вывести среднюю сумму по броскам для обоих участников (игра "кубики")
Ответ Создать тему
Опции темы

Текущее время: 00:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru