⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 status.pas

📁 dos下经典游戏超级马力的完整源代码
💻 PAS
字号:
unit Status;

interface

  uses
    Buffers,
    Txt,
    VGA256;

  procedure InitStatus;
  procedure ShowStatus;
  procedure HideStatus;

implementation

  var
    BackGrAddr: array[0..MAX_PAGE] of Integer;

  procedure InitStatus;
  begin
    FillChar (BackGrAddr, SizeOf (BackGrAddr), #0);
  end;

  procedure ShowStatus;
  const
    HEIGHT = 6;
  var
    S: String;
    i: Integer;
  begin
    BackGrAddr[CurrentPage] := PushBackGr (XView, HEIGHT, SCREEN_WIDTH, 9);
    SetFont (0, Bold);
    WriteText (XView + 10 + 4, HEIGHT, PlayerName[Player], 31);
    i := Data.Lives[Player];
    if i > 99 then
      i := 99;
    Str (i: 2, S);
    WriteText (XView + 54 + 4, HEIGHT, S, 31);

    Str (LevelScore: 9, S);
    for i := 3 to Length (S) do
      if S[i] = ' ' then
        S[i] := '0';
    WriteText (XView + 84 + 6, HEIGHT, S, 31);

    WriteText (XView + 140 + 40 + 10, HEIGHT, #9, 13);
    WriteText (XView + 140 + 40 + 10, HEIGHT, #7, 14);
    Str (Data.Coins[Player]: 2, S);
    WriteText (XView + 158 + 40 + 10, HEIGHT, S, 31);

  {  WriteText (XView + 242, HEIGHT, 'WORLD ' + WorldNumber, 31); }
    WriteText (XView + 258, HEIGHT, 'LEVEL ' + WorldNumber[3], 31);

    SetFont (0, 0);
    WriteText (XView + 46 + 4, HEIGHT, 'x', 31);
    WriteText (XView + 150 + 40 + 10, HEIGHT, 'x', 31);
  end;

  procedure HideStatus;
  var
    Page: Integer;
  begin
    Page := CurrentPage;
    if BackGrAddr[Page] <> 0 then
      PopBackGr (BackGrAddr[Page]);
    BackGrAddr[Page] := 0;
  end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -