Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 08.11.2018
Сообщений: 1
1

C++ игра в 21

24.11.2018, 02:04. Показов 941. Ответов 1
Метки нет (Все метки)

Пишу лабораторную по игре в 21(не буду здесь объяснять все правила, но если вкратце то игроки достают из колоды карты и необходимо собрать в сумме 21 или наиболее приближенное к нему число, если >21 то поражение), я игру сделал ... НО, появилась такая проблема, мне необходимо в мою игру добавить логику, а именно, например если у игрока в сумме 18 то он должен как-то подумать "а нужно ли мне еще набирать, а вдруг я вытяну 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
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
#include "pch.h"
#include <thread>
#include <iostream>
#include <string>
#include <time.h>
#include <Windows.h>
#include <fstream>
int **Number1;
int **Number2;
int *Sum1;
int *Sum2;
int Row = 10000, Col = 9;
int RandomNumber1, RandomNumber2;
void Inicialization_Integers() {
    Number1 = new int *[Row];
    Number2 = new int *[Row];
    for (int Row_cykle = 0; Row_cykle < Row; Row_cykle++) {
        Number1[Row_cykle] = new int[Col];
        Number2[Row_cykle] = new int[Col];
    }
    Sum1 = new int[Row];
    Sum2 = new int[Row];
    for (int x_cykle = 0; x_cykle < Row; x_cykle++) {
        Sum1[x_cykle] = 0;
        Sum2[x_cykle] = 0;
    }
}
void Randomize() {
    srand(time(NULL));
    for (int y = 0; y < Row; y++)
        for (int x = 0; x < Col; x++) {
            Number1[y][x] = rand() % 9 + 2;
            Number2[y][x] = rand() % 9 + 2;
        }
}
void SummFirstNumber() {
    srand(time(NULL));
    for (int y = 0; y < Row; y++) {
        RandomNumber1 = rand() % 7 + 1;
        for (int x = 0; x < RandomNumber1; x++)
            Sum1[y] += Number1[y][x];
    }
}
void SummThecondNumber() {
    srand(time(NULL));
    for (int y = 0; y < Row; y++) {
        RandomNumber2 = rand() % 6 + 1;
        for (int x = 0; x < RandomNumber2; x++)
            Sum2[y] += Number2[y][x];
    }
}
void Records() {
    std::ofstream one;
    one.open("ResultGame.txt");
    for (int x = 0; x < Row; x++) {
        one << "Game Number" << x + 1 << "\n";
        for (int y = 0; y < RandomNumber1; y++)
            one << Number1[x][y] << "\t";
        one << "Sum: " << Sum1[x] << "\n";
        for (int i = 0; i < RandomNumber2; i++)
            one << Number2[x][i] << "\t";
        one << "Sum: " << Sum2[x] << "\n";
        if (Sum1[x] <= 21 && Sum2[x] <= 21) {
            if (Sum1[x] > Sum2[x])  one << "Win First Player\n";
            else if (Sum1[x] < Sum2[x]) one << "Win Second Player\n";
            else one << "Draw\n";
        }
        else if (Sum1[x] <= 21 && Sum2[x] > 21) one << "Win First Player\n";
        else if (Sum1[x] > 21 && Sum2[x] <= 21) one << "Win Second Player\n";
        else one << "Draw\n";;
    }
    one.close();
}
int main() {
    Inicialization_Integers();
    std::thread one(Randomize);
    one.join();
    std::thread two(SummFirstNumber);
    two.join();
    std::thread three(SummThecondNumber);
    three.join();
    std::thread four(Records);
    four.join();
}
Добавлено через 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
#include "pch.h"
#include <thread>
#include <iostream>
#include <string>
#include <time.h>
#include <Windows.h>
#include <fstream>
int **Number1;
int **Number2;
int *Sum1;
int *Sum2;
int Row = 10000, Col = 9;
int RandomNumber1, RandomNumber2;
void Inicialization_Integers() {
    Number1 = new int *[Row];
    Number2 = new int *[Row];
    for (int Row_cykle = 0; Row_cykle < Row; Row_cykle++) {
        Number1[Row_cykle] = new int[Col];
        Number2[Row_cykle] = new int[Col];
    }
    Sum1 = new int[Row];
    Sum2 = new int[Row];
    for (int x_cykle = 0; x_cykle < Row; x_cykle++) {
        Sum1[x_cykle] = 0;
        Sum2[x_cykle] = 0;
    }
}
void Randomize() {
    srand(time(NULL));
    for (int y = 0; y < Row; y++)
        for (int x = 0; x < Col; x++) {
            Number1[y][x] = rand() % 9 + 2;
            Number2[y][x] = rand() % 9 + 2;
        }
}
void SummFirstNumber() {
    srand(time(NULL));
    RandomNumber1 = rand() % 7 + 1;
    std::cout << "Number of cards 1=" << RandomNumber1 << "\n";
    for (int y = 0; y < Row; y++) {
        for (int x = 0; x < RandomNumber1; x++)
            Sum1[y] += Number1[y][x];
    }
}
void SummThecondNumber() {
    srand(time(NULL));
    RandomNumber2 = rand() % 6 + 1;
    std::cout << "Number of cards 2=" << RandomNumber2 << "\n";
    for (int y = 0; y < Row; y++) {
        for (int x = 0; x < RandomNumber2; x++)
            Sum2[y] += Number2[y][x];
    }
}
void Records() {
    std::ofstream one;
    one.open("ResultGame.txt");
    for (int x = 0; x < Row; x++) {
        one << "Game Number" << x + 1 << "\n";
        for (int y = 0; y < RandomNumber1; y++)
            one << Number1[x][y] << "\t";
        one << "Sum: " << Sum1[x] << "\n";
        for (int i = 0; i < RandomNumber2; i++)
            one << Number2[x][i] << "\t";
        one << "Sum: " << Sum2[x] << "\n";
        if (Sum1[x] <= 21 && Sum2[x] <= 21) {
            if (Sum1[x] > Sum2[x])  one << "Win First Player\n";
            else if (Sum1[x] < Sum2[x]) one << "Win Second Player\n";
            else one << "Draw\n";
        }
        else if (Sum1[x] <= 21 && Sum2[x] > 21) one << "Win First Player\n";
        else if (Sum1[x] > 21 && Sum2[x] <= 21) one << "Win Second Player\n";
        else one << "Draw\n";;
    }
    one.close();
}
int main() {
    Inicialization_Integers();
    std::thread one(Randomize);
    one.join();
    std::thread two(SummFirstNumber);
    two.join();
    std::thread three(SummThecondNumber);
    three.join();
    std::thread four(Records);
    four.join();
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.11.2018, 02:04
Ответы с готовыми решениями:

Бюджет 4500 гр. Конфигурация работа в Office, AutoCAD, игра Assassin, онлайн игра World of Tanks
Собираю компьютер для сестры. Основные требования: работа в Microsoft Office, AutoCAD, игра...

Игра в загадки. Загадать загадку. Если ответ верен – поздравить пользователя. Затем сообщить, что игра окончена.
Всем привет! Меня зовут VitoScaletta, совсем недавно начал обучаться JS, но очень тяжело в голову...

Игра в «Одиннадцать предметов», игра Баше.
прошу помощи в создании программы! Разработать программную модель следующей игры двух...

Как сделать так, чтобы при нажатии на кнопку "Новая игра" игра начиналась заново?
Как сделать так, чтобы при нажатии на кнопку &quot;Новая игра&quot; игра начиналась заново? unit1.cpp void...

1
Продавец времени
6039 / 3317 / 766
Регистрация: 12.03.2015
Сообщений: 15,846
24.11.2018, 03:01 2
Ты на полном серьёзе надеешься, что это полотенце будет кто-то читать?
Да ты оптимист!
--------
З.Ы. Игру в "очко" я написал в далёком 1990 году. Про нейронные сети (да и вообще про сети и ИИ) тогда никто и не слышал.
Весь квартал ходил ко мне в надежде обыграть контупер. Наивные!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.11.2018, 03:01

Игра Кости, игра с компьютером
Всем привет! Делаю консольную игру Кости. Условия такие: 1) Перед игрой все игроки бросают...

Игра слов, игра Scrabble
Задание: Создать программу для решения задачи построения слова из некоторого множества букв (игра...

Существует ли игра такая игра?
Всем привет. Существует ли такая игра, где, допустим, мы находимся на космическом корабле, в...

Игра
Игра «Кто хочет стать миллионером». База должна содержать не менее 20 вопросов разного уровня...

Игра
Создать графический проект (игру) с минимальными требованиями: 1. Сюжетная линия проекта 2....

Игра на c++
За какое время можно сделать игру на текстовом интерфейсе если у меня уже есть опыт...


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

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

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