我想知道有没有人能帮我个忙。10天后我有一个学校项目要交,老实说,我不知道我在做什么=/我被期望的是编写一个记忆游戏。我现在遇到的问题是,我必须对玩家玩游戏的时间进行计时,然后在游戏结束时显示他们花了多长时间作为“分数”。我怎么计时?我应该使用什么组件,以及如何根据时间对该组件进行编程?它应该在点击按钮时开始,然后在游戏结束时结束。任何帮助我们都将不胜感激!
发布于 2010-10-14 16:01:42
为什么不在他开始游戏时将当前时间保存在一个变量中,并在他结束时再次保存时间?
您可以通过Now指令获取它。
var time: TDateTime;
begin
time := now;
ShowMessage(DateTimeToStr(time));
end;您将在系统中看到当前时间。
发布于 2010-10-14 16:30:39
您将需要
1.-在你的表格中,
添加一个计时器,并将其Enabled属性设置为False.
startTime来记录用户开始游戏的时间。结果应该是这样的……
type
TForm1 = class(TForm)
...
Label1: TLabel;
Timer1: TTimer;
...
private
startTime:TDateTime;
....2.-在开始按钮的单击事件中,初始化startTime属性并启动计时器的代码。
procedure TForm1.Button1Click(Sender: TObject);
begin
startTime:=Now;
Timer1.Enabled:=True;
....
end;3.-在计时器的计时器事件中,显示计时的一些代码
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Label1.Caption:=TimeToStr(Now-startTime);
....
end;4.-在点击finish按钮时,或者当程序认为游戏结束时,一些停止计时器的代码。
procedure TForm1.Button2Click(Sender: TObject);
begin
Timer1.Enabled:=False;
Label1.Caption:=TimeToStr(now-startTime);
....
end; 发布于 2010-10-14 18:09:40
爸爸的回答似乎就是你所需要的。因为如果我理解得很好,并且这是您第一次使用delphi,我只会补充一句:
Now是在SysUtils中定义的函数,它返回当前date&timehttp://i.stack.imgur.com/0iNsL.png (对不起,不能内联图片,因为我还没有必要的名气)
从现在开始,你可以很容易地完成你的申请
祝你好运,G
https://stackoverflow.com/questions/3924778
复制相似问题