anchor.diff:  (defvar +secret-key+ nil)
   (defvar +server-url+ "http://vindinium.org")
   
  -(defvar +training-url+ (format nil "~a/api/training" +server-url+))
  -(defvar +arena-url+ (format nil "~a/api/arena" +server-url+))
  -
   ;; internal command symbol -> server formatted command
   (defvar +command-map+
     '((stay . "Stay")
  
positive.code: 	  (cons (subseq seq 0 n)
  			(split-seq-n (subseq seq n) n))))
  
  (defun board-tiles (game)
    "Return board tiles string from game object."
    (jsown:val (jsown:val (jsown:val game "game") "board") "tiles"))
  
  (defun board-size (game)
    "Return board size from game object."
    (jsown:val (jsown:val (jsown:val game "game") "board") "size"))
  
  (defun make-board-map (game)
    "Create a 2d array of the tiles string from game object."
  
negative.code: 		   when (cl-ppcre:scan (car x) tile-string)
  		   collect x)))
  
  (defun tile-at (board-map x y &key raw)
    "From a board map, lookup tile at given coords and return parsed tile symbol."
    (if (array-in-bounds-p board-map y x)
  	  (let ((tile-string (aref board-map y x)))
  		(if raw
  			tile-string
  			(parse-tile tile-string)))))
  
  ;; NOTE: x and y swap places
  (defun my-location (game)
    "Get your hero's current location."
    (let ((position (get-in game "hero" "pos")))
  	(list (jsown:val position "y") (jsown:val position "x"))))
  
  ;;; bot
  