Автор: alien_killer 15.05.2003 22:41
Тут м 16-ом уроке задача есть с 20-ю звёздами . С одной у меня получилось, а до 20-ти никак не додумаюсь...Знаю, что от массива зависит, а как не пойму. Куда тут что всунуть надо?
Код
program Sterne;
uses crt;
const n=20;
var x: Array [1..n] of byte;
y: Array [1..n] of byte;
I,L:byte;
ende:char;
begin clrscr;
randomize;
for L:=1 to 50 do
begin
For i:=1 to n do
repeat
x[i]:= random(79)+1;
y[i]:= random(24)+1;
gotoXY (x[i],y[i]);
write ('.');
delay (200);
gotoXY (x[i],y[i]);
write ('*');
gotoXY (x[i],y[i]);
delay (200);
gotoXY (x[i],y[i]);
write (chr(15));
delay (200);
gotoXY (x[i],y[i]);
write (' ');
end;
end.
Заранее thx.
Автор: Alesha_GA 18.05.2003 8:18
Ты б текст задачи привел.
По проге: в графическом режиме было б красивше( в смысле не так убого).
Автор: Dark 19.05.2003 4:02
Попробуй мой вариант, хотя мог бы немного подумать сам...
Код
program Sterne;
uses crt;
const n=20;
var x: Array [1..n] of byte;
y: Array [1..n] of byte;
I,L:byte;
ende:char;
procedure fazax(x,y:byte;faza:char);
begin
gotoXY (x,y);
write (faza);
delay (400);
end;
begin
clrscr;
for L:=1 to 50 do
begin
randomize;
For i:=1 to n do
begin
x[i]:= random(79)+1;
y[i]:= random(24)+1;
end;
for i:=1 to n do fazax(x[i],y[i],'.');
for i:=1 to n do fazax(x[i],y[i],'*');
for i:=1 to n do fazax(x[i],y[i],chr(15));
for i:=1 to n do fazax(x[i],y[i],' ');
end;
end.
Автор: Alesha_GA 19.05.2003 7:15
я бы заменил "for L:=1 to 50 do" на repeat, что бы выходить по keypressed. А так красиво.
2Alien_killer: ну а ты переложи это на графику. Нарисовать растущею из точки звёздочку(снежинку) думаю сможеш.