Помощь - Поиск - Пользователи - Календарь
Полная версия: задача о 20-ти звёздах из урока 16
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
alien_killer
Тут м 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
Ты б текст задачи привел.

По проге: в графическом режиме было б красивше( в смысле не так убого).
Dark
Попробуй мой вариант, хотя мог бы немного подумать сам...

Код
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
я бы заменил  "for L:=1 to 50 do" на repeat, что бы выходить по keypressed. А так красиво.
2Alien_killer: ну а ты переложи  это на графику. Нарисовать растущею из точки звёздочку(снежинку) думаю сможеш.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.