Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
ratatyq
3 / 3 / 1
Регистрация: 16.09.2015
Сообщений: 121
1

Оцените мою 1 игру "21 card game"

21.10.2015, 20:22. Просмотров 450. Ответов 14
Метки нет (Все метки)

Вот решил я сделать свою 1 игру и залить сюда для "конструктивной критики".
Правила игры:
Выигрывает тот кто наберет больше очков но не больше 21 очка, или тот кто наберет первый 21 очко. Подробней можно узнать в google просто набрав карточная игра 21.
7-ка - 7 очков
8-ка - 8 очков
9-ка - 9 очков
10-ка - 10 очков
валет - 2 очка
дама - 3 очка
король - 4 очка
туз - 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
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
// Игра 21 Дата начала разработки: 18.10.2015 20:00.
// Дата выпуска v0.1 20.10.2015 22:09.
// Автор ratatyq.
 
#include <iostream>
#include <cstdlib>
#include <ctime>
 
 
using namespace std;
 
int chislo();
void proschet(int Z, int Y);
void random();
void chislo_bot();
 
int random_player = 0;  // рандом игрок
int player_Score = 0; // Игровой счет игрока
int bot_Score = 0; // Игровой счет бота
int random_bot = 0; // рандом бот
 
void chislo_bot()
{
    if (random_bot == 0)
        cout << "[Последняя Вражеская карта]: 7-ка.\n";
    else if (random_bot == 1)
        cout << "[Последняя Вражеская карта]: 8-ка.\n";
    else if (random_bot == 2)
        cout << "[Последняя Вражеская карта]: 9-ка.\n";\
    else if (random_bot == 3)
        cout << "[Последняя Вражеская карта]: 10-ка.\n";
    else if (random_bot == 4)
        cout << "[Последняя Вражеская карта]: валет.\n";
    else if (random_bot == 5)
        cout << "[Последняя Вражеская карта]: дама.\n";
    else if (random_bot == 6)
        cout << "[Последняя Вражеская карта]: король.\n";
    else if (random_bot == 7)
        cout << "[Последняя Вражеская карта]: туз.\n";
}
 
 
int chislo()
{
    if (random_player == 0)
        cout << "[Выпавшая карта]: Вам выпала 7-ка.\n";
    else if (random_player == 1)
        cout << "[Выпавшая карта]: Вам выпала 8-ка.\n";
    else if (random_player == 2)
        cout << "[Выпавшая карта]: Вам выпала 9-ка.\n";\
    else if (random_player == 3)
        cout << "[Выпавшая карта]: Вам выпала 10-ка.\n";
    else if (random_player == 4)
        cout << "[Выпавшая карта]: Вам выпал валет.'2-очка'\n";
    else if (random_player == 5)
        cout << "[Выпавшая карта]: Вам выпала дама.'3-очка'\n";
    else if (random_player == 6)
        cout << "[Выпавшая карта]: Вам выпал король.'4-очка.'\n";
    else if (random_player == 7)
        cout << "[Выпавшая карта]: Вам выпал туз.'11-очков'\n";
    return 0;
}
 
void proschet(int Z, int Y)
{
    cout << "\nВы выкинули карту\n" << endl;
    if (Z < Y && Y <= 21)
        cout << "Вы проиграли.\n";
    if (Z > Y && Z <= 21)
        cout << "Вы выиграли.\n";
    else if (Z == 0 || Y == 0)
        cout << "[Вы нашли ошибку 0x0003]";
    else if (Z > 21)
        cout << "Вы проиграли.";
    else if (Y > 21)
        cout << "Вы выиграли.";
    chislo_bot();
    cout << "Игра окончена.\n"; // Z - player_score Y - bot_score
}
 
 
void random()
{
    switch(random_player) //
    {
        case 0:
        {
            player_Score = 7;
            break;
        }
        case 1:
        {
            player_Score = 8;
            break;
        }
        case 2:
        {
            player_Score = 9;
            break;
        }
        case 3:
        {
            player_Score = 10;
            break;
        }
        case 4:
        {
            player_Score = 2;
            break;
        }
        case 5:
        {
            player_Score = 3;
            break;
        }
        case 6:
        {
            player_Score = 4;
            break;
        }
        case 7:
        {
            player_Score = 11;
            break;
        }
        default:
            {
                cout << "Если вы видите эту строку то вы нашли баг в игре. 0x0002";
            }
    }
    switch(random_bot)
    {
        case 0:
        {
            bot_Score = 7;
            break;
        }
        case 1:
        {
            bot_Score = 8;
            break;
        }
        case 2:
        {
            bot_Score = 9;
            break;
        }
        case 3:
        {
            bot_Score = 10;
            break;
        }
        case 4:
        {
            bot_Score = 2;
            break;
        }
        case 5:
        {
            bot_Score = 3;
            break;
        }
        case 6:
        {
            bot_Score = 4;
            break;
        }
        case 7:
        {
            bot_Score = 11;
            break;
        }
        default:
            {
                cout << "Если вы видите эту строку то вы нашли баг в игре 0x0001";
            }
    }
}
 
int main()
{
    setlocale(LC_ALL, "Russian");
    srand(time(0));
    int N; // когда в гл.меню
    int E; // когда выбрал меню 2
    int G2; // Продолжение игры
    int G3; // продолжение игры 2
    int sum1_player = 0; // сумма 1 игры
    int sum1_bot = 0;
    int sum2_player = 0; // сумма 2 игры
    int sum2_bot = 0;
    int GFINAL;
    cout << "Игра 21 card game v0.1\n1.Начать игру\n";
    cin >> N;
    if (N == 1)
    {
        cout << "Вы начали игру, раздаем карты...\n";
        random_player = rand() % 8;
        random_bot = rand() % 8;
        random();
        chislo();
        cout << "Введите действие:\n1.Взять еще карту\n2.Выкинуть карту: \nВнимание вы можете взять карты всего 3 раза!\n";
        cin >> G2;
    }
    else if (N > 2)
        cout << "Вы не можете ввести больше 2.";
    if (G2 == 1)
    {
        sum1_player = player_Score;
        sum1_bot = bot_Score;
        random_player = rand() % 8;
        random_bot = rand() % 8;
        random();
        chislo();
        cout << "Введите действие:\n1.Взять еще карту\n2.Выкинуть карту: \nВнимание вы можете взять карты всего 3 раза!\n";
        cin >> G3;
    }
    else if (G2 == 2)
    {
        proschet(player_Score, bot_Score);
    }
    if (G3 == 1)
    {
        sum2_player = player_Score + sum1_player;
        sum2_bot = bot_Score + sum1_bot;
        random_player = rand() % 8;
        random_bot = rand() % 8;
        random();
        chislo();
        cout << "Введите действие:\n1.Выкинуть карту.";
        cin >> GFINAL;
    }
    else if (G3 == 2)
        proschet(sum1_player, sum1_bot);
    if (E == 1)
    {
        cout << "Гл.меню\n1.Начать игру\n2.Автор\n";
        cin >> N;
    }
    if (GFINAL == 1)
        proschet(sum2_player, sum2_bot);
    system("Pause");
    return 0;
}
Скачать откомпилированную игру можно тут:
0
Вложения
Тип файла: rar 21 card game.rar (129.9 Кб, 7 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.10.2015, 20:22
Ответы с готовыми решениями:

Реализовать игру "Жизнь" (Conway's Game of Life) с помощью иерархии классов
У нас есть такие правила: Правила Место действия этой игры — «вселенная» — это...

Как можно реализовать на C++ "Игру жизни Конвея" (Conway's Game of Life)?
как реализовать игру конвея жизнь в с++,подскажите какие-то треды посвященные...

Game "Угадай число" как зделать запрет на "букви" ????
Привет всем кто решил помочь. Написал прогру, но есть проблемка, когда ввожу...

В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно"
В зависимости от времени года &quot;весна&quot;, &quot;лето&quot;, &quot;осень&quot;, &quot;зима&quot; определить...

Для каждой строки найти слова, которые не имеют ни одного из букв: "l", "k", "r", "s" i "j"
Задано символьные строки. Строка состоит из нескольких слов (наборов символов),...

14
Redzep
197 / 133 / 88
Регистрация: 21.12.2014
Сообщений: 369
21.10.2015, 20:31 2
Не надо так
C++
1
chislo
C++
1
proschet
0
Kerry_Jr
Эксперт PHP
2211 / 2007 / 940
Регистрация: 14.05.2014
Сообщений: 5,869
Записей в блоге: 1
Завершенные тесты: 5
21.10.2015, 20:51 3
ratatyq, кажется колоды нет, или я где-то недоглядел?
0
GbaLog-
Любитель чаепитий
3167 / 1473 / 465
Регистрация: 24.08.2014
Сообщений: 5,210
Записей в блоге: 1
Завершенные тесты: 2
21.10.2015, 21:16 4
Ну для 1-го проекта 8/10. Раз уж просите оценить.

Добавлено через 48 секунд
Kerry_Jr, Вы не ошиблись, ее нет, но не судите строго.
0
Kerry_Jr
Эксперт PHP
2211 / 2007 / 940
Регистрация: 14.05.2014
Сообщений: 5,869
Записей в блоге: 1
Завершенные тесты: 5
21.10.2015, 21:31 5
Цитата Сообщение от makfak Посмотреть сообщение
но не судите строго
Разве это строго?
0
GbaLog-
Любитель чаепитий
3167 / 1473 / 465
Регистрация: 24.08.2014
Сообщений: 5,210
Записей в блоге: 1
Завершенные тесты: 2
21.10.2015, 21:34 6
Kerry_Jr, Ну я же не знаю, может вы бы стали его строго судить за то, что нет колоды.
0
ratatyq
3 / 3 / 1
Регистрация: 16.09.2015
Сообщений: 121
21.10.2015, 21:36  [ТС] 7
Kerry_Jr, в функции random все прописано
0
VELZEVUL2015
0 / 0 / 0
Регистрация: 21.10.2015
Сообщений: 50
21.10.2015, 21:39 8
Зачем выкидывать карту если надо пас?
0
GbaLog-
Любитель чаепитий
3167 / 1473 / 465
Регистрация: 24.08.2014
Сообщений: 5,210
Записей в блоге: 1
Завершенные тесты: 2
21.10.2015, 22:07 9
Кстати, на будущее, пишите лучше на английском текст, у меня ваша игра выводит иероглифы вместо русского текста.
0
ratatyq
3 / 3 / 1
Регистрация: 16.09.2015
Сообщений: 121
21.10.2015, 22:13  [ТС] 10
makfak, Может быть из за windows английского он иероглифы показывает, у меня все нормально.
0
GbaLog-
Любитель чаепитий
3167 / 1473 / 465
Регистрация: 24.08.2014
Сообщений: 5,210
Записей в блоге: 1
Завершенные тесты: 2
22.10.2015, 08:22 11
ratatyq, Ну это проблемы локализации.
У меня тоже мои программы на русском, у других иероглифы.
0
ratatyq
3 / 3 / 1
Регистрация: 16.09.2015
Сообщений: 121
24.10.2015, 12:03  [ТС] 12
makfak, а как же тогда решить данные проблемы с локализацией?
0
GbaLog-
Любитель чаепитий
3167 / 1473 / 465
Регистрация: 24.08.2014
Сообщений: 5,210
Записей в блоге: 1
Завершенные тесты: 2
24.10.2015, 12:32 13
ratatyq, Ну есть некоторые способы, но вот, например, у меня Windows XP SP3, у моего друга стоит Win 7, и как бы я не пытался, у него иероглифы, не знаю, можно на Qt писать, наверное, но это сложно, для новичков.
0
ratatyq
3 / 3 / 1
Регистрация: 16.09.2015
Сообщений: 121
24.10.2015, 14:01  [ТС] 14
makfak, я хотел кстате первоночально использовать qt но столкнулся там с дурацким синтаксисом и не стал писать на этом IDE и выбрал старый знакомый code::block
0
GbaLog-
Любитель чаепитий
3167 / 1473 / 465
Регистрация: 24.08.2014
Сообщений: 5,210
Записей в блоге: 1
Завершенные тесты: 2
24.10.2015, 16:10 15
ratatyq, Ну к синтаксису там привыкать надо, так же, как вы привыкали и к обычному синтаксису С++.
0
24.10.2015, 16:10
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.10.2015, 16:10

Реализовать классы "Воин", "Пехотинец", "Винтовка", "Матрос", "Кортик" (наследование)
Разработать программу с использованием наследования классов, реализующую...

Создать абстрактный класс "Издание" и производные классы "Книга", "Статья", "Электронный ресурс"
1. Создать абстрактный класс Издание с методами, позволяющими вывести на экран...

Создать класс "Книга" с полями "название книги", "количество страниц", "год издания"
Создать класс Книга поля: название книги,количество страниц,год издания...


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

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

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