gh/debug_m.pas

113 lines
2.2 KiB
ObjectPascal
Raw Normal View History

2026-01-10 07:09:22 +00:00
unit debug_m;
interface
uses arena_m, cell_m, creature_m;
procedure Debug;
procedure DebugCell(cell: cellItemPtr);
procedure Print(var m: arenaMatrix);
procedure PrintCallTime(s: string; y: integer);
procedure PrintCreatureDebug(var cr: creature);
procedure PrintEnemies(var lst: creatureList);
implementation
uses crt;
const
DebugMsg = '===============DEBUG===============';
DebugPrintY = 10;
DebugPrintX = 10;
var
DebugTmp: integer = 2;
procedure Debug;
begin
GotoXY(2, DebugTmp);
writeln(DebugMsg);
DebugTmp := DebugTmp + 1
end;
procedure DebugCell(cell: cellItemPtr);
begin
GotoXY(2, DebugTmp);
writeln('Cur X: ', cell^.x, ' Cur Y: ', cell^.y);
DebugTmp := DebugTmp + 1
end;
procedure Print(var m: arenaMatrix);
var
i, j: integer;
begin
for i := 1 to ArenaH do
begin
for j := 1 to ArenaW do
if m[i][j] then
write(1, ' ')
else
write(0, ' ');
writeln
end;
GotoXY(1, 1)
end;
procedure PrintCreatureDebug(var cr: creature);
var
i: integer;
begin
GotoXY(2, 2);
for i := 1 to 20 do
write(' ');
GotoXY(2, 2);
writeln(cr.curX, ' ', cr.curY, ' ', cr.dX, ' ', cr.dY)
end;
function EnemyToString(cr: creaturePtr): string;
begin
case cr^.t of
creatureHamster:
EnemyToString := 'Hamster';
creatureGhost:
EnemyToString := 'Ghost';
creatureSun:
EnemyToString := 'Sun';
creatureSnake:
EnemyToString := 'Snake';
creatureDrop:
EnemyToString := 'Drop'
end
end;
procedure PrintEnemies(var lst: creatureList);
var
y: integer = DebugPrintY;
tmp: creatureItemPtr;
s: string;
begin
tmp := lst.first;
while tmp <> nil do
begin
GotoXY(DebugPrintX, y);
s := EnemyToString(tmp^.cr);
write(s, ', Y: ', tmp^.cr^.curY, ', X: ', tmp^.cr^.curX);
tmp := tmp^.next;
y := y + 1
end
end;
var
callCnt: integer = 0;
procedure PrintCallTime(s: string; y: integer);
begin
GotoXY(10, 80 + y);
writeln(callCnt, ' GameCutPart');
callCnt := callCnt + 1;
GotoXY(1, 1)
end;
end.