51076

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

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

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

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

Украинкский

2014-02-05

24.58 KB

4 чел.

Розробив

Олійник Д.А.

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.

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


 

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

65573. ЯБЛУНЕВИЙ КВІТКОЇД У СХІДНОМУ ЛІСОСТЕПУ УКРАЇНИ. БІОЛОГІЯ, ЕКОЛОГІЯ І УДОСКОНАЛЕННЯ ЕЛЕМЕНТІВ ІНТЕГРОВАНОГО ЗАХИСТУ 458.5 KB
  Метою досліджень було уточнення видового складу садових довгоносиків біології та екології яблуневого квіткоїда встановлення динаміки його чисельності та шкідливості у східному Лісостепу України а також удосконалення елементів інтегрованого захисту яблуні у промислових насадженнях для отримання високого врожаю.
65574. ЗАКОНОМІРНОСТІ ТЕПЛО-МАСООБМІННИХ ПРОЦЕСІВ ТА УДОСКОНАЛЕННЯ ГАЗОГЕНЕРАТОРУ ВИРОБНИЦТВА ВОДНЮ З ВОДИ ІЗ ВИКОРИСТАННЯМ СПЛАВІВ 537 KB
  Розширення сфер застосування водню повязують з якісними змінами що відбуваються у даний час в хімічній машинобудівній металургійній промисловості та енергетиці. На даний момент сировиною для отримання водню є вуглеводні.
65575. ВПЛИВ ГЕОДИНАМІЧНИХ ЗОН ВУГЛЕНОСНОЇ ТОВЩІ НА ФОРМУВАННЯ ГЕОЛОГО-ЕКОЛОГІЧНИХ УМОВ ПРИ ЛІКВІДАЦІЇ ШАХТ 1.6 MB
  Разом з тим, при вирішенні такої актуальної проблеми вуглевидобувних регіонів України, як достовірне прогнозування негативних геолого-екологічних явищ і процесів, обумовлених ліквідацією шахт, подібні дослідження не отримали широкого поширення.
65576. ПЕДАГОГІЧНІ УМОВИ ФОРМУВАННЯ ДИДАКТИЧНОЇ КОМПЕТЕНТНОСТІ МАЙБУТНІХ ВИКЛАДАЧІВ ВИЩИХ АГРАРНИХ НАВЧАЛЬНИХ ЗАКЛАДІВ 213.5 KB
  Потреба в удосконаленні дидактичної компетентності власної педагогічної майстерності. Зовнішній чинник: потреба ВНЗ у викладачах з високим рівнем педагогічної майстерності Мета: сформувати дидактичну компетентність майбутніх викладачів аграрних ВНЗ Методологічні підходи...
65577. КОМП’ЮТЕРИЗОВАНА СИСТЕМА КОМЕРЦІЙНОГО ОБЛІКУ ЕЛЕКТРИЧНОЇ ЕНЕРГІЇ ТА ЇЇ МЕТРОЛОГІЧНЕ ЗАБЕЗПЕЧЕННЯ 531 KB
  Зі створенням Оптового Ринку Електричної Енергії що складається з незалежних акціонерних компаній державні електричні компанії та державні акціонерні електричні компанії незалежного регулюючого органу Національна комісія з питань регулювання електроенергетики України...
65578. РЕГІОНАЛЬНІ ОСОБЛИВОСТІ РОЗВИТКУ ТРАНСКОРДОННОГО СПІВРОБІТНИЦТВА 536.5 KB
  Сучасний період світової історії що характеризується новітніми тенденціями євроінтеграції та глобалізації відзначився новим поглядом країн на потреби особливості та потенціал розвитку своїх територій.
65579. СИСТЕМА ПІДТРИМКИ ПРИЙНЯТТЯ РІШЕНЬ ДЛЯ АВТОМАТИЗАЦІЇ ПРОЦЕСУ КЕРУВАННЯ РУХОМ ДИЗЕЛЬ-ПОЇЗДА 297 KB
  Тому розробка з метою автоматизації процесів керування системи підтримки прийняття рішень для машиніста дизельпоїзда вітчизняного виробництва з новим тяговим електроприводом на основі асинхронних двигунів є безсумнівно актуальним завданням що визначає напрямок...
65580. Обгрунтування параметрів землезберігаючих технологій при відкритій розробці розсипних родовищ титанових руд і бурштину 238.5 KB
  Карєри фабрики збагачення і хвостосховища будуються на значній відстані одне від одного що погіршує технікоекономічні показники підприємств. Метою роботи є обґрунтування параметрів землезберігаючих технологій відкритої розробки обводнених розсипних родовищ...
65581. СПІВВІДНОШЕННЯ РОЗСУДКУ І РОЗУМУ: ФІЛОСОФСЬКО-ПЕДАГОГІЧНИЙ КОНТЕКСТ 263 KB
  Чому власне співвідношення розсудку і розуму розглядається як філософсько-педагогічна проблема Наша освіта відчайдушно загрузла у болоті розсудкових форм і не менш розсудкових інноваційних симулякрів бездумних реформувань.