Pascal << 1 ... 4 5 6 7 8 ... 54 >> 24.02.2012 / 14:07 | | AHiLLA Пользователь Сейчас: Offline
Имя: Али Откуда: Махачкала Регистрация: 19.01.2010
| bogdan-g, вот
Прикрепленные файлы: ball.gif (2.05 кб.) Скачано 493 раза |
24.02.2012 / 15:59 | | Az@ Пользователь
| Вот нашел исходник проги Pascal ABC постоянно выбивает ошибки. Не скажете в чеем дело, как по мне исходник рабочий:незнаю: Открыть спойлер Закрыть спойлер program NLO;
uses crt, graph;
const k=20;
Pause=50;
var gd, gm, xmin, xm, ymin, ym, x, y, tx, ty, rx, ry, size, i, dx, dy, width, height: integer;
sauser:Pointer;
begin
Randomize;
gd:= detect;
initgraph (gd, gm, 'путь к драйверу');
SetTextStyle (0, 0, 2);
OutTextXY (50, 10, 'Демонстрация движения НЛО'); {Рисуем НЛО}
x:=R*5;
y:=R*2;
xm:=GetmaxX-5;
ym:=GetmaxY-25;
Ellipse(x, y, 0, 360, R, R div 3+2);
Ellipse(x, y-4, 190, 357, R, R div 3);
Line(x + 7, y - 6, x + 10, y - 12);
Line(x - 7, y - 6, x + 10, y - 12);
Circle(x + 10, y - 10, 2);
Circle(x - 10, y - 10, 2);
FloodFill(x+1, y+4, White); {определяем габариты НЛО и помещаем в специальную динамическую переменную}
Tx:= x-R;
Ty:=y-14;
Rx:=x+R;
Ry:=y+Rdiv3+3;
Width:=Rx-Tx+1;
Size:=ImageSize(Tx, Ty, Rx, Ry);
GetMem(sauser, Size);
GetImage(Tx, Ty, Rx, Ry, sauser^); {стираем построенное изображение}
PutImage(Tx, Ty, sauser^, XorPut); {рисуем звездное небо}
SetStyle (1, blue); {установить стиль и цвет закраски голубое небо}
SetColor (White); {начертить прямоугольник и открыть окно}
Rectangle (xmin, ymin, GetmaxX, GetmaxY);
SetViewPort (xmin, ymin, GetmaxX, GetmaxY, ClipOn);
FloodFill (xmin+1, ymin+1, White);
For i:=1 to 500 do {нарисовать 500 звезд белого цвета}
PutPixel(Random(GetmaxX),
Random(GetmaxY- ymin), 15); {задаем начальное положение НЛО}
x:=xm div 3-xmin;
y:=ym div 3-ymin;
dx:=6;
dy:=6;
Repeat {цикл: повторять, пока не нажата любая клавиша}
PutImage (x, y, sauser^, XorPut); {изображаем объект}
Delay (Pause);{задержка}
PutImage(x, y, sauser^, XorPut); {после паузы стираем объект} {перемещаем объект}
If (x<xmin) Or (y<ymin) Or (x+Width +1> xm) Or (y+Height +1> ym) Then
begin {если объект смещается влево-вверх за границы окна, изменить координаты так, чтобы он оставался в окне}
If (x- Dx< xmin) then x:= xmin else x := x- Dx;
If (y- Dy< ymin) then y:= ymin else y := y- Dy;
Dx:= GetmaxX div 10 - Random(GetmaxX div 4);
Dy:= GetmaxY div 10 - Random(GetmaxY div 4);
end
else
begin {если объект смещается вправо-вниз за границы окна, изменить координаты так, чтобы он оставался в окне}
If (x + Dx< xm) then x:= x + Dx else x:= Random(GetmaxX) - Random(GetmaxX div 4);
If (y + Dy< ym) then y:= y + Dy else y:= Random(GetmaxY) - Random(GetmaxY div 3);
end;
until KeyPressed; {завершить, как только будет нажата клавиша}
FreeMem (sauser, Size);
Closegraph;
end;
end.
Изменено Ксакеп (18.11 / 07:16) (всего 2 раза) |
24.02.2012 / 16:03 | | DEn_325O Пользователь Сейчас: Online
Имя: DEn Регистрация: 18.04.2010
| Az@, Это ж исходники для турбо паскаля.
|
24.02.2012 / 16:05 | | Az@ Пользователь
| А разница?
|
24.02.2012 / 16:06 | | Az@ Пользователь
| Вроде язык один и тот же ведь
|
24.02.2012 / 16:08 | | Az@ Пользователь
| Тогда следует логичный вопрос: как реализовать графику в PascalABC.NET?
|
24.02.2012 / 16:12 | | DEn_325O Пользователь Сейчас: Online
Имя: DEn Регистрация: 18.04.2010
| Az@, Весь исходник не смотрел, он попробуй для начала переименовать graph на graphABC и убрать initgraph, gd:=detect
Изменено DEn_325O (24.02 / 16:14) (всего 1 раз) |
24.02.2012 / 16:15 | | Az@ Пользователь
| Не прет. Пишет неизвестное имя 'detect'
|
24.02.2012 / 16:16 | | Az@ Пользователь
| Ща неизвестное имя 'SetTextStyle' тут походу затачивать всё конкрето нада
|
24.02.2012 / 16:22 | | DEn_325O Пользователь Сейчас: Online
Имя: DEn Регистрация: 18.04.2010
| Az@, Вообще советую посмотреть, там наверху где-то на панельке есть раздел "примеры" и там достаточно много этих самых примеров, связанных с графиной,
|
<< 1 ... 4 5 6 7 8 ... 54 >> Всего сообщений: 540 Фильтровать сообщения Поиск по теме Файлы топика (22)
|