Не понимаю как без использования двумерных массивов получить на экране вертикальные "сугробы" в зависимости от количества упавших снежинок в програмке:
uses crt; const n=79; var n:array[1..n] of byte; i,k:byte; begin clrscr; for i:=1 to n do x[i]:=0; repeat k:=random(80); if x[k]=0 then x[k]:=1; for i:=1 to n do begin if x[i]>0 then begin gotoxy(i,x[i]); write(' '); x[i]:=x[i]+1; gotoxy(i,x[i]); write('*'); if x[i]>23 then x[i]:=0; end; end; delay(2000); until keypressed; end.
volvo
21.01.2006 16:56
Используй два одномерных - один для указания текущей позиции "снежинки", другой - для высоты "сугроба":
uses crt; const n=79; var x:array[1..n] of byte; stop: array[1 .. n] of byte;
i,k:byte; begin clrscr; for i:=1 to n do begin x[i]:=0; stop[i] := 25; end;
repeat k:=random(80); if x[k]=0 then x[k]:=1; for i:=1 to n do begin if x[i]>0 then begin if x[i] < stop[i] then begin gotoxy(i,x[i]); write(' '); x[i]:=x[i]+1; gotoxy(i,x[i]); write('*'); end else begin x[i] := 0; stop[i] := stop[i] - 1; end; end; end; delay(2000); until keypressed; end.
TS*
21.01.2006 17:00
Спасибо за помощь!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.