113 lines
2.2 KiB
ObjectPascal
113 lines
2.2 KiB
ObjectPascal
|
|
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.
|