engineerklub | Дата: Понедельник, 30.10.2017, 08:13 | Сообщение # 1 |
Генералиссимус
Группа: Администраторы
Сообщений: 28524
Статус: Offline
| Лабораторная работа №2 по дисциплине: Объектно-ориентированное программирование Тема: «Продолжение темы лабораторной работы №1» (Вариант общий)
Форматы файлов: Microsoft Word, Pascal Сдано в учебном заведении: ДО СИБГУТИ
Описание: Лабораторная работа №2 Тема: Продолжение темы лаб. работы №1.
Задание: Сделать защиту полей класса (т.е. работать с полями в основной программе не напрямую, а используя соответствующие методы записи в поле и чтения из поля). Добавить методы движения точек: случайное движение, движение по нажатию клавиш со стрелками. Рекомендации к выполнению: Внесите необходимые корректировки в программу лаб. работы №1. Для работы с полями используйте, например, следующие методы: процедуру инициализации полей Init, функции GetX и GetY для чтения данных из полей x и y, процедуры SetX и SetY для записи данных в поля x и y, а также любые другие методы на Ваше усмотрение. Приведем пример возможной реализации метода SetX: Procedure имя класса.SetX(NewX:integer); begin x:=NewX; end; В программе, если надо, например, присвоить полю x значение 25 то вместо команды x:= 25; запишем вызов метода SetX(25); Перечисленные методы нам нужны, чтобы не напрямую работать с полем (например, p:=x;), а через соответствующий метод (например, p:=GetX). Возможную реализацию метода инициализации полей Init можно посмотреть в примере 2.4 (§6) конспекта лекций, а методов GetX и GetY – в примере 2.7 (§10). У метода рисования Draw можно теперь убрать параметры (т.е., например, Mas.Draw;). Перед его вызовом добавьте (конечно же, в цикле) инициализацию (при помощи метода Init) всех 100 объектов, сначала задавая параметры метода инициализации с помощью генератора случайных чисел, а затем вызывая метод с данными параметрами. Таким образом, во все 100 объектов, в поля, например, x и y запишутся какие-то случайные числа – координаты точки (цвет точки задайте аналогично). Далее вызывайте метод рисования для каждого объекта (Mas.Draw;). Метод рисования можно сделать с одним параметром для передачи ему цвета (тогда параметр цвета надо убрать из метода инициализации), а в основной программе соответствующий фактический параметр задавать с помощью генератора случайных чисел. Следующий пункт задания: добавить методы движения точек. Посмотрите описание класса tPoint примере 2.4 (§6) конспекта лекций. Чтобы реализовать случайное движение надо координатам в методе движения Move присваивать случайные значения с помощью генератора случайных чисел. Чтобы реализовать движение по нажатию клавиш со стрелками, надо координаты изменять с шагом h в зависимости от того, на какую стрелку нажал пользователь. Как определить какая клавиша была нажата, и как в зависимости от этого изменять координаты можно посмотреть либо в примере 2.8 (§10), либо в примере 2.7 (§10) конспекта лекций в программе GRAFICA, не вдаваясь в подробности описания классов и другие детали. Предусмотрите возможность выбора режима движения (посмотрите в примерах 2.8 или 2.7 как выбираются фигуры, а также как пользователь выбирает продолжить программу или нет, и напишите что-то подобное для выбора режима).
Текст программы
Комментарии: Зачет без замечаний! Дата сдачи: октябрь 2016 г.
скачать можно в разделе Объектно-ориентированное программирование
|
|
| |