1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101:
| unit ULevel1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, UAuto, UCar, ExtCtrls, UBall;
type TFLevel1 = class(TForm) Fahren: TTimer; warten: TTimer; procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure FormActivate(Sender: TObject); procedure FormKeyPress(Sender: TObject; var Key: Char); procedure FahrenTimer(Sender: TObject); procedure wartenTimer(Sender: TObject); private public zwarte:integer; procedure ballerstellen(x,y:integer;nummer:byte); procedure frei(nummer:byte); end;
var FLevel1: TFLevel1; Ball : array [1..20] of TBall; Auto: TCar; implementation
{$R *.dfm}
procedure TFLevel1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin
end;
procedure TFLevel1.FormActivate(Sender: TObject); var i,j:integer; ballnummer:byte; begin FLevel1.Left:=0; FLevel1.Top:=0; FLevel1.Width:=Screen.WorkAreaWidth; FLevel1.Height:=Screen.WorkAreaHeight; Auto:= TCar.create(Self); Auto.Top:=clientheight div 2; Auto.left:=clientwidth div 2; Fahren.Enabled:=true; ballnummer:=1;
for i:=1 to 10 do ballerstellen(500*20,200,ballnummer+1);
end;
procedure TFLevel1.FormKeyPress(Sender: TObject; var Key: Char); begin if Auto<>nil then Auto.setRichtung(Key); If Key = 'q' then close; end;
procedure TFLevel1.FahrenTimer(Sender: TObject); begin warten.Enabled:=false; case auto.getrichtung of 'w' : auto.Top:=auto.Top-4; 'a' : auto.left:=auto.left-4; 's' : auto.Top:=auto.Top+4; 'd' : auto.left:=auto.left+4; end; if Ball[1] <> nil then Ball[1].setAutoPos(Auto.Left,auto.Top); end;
procedure TFLevel1.ballerstellen(x, y : integer;nummer:byte); begin Ball[nummer] := TBall.create(self,auto, 500, 200,nummer); Ball[nummer].Left:=500; Ball[nummer].Top:=200; end;
procedure TFLevel1.frei(nummer:byte); begin Ball[nummer]:=nil; end;
procedure TFLevel1.wartenTimer(Sender: TObject);
begin zwarte:=zwarte+1; if zwarte = 2 then fahren.Enabled:=true; end;
end. |