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

Игра "Кости". Упростить код - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ База болезней, не могу понять в чём ошибка http://www.cyberforum.ru/cpp-beginners/thread1072583.html
Задание такое База болезней: название, симптомы, процедуры, перечень рекомендуемых лекарств с указанием требуемого количества. База медикаментов на складе: название, количество, взаимозаменяемость. Программа выполняет формирование рецепт после осмотра больного, проверку наличия лекарства, корректировку запасов. #include "stdafx.h" #include <stdio.h> #include <iostream> #include <string.h>...
C++ Подсчитать количество слов, состоящих из русских букв длинной свыше 4 символов Помогите написать http://www.cyberforum.ru/cpp-beginners/thread1072581.html
Палиндромы #2 C++
Здравствуйте! Нужно сделать так, чтобы программа проверяла, является ли текст палиндромом. #include<iostream> #include<string> using namespace std; int main() {
breadth_first_search bgl хранение вершины C++
Привет всем! вот кусок кода class BFSVisitor : public boost::default_bfs_visitor { public: BFSVisitor() = default; ~BFSVisitor() = default; template<typename Vertex, typename Graph> void discover_vertex(Vertex u, Graph& g) {
C++ обработка последовательности символов (C++ Builder 6) http://www.cyberforum.ru/cpp-beginners/thread1072547.html
Всем привет, помогите довести до ума программу. Вроде все есть, а считает не то что нужно. Вобщем задание: Определять в тексте количество знаков арифметических операций (+, -, * и /), следующих за цифрой. Код, который смог написать я: #include <stdio.h>
C++ Ошибки в программме Всем доброго времени! Вопросы по поводу программы. Требуется наводка и разбор ошибок. ////////////////////////////////////////////////////////////////////////// #include "iostream" using namespace std; int main () { int X; int Y; for (int i=0; i<10; ++i) { подробнее

Показать сообщение отдельно
Nikolay_1
0 / 0 / 0
Регистрация: 15.01.2014
Сообщений: 24
15.01.2014, 23:25     Игра "Кости". Упростить код
Дело в том , что нужно написать игру "Кости" на С++

Вот код:

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
[#include <ctime>
#include <locale>
#include <cstdlib>
#include <iostream>
using namespace std;
 
void roll(int &s) {
    static const char *ds[] = {
        " -----\n|     |\n|  .  |\n|     |\n -----\n",
        " -----\n|.    |\n|     |\n|    .|\n -----\n",
        " -----\n|.    |\n|  .  |\n|    .|\n -----\n",
        " -----\n|.   .|\n|     |\n|.   .|\n -----\n",
        " -----\n|.   .|\n|  .  |\n|.   .|\n -----\n",
        " -----\n|.   .|\n|.   .|\n|.   .|\n -----\n"
    };
    int d1 = rand() % 6 + 1, d2 = rand() % 6 + 1;
    cout << ds[d1 - 1] << ds[d2 - 1] << "выброшено: " << d1 + d2 << "; всего: " << (s += d1 + d2);
}
 
int main() {
    srand(static_cast<unsigned>(time(0)));
    locale::global(locale(""));
    bool run = true;
    int us = 0, gus = 0, cs = 0, gcs = 0;
    while (run) {
        cout << "\nваш бросок (нажмите Enter)";
        char c = cin.get();
        roll(us);
        cout << "\nбросок компа:\n";
        roll(cs);
        if (cs >= 36 || us >= 36) {
            if (cs == us) continue;
            cout << (cs > us ? "\nкомп выиграл этот раунд" : "\nвы выиграли этот раунд")
                << "; общий счет: вы - " << (gus += us > cs) << "; комп - " << (gcs += cs > us)
                << "\nпродолжить игру (введите 1 для продолжения или 0 для окончания) ";
            if (cin.get() != '1') run = false;
            cin.sync();
            cs = us = 0;
        }
    }
    cout << (gus == gcs ? "ничья\n" : gus > gcs ? "вы выиграли\n" : "вы проиграли\n")
        << "нажмите Enter для выхода";
    cin.get();
}
А нужно что-то типо этого :

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
#include <conio.h>
using namespace std;
 
void main() {
    SetConsoleOutputCP(1251);
    srand(GetTickCount());
 
    int playerCounter = 0;
    int computerCounter = 0;
 
    int playerThrow = 0;
    int computerThrow = 0;
 
    int choice = 0;
 
    while (1) {
        cout<<"\tИгра \"Кости\""<<endl;
        cout<<"Нажмите Esc, чтобы выйти или любую другую клавишу, чтобы сделать бросок"<<endl;
        cout<<"Ваш счёт: "<<playerCounter<<"\tСчёт соперника: "<<computerCounter<<endl;
        choice = getch();
        if (choice == 27) {
            break;
        } else {
            playerThrow = rand() % 6 + 1;
            computerThrow = rand() % 6 +1;
            cout<<"Ваш бросок: "<<playerThrow<<"\tБросок соперника: "<<computerThrow<<endl;
            if (playerThrow >computerThrow) {
                cout<<"Вы выиграли"<<endl;
                playerCounter++;
            } else if (computerThrow > playerThrow) {
                cout<<"Соперник выиграл"<<endl;
                computerCounter++;
            } else cout<<"Ничья"<<endl;
        }
        system("pause");
        system("cls");
    }
}
P.S. Нужно оставить принцип тот-же , но как-нибудь по другому (с помощью циклов)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 23:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru