Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Natasha7
0 / 0 / 0
Регистрация: 27.01.2013
Сообщений: 1
#1

Игра "Цифры рядом" - C++

30.01.2013, 13:50. Просмотров 324. Ответов 1
Метки нет (Все метки)

Ребят, помогите, пожалуйста, написать программу:
Программа загадывает целое четырехзначное положительное число. Игрок должен отгадать число. Он называет две цифры и получает один из 3-х ответов:
1)есть, если совпала одна или обе цифры с цифрами задуманного числа;
2)есть рядом, если совпали обе цифры, причем в числе они стоят рядом в любом порядке,
3)нет - в противных случаях.
Например: исходное число 1277. "13", "17" - есть; "12", "72" - есть рядом.
Когда игрок готов назвать все число, он сообщает все 4 цифры в определенном порядке. Если совпало с заданным числом - выигрыш, нет - проигрыш.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.01.2013, 13:50
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Игра "Цифры рядом" (C++):

Вывести текст файла, заменив цифры от 0 до 9 на слова "ноль", "один"."девять", начиная каждое предложение с новой строки - C++
Написать программу, которая считывает текст из файла и выводит его на экран, заменив цифры от 0 до 9 на слова "ноль", "один"..."девять",...

В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно" - C++
В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно". Я так...

Консольная "графика", игра "Тетрис". Фигуры перестают прорисовываться на определенном этапе - C++
Доброго времени! Написал на днях тетрис (в консоле) с использованием, кажется это называется WinApi. В цикле вызывается функция...

Заменить в последовательности символов после первого вхождения символа "+" все цифры на символ "-" - C++
Заменить в последовательности символов после первого вхождения символа "+"все цифры на символ "-"О_о Добавлено через 1 минуту что бы...

В заданном двоичном коде заменить все цифры "0" на "1" и наоборот - C++
составить алгоритм который в заданном двоичном коде заменяет все цифры "0" на "1" и наоборот

Ввести строку. Вывести её, заменив цифры на слова ( 0 - "one", 1 - "two", ...) - C++
Ввести строку. Вывести её, заменив цифры на слова: ( 0 - "one", 1 - "two", ...)???

1
Voroshek
6 / 6 / 1
Регистрация: 22.08.2011
Сообщений: 75
30.01.2013, 17:24 #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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#include <iostream>
#include <ctime>
#include <cstdlib>
 
using std::cout;
using std::cin;
using std::endl;
using std::string;
 
int main()
{
    srand(time(NULL));
    char val[4]; // вместо числа я использую массив из четырёх символов, ведь
    // мы не производим с числом арифметических операций
    for (int i=0; i<4; i++)
    {
        // заполняем val случайным образом
        val[i] = rand()%10 + '0';
    }
    char guess_1, guess_2;
    while (true)
    {
        cout << "Введи первую цифру ";
        cin  >> guess_1;
        cout << "Теперь вторую ";
        cin  >> guess_2;
        int ix_1 = -1;
        int ix_2 = -1;
        for (int i=0; i<4; i++) // ищем введённые цифры. Если они найдены,
        // присваиваем их индексы переменным ix_1, ix_2
        {
            if (val[i]==guess_1 && ix_1==-1) { ix_1 = i; }
            else if (val[i]==guess_2) { ix_2 = i; } // else if необходимо в
            // случае если игрок ввёл две одинаковых цифры
        }
        if (ix_1>=0 && ix_2>=0) // если найдены обе цифры, проверяем
        // на "есть рядом"
        {
            if ((ix_1-ix_2)==1 || (ix_2-ix_1)==1)
            {
                cout << "Есть рядом" << endl;
            }
            else { cout << "Есть" << endl; }
        }
        else if (ix_1>0 || ix_2>0) { cout << "Есть" << endl; }
        else { cout << "Нет" << endl; }
        cout << "Назовёшь число?(да/нет) ";
        string check;
        cin >> check;
        if (check=="да")
        {
            string attempt;
            cin >> attempt;
            string contin;
            for (int i=0; i<4; i++)
            {
                if (val[i]!=attempt[i])
                {
                    cout << "Проигрыш.\nПопробуешь ещё раз?(да/нет) ";
                    cin >> contin;
                    if (contin=="нет") { return 0; }
                    else { break; }
                }
                else
                {
                    cout << "Выигрыш. Возьми с полки пирожок" << endl;
                    return 0;
                }
            }
        }
    }
    return 0;
}
Заметь, программа не проверяет ошибки, например, если геймер ввёл две цифры или букву.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.01.2013, 17:24
Привет! Вот еще темы с ответами:

Реализовать классы "Воин", "Пехотинец", "Винтовка", "Матрос", "Кортик" (наследование) - C++
Разработать программу с использованием наследования классов, реализующую классы: − воин; − пехотинец(винтовка); − матрос(кортик). ...

Напечатать заданный непустой текст удалив из него все цифры и удвоив все знаки "+" и "-" - C++
напечатать заданный непустой текст удалив из него все цифры и удвоив все знаки &quot;+&quot; и &quot;-&quot;

Создать класс "Книга" с полями "название книги", "количество страниц", "год издания" - C++
Создать класс Книга поля: название книги,количество страниц,год издания методы: вычислить сколько лет книге и количество дней прошедших...

Создать абстрактный класс "Издание" и производные классы "Книга", "Статья", "Электронный ресурс" - C++
1. Создать абстрактный класс Издание с методами, позволяющими вывести на экран информацию об издании, а также определить является ли данное...


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

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

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