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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.05.2009, 20:58   #1
deu4er
Пользователь
 
Регистрация: 24.10.2008
Сообщений: 18
Стрелка паскаль. графика

подскажите пожалуйста как сделать чтобы снежинка достигнув нижнего края экрана приобрела форму крестика
сам снег я написал а вот как выполнить это задание чет не понимаю
uses crt, graph;
var
X, Y:array [1..400] of integer;
i, Gx, Gy, Gy1, Gd, Gm: integer;
z:byte;
BEGIN
Gd:=Detect;
InitGraph(Gd, Gm, 'GRAPH.TPU');
randomize;
Gx:=GetMaxX;
Gy:=GetMaxY;
for i:=1 to 200 do
begin
X[i]:= random(Gx);
Y[i]:= random(Gy div 1);
PutPixel(X[i],Y[i],15)
end;
repeat
inc (z);
for i:=1 to 200 do
begin
if (Y[i] < Gy) and (GetPixel(X[i],Y[i]+1)= 0)
then
begin
PutPixel(X[i], Y[i],0);
Y[i]:= Y[i]+1;
PutPixel(X[i], Y[i],15)
end
else
begin

Y[i]:= random(Gy div 40);
X[i]:= random(Gx);
PutPixel(X[i], Y[i], 15)
end;

end;
until keypressed;
END.
deu4er вне форума Ответить с цитированием
Старый 17.05.2009, 21:33   #2
OCTAGRAM
Oldschool geek
Форумчанин
 
Аватар для OCTAGRAM
 
Регистрация: 09.03.2009
Сообщений: 611
По умолчанию

Цитата:
Сообщение от deu4er Посмотреть сообщение
подскажите пожалуйста как сделать чтобы снежинка достигнув нижнего края экрана приобрела форму крестика


Надо же, как красиво...

Код:
uses crt, graph, svga;
var
   X, Y:array [1..400] of integer;
   i, Gx, Gy, Gy1, Gd, Gm: integer;
   z:byte;
BEGIN
     Gd:=Detect;
     InitGraph(Gd, Gm, 'X:\BP');
     randomize;
     Gx:=GetMaxX;
     Gy:=GetMaxY;
     SetColor(15);
    for i:=1 to 200 do
		begin
		     X[i]:= random(Gx);
		     Y[i]:= random(Gy div 1);
		     PutPixel(X[i],Y[i],15)
		end;
	        repeat
                inc (z);
		for i:=1 to 200 do
			begin
			     if (Y[i] < Gy) and (GetPixel(X[i],Y[i]+1)= 0)
				then
					begin
					     PutPixel(X[i], Y[i],0);
					     Y[i]:= Y[i]+1;
					     PutPixel(X[i], Y[i],15)
					end
				else
					begin
               if Y[i] < 20 then
               begin
                 PutPixel(X[i], Y[i],0);
               end else
               begin
                  Line(X[i] - 3, Y[i] - 2, X[i] + 3, Y[i] + 2);
                  Line(X[i] + 3, Y[i] - 2, X[i] - 3, Y[i] + 2);
                  Line(X[i], Y[i] - 3, X[i], Y[i] + 3);
               end;

					     Y[i]:= {random(Gy div 40)}0;
					     X[i]:= random(Gx);
               PutPixel(X[i], Y[i], 15);
          end;

      end;
	        until keypressed;
    CloseGraph;
END.
If you want to get to the top, you have to start at the bottom

http://pascal.net.ru/
OCTAGRAM вне форума Ответить с цитированием
Старый 18.05.2009, 21:30   #3
deu4er
Пользователь
 
Регистрация: 24.10.2008
Сообщений: 18
По умолчанию

Спасибо (=
deu4er вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Графика. Паскаль Zond235 Паскаль, Turbo Pascal, PascalABC.NET 15 11.06.2010 18:17
Графика. Паскаль. b1otekk Помощь студентам 10 20.03.2009 12:18
Паскаль графика BuTeK1 Паскаль, Turbo Pascal, PascalABC.NET 0 08.01.2009 11:01
ПАСКАЛЬ ГРАФИКА glasian Помощь студентам 19 17.06.2008 04:26