Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.03.2009, 21:08   #1
ТРОЯН=)
Пользователь
 
Регистрация: 06.12.2008
Сообщений: 58
По умолчанию Движения по нажатию клавиши

Всем привет!!Подскажите плиз как заставить например квадрат двигатся по нажатию клавишь право лево верх низ????
ТРОЯН=) вне форума Ответить с цитированием
Старый 08.03.2009, 21:42   #2
Вадим Буренков
Участник клуба
 
Аватар для Вадим Буренков
 
Регистрация: 06.03.2009
Сообщений: 1,346
По умолчанию

А тебе для чего это надо?

В теории все просто:
1)Делаешь процедуру прорисовки квадрата (лучше через спрайт).
2)Вводим переменные x,y:integer (координаты квадрата)
2)Далее делаем блок такого типа
Код:
...........
{инициализация граф. режима и прочее}
Repeat
if keypressed then Ch:=Readkey
else Ch:=' ';

'w' : begin
y:=y-10;
Cleardevice;
{вывод квадрата }
end;

's' : begin
y:=y+10;
Cleardevice;
{вывод квадрата }
end;

'a' : begin
x:=x-10;
Cleardevice;
{вывод квадрата }
end;


'd' : begin
x:=x+10;
Cleardevice;
{вывод квадрата }
end;


until Ch = #27;
Если че непонятно могу обьяснить.
Вадим Буренков вне форума Ответить с цитированием
Старый 08.03.2009, 22:23   #3
Extreme
Пользователь
 
Аватар для Extreme
 
Регистрация: 28.02.2009
Сообщений: 30
По умолчанию

Цитата:
Сообщение от ТРОЯН=) Посмотреть сообщение
Всем привет!!Подскажите плиз как заставить например квадрат двигатся по нажатию клавишь право лево верх низ????
Через функцию gotoXY(для начала тебе лучше символ, а потом уже квадраты).

gotoXY(x,y);
write(chr(5));
textcolor(blue);
a:=readkey;
case ord(a) of
80: if y<17 then y:=y+1;
75: if x>2 then x:=x-1;
77: if x<79 then x:=x+1;
72: if y>2 then y:=y-1;
Соответственно все это в бегины и энды, задать переменные, вырезал из своей игры, скачай посмотри код, думаю разберешься.
Теперь не много по данному коду. Функция gotoXY переводит курсор в заданную точку. chr(5) это встроенный символ в паскале. case ord ждет нажатия клавиши и по нажатию определяет что необходимо делать, ограничения написаны для того чтобы символ не убегал за экран. В uses crt экран имеет разрешеине 80x28 вроде(1<=x<=80)(1<=y<=28)

Цитата:
Сообщение от Вадим Буренков Посмотреть сообщение
А тебе для чего это надо?

В теории все просто:
1)Делаешь процедуру прорисовки квадрата (лучше через спрайт).
2)Вводим переменные x,y:integer (координаты квадрата)
2)Далее делаем блок такого типа
Код:
...........
{инициализация граф. режима и прочее}
Repeat
if keypressed then Ch:=Readkey
else Ch:=' ';

'w' : begin
y:=y-10;
Cleardevice;
{вывод квадрата }
end;

's' : begin
y:=y+10;
Cleardevice;
{вывод квадрата }
end;

'a' : begin
x:=x-10;
Cleardevice;
{вывод квадрата }
end;


'd' : begin
x:=x+10;
Cleardevice;
{вывод квадрата }
end;


until Ch = #27;
Если че непонятно могу обьяснить.
А для чего инициализировать Graph режим если для его задачи и crt хватит с лихвой)
Вложения
Тип файла: rar Project.rar (4.1 Кб, 24 просмотров)
icq: 360-655-377

Последний раз редактировалось Stilet; 10.03.2009 в 09:49.
Extreme вне форума Ответить с цитированием
Старый 09.03.2009, 10:20   #4
ТРОЯН=)
Пользователь
 
Регистрация: 06.12.2008
Сообщений: 58
По умолчанию

Спасибо за помощь)))
ТРОЯН=) вне форума Ответить с цитированием
Старый 09.03.2009, 21:15   #5
Вадим Буренков
Участник клуба
 
Аватар для Вадим Буренков
 
Регистрация: 06.03.2009
Сообщений: 1,346
По умолчанию

Цитата:
А для чего инициализировать Graph режим если для его задачи и crt хватит с лихвой)
Ответ на вопрос:
Цитата:
Подскажите плиз как заставить например квадрат двигатся по нажатию клавишь
Вадим Буренков вне форума Ответить с цитированием
Старый 10.03.2009, 21:11   #6
Extreme
Пользователь
 
Аватар для Extreme
 
Регистрация: 28.02.2009
Сообщений: 30
По умолчанию

Цитата:
Сообщение от Вадим Буренков Посмотреть сообщение
Ответ на вопрос:
А что с помощью chr(201,186,205,187,200,188) трудно начертить квадрат и перемещать по средством x:=x+1? Просто я не зная режима Graph так делаю, поэтому и советую как проще раз он библиотеку crt плохо знает.
icq: 360-655-377
Extreme вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Детектор движения LARSn Помощь студентам 4 30.01.2009 14:04
Имитация движения Napster Паскаль, Turbo Pascal, PascalABC.NET 0 20.01.2009 19:19
Рисование по нажатию клавиши на клавиатуре... zvuk01 Помощь студентам 1 25.12.2007 17:49
переход курсора по нажатию клавиши matus Общие вопросы Delphi 3 22.11.2007 22:33
Движения кнопки xTANATOSx Общие вопросы Delphi 1 06.11.2007 09:19