Графика. Прямоугольник управляемый стрелками

Общие вопросы: версии и диалекты, синтаксис языка, cтруктуры и типы данных (массивы, строки, списки...), обработка данных и т.д.
Ответить
7even
Сообщения: 1
Зарегистрирован: 24 фев 2010, 23:30

24 фев 2010, 23:35

Всем привет! Я недавно занимаюсь графикой в паскале и вот встала такая задача как написать прогу, в которой пользователь с помощью стрелок управляет прямоугольником. Основную часть я написал, но у меня не получается только условие, что при приближении к краю экрана прямоугольник не заходил за него, а останавливался.


вот мой код

[syntax='Pascal']uses crt,graph;
var
gd,gm,x,y,dx,dy:integer;
ch:char;

procedure dvizhenie(dx,dy:integer);
begin
setfillstyle (1,black);
bar (x,y,x+100,y+10);
x:=x+dx;
y:=y+dy;
setfillstyle (1,white);
bar (x,y,x+100,y+10);
end;

begin
gd:=detect;
initgraph (gd,gm,'bgi');
x:=270;y:=240;
bar (x,y,x+100,y+10);
repeat
ch:=readkey;
if ch=#0 then
begin
ch:=readkey;
case ch of
#80:dvizhenie(0,5);
#72:dvizhenie (0,-5);
#77:dvizhenie (5,0);
#75:dvizhenie (-5,0);
end;
end;
until ch=#27;
end.[/syntax]
Аватара пользователя
Duncon
Сообщения: 1974
Зарегистрирован: 10 окт 2004, 14:11
Откуда: Питер
Контактная информация:

25 фев 2010, 09:59

В чём проблема то - если x > конец экрана ничего не делаем, так же ещё 3 условия выхода..
[syntax=Delphi] [/syntax]
Ответить