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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.10.2014, 10:18   #1
kolyaz
Пользователь
 
Регистрация: 08.09.2014
Сообщений: 26
По умолчанию ООП в Паскаль (PascalABC.net)

Помогите дописать программу из 2-х файлов (модуль нужно оставить как есть т.к. задание такое)
Осталось дописать метод выбора фигуры (1,2,3,4,5,6) для движения
Задание :добавить методы движения фигур (в каждый класс). Использовать статические методы. Написать программу, позволяющую выбирать фигуру для движения и вид движения: случайный или с помощью стрелок. Подключить к этой программе созданный модуль с описанием графических классов.
основная программа:
Код:
uses l4u,GraphABC,ABCButtons,ABCObjects;


procedure btnStart_OnClick();
     var  i,x,y:integer;
     begin
        Randomize();
        
        for i := 0 to n-1 do
        begin
         x := Random(GetMaxX);
         y := Random(GetMaxY);
         mas[i].Move(x,y);
         end;
end;

procedure KeyDown(Key: integer);
var i:integer;
begin
  case Key of
   VK_Left:begin
           for i := 0 to n-1 do
           mas[i].MoveTo(-h,0);//влево
           end;
   VK_Right:begin
            for i := 0 to n-1 do
            mas[i].MoveTo(h,0);//вправо
           end;
   VK_Up: begin
          for i := 0 to n-1 do
          mas[i].MoveTo(0,-h);//вверх
          end;
   VK_Down:begin
           for i := 0 to n-1 do
           mas[i].MoveTo(0,h);//вниз
           end;
  end;
end;              
        



var
    i,a:integer;
    btnStart: ButtonABC;
   
begin
Randomize;
 SetLength (mas,n);
 
 SetWindowTitle('окно');
 SetWindowWidth(1000);
 SetWindowHeight(GetMaxY);
 Window.CenterOnScreen();
 Window.IsFixedSize := true;
 Window.Clear(Color.white);
 SetBrushColor(clBlack);
 FillRectangle(0,0,800,600);
 begin
   tC:= new tCircle(100,100,60);
   tC.Draw;
   tE:=new tEllipse(200,200,450,350);
   tE.Draw;
   tL:=new tLine(200,500,400,500);
   tL.Draw;
   tT:= new tTre(500,500,300,300);
   tT.Draw;
   tR:= new tRectangle(100,350,300,450);
   tR.Draw;
   end;
  for i:=0 to n-1 do
  begin
   mas[i]:= new tPoint(Random(GetMaxX),Random(GetmaxY),clrandom);
   mas[i].Draw;
   end; 
   
  //КНОПКА
 btnStart := new ButtonABC(830, 10, 100, 30, 'Случайно!', clMoneyGreen); 
 btnStart.FontColor:= Color.Red;
 btnStart.FontStyle:= fsBold; 
 btnStart.TextScale:= 0.9;
 
 
 TextOut(810,400,'Введите номер'+#13#10 +'1:Точки'+#13#10 +'2:Круг'+#13#10+'3:Эллипс'+#13#10+'4:Линия'+#13#10+'5:Треугольник'+#13#10+'6:Прямоугольник');
 TextOut(810,550,'Для движения'+#13#10 + 'используйте стрелки');
 
 readln(a);

 btnStart.OnClick := btnStart_OnClick;
 OnKeyDown := KeyDown;
         
  
 

end.
kolyaz вне форума Ответить с цитированием
Старый 09.10.2014, 10:24   #2
kolyaz
Пользователь
 
Регистрация: 08.09.2014
Сообщений: 26
По умолчанию

модуль Программы:
Вложения
Тип файла: rar l4u.rar (1.1 Кб, 10 просмотров)
kolyaz вне форума Ответить с цитированием
Старый 09.10.2014, 17:17   #3
kolyaz
Пользователь
 
Регистрация: 08.09.2014
Сообщений: 26
По умолчанию

Уважаемые гуру неужели вопрос не достоин ответа или он не корректно задан?
kolyaz вне форума Ответить с цитированием
Старый 09.10.2014, 17:47   #4
indexx
Заблокирован
 
Регистрация: 12.09.2014
Сообщений: 544
По умолчанию

Ну а ты на название темы посмотри, а потом почитай это
http://www.programmersforum.ru/announcement.php?f=31
в особенности пункт второй, и подумай зачем нужно такое правило. Твою тему ни кто читать не будет.
indexx вне форума Ответить с цитированием
Старый 09.10.2014, 18:28   #5
kolyaz
Пользователь
 
Регистрация: 08.09.2014
Сообщений: 26
По умолчанию

Делал всё согласно п№3 В названии темы обязательно должно содержаться название языка программирования, на котором надо решить задачу. Например: "Работа с матрицами (assembler)", "Двусвязанные списки (С++)", "Работа с файлами (Pascal)" и т.д. Если есть требование к IDE или компилятору обязательно указать его в названии темы, например: "Работа с базами данных (Visual С++)", "Чтение и запись структур из файлов (Assembler, MASM)" и т.д.
kolyaz вне форума Ответить с цитированием
Старый 09.10.2014, 18:43   #6
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Как же вы все достали своим паскалем-абц! Просто триппер какой-то!
Мёдом он, штоль, намазан? Или вам за его использование стипуху нефтедолларами плотют?!!!
Ну чем вам delphi не угодил, ёмаё?
Кто укусил ваших маньяков-преподов?

ПОЧЕМУ НЕЛЬЗЯ DELPHI????????!!!!!!!!!1111111

Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 09.10.2014, 18:54   #7
kolyaz
Пользователь
 
Регистрация: 08.09.2014
Сообщений: 26
По умолчанию

давай хоть в делфи
главное чтоб работало
kolyaz вне форума Ответить с цитированием
Старый 09.10.2014, 19:01   #8
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
давай хоть в делфи
главное чтоб работало
Чо давать-то? Готовую программу?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 09.10.2014, 19:09   #9
indexx
Заблокирован
 
Регистрация: 12.09.2014
Сообщений: 544
По умолчанию

Цитата:
Мёдом он, штоль, намазан?
Всё элементарно. Его преподают студентам. Позволяет разобраться в самом главном не углубляясь в ООП. Для ООП делфи всё же больше подходит.
Цитата:
В названии темы обязательно должно содержаться название языка программирования
А ещё название темы должно отражать суть вопроса. А что отражает твоё название кроме языка??? Хорошо хоть не написал "СПАСИТЕ, ПОМОГИТЕ!!!".
indexx вне форума Ответить с цитированием
Старый 10.10.2014, 05:10   #10
kolyaz
Пользователь
 
Регистрация: 08.09.2014
Сообщений: 26
По умолчанию

Не надо глумиться над названием темы, уж извините но я так правила понял,и вообще давайте отбросим условности и помогите делом я всё таки не на юриста учусь что бы пункты правильно трактовать.

Если есть возможность пусть модераторы скорректируют название.

Не надо готовой, программа уже есть и работает нужно всего лишь дописать алгоритм-метод выбора объекта для движения (см.выше), для делфи( в делфи не силён), я думаю модуль вообще переделывать не надо, тока основную программу подкорректировать- .
kolyaz вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
PascalABC.Net now2 Помощь студентам 2 27.03.2014 21:03
PascalABC.NET v1ktor Паскаль, Turbo Pascal, PascalABC.NET 0 21.06.2011 13:58
PascalABC.net gogomon93 Помощь студентам 5 17.04.2011 18:48
PascalABC.net *stRong* Помощь студентам 2 10.06.2010 17:50
Паскаль ООП. Примеры программ с использованием ООП SeЯgey Помощь студентам 5 13.05.2009 21:55