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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.05.2009, 18:32   #1
Fatality
Пользователь
 
Регистрация: 03.12.2008
Сообщений: 37
По умолчанию Помогите с задачей на графику!

Ребята, выручайте! Мне к завтрашнему дню нужно сделать одну лабу... Я до графики еще не дошел, поэтому не понимаю практически ничего, кроме как инициализировать модуль... Прошу, кому не трудно, помогите!
-У левой границы экрана появляется красный круг. По нажатию enter круг начинает перемещение по экрану в горизонтальном направлении. При этом скорость полета увеличивается при нажатии ">", и уменьшается при "<". Дойдя до противоположной границы круг продолжает движение в противоположном направлении. Движение останавливается по нажатию "S". Выход-Esc.
Fatality вне форума Ответить с цитированием
Старый 18.05.2009, 18:49   #2
HoLToFF
Пользователь
 
Регистрация: 22.03.2009
Сообщений: 58
По умолчанию

Напишите хотя бы для честности сюда инициализацию графики
HoLToFF вне форума Ответить с цитированием
Старый 18.05.2009, 19:10   #3
Fatality
Пользователь
 
Регистрация: 03.12.2008
Сообщений: 37
По умолчанию

Пожалуйста)
InitGraph(D,M,S)
Closegraph.
Вот все мои знания о графике((((
Fatality вне форума Ответить с цитированием
Старый 18.05.2009, 19:54   #4
HoLToFF
Пользователь
 
Регистрация: 22.03.2009
Сообщений: 58
По умолчанию

Код:
program BallMove;

uses CRT, Graph;

var x,d,
    speed:integer;
    st:Boolean;

procedure init;
var d, m: integer;
begin
    d := detect;
    InitGraph(d,m,'');
    if GraphResult<>grOK then
    begin
	WriteLn('Graphics error: ', GraphErrorMsg(GraphResult));
	ReadLn;
	Halt(1);
    end;
ClearDevice;
end;


procedure Ball(x:integer);
begin
SetColor(Red);
SetFillStyle(1,Red);
FillEllipse(x,445,30,30);
end;


begin
init;
x:=35;
d:=1;
Ball(35);
readln;
st:=false;
Speed:=1500;

repeat
if not st then
begin
delay(Speed);
ClearDevice;
ball(x);
x:=x+d;
end;

if keypressed then
begin
case ord(readkey) of
27 : exit;
44 : if speed < 3000 then Speed:=Speed + 200;
46 : if speed > 300 then Speed:=Speed - 200;
115: st:=not(st);
end;

end;


if x > 605 then d:=-d;
if x < 35 then d:=-d;
until false;

readln

end.
HoLToFF вне форума Ответить с цитированием
Старый 18.05.2009, 20:14   #5
Fatality
Пользователь
 
Регистрация: 03.12.2008
Сообщений: 37
По умолчанию

HoLToFF, спасибо ОГРОМНОЕ! Ты меня просто спас!!!
Fatality вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль. Задача на графику..помогите доделать(( Diamond2107 Помощь студентам 8 17.05.2009 18:24
Помогите решить задачу на графику! Fatality Помощь студентам 3 29.04.2009 19:57
Как графику засунуть в dll? chandrasecar Мультимедиа в Delphi 2 24.01.2009 19:14
Помогите создать программу вычисления данных по графику Radamant Помощь студентам 1 07.12.2008 12:56
Как определить значение по графику? leonid Microsoft Office Excel 4 27.05.2008 08:48