src/caves/utils.clj @ f5fdc662f11f

Refactor the drawing code a bit.
author Steve Losh <steve@stevelosh.com>
date Fri, 13 Jul 2012 23:34:53 -0400
parents (none)
children d8b58bf5f166
(ns caves.utils)


(defn map2d
  "Map a function across a two-dimensional sequence."
  [f s]
  (map (partial map f) s))

(defn slice
  "Slice a sequence."
  [s start width]
  (->> s
    (drop start)
    (take width)))

(defn shear
  "Shear a two-dimensional sequence, returning a smaller one."
  [s x y w h]
  (map #(slice % x w)
       (slice s y h)))