Safe-ish, working system. Re-implemented move() func. Trails are created by act() method.

Override abstract int move() function.
act() method is final, can be called (bad?).
Game does run. Trails are created.