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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Alika07
 Аватар для Alika07
4 / 4 / 0
Регистрация: 04.12.2012
Сообщений: 39
#1

игра "кубики" - C++

07.10.2013, 17:59. Просмотров 602. Ответов 2
Метки нет (Все метки)

привет! знаю, что такая тема уже когда-то была на форуме, но, увы, тамошние варианты как-то не очень мне помогли(((. пожалуйста, помогите разобраться с задачей.
(код работает, но в 99% случайные числа все время одинаковые. например, выпадает десять 1, или десять 5 и т. д.).
Условие: имеется два игральных кубика со значениями от 1 до 6. Игра происходит с компьютером, кубики бросаются поочередно. Побеждает тот, у кого сумма выпавших очков по итогам пяти бросков больше. Предусмотрите возможность получения первого хода человеком или компьютером. Кубики отображаются с помощью символов. В конце игры необходимо выводить среднюю сумму по броскам для обоих участников.
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
#include<iostream>
#include<stdlib.h>
#include<time.h>
using namespace std;
 
int gamer();
int pc();
 
void main()
{
    int number, psRes, gamerRez;
    cout<<"enter the number"<<endl;
    cin>>number;
    if(number % 2 == 0)
    {
        gamerRez = gamer();
        psRes = pc();
        gamerRez = gamer();
        psRes = pc();
        gamerRez = gamer();
        psRes = pc();
        gamerRez = gamer();
        psRes = pc();
        gamerRez = gamer();
        psRes = pc();
    }
    else
    {
        psRes = pc();
        gamerRez = gamer();
        psRes = pc();
        gamerRez = gamer();
        psRes = pc();
        gamerRez = gamer();
        psRes = pc();
        gamerRez = gamer();
        psRes = pc();
        gamerRez = gamer();
    }
    if (psRes < gamerRez)
    {
        cout<<"Your score is: "<<gamerRez<<endl;
        cout<<"PC`s score is: "<<psRes<<endl;
        cout<<"You are the winner";
    }
    else if (psRes > gamerRez)
    {
        cout<<"Your score is: "<<gamerRez<<endl;
        cout<<"PC`s score is: "<<psRes<<endl;
        cout<<"Don`t warry, be happy!"<<endl;
 
    }
    else if (psRes == gamerRez)
        {
        cout<<"Your score is: "<<gamerRez<<endl;
        cout<<"PC`s score is: "<<psRes<<endl;
        cout<<"ooooooooops"<<endl;
 
    }
}
int sumGamer = 0;
int gamer()
{
    srand(time(NULL));
    int b = rand()%6;
    cout<<"You: "<<b<<endl;
    sumGamer = sumGamer + b;
    return sumGamer;
}
 
int sumPC = 0;
int pc()
{
    srand(time(NULL));
    int c = rand()%6;
    cout<<"pc: "<<c<<endl;
    sumPC = sumPC + c;
    return sumPC;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.10.2013, 17:59     игра "кубики"
Посмотрите здесь:

Вывести среднюю сумму по броскам для обоих участников (игра "кубики") C++
C++ Необработанное исключение в "0x54a2d2e9 (msvcr100d.dll)" в "3.exe": 0xC0000005: Нарушение прав доступа при записи "0xcccccccc".
Необработанное исключение в "0x1027c9c7 (msvcr100d.dll)" в "gh.exe": 0xC0000005: Нарушение прав доступа при чтении "0xfeeefeee". C++
Вывести текст файла, заменив цифры от 0 до 9 на слова "ноль", "один"."девять", начиная каждое предложение с новой строки C++
C++ Необработанное исключение в "0x76f015de" в "контрольная 1 задача 2.exe": 0xC0000005: Нарушение прав доступа при чтении "0x334e2c64"
Необработанное исключение в "0x0fc1d484 (msvcr100d.dll)" в "1.exe": 0xC0000005: Нарушение прав доступа при чтении "0x00aee0af" C++
C++ Наследуемым классом для комплексного числа объявить класс "радиус-вектор", имеющий данные "длина" и "угол"
Необработанное исключение в "0x775e15de" в "laba3.exe": 0xC0000005: Нарушение прав доступа при чтении "0xfdfdfdf9". C++
C++ Необработанное исключение в "0x01082855" в "sort.exe": 0xC0000005: Нарушение прав доступа при записи "0xcccccccc"
C++ Игра "Кубики"
C++ Консольная "графика", игра "Тетрис". Фигуры перестают прорисовываться на определенном этапе
C++ Как написать игру "Кубики"?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
XRuZzz
Антикодер
615 / 516 / 26
Регистрация: 15.09.2012
Сообщений: 2,457
07.10.2013, 18:18     игра "кубики" #2
известная проблема - секунды обновляются раз в секунду, и инициализация srand получается одинаковым временем, так как новая секунда ещё не успевает наступить
Raali
622 / 326 / 34
Регистрация: 06.07.2013
Сообщений: 1,049
Завершенные тесты: 1
07.10.2013, 18:19     игра "кубики" #3
Цитата Сообщение от Alika07 Посмотреть сообщение
gamerRez = gamer();
C++
1
2
3
4
5
6
7
8
9
psRes = pc();
gamerRez = gamer();
psRes = pc();
gamerRez = gamer();
psRes = pc();
gamerRez = gamer();
psRes = pc();
gamerRez = gamer();
psRes = pc();
этот код выполняется за долю миллисекунды, время тут не поменяется взятое через time(NULL), а следовательно рандом тоже (он будет все время задаваться одним и тем же сидом), srand надо взять в начале программы 1 раз и все, а дальше он сам будет себя изменять
Yandex
Объявления
07.10.2013, 18:19     игра "кубики"
Ответ Создать тему
Опции темы

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