📄 play.pas
字号:
unit Play;
interface
uses
Players,
TmpObj,
Blocks,
Figures,
Glitter,
Buffers,
BackGr,
Enemies,
Palettes,
VGA256,
Stars,
Status,
Txt,
Music,
KeyBoard,
Crt;
const
Stat: Boolean = FALSE;
ShowRetrace: Boolean = FALSE;
function PlayWorld (N1, N2: Char; var Map1; var Opt1; var Opt1b;
var Map2; var Opt2; var Opt2b; Player: Byte): Boolean;
implementation
const
CheatsUsed: Integer = 0;
function PlayWorld (N1, N2: Char; var Map1; var Opt1; var Opt1b;
var Map2; var Opt2; var Opt2b; Player: Byte): Boolean;
var
i, j, k, x, y: Integer;
procedure MoveScreen;
var
Scroll: Integer;
N1, N2: Integer;
i, j, OldX, NewX, Page: Integer;
begin
Page := CurrentPage;
Scroll := XView - LastXView [Page];
if not EarthQuake then
SetView (XView, YView)
else
begin
Inc (EarthQuakeCounter);
if EarthQuakeCounter > 0 then
EarthQuake := False;
SetView (XView, YView + Random (2) - Random (2));
end;
if Scroll < 0 then
StartEnemies ((XView div W) - StartEnemiesAt, 1)
else
if Scroll > 0 then
StartEnemies ((XView div W) + NH + StartEnemiesAt, - 1);
With Options do
begin
i := Horizon;
Horizon := i + GetYOffset - YBASE;
DrawBackGr (FALSE);
Horizon := i;
end;
if Scroll > 0 then
for j := LastXView [Page] to XView do
begin
i := j - W - W;
if i >= 0 then
PutPixel (i, 0, 0);
i := W - j mod W - 1;
Redraw (j div W + NH + 1, i);
end;
if Scroll < 0 then
for j := LastXView [Page] downto XView do
begin
i := W - j mod W - 1;
Redraw (j div W - 1, i);
end;
end;
procedure FindPipeExit;
var
i, j: Integer;
begin
for i := 0 to Options.XSize - 1 - 1 do
for j := 0 to NH - 1 do
if (i <> MapX) or (j <> MapY) then
if (WorldMap^ [i, j] in ['
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -