Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 25.04.2021
Сообщений: 80

Как сделать змею

11.10.2022, 18:30. Показов 594. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Господа знающие, можете подсказать как мне сделать так, чтобы программка выводила квадрат в виде змейки такого формата:
167
258
349
Цифры показывают как числа должны будут выводится
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
#include <Windows.h>
#include <iostream>
#include <cstdlib>
#include <conio.h>
#include <ctime>
using namespace std;
 
HANDLE hConsole;
 
void gotoxy(int x, int y)
{
    COORD p = { x, y };
    SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), p);
}
 
int main()
{
    hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
    setlocale(LC_ALL, "Russian");
    srand(static_cast<unsigned int>(time(0)));
    int COLUMNS;
    cout << "Введите число, для образования квадрата: ";
    cin >> COLUMNS;
    cout << "\n\n";
    for (int i = 0; i < COLUMNS; ++i)
    {
        for (int j = 0; j < COLUMNS; ++j)
        {
            if (j % 2 == 0)
            {
                cout << "\t";
                gotoxy(j + 2, i + 2);
                cout << j * COLUMNS + i + 1 << "\t";
                SetConsoleTextAttribute(hConsole, rand() % 9);              
                Sleep(500);
            }
            else
            {
                cout << "\t";
                gotoxy(j + 2, i + 2);
                cout << (j + 1) * COLUMNS - i << "\t";
                SetConsoleTextAttribute(hConsole, rand() % 9);
                Sleep(500);
            }
        }
        cout << endl;
    }
    return 0;
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.10.2022, 18:30
Ответы с готовыми решениями:

Вот не понятно как сделать змею в массиве а не просто, линию g.DrawLine(pen1, x1, y1, x1 + 5, y1)
Public Class Form1 Public g As Graphics = Me.CreateGraphics 'Графика Public b As Drawing.Color = Color.Black ...

Canvas: нарисовать змею
Добрый вечер. Помогите, пожалуйста, нарисовать рисунок в Lazarus: змея; из любых примитивов.

Создаю змею из компонентов TShape
Создаю змею из компонентов TShape. Тело змеи хранится в списке, изначально 3 Shape'a.Движение реализовано.Ну вообщем почти все готово, токо...

5
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
11.10.2022, 18:50
Пишем один цикл, для прохода по столбцу вниз, другой по столбцу вверх.
Вкладываем их в общий цикл, и по очереди вызываем, меняя индек столбца для них.
Фсе.

Добавлено через 49 секунд
SinedVesug, как вы можете заметить, у меня три цикла, у вас два, думайте.

Добавлено через 1 минуту
И мое решение для матрицы. Можно без нее, но мне лень не то что писать его заново, а даже копаться в своих ответах.
Этого добра на форуме много.

Добавлено через 35 секунд
Цитата Сообщение от SinedVesug Посмотреть сообщение
SetConsoleCursorPosition(GetStdHandle(ST D_OUTPUT_HANDLE), p);
И вот этого всего не нужно !
0
 Аватар для FFPowerMan
2158 / 1238 / 509
Регистрация: 11.10.2018
Сообщений: 6,275
11.10.2022, 19:32
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
#include <Windows.h>
#include <iostream>
#include <cstdlib>
#include <conio.h>
#include <ctime>
using namespace std;
 
HANDLE hConsole;
 
void gotoxy(int x, int y)
{
    COORD p = {x, y};
    SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), p);
}
 
int main()
{
    hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
    setlocale(LC_ALL, "Russian");
    srand(static_cast<unsigned int>(time(NULL)));
    int i, k, pr=1, s=1, x, y;
 
    /*
    cout << "Введите число, для образования змеи: ";
    cin >> i;
    cout << '\n';
    cout << "Введите число, длину змеи: ";
    cin >> k;
    cout << '\n';
    */
    i = 3;
    k = 9;
    x = 0;
    y = 0;
    while(s <= k)
    {
        gotoxy(x, y);
        cout << s;
        if(s%i == 0)
        {
            pr *= -1;
            x++;
        }
        else
        {
            y += pr;
        }
        s++;
    }
 
    return 0;
}
0
0 / 0 / 0
Регистрация: 25.04.2021
Сообщений: 80
12.10.2022, 08:35  [ТС]
Щас понял, что немного не так сформировал, мне нужно чтобы в консоли выводилось в виде змеи, тип сначала одна цифра, потом под ней другая, затем вправо и потом вверх идет, чтоб не шло оно обычным выводом по строкам.
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
12.10.2022, 14:27
SinedVesug,
Code
1
2
1 4 5 8 9
2 3 6 7 10
???
И чем это отличается от
Цитата Сообщение от SinedVesug Посмотреть сообщение
обычным выводом по строкам
0
0 / 0 / 0
Регистрация: 25.04.2021
Сообщений: 80
12.10.2022, 15:48  [ТС]
Мне нужно чтобы курсор перемещался вниз, потом вправо, затем вверх, то что связано с консольной графикой вот что мне нужно, понимаю что не четко выразился
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.10.2022, 15:48
Помогаю со студенческими работами здесь

Помогите Змею Горынычу определить длину кратчайшего пути до выхода из лабиринта
Змей Горыныч оказался в лабиринте и хочет выбраться из него как можно скорее. К сожалению, после вчерашнего употребления кефира, левая...

з Делаю змею на Visual basic, но не через массив в этом я и ошибся походу дела
Смысл такой сделать змейку что бы она ела кроликов:) Правда пока она у меня ест кнопки с параметром Enabled =false:) Почти все...

За сколько ударов Иван-царевич может срубить Змею все головы и хвосты?
Собрался Иван-царевич на бой со Змеем Горынычем, трехглавым и треххвостым. «Вот тебе меч-кладенец, — говорит ему Баба Яга. — Одним ударом...

Посчитать сколько мешков с золотом пришлось отдать Ивану змею, если каждый день он присылал на 1 мешок золота больше?
Змей Горыныч украл Василису и не хотел её отдавать Ивану. Иван решил подкупить змея и прислал ему мешок золота, но змею этого было мало,...

Найти самую длинную "змею"
Имеется массив со значениями 0 и 1 Например, 1 1 1 0 0 0 0 0 1 1 1 0 0 0 1 0 В третьем ряду есть змея, переходящая на...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru