如何在Delphi中发生一次事件?

时间:2015-02-24 20:30:45

标签: delphi if-statement pascal

我是初学程序员,我正在尝试使用Delphi Pascal语言制作基于文本的RPG游戏(如Zork)。 我做了一个活动,其中主角打开胸部并找到一些物品:

begin
  text1.text := 'You see a chest. It is unlocked.';
       end;
  if edit1.Text = 'Open Chest' then
  text1.Text := 'You found 50 Gold Pieces, a Short Sword, a Cloth Armor and a Satchel Bag.';
end;

但我想以这样的方式做到这一点:每当有人在第一次打开胸部后,胸部就会变空,因为玩家已经拿走了这些物品。 换句话说,当有人第二次在TEdit中键入“Open Chest”时,它会说“它是空的”。

但是怎么样?

1 个答案:

答案 0 :(得分:4)

你必须使用额外的变量来告诉你胸部是否已被打开。

var
  ChestOpened: boolean;

// initialize at beginning
ChestOpened := false;

...

if Edit1.text = 'Open Chest' then
begin
  if ChestOpened then
    Text1.Text := 'Chest is empty'
  else
  begin
    ChestOpened := true;
    Text1.Text := 'You found 50 Gold Pieces, a Short Sword, a Cloth Armor and a Satchel Bag.'
  end;
end;