Skip to content

Instantly share code, notes, and snippets.

@delve
delve / ash.lisp
Created October 8, 2012 13:02
Land of Lisp Chapter 2 samples Part 1
(ash {value} {int})
@delve
delve / defun_syntax.lisp
Created October 8, 2012 13:57
Land of Lisp Chapter 2 samples Part 2
(defun keyword {list of keywords} {list})
@delve
delve / cadr_exploded.lisp
Created October 8, 2012 14:10
Land of Lisp Chapter 3 samples
(car (cdr '{target list}))
@delve
delve / and_side_effects.lisp
Created October 8, 2012 14:28
Land of Lisp Chapter 4 samples
(and *file-modified* (ask-user-about-saving) (save-file))
@delve
delve / assoc_syntax.lisp
Created October 8, 2012 14:46
Land of Lisp Chapter 5 samples
(assoc {key} {assoc-list})
returns: ({key} {value-list})
@delve
delve / div2.lisp
Created October 8, 2012 18:46
Land of Lisp Chapter 6.5 samples
(defun div2 (n) (/ n 2))
(mapcar #'div2 '(2 4 6))
@delve
delve / allowed_commands.lisp
Created October 8, 2012 18:56
Land of Lisp Chapter 6 samples
(defparameter *allowed-commands* '(look walk pickup inventory get))
@delve
delve / complement_syntax.lisp
Created October 8, 2012 22:24
Land of Lisp Chapter 7 samples
(complement #'alphanumericp)
@delve
delve / create_edges.lisp
Created October 8, 2012 23:45
Land of Lisp Chapter 8 samples Part 1
(defun make-city-edges ()
(let* ((nodes (loop for i from 1 to *node-num*
collect i))
(edge-list (connect-all-islands nodes (make-edge-list)))
(cops (remove-if-not (lambda (x)
(declare (ignore x)) ;I added this to get rid of a compile warning ^.^
(zerop (random *cop-odds*)))
edge-list)))
(add-cops (edges-to-alist edge-list) cops)))
@delve
delve / draw-known-city.lisp
Created October 13, 2012 18:41
Land of Lisp Chapter 8 samples Part 2
(defun known-city-nodes ()
(mapcar (lambda (node)
(if (member node *visited-nodes*)
(let ((n (assoc node *congestion-city-nodes*)))
(if (eql node *player-pos*)
(append n '(*))
n))
(list node '?)))
(remove-duplicates (append *visited-nodes*
(mapcan (lambda (node)