gh-scrum/src/hamster_m.pas

51 lines
1.1 KiB
ObjectPascal
Raw Normal View History

2026-02-28 10:57:08 +00:00
unit hamster_m;
interface
2026-02-28 11:14:58 +00:00
uses arena_graphics_m, arena_m, creature_m, trace_m;
2026-02-28 10:57:08 +00:00
const
HamsterStartX = 5;
HamsterStartY = 1;
HamsterStartDX = 0;
HamsterStartDY = 0;
2026-02-28 11:14:58 +00:00
HamsterMovespeed = 2;
2026-02-28 10:57:08 +00:00
HamsterSymbol = 'h';
procedure InitHamster(var h: creature);
2026-02-28 11:14:58 +00:00
procedure KillHamster(var h: creature; var t: tracePtr; var a: arena);
2026-02-28 10:57:08 +00:00
implementation
2026-02-28 11:14:58 +00:00
uses graphics_m;
2026-02-28 10:57:08 +00:00
procedure InitHamster(var h: creature);
begin
InitCreature(h, HamsterStartX, HamsterStartY,
2026-02-28 11:14:58 +00:00
HamsterMovespeed, HamsterSymbol);
h.dX := HamsterStartDX;
h.dY := HamsterStartDY
end;
procedure KillHamster(var h: creature; var t: tracePtr; var a: arena);
var
traceStart: tracePtr;
begin
DrawArenaCell(h.curX, h.curY, ArenaSymbol);
EraseTrace(t, a);
if IsOnEdge(h) then
DrawEdge(h.curX, h.curY, a)
else
if a.borders[h.curX][h.curY] then
DrawArenaCell(h.curX, h.curY, BorderSymbol);
GetStart(traceStart, t);
h.curX := traceStart^.x;
h.curY := traceStart^.y;
h.dX := HamsterStartDX;
h.dY := HamsterStartDY;
DeleteTrace(t);
DrawCreature(h)
2026-02-28 10:57:08 +00:00
end;
end.