unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, RobotUnit, RobotGroupUnit, HraUnit, ExtCtrls; type TForm1 = class(TForm) Image1: TImage; Timer1: TTimer; procedure FormCreate(Sender: TObject); procedure Timer1Timer(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} var h : THra; procedure TForm1.FormCreate(Sender: TObject); begin cs; DoubleBuffered := True; Image1.Width := 640; Image1.Height := 480; h := THra.Create(Image1.Canvas); h.Free; end; procedure TForm1.Timer1Timer(Sender: TObject); begin h.tik; end; end. ------------------------------- unit HraUnit; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; type TMusla = class x, y, faza, typ, pocet: Integer; bmp: array [0..2, 0..19] of TBitmap; constructor Create(xx, yy, tt: Integer); procedure kresli(c: TCanvas); end; TKorytnacka = class x, y, smer, faza: Integer; bmp: array [0..1, 0..9] of TBitmap; constructor Create(xx, yy: Integer); procedure kresli(c: TCanvas); function vzd(xx, yy: Integer): Integer; end; TVotrelec = class x, y, dx, dy, smer, faza, pocet: Integer; bmp: array [0..1, 0..9] of TBitmap; constructor Create(xx, yy: Integer); procedure kresli(c: TCanvas); end; THra = class private c: TCanvas; bmp: TBitmap; korytnacka: TKorytnacka; musle: array of TMusla; votrelci: array of TVotrelec; public constructor Create(cc: TCanvas); procedure tik; procedure klaves(Key: Word); end; implementation /////////////////////// TMusla ////////////////////// constructor TMusla.Create(xx, yy, tt: Integer); begin x := xx; y := yy; end; procedure TMusla.kresli(c: TCanvas); begin end; /////////////////////// TKorytnacka ////////////////////// constructor TKorytnacka.Create(xx, yy: Integer); begin end; procedure TKorytnacka.kresli(c: TCanvas); begin end; function TKorytnacka.vzd(xx, yy: Integer): Integer; begin end; /////////////////////// TVotrelec ////////////////////// constructor TVotrelec.Create(xx, yy: Integer); begin end; procedure TVotrelec.kresli(c: TCanvas); begin end; /////////////////////// THra ////////////////////// constructor THra.Create(cc: TCanvas); var b: TBitmap; f: textfile; i: integer; pocet,x,y,typ: integer; begin c := cc; bmp := TBitmap.Create; b := TBitmap.Create; b.LoadFromFile('akvarium.bmp'); c.Draw(0,0,b); assignfile (f,'pozicie.txt'); Reset(f); readln(f,pocet); setlength(musle,length(musle)+pocet); for i:= 1 to pocet do begin read(f,x); read(f,y); readln(f,typ); musle[i]:=TMusla.Create(x,y,typ); end; readln(f,pocet); setlength(votrelci,length(votrelci)+pocet); for i:= 1 to pocet do begin read(f,x); readln(f,y); votrelci[i]:=TVotrelec.Create(x,y); end; b.Free; end; procedure THra.tik; begin end; procedure THra.klaves(Key: Word); begin end; end.