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

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

Восстановить пароль Регистрация
 
Alika07
 Аватар для Alika07
4 / 4 / 0
Регистрация: 04.12.2012
Сообщений: 39
07.10.2013, 17:59     игра "кубики" #1
привет! знаю, что такая тема уже когда-то была на форуме, но, увы, тамошние варианты как-то не очень мне помогли(((. пожалуйста, помогите разобраться с задачей.
(код работает, но в 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++
C++ Через ООП: Дать для числа наименование: "рубль", "рубля", "рублей";
C++ Игра "Кубики"
C++ Консольная "графика", игра "Тетрис". Фигуры перестают прорисовываться на определенном этапе
C++ Написать программу которaя запрашиваeт у пользователя номер дня недели, затем выводит одно из сообщений "рабочий день", "суббота", "воскресенье"
C++ Как написать игру "Кубики"?
Visual Studio не читает операторы, что начинаются на "glu" ("gluBuild2DMipmaps", "gluPerspective") C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
XRuZzz
Антикодер
577 / 478 / 23
Регистрация: 15.09.2012
Сообщений: 2,429
07.10.2013, 18:18     игра "кубики" #2
известная проблема - секунды обновляются раз в секунду, и инициализация srand получается одинаковым временем, так как новая секунда ещё не успевает наступить
Raali
572 / 276 / 12
Регистрация: 06.07.2013
Сообщений: 917
Завершенные тесты: 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     игра "кубики"
Ответ Создать тему
Опции темы

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