0 / 0 / 1
Регистрация: 24.01.2013
Сообщений: 11
1

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

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

Author24 — интернет-сервис помощи студентам
Ребята, всем доброго времени суток...

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

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

Правила игры:
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); 
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.02.2013, 22:55
Ответы с готовыми решениями:

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

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

Написать программу, реализующую игру «Угадай число»
Вот задание Написать программу, реализующую игру «Угадай число». Играют двое. Один задумывает...

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

3
39 / 39 / 5
Регистрация: 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");
}
0
0 / 0 / 1
Регистрация: 24.01.2013
Сообщений: 11
14.02.2013, 00:03  [ТС] 3
Спасибо, конечно, за помощь. Но вводя свой код я надеялся на на работу с ним (его видом)...
Я предполагал, что бред написан. но не до такой же степени... Можно что либо доработать в моём коде?
0
39 / 39 / 5
Регистрация: 14.09.2012
Сообщений: 85
14.02.2013, 00:36 4
Цитата Сообщение от taurus47 Посмотреть сообщение
Спасибо, конечно, за помощь. Но вводя свой код я надеялся на на работу с ним (его видом)...
Я предполагал, что бред написан. но не до такой же степени... Можно что либо доработать в моём коде?
Можно, я думаю. Просто у меня природная боязнь кода с однобуквенными переменными.

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

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

Написать программу игры в кости
Написать программу игры в кости по следующим правилам: играющий (их число не больше 4) называет...

Создать программу, реализующую игру "Угадай число"
ЗДРАВСТВУЙТЕ помогите с задачей: Создать программу, реализующую игру &quot;Угадай число&quot; (компьютер...

Создайте программу, реализующую игру "Угадай число" (Turbo Prolog)
ЗДРАВСТВУЙТЕ! Помогите пожалуйсто с решением задачи. Создайте программу, реализующую игру &quot;Угадай...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru