9 / 6 / 3
Регистрация: 16.02.2020
Сообщений: 28
|
||||||
1 | ||||||
Вывод и изменение игрового поля19.05.2020, 02:11. Показов 4903. Ответов 6
Метки нет (Все метки)
мне нужна помощь изучаю С ++
пишу игру змейка на консоли написал уже всю логику но теперь пытаюсь улучшить вывод игры на экран. сейчас у меня поле рисуется в цикле потом стирается и перерисовуется с изменениями, но это приводит к мерцанию рамки и элементов. подскажите какой функцией или инструментом можно воспользоватся чтобы избежать мерцания и чтобы перерисовывалась только изменяемая часть поля. мне сказали что в линуксе есть функция mvwinch для этого но я пишу в виндовсе поэтому она мне не подходит.
0
|
19.05.2020, 02:11 | |
Ответы с готовыми решениями:
6
Вывод игрового поля в игре "крестики-нолики" массивом Генерирование игрового поля Создание игрового поля Создание игрового поля |
Параллельный Кот
1905 / 827 / 350
Регистрация: 25.03.2016
Сообщений: 2,045
|
|
19.05.2020, 02:33 | 2 |
Не в Linux, а в ncurses, которую можно и в Windows использовать.
0
|
9 / 6 / 3
Регистрация: 16.02.2020
Сообщений: 28
|
|
19.05.2020, 21:01 [ТС] | 3 |
Добавлено через 51 секунду или может подскажете как ее внедрить в мой код?
0
|
Параллельный Кот
1905 / 827 / 350
Регистрация: 25.03.2016
Сообщений: 2,045
|
||||||
19.05.2020, 22:19 | 4 | |||||
Отказаться от потоков ввода/вывода и использовать функции из ncurses.
Мне стало интересно разобраться с основами, открыл гугл и нашел несколько полезных материалов для начала: Введение в ncurses Пишем первую программу на Ncurses Ввод и вывод в ncurses Теплый ламповый текстовый интерфейс. Просто о простом После беглого ознакомления набросал небольшую пробную программу с перемещающимся символом в консоли.
Если с ncurses под Windows судьба не сложится, посмотрите PDcurses. Но судя по информации по приведенной ранее ссылке, и с первой тоже должно всё получиться.
1
|
9 / 6 / 3
Регистрация: 16.02.2020
Сообщений: 28
|
|
20.05.2020, 12:37 [ТС] | 5 |
материалы действительно очень интересные огромное спасибо. Но к сожалению это не решает мою проблему мне нужно эту игру показывать преподавателю и ее защищать но мы еще не проходили классы и нам нужно использовать только стандартный инструментарий установленный в Visual studio, а насколько я понял ncurses и PDcurses подключаются дополнительно.
Поэтому мне бы хотелось как то избежать использования дополнительных инструментов. есть ли способ решить задачу стандартными инструментами <iostream><cstdio> и другими без векторов и классов
0
|
Параллельный Кот
1905 / 827 / 350
Регистрация: 25.03.2016
Сообщений: 2,045
|
||||||
20.05.2020, 14:14 | 6 | |||||
Сообщение было отмечено kalifan как решение
РешениеНе по теме: Время идет, а ничего не меняется. Последний раз, пожалуй, вмешиваюсь в тему отрисовки в консоли. Есть удобные инструменты, но нет, будем как мыши, которые плачут, колются, но продолжают жрать кактус. Ок, ваше право. Классы никто не заставляет использовать, это просто пример. Перед выводом данные можно подготовить в буфере, а затем установить курсор в левый верхний угол (SetConsoleCursorPosition) и вывести содержимое буфера через cout, printf и т.д., как удобно. Так же рамку можно вывести 1 раз в консоль и не включать ей в границы игрового поля. Была тут уже тема Прорисовка консоли С++. Добавлено через 7 минут Также можно скрыть курсор, чтобы не мешался.
1
|
9 / 6 / 3
Регистрация: 16.02.2020
Сообщений: 28
|
|
20.05.2020, 22:19 [ТС] | 7 |
спасибо направление получил теперь буду разбиратся как это применить к моему коду
0
|
20.05.2020, 22:19 | |
20.05.2020, 22:19 | |
Помогаю со студенческими работами здесь
7
Изменение игрового объекта Моментальное изменение содержимого поля, после изменения другого поля Динамическое изменение маски ввода поля по значению из поля со списком Автоматическое построение игрового поля Инициализация игрового поля с анимацией 2048, очистка игрового поля Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |