Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Графика в Паскале 7

Автор: marycatka 9.06.2011 18:17

1. Построить на экране паутину с центром в заданной точке экрана, с заданным числом лучей. Координаты центра и число лучей считывать из текстового файла.
2. Изобразить на экране двух спортсменов, перекидывающих друг другу мяч. При нажатии клавиши управления курсором <- мяч летит влево, при нажатии клавиши -> вправо. При нажатии клавиши esc программа заканчивает работу.

Помогите пожалуйста.
Даже не знаю как помочь решению(

Автор: Lapp 14.06.2011 6:13

Лови решение первой задачи.

uses
Graph;

const
d= 50;
m= 10;

var
gd,gm,i,j,xc,yc,n: integer;
a: double;
f: text;

begin
Assign(f,'web.dat');
Reset(f);
ReadLn(f,xc,yc);
ReadLn(f,n);
Close(f);
a:= 2*Pi/n;
gd:= detect;
InitGraph(gd,gm,'');
for i:=0 to n-1 do begin
Line(xc,yc,xc+Round(d*(m+1)*Cos(a*i)),yc+Round(d*(m+1)*Sin(a*i)));
for j:=1 to m do
Line(
xc+Round(d*j*Cos(a*i)),
yc+Round(d*j*Sin(a*i)),
xc+Round(d*j*Cos(a*(i+1))),
yc+Round(d*j*Sin(a*(i+1)))
)
end;
ReadLn
end.

Пример файла с входными данными web.dat:
500 300
8

Автор: samec 14.06.2011 11:38

Цитата(Lapp @ 14.06.2011 6:13) *

Лови решение первой задачи.

у меня точку рисует, почему то.

Автор: Lapp 14.06.2011 15:17

Цитата(samec @ 14.06.2011 8:38) *
у меня точку рисует, почему то.

А где эта точка?
Точка в (xc,yc) может быть, если d=0. Как еще это может произойти, я что-то не соображу..

Реально я не могу проверить этот код на TP7, поскольку графика на Win7 и Vista не идет, а XP у меня не осталось.. Но там вроде нет никаких специфик. Если кто может - проверьте, плз..

Автор: IUnknown 14.06.2011 15:32

под DosBox-ом вроде работает, только паутина, разумеется, не по центру, а смещена при таком содержимом файла web.dat:



Эскизы прикрепленных изображений
Прикрепленное изображение

Автор: Krjuger 14.06.2011 15:34

У меня в ТП 7 все нормально нарисовало,причем рисовал через dos box под 64разрядной семеркой.