IPB
ЛогинПароль:

> Правила раздела!

1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!

 
 Ответить  Открыть новую тему 
> Способ перемещения рисунка по экрану, "подвисает", "подвисает"
сообщение
Сообщение #1


Гость






Только сегодня немного выучил графику. До этого ничего такого не делал, поэтому опыта почти нет. В общем написал кое-какую прогу. Вот её суть: в зависимости от нажатой клавиши (w, s, d, a), по экрану движется квадрат. Проблема вот в чем: квадрат передвигается не сразу, а только после 2-5 нажатия.
Вот фрагмент проги (clear - процедура очистки экрана от следов):

while readkey <> 'q' do begin

while readkey='w' do begin
y:=y-5;
if y<21 then y:=21;
Bar(x, y, x+20, y+20);
clear(x, y+20, x+20, y+25);
end;

while readkey='s' do begin
y:=y+5;
if y>459 then y:=459;
Bar(x, y, x+20, y+20);
clear(x, y-5, x+20, y);
end;

while readkey='a' do begin
x:=x-5;
if x<1 then x:=1;
Bar(x, y, x+20, y+20);
clear(x+20, y, x+25, y+20);
end;

while readkey='d' do begin
x:=x+5;
if x>618 then x:=618;
Bar(x, y, x+20, y+20);
clear(x-5, y, x, y+20);
end;

end;


Можно как-нибудь избавиться от такой фигни?

ЗЫ: вот сама прога...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2





Группа: Пользователи
Сообщений: 6
Пол: Мужской

Репутация: -  0  +


Цитата(-ShpateL- @ 14.11.2006 16:58) *

ЗЫ: вот сама прога...

А где сама прога?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 19
Пол: Мужской

Репутация: -  0  +


Цитата(GeoRGe @ 14.11.2006 16:11) *

А где сама прога?

Хотел дать екзешник, но он не клеется. Исходник показывать слекга стыдно, но если надо...


Прикрепленные файлы
Прикрепленный файл  KVADRAT.PAS ( 1.05 килобайт ) Кол-во скачиваний: 195
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






-ShpateL-, используй такую структуру:
repeat
ch := readkey;
case ch of
'w': { Делаешь то, что тебе нужно ... }
's': { ... }
'd': { ... }
'a': { ... }
end;
until ch = #27;
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Новичок
*

Группа: Пользователи
Сообщений: 19
Пол: Мужской

Репутация: -  0  +


Сэнкс вэри мач! Работает без задержек! good.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 20.10.2021 0:25
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name