unit hamster_m; interface uses arena_m, creature_m, trace_m; const HamsterStartX = 5; HamsterStartY = 1; HamsterStartDX = 0; HamsterStartDY = 0; HamsterMovespeed = 2; HamsterSymbol = 'h'; procedure InitHamster(var cr: creature); procedure KillHamster(var h: creature; var t: tracePtr; var a: arena); implementation uses arena_graphics_m, graphics_m; procedure InitHamster(var cr: creature); begin cr.t := creatureHamster; cr.curX := HamsterStartX; cr.curY := HamsterStartY; cr.dX := HamsterStartDX; cr.dY := HamsterStartDY; cr.moveSpeed := HamsterMovespeed; cr.alive := true; end; procedure KillHamster(var h: creature; var t: tracePtr; var a: arena); var traceStart: tracePtr; begin RedrawArea(a, h.curX, h.curY, h.t); EraseTrace(t, a); DrawArenaCell(h.curX, h.curY, a); GetStart(traceStart, t); h.curX := traceStart^.x; h.curY := traceStart^.y; h.dX := HamsterStartDX; h.dY := HamsterStartDY; DeleteTrace(t); DrawCreature(h) end; end.