• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о проекте и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Программа в Pascal abc

koperfield

Ученик
Регистрация
18 Окт 2011
Сообщения
1
Реакции
0
Баллы
0
Программа в Pascal abc

Помогите написать программу. Нужно нарисовать рыбу и сделать так, чтобы она плыла слева направо. Рыбу я нарисовал:
uses GraphABC;
begin
arc(110,360,100,45,160);
arc(110,220,100,200,315);
line(15,256,15,325);
circle(148,288,3);
line(180,290,165,290);
readln;
end.
Теперь нужно заставить её двигаться. А как?
 
Теперь нужно заставить её двигаться. А как?
К сожалению (для Вас - для меня "к счастью") с этим ужасом, именуемым PascalABC, дела никогда не имел и не собираюсь. Но в Turbo я решал бы эту задачу так: запихнул бы Вашу рыбку в процедуру с двумя параметрами: опорной горизонтальной координатой, к которой привязаны все прочие горизонтальные отсчеты, и цветом линий рыбки. А дальше организовал бы цикл: рисование рыбки, пауза, рисование той же рыбки цветом фона (рыбка исчезнет), сдвиг горизонтальной координаты, рисование рыбки и т.п.
Не знаю, можно ли так в этом... ну, в общем, в Паскале АВС.
 
Я бы реализовал движение через обращение к памяти, сначала зарезервировал память для хранения изображения, скопировал бы первое изображение в этот блок памяти, потом выводил бы последовательно через паузу с изменением координат рисунок сначала в режиме рисования, затем в режиме исключения. Это позволит избежать лишнего мерцания и существенно ускорит вывод, но, к сожалению, вряд ли заработает на PascalABC.

Но, чувствую, что мое предложение сейчас вызовет ужас в глазах топикстартера и мелкую дрожь во всех членах его тела :))
 
а я предложил бы так даный код запустить,появится рыбка,сделать снимок экрана, уменьшить в редактори картинку,потом просто через фаил добавить в паскаль эту рыбку,соответствено с циклом,чтобы движение было. Я раньше так выкручивался))
 
Назад
Сверху