51076

Створення власних обєктів для гри Мішень

Практическая работа

Информатика, кибернетика и программирование

Мета: Ознайомитись з основами обєктно – оріентованого програмування (ООП). Навчитись створювати власні обєкти успадковувати їх, перевизначати методи, створювати віртуальні функції.

Украинкский

2014-02-05

24.58 KB

3 чел.

Розробив

Олійник Д.А.

13.04.13

ДРПК.020180.015

Аркуш

Перевірив

Рудакова М.

1

Змін

Арк.

№ Докум

Підпис

Дата

Практична робота№7

Тема:Створення власних об’єктів для гри Мішень.

Мета: Ознайомитись з основами об’єктно – оріентованого програмування (ООП).

          Навчитись створювати власні об’єкти успадковувати їх, перевизначати  

          методи, створювати віртуальні функції.

Хід роботи:

unit Main;

interface

uses

 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

 Dialogs, ExtCtrls;

type THitObj = record

x,y:integer;

dx,dy:integer;

end;

type

 TForm1 = class(TForm)

   Canv: TImage;

   procedure FormCreate(Sender: TObject);

   procedure FormPaint(Sender: TObject);

   procedure CanvMouseMove(Sender: TObject; Shift: TShiftState; X,

     Y: Integer);

   procedure FormDestroy(Sender: TObject);

   procedure CanvMouseDown(Sender: TObject; Button: TMouseButton;

     Shift: TShiftState; X, Y: Integer);

   procedure FormKeyDown(Sender: TObject; var Key: Word;

     Shift: TShiftState);

 private

   { Private declarations }

 public

   { Public declarations }

   procedure CreateHitObj(fx,fy:integer);

   procedure DelAll;

   function RectsOverlap(x,y,w,h,x1,y1:integer):boolean;

 end;

var

 Form1: TForm1;

 cx,cy:integer;

 Image1,Image2:TBitmap;

 HitObjects:array of THitObj; CHitObjects:integer=0;

 Points:integer=0;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);

var

i:integer;

begin

Розробив

Олійник Д.А.

13.04.13

ДРПК.020180.015

Аркуш

Перевірив

Рудакова М.

2

Змін

Арк.

№ Докум

Підпис

Дата

ShowCursor(false);

Image1:=TBitmap.Create;

Image1.LoadFromFile('Image1.bmp');

Image1.TransparentColor:=clFuchsia;

Image1.Transparent:=true;

Image2:=TBitmap.Create;

Image2.LoadFromFile('Image2.bmp');

Image2.TransparentColor:=clFuchsia;

Image2.Transparent:=true;

randomize;

for i:=0 to 2 do

CreateHitObj(random(700),random(500));

end;

procedure TForm1.FormPaint(Sender: TObject);

var

i,x:integer;

begin

x:=x+1;

if x > 400 then for i:=0 to CHitObjects-1 do begin

HitObjects[i].x:=HitObjects[i].x+1;

HitObjects[i].y:=HitObjects[i].y+1;

if HitObjects[i].x > 800 then HitObjects[i].x:=0;

if HitObjects[i].y > 600 then HitObjects[i].y:=0;

end;

Canv.Canvas.Rectangle(0,0,800,600);

Canv.Canvas.TextOut(0,0,'Очки - '+IntToStr(Points));

for i:=0 to CHitObjects-1 do

Canv.Canvas.Draw(HitObjects[i].x,HitObjects[i].y,Image2);

Canv.Canvas.Draw(cx-25,cy-25,Image1);

end;

procedure TForm1.CanvMouseMove(Sender: TObject; Shift: TShiftState; X,

 Y: Integer);

begin

cx:=X;

cy:=y;

end;

procedure TForm1.CreateHitObj(fx, fy: integer);

begin

CHitObjects:=CHitObjects+1;

SetLength(HitObjects,CHitObjects);

HitObjects[CHitObjects-1].x:=fx;

HitObjects[CHitObjects-1].y:=fy;

end;

procedure TForm1.DelAll;

begin

CHitObjects:=0

SetLength(HitObjects,CHitObjects);

Розробив

Олійник Д.А.

13.04.13

ДРПК.020180.015

Аркуш

Перевірив

Рудакова М.

3

Змін

Арк.

№ Докум

Підпис

Дата

Image1.Free;

Image2.Free;

end;

procedure TForm1.FormDestroy(Sender: TObject);

begin

DelAll;

end;

function TForm1.RectsOverlap(x, y, w, h, x1, y1:integer): boolean;

begin

if (x1 >= x) and (x1 <= (x+w)) and (y1 >=y) and (y1 <= (y+h)) then

result:=true else result:=false;

end;

procedure TForm1.CanvMouseDown(Sender: TObject; Button: TMouseButton;

 Shift: TShiftState; X, Y: Integer);

 var

 i:integer;

begin

for i:=0 to CHitObjects do

if RectsOverlap(HitObjects[i].x,HitObjects[i].y,50,50,X,Y)

then begin Points:=Points+1; HitObjects[i].x:=20+random(760); HitObjects[i].y:=20+random(560); end;

end;

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;

 Shift: TShiftState);

begin

if (key = VK_RETURN) and (CHitobjects < 10) then CreateHitObj(random(700),random(500));

end;

end.

Висновок: Я ознайомився з основами об’єктно- оріентованого програмування (ООП), та навчився створювати власні об’єкти успадковувати їх, перевизначати методи, створювати віртуальні функції.


 

А также другие работы, которые могут Вас заинтересовать

24997. Основные этапы становления информационного общества. Информационные ресурсы государства, их структура. Образовательные информационные ресурсы 75.5 KB
  Информационные ресурсы государства их структура. Образовательные информационные ресурсы. Развитие новых информационных технологий и их быстрое проникновение во все сферы жизни породило новое направление в современной информатике социальная информатика включающее в себя следующую проблематику: информационные ресурсы как фактор социальноэкономического и культурного развития общества; закономерности и проблемы становления информационного общества; развитие личности в информационном обществе; информационная культура; информационная...
24998. Клавиатура (Keyboard) 31.69 KB
  Принцип действия клавиатуры Основным элементом клавиатуры являются клавиши. Сигнал при нажатии клавиши регистрируется контроллером клавиатуры и передается в виде так называемого скэнкода на материнскую плату. На материнской плате ПК для подключения клавиатуры также используется специальный контроллер. Когда скэнкод поступает в контроллер клавиатуры инициализируется аппаратное прерывание процессор прекращает свою работу и выполняет процедуру анализирующую скэнкод.
24999. Принцип работы модемов 62.47 KB
  Современные модемы обеспечивают гораздо большую скорость передачи данных. Применяемые в них протоколы передачи данных и коррекции ошибок обеспечивают надежную связь даже на не очень хороших телефонных линиях. В процессе передачи компьютерных данных по большинству линий связи выполняется двойное их ' преобразование: поток данных из компьютера побайтно преобразуется в последовательность отдельных бит которая далее превращается в сигнал при годный для передачи по телефонным линиям. Принимаемые данные претерпевают обратное преобразование: из...
25000. О мониторах - подробнее 131 KB
  Количество точек по горизонтали и по вертикали которые могут изображаться на экране монитора называется его разрешением. Принцип работы электроннолучевого монитора стеклянная колба сигналы управления лучом электронная пушка покрытие из люминофора электронный луч же монитора может меняться за счет объединения соседних триад. Количество раз которое сменится изображение на экране электроннолучевого монитора за 1 секунду называется частотой кадровой развертки.
25001. Манипуляторы 37.71 KB
  Наиболее распространенным из них является так называемая Мышь Она служит для ввода данных или одиночных команд выбираемых из меню ли текстограмм графических оболочек выведенных на экран монитора. Мышь представляет собой небольшую коробочку с двумя или тремя клавишами и утопленным свободно вращающимся в любом направлении шариком на нижней поверхности. Для работы с мышью необходима плоская поверхность с этой целью используют резиновые коврики Mouse Pad. Так как с помощью мыши нельзя вводить в компьютер серии команд поэтому мышь и...
25002. Текстовый редактор. Назначение и основные возможности 59.21 KB
  Обычно текстовыми редакторами принято называть программы выполняющие простейшие операции по редактированию текста а процессорами программы обладающие расширенными по сравнению с редакторами средствами для компьютерной обработки текста. В процессе подготовки текстовых документов можно выделить следующие этапы: набор текста; редактирование; форматирование текста разметка страниц; печать просмотр перед печатью текста на экране печать на бумаге. Основные функции текстовых процессоров: создание документов; редактирование документов...
25003. ПОЧЕМУ РАБОТА ЗА КОМПЬЮТЕРОМ ЧАСТО ПРИВОДИТ К БОЛИ 82.5 KB
  Выплачиваемые компенсации достигают астрономических размеров а некоторым пострадавшим от работы за компьютерам приходится расплачиваться жестокими болями в течение всей жизни. Недавние исследования показали что примерно 20 нарушений здоровья связанных с работой за компьютером вызваны не вредностью компьютера как такового а незнанием основных правил работы с ним а также неправильной организацией рабочего места. В 1996 году Государственный комитет санитарноэпидемиологического надзора утвердил Гигиенические требования к видеодисплейным...
25004. Понятие информации. Информационные процессы 48.19 KB
  Мы говорим: я получил важную информацию у меня недостаточно информации для принятия решения кто владеет информацией правит миром не особенно задумываясь о том что же такое информация. В этом заключена одна из особенностей понятия информации: оно относится к числу базовых понятий таких как число в математике которые можно пояснять уточнять использовать но нельзя однозначно определить. Юристы например используют определение из закона Об информации информатизации и защите информации: информация сведения о лицах предметах...
25005. Принтер — основное устройство для вывода инфор 48.5 KB
  Во время печати на его поверхность подается высокое напряжение которое распределяет статический заряд по поверхности барабана. У цветных лазерных принтеров соответствующие и стоимость и скорость печати. Поскольку лазер формирует прообраз изображения целиком на барабане то к моменту печати он уже полностью должен быть в памяти принтера. Большой объем памяти требуется при печати большого потока документов.