|
0 / 0 / 0
Регистрация: 25.05.2018
Сообщений: 3
|
|
Анимация перемещения двух объе́ктов в с++08.12.2018, 00:52. Показов 4058. Ответов 12
Метки нет (Все метки)
Помогите решить задание с анимацией, искал похожие но ничего не нашел наверно из за того что писал в поисковике не правильно вот задание: Изобразить погоню собаки за зайцем. Отношение скоростей собаки и зайца должно задаваться пользователем. Начальные положения и направления движения собаки и зайца должны задаваться в виде псевдослучайных данных. (желательно все делать в консоли, я так понял достаточно просто буквы З которая будет бегать в случайном направлении и буквы С которая будет бегать за буквой З, не могу понять как сделать что бы два Объе́кта двигались одновременно, а уж про то как сделать чтобы один двигался за другим...)
0
|
|
| 08.12.2018, 00:52 | |
|
Ответы с готовыми решениями:
12
Тести́рование програ́ммного обеспе́чения(Модульное тестирование, или юнит-тестирование)
Чи́сла Фибона́ччи - |
|
119 / 94 / 35
Регистрация: 18.12.2012
Сообщений: 654
|
|
| 08.12.2018, 00:59 | |
|
Интересно другое. Как вообще сделать движение в консоли ?
![]() Можно, конечно, двигать символы по координатам, но движение не будет плавным.
0
|
|
|
Мозгоправ
|
|
| 08.12.2018, 04:01 | |
|
Интересно другое. Сделать движение в консоли по всей площади окна, вообще-то говоря, нетривиальная задача. Что в Винде, что в других загадочных операционках.
А вот если ограничиться одномерным случаем (строкой), то вполне реализуемо на коленке. Да, будет неплавное движение с дискретностью знакомест. И мерцать скорее всего будет. Но, какая никакая, анимация.
0
|
|
|
0 / 0 / 0
Регистрация: 25.05.2018
Сообщений: 3
|
|
| 08.12.2018, 10:39 [ТС] | |
|
Да именно это и нужно чтоб лагало конкрето (мерцало) и было как можно проще, ты бы не мог хоть что то накинуть по коду? Плавность движения вопще не нужна лиш бы было видно что буквы перемещаються
0
|
|
|
60 / 45 / 15
Регистрация: 06.03.2018
Сообщений: 202
|
||||||
| 08.12.2018, 13:55 | ||||||
|
Приблизительно вот так:
Не является конечным решением. Просто демонстрация возможного решения анимации в консоли.
![]() Решение не совсем корректно, так как неправильно отрабатывается факт встречи зайца с собакой. При больших соотношениях скоростей собака или заяц могут не встретится друг с другом (перескочат ). Но принцип анимации верен.
0
|
||||||
|
Параллельный Кот
1905 / 827 / 350
Регистрация: 25.03.2016
Сообщений: 2,045
|
||||||||||||
| 08.12.2018, 15:00 | ||||||||||||
|
Тем не менее рассчитывать на этот код нельзя. Почему? Сравните содержимое двух дизассемблерных листингов. В исходный код была намеренно добавлена печать строк "BeginWait", "Wait" и "EndWait" до вызова функции, в самой функции и после ее вызова. Вариант без оптимизации. Функция Wait() полностью присутствует, дизассемблер даже отобразил ее вы списке функций. Обратите внимание на строку 32 (начало вывода строки "Wait"). Код без оптимизации
Далее включаем оптимизацию (достаточно переключить сборку с Debug на Release). Что осталось? Только печать строк, т.к. это функции с побочными эффектами. А ваша Wait() была функцией без побочных эффектов, если ее убрать, результат работы программы не изменится. Что компилятор и сделал. Код с оптимизацией
Если нужна временная задержка, используйте Sleep для Windows, sleep и usleep для UNIX.
0
|
||||||||||||
|
0 / 0 / 0
Регистрация: 25.05.2018
Сообщений: 3
|
|
| 08.12.2018, 16:02 [ТС] | |
|
galeks1, слушай я попробывал запустить токо не смог розобраться с какими скоростями он работает коректнее всего? , и как думаеш сложно сделать? чтобы заец мог передвигаться не только по 1 строке а например вниз или вверх?
Добавлено через 2 минуты valen10, слушайте а вы бы не могли на с++ показать как можно оптимизировать код?
0
|
|
|
60 / 45 / 15
Регистрация: 06.03.2018
Сообщений: 202
|
|||
| 08.12.2018, 17:07 | |||
|
Добавлено через 5 минут
0
|
|||
|
60 / 45 / 15
Регистрация: 06.03.2018
Сообщений: 202
|
||
| 08.12.2018, 17:22 | ||
|
хм... Не интересовался этой темой очень давно. А оно вон оно как... Жизнь все таки есть ![]() Добавлено через 2 минуты А нашему ТС позволено так глубоко лезть в дебри WINAPI?
0
|
||
|
Параллельный Кот
1905 / 827 / 350
Регистрация: 25.03.2016
Сообщений: 2,045
|
|
| 08.12.2018, 17:40 | |
|
galeks1, тогда может system("cls")? ТС вроде даже согласен на мерцание.
Это вроде не дебри, а так, окраина. Дебри будут, если мы возьмемся графику в окне консоли рисовать...
0
|
|
|
60 / 45 / 15
Регистрация: 06.03.2018
Сообщений: 202
|
|||||||
| 08.12.2018, 18:01 | |||||||
Сообщение было отмечено mister98105 как решение
РешениеДобавлено через 14 минут в строке 63 кода опечатка. подкорректировал. Убрал Wait
2
|
|||||||
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,816
|
|
| 08.12.2018, 20:23 | |
|
0
|
|
| 08.12.2018, 20:23 | |
|
Помогаю со студенческими работами здесь
13
Неокласси́ческий ме́тал Замедляется анимация перемещения виджета
[WPF] Анимация перемещения/растяжения одной стороны
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536
Одним из. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 19.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|