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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
taurus47
0 / 0 / 0
Регистрация: 24.01.2013
Сообщений: 11
#1

Написать программу, реализующую игру в кости - C++

13.02.2013, 22:55. Просмотров 1560. Ответов 3
Метки нет (Все метки)

Ребята, всем доброго времени суток...

Посмотрите, пожалуйста, может кто то подскажет что дельное.... Не выполняется код.

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

Правила игры:
1. Играющий называет любое число в диапазоне от 2 до 12 и ставку, которую он делает в этот ход
2. Программа с помощью генератора случайных чисел дважды выбирает числа от 1 до 6 (бросает кубик, на гранях которого цифры от 1 до 6)
3. Если сумма выпавших очков:
а) меньше либо равна 7 и играющий назвал число меньше либо равное 7, он выигрывает ставку
б) больше 7 и играющий сделал ставку на число больше 7, он также выигрывает ставку
в) равна названному игроком числу (игрок угадал сумму цифр), он получает в 4 раза больше очков, чем сделанная ставка
г) в противном случае ставка проиграна (если ни одна из ситуаций а-в не имеет места)
В начальный момент у игрока и компьютера по 100 очков. Игра идет до тех пор, пока у кого-либо из играющих останется 0 очков


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
#include "stdafx.h"
#include<iostream> 
#include<clocale> 
#include<cstdlib> 
#include<ctime> 
using namespace std; 
int main() 
{ 
setlocale (LC_CTYPE,"rus"); 
srand( time( NULL ) ); 
int a,b,i; 
int c,st,x; 
double e=100, f=100; 
a=rand()%6+1; 
b=rand()%6+1; 
c=a+b; 
cout<<"Счет компьютера = "<<f<<"\n"; 
cout<<"Счет пользователя = "<<e<<"\n"; 
cout<<"\nБросте 1 кубик (от 1 до 6):\t"; //определение 1 вводимого числа (случайное число)
 cout<<a; 
cout<<"\nБросте 2 кубик (от 1 до 6):\t"; //определение 2 вводимого числа (случайное число)
 cout<<b; 
cout<<"\nВыберете ставку игры:\t"; //определение суммы ставки игры 
cin>>st; 
cout<<"Загадайте число (от 2 до 12):\n"; //определение числа игрока 
cin>>x; 
if (2<=x&&x<=12){ 
for (e=100;e<0;e++){ 
if(a+b<=7&&c<=7||a+b>7&&c>7) {                          // условие распределения выиграша игроком
 e=e+st; 
f=f-st;} 
else (a+b>7&&c<=7||a+b<=7&&c>7);{ 
      e=e-st; 
      f=f+st;} 
 
if (x=a+b){ 
e=(e+4*st);} 
else (e=0);
     (f=0); 
break; 
} 
if (e=0); 
cout<<"\nВы проиграли\n"; 
cout<< "\nКомпьютер выиграл. На счету компьютера""\t"<<f<<"очков\n"; 
if (f=0); 
cout<<"\nПоздравляю. Вы выиграли\n"; 
cout<< "\nНа Вашем счету""\t"<<f<<"очков\n"; 
} 
else (2>x||x>12);{ 
 
cout <<"Введено число не из указанного диапазона\n";} 
return(0); 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.02.2013, 22:55     Написать программу, реализующую игру в кости
Посмотрите здесь:

Надо написать программу (игру) "Кости". Где ошибка? - C++
Доброго времени. суток. Прошу помочь с решение &quot;проблемы&quot; по написанию программы (игры) в &quot;Кости&quot; на С++ Вот мой код: include...

Написать игру кости - C++
Здравствуйте, стоит вот такая задача: &quot;Основное правило игры в кости — каждый игрок по очереди бросает некоторое количество игральных...

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

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

Написать программу, реализующую разбиение множества A - C++
Я считаю, что это задание очень актуально. На мой взгляд, она немного трудна в реализации, поэтому и прошу помощи. Я понимаю, что такое...

Реализовать игру в кости (кубики) - C++
Вот мы по си сейчас проходим Указатели и шаблоны функций ! Нам задали вот такую задачку. Помогите пожалуйста!!! Написать...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
veverix
39 / 39 / 2
Регистрация: 14.09.2012
Сообщений: 85
13.02.2013, 23:54     Написать программу, реализующую игру в кости #2
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
#include <iostream>
using namespace std;
 
void main()
{
    setlocale(LC_ALL, "Russian");
    int comppoints = 100, playerpoints = 100;
    int playernum, cash;
    int drop[2];
    for(int i=1; !(comppoints < 1) || !(playerpoints > 0); i++)
    {
        system("cls");
        cout<<"Ход "<<i<<endl;
        cout<<"Очков у игрока "<<playerpoints<<endl<<"Очков у компьютера "<<comppoints<<endl;
        cout<<"Введите число от 2 до 12"<<endl;
        cin>>playernum;
        if(playernum < 2 || playernum > 12)
        {
            cout<<"Число не соответствует диапазону"<<endl;
            system("pause");
            continue;
        }
        cout<<"Введите ставку"<<endl;
        cin>>cash;
        if(cash < 1) {cout<<"Ставка не может быть нулевой или отрицательной"<<endl; system("pause"); continue;}
        if(cash > comppoints || cash > playerpoints) {cout<<"Вы не можете поставить больше очков, чем имеется у игроков"<<endl; system("pause"); continue;}
        drop[0] = rand()%6 + 1;
        drop[1] = rand()%6 + 1;
        cout<<"Компьютер выбросил "<<drop[0]<<" и "<<drop[1]<<endl;
        if(drop[0] + drop[1] == playernum)
        {
            cout<<"Вы выиграли 4Х очков"<<endl;
            comppoints -= cash*4;
            playerpoints += cash*4;
            system("pause");
            continue;
        }
        if(drop[0] + drop[1] > 7 && cash > 7 || drop[0] + drop[1] < 7 && cash < 7)
        {
            cout<<"Вы выиграли ставку"<<endl;
            comppoints -= cash;
            playerpoints += cash;
            system("pause");
            continue;
        }
        cout<<"Вы проиграли ставку"<<endl;
        comppoints += cash;
        playerpoints -= cash;
        system("pause");
    }
    system("cls");
    if(playerpoints < 1) cout<<"Игрок проиграл"<<endl; else cout<<"Компьютер проиграл"<<endl;
    system("pause");
}
taurus47
0 / 0 / 0
Регистрация: 24.01.2013
Сообщений: 11
14.02.2013, 00:03  [ТС]     Написать программу, реализующую игру в кости #3
Спасибо, конечно, за помощь. Но вводя свой код я надеялся на на работу с ним (его видом)...
Я предполагал, что бред написан. но не до такой же степени... Можно что либо доработать в моём коде?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.02.2013, 00:36     Написать программу, реализующую игру в кости
Еще ссылки по теме:

Написать программу, реализующую функцию конкатенации k строк - C++
Заранее благодарю.

Написать программу, реализующую умножение прямоугольных целочисленных матриц - C++
Написать программу, реализующую умножение прямоугольных целочисленных матриц. у меня ошибка, программа запускается и сразу...

Написать программу, реализующую обход доски шахматным конём - C++
Конь находится в клетке (x1,y1).Нужно вывести любой его путь из (x1,y1) в (x2,y2).Если это невозможно - выведите &quot;NO&quot;. Входные данные 1...

нужно написать программу на с++ реализующую все возможности печатной машинки - C++
печатная машинка должна: - с клавиатуры непосредственно на экран выводятся только символы, имеющиеся на печатной машинке; ...

Написать программу, реализующую алгоритм шифрования и дешифрования сообщения RSA - C++
Помогите написать программу, реализующую алгоритм шифрования и дешифрования сообщения RSA. Входные данные: открытый и секретный ключи...


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

Или воспользуйтесь поиском по форуму:
veverix
39 / 39 / 2
Регистрация: 14.09.2012
Сообщений: 85
14.02.2013, 00:36     Написать программу, реализующую игру в кости #4
Цитата Сообщение от taurus47 Посмотреть сообщение
Спасибо, конечно, за помощь. Но вводя свой код я надеялся на на работу с ним (его видом)...
Я предполагал, что бред написан. но не до такой же степени... Можно что либо доработать в моём коде?
Можно, я думаю. Просто у меня природная боязнь кода с однобуквенными переменными.

Добавлено через 7 минут
З.Ы. Код посмотрел. Нет главного цикла, который бы повторял действия до проигрыша. Это, ИМХО, основная ошибка, т.к. с таким циклом можно спокойно вызвать прерывание хода при помощи continue.
Судя по всему, код проходит через строки с присвоением e = 0, f = 0, так как пишет что оба игрока одновременно проиграли и выиграли.
Так же не пойму что делает проверка на правильность ввода числа в конце программы, тем более неправильно составленная.
Yandex
Объявления
14.02.2013, 00:36     Написать программу, реализующую игру в кости
Ответ Создать тему
Опции темы

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