1. Заголовок темы должен быть информативным. В противном случае тема удаляется ... 2. Все тексты программ должны помещаться в теги [code=pas] ... [/code]. 3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали! 4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора). 5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM! 6. Одна тема - один вопрос (задача) 7.Проверяйте программы перед тем, как разместить их на форуме!!! 8.Спрашивайте и отвечайте четко и по существу!!!
Добрый вечер, при написании программы возникла проблема с написанием кругов на воде, да и нарисовать воду никак не выходит(( ток дождь, не подскажите, как это сделать?
вот код:
program ll; {napishite programmu, demonstriruyuchuyu na ekrane padenie dogdevih kapil'i krugi na vode} Uses Crt, Graph; Type PGraphObject=^TGraphObject; TGraphObject=object {базовый объект} Active : Boolean; {признак видимости объекта} x,y: Integer; {координаты объекта} Color : Integer; {цвет объекта}
constructor TGraphObject.Init; begin Active:=False; {изначально объект невидим} end;
destructor TGraphObject.Done; begin Hide; {перед уничтожением сотрем объект с экрана} end;
procedure TGraphObject.Locate; begin Hide; {скроем объект} x:=Nx; {зададим новые координаты} y:=Ny; Show; {отобразим на новом месте} end;
procedure TGraphObject.Step; begin Hide; {скроем объект} x:=x+Dx; {переместим объект} y:=y+Dy; Show; {отобразим на новом месте} end;
procedure TGraphObject.Move; begin delay(30); Step(0,3); {шагнем случайным образом} end;
procedure TGraphObject.Show; begin if not Active then {если объект невидим, то...} begin Active:=True; {установим флажок видимости} Paint; {нарисуем объект} end; end;
procedure TGraphObject.Hide; begin if Active then {если объект видим, то...} begin Active:=False; {сбросим флажок видимости} Clear; {сотрем объект} end; end;
procedure TGraphObject.Paint; begin end;
procedure TGraphObject.Clear; begin end;
procedure InitVideo; var grDriver,grMode:Integer; begin grDriver:=Detect; InitGraph(grDriver,grMode,''); if GraphResult<>grOk then begin Writeln('Error!!!!'); Halt(1); end; end;
{Возврат в текстовый режим} procedure DoneVideo; begin CloseGraph; end;