Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
zapar51
0 / 0 / 0
Регистрация: 10.10.2016
Сообщений: 10
1

Реализовать игру в кости (кубики)

10.10.2016, 18:05. Просмотров 670. Ответов 12
Метки нет (Все метки)

Вот мы по си сейчас проходим Указатели и шаблоны функций ! Нам задали вот такую задачку. Помогите пожалуйста!!! Написать приложение для игры пользователя в кубики. Выпадает случайное число от 1 до 6.
Пользователь бросает кубики до позиленения - т.е. пока у него возникает такое желание. Нужно высчитать среднее количество очков,
заработанных пользователем за один ход
Функция принимает в качесттве параметров количество бросков, которые пользоатель успел совершить и сумму очков, которые он набрал.
Внутри функции эти переменные изменяются.
Функция типа void
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.10.2016, 18:05
Ответы с готовыми решениями:

Написать игру кости
Здравствуйте, стоит вот такая задача: "Основное правило игры в кости — каждый игрок по очереди...

Написать программу, реализующую игру в кости
Ребята, всем доброго времени суток... Посмотрите, пожалуйста, может кто то подскажет что...

Игра в кости: реализовать мини-казино; реализовать возможность игры 2 человек между собой
Уважаемые форумчане! Подскажите, пож-та, где можно посмотреть программу игры в кости, но не...

Как написать игру "Кубики"?
Условие: имеется два игральных кубика со значениями от 1 до 6. Игра происходит с компьютером,...

Надо написать программу (игру) "Кости". Где ошибка?
Доброго времени. суток. Прошу помочь с решение "проблемы" по написанию программы (игры) в "Кости"...

12
nmcf
6532 / 5756 / 2621
Регистрация: 14.04.2014
Сообщений: 24,493
10.10.2016, 18:23 2
И что не получается? Где функция?
0
zapar51
0 / 0 / 0
Регистрация: 10.10.2016
Сообщений: 10
10.10.2016, 19:39  [ТС] 3
Так я и прошу чтобы написали ( код)!!!
0
nmcf
6532 / 5756 / 2621
Регистрация: 14.04.2014
Сообщений: 24,493
10.10.2016, 19:41 4
Т. е. всё, что она делает, - делит сумму очков на количество бросков? Если void, то как результат-то возвращается?
0
10.10.2016, 19:41
zapar51
0 / 0 / 0
Регистрация: 10.10.2016
Сообщений: 10
10.10.2016, 19:52  [ТС] 5
да помоему
0
GbaLog-
Любитель чаепитий
3188 / 1491 / 470
Регистрация: 24.08.2014
Сообщений: 5,249
Записей в блоге: 1
Завершенные тесты: 2
10.10.2016, 19:59 6
Цитата Сообщение от nmcf Посмотреть сообщение
Если void, то как результат-то возвращается?
Я думаю суть в этом:
Цитата Сообщение от zapar51 Посмотреть сообщение
Внутри функции эти переменные изменяются.
0
zapar51
0 / 0 / 0
Регистрация: 10.10.2016
Сообщений: 10
10.10.2016, 20:11  [ТС] 7
так кто нибудь напишет код или нет
0
SamBars
16 / 16 / 12
Регистрация: 06.10.2015
Сообщений: 94
10.10.2016, 21:57 8
Цитата Сообщение от zapar51 Посмотреть сообщение
так кто нибудь напишет код или нет
объясни что за сумма очков?
0
zapar51
0 / 0 / 0
Регистрация: 10.10.2016
Сообщений: 10
11.10.2016, 20:02  [ТС] 9
Там же написано от 1 до 6!
0
nmcf
6532 / 5756 / 2621
Регистрация: 14.04.2014
Сообщений: 24,493
11.10.2016, 20:35 10
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <random>
#include <chrono>
 
using namespace std;
 
std::default_random_engine generator = std::default_random_engine(std::chrono::system_clock::now().time_since_epoch().count());
std::uniform_int_distribution<int> random(1, 6);
 
void f(int &n, int &s)
{
    int i = random(generator);
    ++n;
    s += i;
    cout << i << " : " << s / n << endl;
}
 
int main()
{
//...
}
0
zapar51
0 / 0 / 0
Регистрация: 10.10.2016
Сообщений: 10
11.10.2016, 20:45  [ТС] 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
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
#include <iostream>
#include <time.h>
#include <Windows.h>
 
using namespace std;
 
enum Color { Black = 0, Blue, Green, Cyan, Red, Magenta, Brown, LightGray, DarkGray, LightBlue, LightGreen, LightCyan, LightRed, LightMagenta, Yellow, White };
 
HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
 
void SetColor(Color text, Color background)
{
    SetConsoleTextAttribute(hStdOut, (WORD)((background << 4) | text));
}
 
template <typename uni>
void set(uni mas[], int size, int min, int max) {
    srand(time(0));
    for (int i = 0; i < size; i++)
    {
        mas[i] = min + rand() % (max - min + 1);
    }
}
 
void set(double mas[], int size, int min, int max) {
    srand(time(0));
    for (int i = 0; i < size; i++)
    {
        mas[i] = (min + rand() % (max - min + 1)) + (double)(rand() % 100) / 100;
    }
}
 
void set(float mas[], int size, int min, int max) {
    srand(time(0));
    for (int i = 0; i < size; i++)
    {
        mas[i] = (min + rand() % (max - min + 1)) + (float)(rand() % 100) / 100;
    }
}
 
void set(char mas[], int size, int min, int max) {
    if (min >= 0 && max <= 255)
    {
        srand(time(0));
        for (int i = 0; i < size; i++)
        {
            mas[i] = min + rand() % (max - min + 1);
            //Если значение > 127, то результат - отрицательное число
            //Вот такое коварство char
        }
    }
    else
    {
        cout << "Неверные данные\n";
    }
}
 
template <typename uni>
void show(uni mas[], int size) {
    for (int i = 0; i < size; i++)
    {
        if (mas[i] > 0) {
            SetColor(LightGreen, Black);
        }
        else if (mas[i] < 0) {
            SetColor(LightRed, Black);
        }
        else {
            SetColor(Yellow, Black);
        }
        cout << mas[i] << "\t";
    }
    SetColor(LightGray, Black);
    cout << "\n";
}
 
template <typename uni>
uni minimal(uni mas[], int size) {
    uni min = mas[0];
    for (int i = 0; i < size; i++)
    {
        if (mas[i] < min)
        {
            min = mas[i];
        }
    }
    return min;
}
 
char minimal(char mas[], int size) {
    char min = mas[0];
    for (int i = 0; i < size; i++)
    {
        if (mas[i] < min)
        {
            min = mas[i];
        }
    }
    cout << (int)min << "\t";
    return min;
}
 
template <typename uni> 
uni summinimals(uni mas[], int size) {
    uni sum = 0;
    for (int i = 0; i < size; i++)
    {
        if (mas[i] < 0)
        {
            sum += mas[i];
        }
    }
    return sum;
}
 
int summinimals(char mas[], int size) {
    cout << "Невозможно для данного типа. \nP.S. Вообще, возможно\n";
    return 0;
}
 
void main() {
    setlocale(LC_ALL, "rus");
    const int size = 15;
    int mas1[size];
    char mas2[size];
    float mas3[size];
    double mas4[size];
 
    set(mas1, size, -100, 100);
    show(mas1, size);
    cout << "\n";
    SetColor(LightMagenta, Black);
    cout << "Наименьший: " << minimal(mas1, size) << "\n";
    cout << "Сумма отрицательных: " << summinimals(mas1, size) << "\n";
    cout << "\n";
 
    set(mas2, size, 32, 255);
    show(mas2, size);
    cout << "\n";
    SetColor(LightMagenta, Black);
    cout << "Наименьший: ";
    cout << minimal(mas2, size) << "\n";
    cout << "Сумма отрицательных: " << summinimals(mas2, size) << "\n";
    cout << "\n";
 
    set(mas3, size, 0, 100);
    show(mas3, size);
    cout << "\n";
    SetColor(LightMagenta, Black);
    cout << "Наименьший: " << minimal(mas3, size) << "\n";
    cout << "Сумма отрицательных: " << summinimals(mas3, size) << "\n";
    cout << "\n";
 
    set(mas4, size, -1000, 1000);
    show(mas4, size);
    cout << "\n";
    SetColor(LightMagenta, Black);
    cout << "Наименьший: " << minimal(mas4, size) << "\n";
    cout << "Сумма отрицательных: " << summinimals(mas4, size) << "\n";
    cout << "\n";
    SetColor(LightGray, Black);
}
Добавлено через 2 минуты
Или как по другому можно написать?)
0
nmcf
11.10.2016, 20:47
  #12

Не по теме:

И как это с кубиками связано?

0
zapar51
0 / 0 / 0
Регистрация: 10.10.2016
Сообщений: 10
11.10.2016, 21:09  [ТС] 13
Извените не тот код скинул!!!

Добавлено через 15 минут
а этот код хоть правильно написан? или как то можно по другому написать???

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
11.10.2016, 21:09
StackOverflow
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.10.2016, 21:09

Как написать игру "Кости"
Подскажите как правильно написать игру кости.

Программа, имитирующая игру в "Кости"
Написать программу, которая имитирует игру в кости. Игроки (2 человека) кидают по 2 кубика...

написать игру "кости"
написать игру &quot;кости&quot; у компьютера и пользователя по 100 игровой валюты ставку делает компьютер...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru