delphi igrica

Vse kar se tiče programiranja iger.
Odgovori
humma4
Prispevkov: 3
Pridružen: 05.06.2009 14:50:23

delphi igrica

Odgovor Napisal/-a humma4 » 08.06.2009 15:45:18

A mi lahko prosim pomagate kako naditi da ko začneš igrico ti začne teči čas in ko pritisneš pavzo se mora čas ustaviti. Ko pa hocemo naprej spilati pa mora cas steti naprej.
Pavzo sem že naredil zdaj moram samo še čas
plz help plz plz plz
:D

unit premik;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, StdCtrls, ComCtrls, MPlayer;

type
TForm1 = class(TForm)
PaintBox1: TPaintBox;
cas: TTimer;
Label1: TLabel;
Label2: TLabel;
Button1: TButton;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
procedure PaintBox1Paint(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure FormActivate(Sender: TObject);
procedure casTimer(Sender: TObject);
procedure Button1Click(Sender: TObject);

private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
x,Y_ball,X_ball,Score:integer;
Pause: boolean = false;

implementation

{$R *.DFM}

procedure TForm1.PaintBox1Paint(Sender: TObject);
begin
with PaintBox1.Canvas do
begin
Pen.Color:=clRed;
Pen.Width:=4;
MoveTo(PaintBox1.width div 2, PaintBox1.height-20);
LineTo(PaintBox1.width div 2+20, PaintBox1.height-20);
end;
end;

procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
with PaintBox1.Canvas do
begin
if Key='6' then
begin
if x< PaintBox1.Width-20 then x:=x+12;
Pen.Color:=clRed;
MoveTo(x, PaintBox1.height-20);
LineTo(x+20, PaintBox1.height-20);
Pen.Color:=clWhite;
MoveTo(x-12, PaintBox1.height-20);
LineTo(x, PaintBox1.height-20);
end;
if Key='4' then
begin
if x> 5 then x:=x-12;
Pen.Color:=clRed;
Pen.Width:=4;
MoveTo(x, PaintBox1.height-20);
LineTo(x+20, PaintBox1.height-20);
Pen.Color:=clWhite;
MoveTo(x+25, PaintBox1.height-20);
LineTo(x+50, PaintBox1.height-20);
end;
end;
end;

procedure TForm1.FormActivate(Sender: TObject);
begin
x:=PaintBox1.width div 2;
end;

procedure TForm1.casTimer(Sender: TObject);
begin

if Pause then exit;
PaintBox1.Canvas.TextOut(X_ball,Y_ball,' ');
if Y_ball=PaintBox1.Height-20 then
begin
if (X_ball>x-20)and(X_ball<x+20) then
begin
Score:=Score +5;
Label2.Caption:=InttoStr(Score);
end
else begin
end;
Y_ball:=0;
X_ball:=Random(PaintBox1.width);
end
else Y_ball:=Y_ball+10;

PaintBox1.Canvas.TextOut(X_ball,Y_ball,'O');
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Pause := not Pause;
end;

end.

:D

5r
Prispevkov: 131
Pridružen: 14.01.2003 11:14:38

delphi igrica

Odgovor Napisal/-a 5r » 09.06.2009 23:06:47

Čas:
GetTime()...
Zadnjič spremenil 5r, dne 09.06.2009 23:07:53, skupaj popravljeno 1 krat.

humma4
Prispevkov: 3
Pridružen: 05.06.2009 14:50:23

delphi igrica

Odgovor Napisal/-a humma4 » 10.06.2009 14:26:30

Čas:
GetTime()... kako to ne rzumem?
lahko mi to bolj razložite prosim.
lp

5r
Prispevkov: 131
Pridružen: 14.01.2003 11:14:38

delphi igrica

Odgovor Napisal/-a 5r » 10.06.2009 14:31:31

Če sem nesramen: Podrobna razlaga ukaza GetTime() je v helpu.

Če sem bolj prijazen:
Se boš moral malo potruditi.

Za začetek lahko napišeš tvoje razmišljanje kako bi izpisoval pretečen čas igre.

Odgovori