Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Дан файл целых чисел. Создать новый файл, содержащий те же элементы, что и исходный файл, но в обратном порядке https://www.cyberforum.ru/ cpp-beginners/ thread127337.html
Пожалуйста, помогите решить задачу в C++!!! Дан файл целых чисел. Создать новый файл, содержащий те же элементы, что и исходный файл, но в обратном порядке
графика на С (анимация) C++
Прошу помочь, кто знает, решить задачу. Вообщем вот моя задача - Три собаки расположены в вершинах равностороннего треугольника.(собак можно точками обозначить) Они движутся так, что первая собака все время держит курс на вторую, вторая – на третью, а третья – на первую. В конце концов они оказываются в центре треугольника. Нарисовать данное движение. Заранее огромнейшее спасибо!
C++ хеш функции здраствуйте! собственно проблема в хеш функциях. не могу разобратся в принципе (гугль и книги читал). сам принцип хеширования понятен, а вот его программная реализация не очень. например если у меня есть ряд целых чисел и мне надо распределить эти числа по блокам. то для каждого блока нужен массив? условие задачи таково: Дан ряд чисел, использую хэш функции распределить это число по n... https://www.cyberforum.ru/ cpp-beginners/ thread127334.html C++ добавление в контейнер без указания типов данных? Привет, у меня проблема. Сразу перейду к коду: template <class structType> class CMyExperimentator { private: structType myStruct; https://www.cyberforum.ru/ cpp-beginners/ thread127332.html
C++ Сумма цифр, стоящих на четных местах
Дано число. Посчитать сумму цифр, стоящих на четных местах числа. #include<conio.h> #include<stdio.h> #include<stdio.h> #include<conio.h> main() { int n,a,summa=0,N; cout<<"Vvedite kol-vo cifr n"; cin>>n;
C++ попадание чисел в интервал Последовательность n целых чисел, n-задано. Определить,все ли числа попадают в заданный интервал . Помогите найти ошибку, всегда выводит,что "не все числа попадают в интервал" #include<iostream.h> #include<math.h> #include<conio.h> #include<stdio.h> main() { int n,k,x,y,a; cout<<"vvedite n "; https://www.cyberforum.ru/ cpp-beginners/ thread127302.html
C++ Как скопировать целочисленный массив? У меня есть функция: void DeepSearch(int arr, int open_arr, char prev, int node, int prev_node) { int open_arr2 = open_arr; //здесь возникает ошибка ... Как правильно скопировать массив типа int? https://www.cyberforum.ru/ cpp-beginners/ thread127296.html использование класса string.объясните плз C++
Есть вот такой код: int x = s1.find ( ' ' ); // ищем пробелы while ( x < s1.size ( ) ) // цикл по всем пробелам { s1.replace(x, x+1, 1, '/'); // заменяем пробел на '/' x = s1.find ( ' ' ); // ищем следующий пробел } который заменяет все пробелы в строке s1 на определенный нами символ.
C++ Волновой алгоритм (алгоритм Ли) https://www.cyberforum.ru/ cpp-beginners/ thread127275.html
Здравствуйте! У кого-нибудь есть реализованный волновой алгоритм (алгоритм Ли) ? Дело в том, что я игрушку захотел написать (что-то вроде Пакмэна), и мне бы этот алгоритм очень сильно помог. Добавлено через 2 часа 19 минут Наконец-то нашёл хороший, красивый и работающий алгоритм! Причём он находит путь быстрее волнового! (потому что рекурсивный :p) Вот он (может быть, пригодится...
C++ Как к строке добавить число? https://www.cyberforum.ru/ cpp-beginners/ thread127271.html
Как к строке char добавить число int и символ char? Чтобы в конце появился терминальный ноль...
C++ Утечка памяти
Доброго времени суток! Столкнулся с проблемой утечки памяти! Будь у меня маленькая программка, выловил бы легко, но в 2000 строк кода все не так просто(((... Долго гуглил, нашел 2 варианта решения проблем, или с помощью левого софта на изучение которого с моим английским(( уйдет многовато времени, или перегружать функции new и delete, на написание коих уйдет время, а до завтра мне необходимо уже...
C++ в одномерном массиве, состоящем из n вещественных элементов, вычислить: 1) сумму элементов массива с нечетными номерами; 2) сумму элементов массива, расположенных между первым и последним отрицательными элементами. Сжать массив, удалив из него все элементы, модуль которых не превышает 1. Освободившиеся в конце массива элементы заполнить нулями. https://www.cyberforum.ru/ cpp-beginners/ thread127252.html
Oconor
0

Консольный Сапер - C++ - Ответ 715304

09.05.2010, 23:41. Показов 5934. Ответов 1
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Пишу консольного сапера, не могу организовать вывод на консоль поля, мин и движение по полю, точнее что то я организовал, но что именно трудно сказать, по тому что, то что я сделал работать особо не хочет.
Подскажите что я не так делаю или вариант вывода на консоль подскажите другой.
Если вкратце то программа генерирует два числа(координаты х у), и по этим координатам вписывает 0 т.е бомба остальные заполняются -2.
-2 - закрытая, пустая клетка
-1 - открытая, пустая клетка
0 - мина
1 - одна мина рядом
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
void Mines()
{
    srand((unsigned)time(0));
 
    int x, y;
    for(int j = 0; j < 8; j++)
    {
        for(int i = 0; i < 8; i++)
        {
            Mine[i][j] = -2;
        }
    }
 
    for(int i = 0; i != 10;)
    {
        x = rand() % 9;
        y = rand() % 9;
 
        if(Mine[x][y] == 0)
        {
            continue;
        }
        else
        {
            Mine[x][y] = 0;
            i++;
        }
    }
Вот это отвечает за вывод, на консоль и движение по полю:
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
void Move()
{
    const int Esc = 27, Enter = 13;
    int key;
    Pole();
    ShowCursor(false);
    do
    {
        key = _getch();
 
        if (key == Enter)
        {
            Game();
        }
        if (key == 0 || key == 0xe0)
        {
            key = _getch();
 
            if(Mine[x][y] == -2)
            {
                WriteStr(x, y, "+");
            }
            else
            {
                GotoXY(x, y);
                cout << Mine[x][y];
            }
            WriteStr(x, y, "A");
            switch (key)
            {
            case 72:        // up
                if (y > 0) y--;
                break;
            case 75:        // left
                if (x > 0) x--;
                break;
            case 77:        // right
                if (x < 16) x++;
                break;
            case 80:        // down
                if (y < 8) y++;
                break;
            }
            
        }
    }
    while (key != Esc);
 
}
Вот это реагирует на нажатие энтра на поле и должна открывать клетки, я не могу понять работает она или нет, поскольку с выводом проблемма.

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
void Game()
{
    int bx = x, by = y;
 
    if(Mine[x][y] == -1 || Mine[x][y] == -2)
    {
        if(Mine[x++][y] == 0) 
        {
            Mine[x++][y] = 0;
            GotoXY(x, y);
            cout << Mine[x][y];
            GotoXY(bx, by);
        }
        if(Mine[x][y++] == 0) 
        {
            Mine[x][y++] = 0;
            GotoXY(x, y);
            cout << Mine[x][y];
            GotoXY(bx, by);
        }
        if(Mine[x--][y] == 0)
        {
            Mine[x--][y] = 0;
            GotoXY(x, y);
            cout << Mine[x][y];
            GotoXY(bx, by);
        }
        if(Mine[x][y--] == 0) 
        {
            Mine[x][y--] = 0;
            GotoXY(x, y);
            cout << Mine[x][y];
            GotoXY(bx, by);
        }
        if(Mine[x++][y++] == 0) 
        {
            Mine[x++][y++] = 0;
            GotoXY(x, y);
            cout << Mine[x][y];
            GotoXY(bx, by);
        }
        if(Mine[x--][y--] == 0) 
        {
            Mine[x--][y--] = 0;
            GotoXY(x, y);
            cout << Mine[x][y];
            GotoXY(bx, by);
        }
        if(Mine[x--][y++] == 0)
        {
            Mine[x--][y++] = 0;
            GotoXY(x, y);
            cout << Mine[x][y];
            GotoXY(bx, by);
        }
        if(Mine[x++][y--] == 0) 
        {
            Mine[x++][y--] = 0;
            GotoXY(x, y);
            cout << Mine[x][y];
            GotoXY(bx, by);
        }
    }
    if(Mine[x][y] == 0)
    {
        GotoXY(x, y);
        cout << Mine[x][y];
    }
}
GotoXY, WriteStr, и еще несколько прописаны в другой библиотеке.
Исходя отсюда выложу весь проект.
<приаттачьте к сообщению>

Вернуться к обсуждению:
Консольный Сапер C++
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.05.2010, 23:41
Готовые ответы и решения:

Консольный сапер
Вожусь уже долго, разобраться с этой консольной игрой, выход за пределы массива,вот мой код: ...

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

Сапер на С++
помогите пожалуйста переделать игру сапер, программа работает, осталось оформить ее с классом...

Сапер на С++
Помогите написать программу. Вводим размерность поля,задаем координаты мин и соответственно их...

1
09.05.2010, 23:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.05.2010, 23:41
Помогаю со студенческими работами здесь

Сапер
Доброго времени суток! Подскажите пожалуйста, где я налажал в коде? Я запутался:( Ругается на...

сапёр
здравствуйте извините, если повторяюсь (видела, что подобная тема была, причём не одна, но не...

Сапер
Пишу игру &quot;сапер&quot; на C++. Появилась небольшая проблемка. Всё поле храню в массиве. Бомбы...

Сапер
На поле для игры в сапер клеточки с минами обозначаются символом “*”, а в каждой пустой клеточке...

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