
05.05.2014, 23:02
|
 |
Новичок
|
|
Регистрация: 17.04.2014
Сообщения: 60
Версия Delphi: Delphi 7
Репутация: 5
|
|
кому лень скачивать вот код всего проекта:
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, Buttons,JPEG;
type
TForm1 = class(TForm)
Timer1: TTimer;
SpeedButton1: TSpeedButton;
Image1: TImage;
Image2: TImage;
Panel1: TPanel;
Timer2: TTimer;
procedure Timer1Timer(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
Mas:array[0..19,0..19,0..1] of Integer;
zemlya:array[0..4] of TBitmap;
obekti:array[0..4] of TBitmap;
x,y,i,j,k,n,nom : Integer;
Buf: TBitmap;
put0,put1,put2,put3,put4: String;
key: Char;
implementation
{$R *.dfm}
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Image1.BringToFront;
Image2.BringToFront;
Panel1.BringToFront;
Buf := TBitmap.Create;
Buf.Width := 64 * 64;
Buf.Height := 64 * 64;
for i:=0 to 19 do
for j:=0 to 19 do
Buf.Canvas.Draw(i*64,j*64, zemlya[ Mas[I,j,0] ] );
for i:=0 to 19 do
for j:=0 to 19 do
Buf.Canvas.Draw(i*64,j*64, obekti[ Mas[I,j,1] ] );
Form1.Canvas.Draw(0,0,Buf);
Buf.Free;
end;
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
Timer1.Enabled:=True;
Randomize;
for i:=0 to 19 do
for j:=0 to 19 do
for k:=0 to 1 do
Mas[i,j,k]:=random(5);
Image1.BringToFront;
for i:=0 to 4 do
begin
zemlya[i]:=TBitmap.Create;
zemlya[i].Width:=64;
zemlya[i].Height:=64;
zemlya[i].LoadFromFile('E:\MMM\image\zemlya\'+inttostr(i)+'.bmp');
nom:=i;
end;
for i:=0 to 4 do
begin
obekti[i]:=TBitmap.Create;
obekti[i].Width:=64;
obekti[i].Height:=64;
obekti[i].Transparent:=true;
obekti[i].LoadFromFile('E:\MMM\image\obekti\'+inttostr(i)+'.bmp');
end;
if nom=0 then
begin
begin
obekti[0].LoadFromFile('E:\MMM\image\obekti\0.bmp');
obekti[2].LoadFromFile('E:\MMM\image\obekti\0.bmp');
obekti[3].LoadFromFile('E:\MMM\image\obekti\0.bmp');
obekti[4].LoadFromFile('E:\MMM\image\obekti\0.bmp');
obekti[1].LoadFromFile('E:\MMM\image\obekti\0.bmp');
end;
Image1.BringToFront;
end;
{ put0:=ExtractFilePath('E:\MMM\image\obekti\0.bmp');
put1:=ExtractFilePath('E:\MMM\image\obekti\1.bmp');
put2:=ExtractFilePath('E:\MMM\image\obekti\2.bmp');
put3:=ExtractFilePath('E:\MMM\image\obekti\3.bmp');
put4:=ExtractFilePath('E:\MMM\image\obekti\4.bmp');
if zemlya[i]=(put0) then
begin
end; }
{if zemlya[i]= then
begin
for i:=0 to 4 do
begin
obekti[i]:='0.bmp';
end;
end; }
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Buf.Free;
end;
procedure TForm1.FormShow(Sender: TObject);
begin
Image1.BringToFront;
Image2.BringToFront;
Panel1.BringToFront;
end;
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=VK_RIGHT then
Image2.Left:=Image2.Left+10;
if Key=VK_LEFT then
Image2.Left:=Image2.Left-10;
if Key=VK_UP then
Image2.Top:=Image2.Top-10;
if Key=VK_DOWN then
Image2.Top:=Image2.Top+10;
end;
end.
|