Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
2 / 2 / 2
Регистрация: 29.05.2013
Сообщений: 143

Анимация привязанная к клавишам

05.06.2013, 16:29. Показов 1489. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем ку. Надо залить цвета:поле сделать зелёным, дорогу серой, и небо голубым(skyblue).
У меня ето сделать не получается, если задаю например цвет поля зеленый то заливаэться абсолютно вся область екрана.+ еще сделайте так чтобы когда робот проходит линию линия не пересекала его а на оборот.
вот код:
Pascal
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
uses graphABC,Events,crt;
 
var xx,yy:integer;
 
procedure Robo(x,y: integer);
begin
 
setpencolor(clblack);
moveto(x+111, y+72);   {KORPYS}
lineto(x+111, y+116);
lineto(x+118, y+116);
lineto(x+118, y+136);
lineto(x+132, y+136);
lineto(x+132, y+116);
lineto(x+141, y+116);
lineto(x+141, y+136);
lineto(x+155, y+136);
lineto(x+155, y+116);
lineto(x+162, y+116);
lineto(x+162, y+72);
lineto(x+111, y+72);
 
 
moveto(x+111, y+72);  {1 Ryka}
lineto(x+95,  y+72);
lineto(x+95, y+100);
lineto(x+92, y+100);
lineto(x+92, y+108);
lineto(x+105, y+108);
lineto(x+105, y+100);
lineto(x+102, y+100);
lineto(x+102, y+80);
lineto(x+111, y+80);
 
Moveto(x+162, y+72); {2 Ryka}
lineto(x+178, y+72);
lineto(x+178, y+100);
lineto(x+181, y+100);
lineto(x+181, y+108);
lineto(x+168, y+108);
lineto(x+168, y+100);
lineto(x+171, y+100);
lineto(x+171, y+80);
lineto(x+162, y+80);
 
moveto(x+128, y+72);  {Golova}
lineto(x+128, y+65);
lineto(x+110, y+65);
lineto(x+110, y+45);
lineto(x+163, y+45);
lineto(x+163, y+65);
lineto(x+145, y+65);
lineto(x+145, y+72);
 
setbrushcolor(random(clyellow));
circle(x+125, y+55, 6); {Glaza}
circle(x+147, y+55, 6);
circle(x+147, y+55, 2);
circle(x+125, y+55, 2);
 
 
moveto(x+112, y+45); {Antenka}
lineto(x+112, y+25);
circle(x+112, y+25, 3);
 
 
floodfill(x+115,y+75, clblack); {Zalivki}
floodfill(x+110,y+75, clblack);
floodfill(x+165,y+75, clblack);
floodfill(x+130,y+62, clblack);
floodfill(x+122,y+55, clred);
floodfill(x+143,y+55, clred);
floodfill(x+112,y+25, clBlue);
 
 
 
 
end;
procedure fon;
begin
 
 
setbrushcolor(clgreen); {zeml9}
moveto(0,30);
lineto(0,479);
lineto(639,479);
lineto(639,30);
lineto(0,30);
 
 
moveto(260, 30); {doroga}
lineto(100, 479);
moveto(340, 30);
lineto(480, 479);
moveto(295, 30); {1line}
lineto(292, 60);
lineto(303, 60);
lineto(300, 30);
moveto(295, 90); {2line}
lineto(290, 160);
lineto(305, 160);
lineto(300, 90);
lineto(295, 90);
moveto(290, 210); {3line}
lineto(280, 340);
lineto(315, 340);
lineto(305, 210);
lineto(290, 210);
moveto(325, 410); {4line}
lineto(335, 480);
lineto(265, 480);
lineto(275, 410);
lineto(325, 410);
 
end;
 
procedure KeyDown(Key: integer);
begin
  case Key of
       VK_Left: if xx>-100 then xx:=xx-2;
       VK_Right: if xx<700 then xx:=xx+2;
       VK_Up: if yy>-50 then yy:=yy-2;
       VK_Down: if yy<550 then yy:=yy+2;
  end;
  clearwindow;
  Robo(xx,yy);
  fon;
  redraw;
end;
 
 
 
begin
lockdrawing;
setwindowsize(640,480);
clearwindow;
hidecursor;
xx:=200; yy:=200;
Robo(xx,yy);
fon;
redraw;
OnKeyDown:=KeyDown;
end.
1
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.06.2013, 16:29
Ответы с готовыми решениями:

Анимация привязанная к клавишам
Добрый день. Я сделал робота но нужно сделать так чтобы при нажати клавиш:влево, вправо, вниз, вверх на клавиатуре робот перемещался на шаг...

Простая анимация с привязкой к клавишам
Ребята помогите сделать ПРОСТЕНЬКУЮ анимацию движение с помощью клавиш(тема любая) очень прошу .

Ссылка привязанная к посту
Доброго времени суток! Прошу помочь. Есть шаблон на вордпресс. На главной странице, к примеру, 10-новостей. Нужно сделать так, что...

4
Почетный модератор
 Аватар для КонецСвета
7966 / 3937 / 2464
Регистрация: 30.10.2011
Сообщений: 5,377
05.06.2013, 22:23
Pascal
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
uses graphABC,Events,crt;
 
var xx,yy:integer;
 
procedure Robo(x,y: integer);
begin
 
setpencolor(clblack);
moveto(x+111, y+72);   {KORPYS}
lineto(x+111, y+116);
lineto(x+118, y+116);
lineto(x+118, y+136);
lineto(x+132, y+136);
lineto(x+132, y+116);
lineto(x+141, y+116);
lineto(x+141, y+136);
lineto(x+155, y+136);
lineto(x+155, y+116);
lineto(x+162, y+116);
lineto(x+162, y+72);
lineto(x+111, y+72);
 
 
moveto(x+111, y+72);  {1 Ryka}
lineto(x+95,  y+72);
lineto(x+95, y+100);
lineto(x+92, y+100);
lineto(x+92, y+108);
lineto(x+105, y+108);
lineto(x+105, y+100);
lineto(x+102, y+100);
lineto(x+102, y+80);
lineto(x+111, y+80);
 
Moveto(x+162, y+72); {2 Ryka}
lineto(x+178, y+72);
lineto(x+178, y+100);
lineto(x+181, y+100);
lineto(x+181, y+108);
lineto(x+168, y+108);
lineto(x+168, y+100);
lineto(x+171, y+100);
lineto(x+171, y+80);
lineto(x+162, y+80);
 
moveto(x+128, y+72);  {Golova}
lineto(x+128, y+65);
lineto(x+110, y+65);
lineto(x+110, y+45);
lineto(x+163, y+45);
lineto(x+163, y+65);
lineto(x+145, y+65);
lineto(x+145, y+72);
 
setbrushcolor(random(clyellow));
circle(x+125, y+55, 6); {Glaza}
circle(x+147, y+55, 6);
circle(x+147, y+55, 2);
circle(x+125, y+55, 2);
 
 
moveto(x+112, y+45); {Antenka}
lineto(x+112, y+25);
circle(x+112, y+25, 3);
 
 
floodfill(x+115,y+75, clblack); {Zalivki}
floodfill(x+110,y+75, clblack);
floodfill(x+165,y+75, clblack);
floodfill(x+130,y+62, clblack);
floodfill(x+122,y+55, clred);
floodfill(x+143,y+55, clred);
floodfill(x+112,y+25, clBlue);
 
 
 
 
end;
procedure fon;
begin
 
moveto(0,30);
lineto(0,479);
lineto(639,479);
lineto(639,30);
lineto(0,30);
 
moveto(260, 30); {doroga}
lineto(100, 479);
moveto(340, 30);
lineto(480, 479);
moveto(295, 30); {1line}
lineto(292, 60);
lineto(303, 60);
lineto(300, 30);
moveto(295, 90); {2line}
lineto(290, 160);
lineto(305, 160);
lineto(300, 90);
lineto(295, 90);
moveto(290, 210); {3line}
lineto(280, 340);
lineto(315, 340);
lineto(305, 210);
lineto(290, 210);
moveto(325, 410); {4line}
lineto(335, 480);
lineto(265, 480);
lineto(275, 410);
lineto(325, 410);
 
floodfill(2,200,clgreen);
floodfill(638,200,clgreen);
floodfill(2,2,clskyblue);
floodfill(320,50,clgray);
end;
 
procedure KeyDown(Key: integer);
begin
  case Key of
       VK_Left: if xx>-100 then xx:=xx-2;
       VK_Right: if xx<700 then xx:=xx+2;
       VK_Up: if yy>-50 then yy:=yy-2;
       VK_Down: if yy<550 then yy:=yy+2;
  end;
  clearwindow;
  fon;
  Robo(xx,yy);
  redraw;
end;
 
 
 
begin
lockdrawing;
setwindowsize(640,480);
clearwindow;
hidecursor;
xx:=200; yy:=200;
fon;
Robo(xx,yy);
redraw;
OnKeyDown:=KeyDown;
end.
3
2 / 2 / 2
Регистрация: 29.05.2013
Сообщений: 143
05.06.2013, 23:01  [ТС]
Спасибо но одна проблемка когда он заходит за границу чего нибудь например дорого то робот начинает переливатся цветами как ето исправить?
0
Почетный модератор
 Аватар для КонецСвета
7966 / 3937 / 2464
Регистрация: 30.10.2011
Сообщений: 5,377
06.06.2013, 00:28
это сложно ( либо использовать много операторов floodfill, указывая почти каждый пиксель тела робота, либо рисовать робота пикселями, что еще морочней, либо использовать gif-изображение робота, или использовать объекты....

ни один вариант не вызывает у меня энтузиазма...
0
06.06.2013, 00:42

Не по теме:

Hrustik, а Вы назовите программу "Терминатор Т 1000", он тоже принимал цвет окружающих предметов =)

1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.06.2013, 00:42
Помогаю со студенческими работами здесь

Выноска привязанная к блоку
Существует объект(Кифато ТОкио 2500). К нему сделаны две выноски. Задача: сделать так, чтобы можно было копировать вместе все элементы,...

Grid и привязанная таблица
очень нужна помощь делаю диплом, на форме расположен grid к 3м столбцам привязаны табличные значения. НО высвечиваются только одна строка...

Стрелка привязанная к объекту
Добрый день, Подскажите, пожалуйста, как можно привязать стрелку к объекту, чтобы при перемещение объекта, стрелка растягивалась или...

Не работает команда привязанная к кнопке
Пишу приложение на MVVM архитектуре, есть кнопка, к ней привязка команды, в VM создано публичное свойство ICommand, в конструкторе это...

Автоинкрементация привязанная к значению колонки
Добрый день! Подскажите как реализовать автоинкрементацию привязанную к значению колонки. Ясность должен внести пример ниже: ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru