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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.05.2016, 18:41   #1
Vika2016
Пользователь
 
Регистрация: 24.02.2016
Сообщений: 69
По умолчанию Паскаль ООП

Помогите пожалуйста записать эту программу с помощю ооп на паскале
Код:
uses
  graph, crt;
 
var
  x, y, gd, gm, : integer;
 
 
begin
  InitGraph(gd, gm, '');
  SetBkColor(black);
  cleardevice;
  
  // Движение по Х
  for x := 400 to 900 do
  begin
    SetColor(red);
    circle(x, 150, 50);
    delay(5);
    SetColor(0);
    circle(x, 150, 50);
  end; 
  
  for x := 900 downto 400 do
  begin
    SetColor(green);
    circle(x, 150, 50);
    delay(5);
    SetColor(0);
    circle(x, 150, 50);
  end;
  
  
  Readln;
  CloseGraph
end.
Vika2016 вне форума Ответить с цитированием
Старый 16.05.2016, 19:02   #2
Vika2016
Пользователь
 
Регистрация: 24.02.2016
Сообщений: 69
По умолчанию

Кто знает напишите саму структуру используя этот простенький пример.. заранее спасибо очень срочно нужно
Vika2016 вне форума Ответить с цитированием
Старый 16.05.2016, 20:01   #3
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

Код:
uses
 crt, Graph;

type
 TCircle= object
   private
   X,Y,R:Integer;
   FColor:Integer;
   public
   constructor  Init(AX,AY,AR:Integer);
   procedure  SetX(Value:Integer);
   procedure  SetY(Value:Integer);
   procedure  SetR(Value:Integer);
   procedure  SetColor(Value:Integer);
   procedure  Draw; virtual;
   procedure  Erase; virtual;
   end;

constructor TCircle.Init(Ax,Ay,AR:Integer);
begin
Self.X:=AX;
Self.Y:=AY;
Self.R:=AR;
end;


procedure TCircle.SetX(Value:Integer);
begin
 X:=Value;
end;

procedure TCircle.SetY(Value:Integer);
begin
 Y:=Value;
end;

procedure TCircle.SetR(Value:Integer);
begin
if Value>0 then
   R:=Value;
end;

procedure TCircle.SetColor(Value:Integer);
begin
 FColor:=Value;
end;

procedure TCircle.Draw;
begin
 Graph.SetColor(FColor);
 Circle(X, Y, R);
end;

procedure TCircle.Erase;
begin
 Graph.SetColor(0);
 Circle(X, Y, R);
end;



var
 x,y, gd,gm: Integer;
 Circle1:TCircle;
begin
  InitGraph(gd, gm, 'c:\bp\bgi\');
  SetBkColor(Black);
  cleardevice;

  Circle1.Init(200,200, 50);
  Circle1.SetColor(Red);

  for x:= 400 to 900 do
    begin
      Circle1.SetX(x);
      Circle1.Draw;
      delay(5);
      Circle1.Erase;
    end;

    ReadLn;
    CloseGraph;
end.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .

Последний раз редактировалось Pavia; 16.05.2016 в 20:24.
Pavia вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль.ООП.Графика. СветланаRerum Помощь студентам 0 04.10.2010 18:02
ООП, Паскаль, графика random7 Помощь студентам 10 24.11.2009 15:37
Паскаль ООП. Примеры программ с использованием ООП SeЯgey Помощь студентам 5 13.05.2009 21:55
графика, паскаль, ООП HoOpe Помощь студентам 18 25.03.2009 12:38