| Zitat: |
| unit PacmanSteuerung;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, ComCtrls, StdCtrls, Math; type Elemente = Array [0..19, 0..19] of TImage; TForm1 = class(TForm) Timer1: TTimer; Image1: TImage; Panel1: TPanel; Memo1: TMemo; Memo2: TMemo; Label1: TLabel; Timer2: TTimer; procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure Timer1Timer(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Timer2Timer(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1 : TForm1; Animation : Integer = 1; Bewegung : Integer = 1; BilderElemente : Elemente; Bild : TImage; Richtung : Char = 'R'; implementation {$R *.dfm} procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if key = vk_left then begin if (Timer2.Enabled = False) then begin Timer2.Enabled := True; Richtung:= 'L'; end; end; if key = vk_right then begin if (Timer2.Enabled = False) then begin if (BilderElemente[(Image1.Left + Image1.Width) div 20, Image1.Height div 20].Enabled = True) then showmessage('h3h3'); Timer2.Enabled := True; Richtung:= 'R'; end; end; if key = vk_down then begin if (Timer2.Enabled = False) then begin Timer2.Enabled := True; Richtung:= 'U'; end; end; if key = vk_up then begin if (Timer2.Enabled = False) then begin Timer2.Enabled := True; Richtung:= 'O'; end; end; end; procedure TForm1.Timer1Timer(Sender: TObject); begin case Animation of 1 : image1.Picture.LoadFromFile('pac2' + Richtung + '.bmp'); 2 : image1.Picture.LoadFromFile('pac3' + Richtung + '.bmp'); 3 : image1.Picture.LoadFromFile('pac4' + Richtung + '.bmp'); 4 : image1.Picture.LoadFromFile('pac1' + Richtung + '.bmp'); end; inc(Animation); if Animation>=5 then dec(Animation,4); end; procedure TForm1.FormCreate(Sender: TObject); var x, y, Zeile : Integer; Level: TStringList; LevelReal: String; begin Level:= TStringList.Create; Level.LoadFromFile('Z:\Informatik\Pacman\Level 1.txt'); Zeile:= 0; for x:= 0 to 19 do begin for y:= 0 to 19 do begin BilderElemente[x,y]:= TImage.Create(Self); LevelReal:= Level.Strings[Zeile]; if (LevelReal[1] = 'M') then BilderElemente[x, y].Enabled := True; Inc(Zeile); BilderElemente[x,y].Picture.LoadFromFile(LevelReal); BilderElemente[x,y].transparent:=true; BilderElemente[x,y].enabled:=False; with BilderElemente[x,y] do begin Parent:= Self; SetBounds(x * 20, y * 20, 20, 20); end; end; end; end; procedure TForm1.Timer2Timer(Sender: TObject); begin case Richtung of 'L' : Image1.left := Image1.Left - 5; 'R' : Image1.left := Image1.Left + 5; 'O' : Image1.Top := Image1.Top - 5; 'U' : Image1.Top := Image1.Top + 5; end; Inc(Bewegung); if (Bewegung >= 5) then begin Dec(Bewegung, 4); Timer2.Enabled := False; end; end; end. |
| Zitat: |
| if (LevelReal[1] = 'M') then BilderElemente[x, y].Enabled := True; |
| Zitat: |
| if (BilderElemente[(Image1.Left + Image1.Width) div 20, Image1.Height div 20].Enabled = True) then showmessage('h3h3'); |
1: | procedure TForm1.FormCreate(Sender: TObject); |
1: | LevelReal:= Level.Strings[Zeile]; |
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!