From 3f66cfe43acf71a9fa3a77cf4d5c9849c373a8df Mon Sep 17 00:00:00 2001 From: Xevion Date: Fri, 21 Feb 2020 01:32:29 -0600 Subject: [PATCH] temporary rename of games dir --- Games/GAMES.MD | 13 ------- Games/GuessMyNumber/GuessMyNumber.MD | 11 ------ Games/GuessMyNumber/GuessMyNumber.lisp | 47 -------------------------- 3 files changed, 71 deletions(-) delete mode 100644 Games/GAMES.MD delete mode 100644 Games/GuessMyNumber/GuessMyNumber.MD delete mode 100644 Games/GuessMyNumber/GuessMyNumber.lisp diff --git a/Games/GAMES.MD b/Games/GAMES.MD deleted file mode 100644 index de0efc6..0000000 --- a/Games/GAMES.MD +++ /dev/null @@ -1,13 +0,0 @@ -# games - -## About - -A list of games completed as I read the book 'Land of Lisp'. - -## Games List - -#### GuessMyNumber - -[source](./GuessMyNumber/GuessMyNumber.lisp) | [explanation](./GuessMyNumber/GuessMyNumber.MD) - -A simple game where the player guesses a number, and the program continuously returns guesses as the player indicates if said guesses are smaller, lower, or equal to the guess given. \ No newline at end of file diff --git a/Games/GuessMyNumber/GuessMyNumber.MD b/Games/GuessMyNumber/GuessMyNumber.MD deleted file mode 100644 index 6ff4ab7..0000000 --- a/Games/GuessMyNumber/GuessMyNumber.MD +++ /dev/null @@ -1,11 +0,0 @@ -# GuessMyNumber - -For my first problem, I decided to go beyond the book and create a prompting game. - -Reading from IO is much different, and much harder to understand what's actually happening. - -I copied the `prompt` function from [`Prompt.lisp`](../../scripts/Prompt.lisp), which I acquired from **StackOverflow**. - -I'm honestly having trouble understanding booleans, why hyphens are used, why capitalization is considered horrible, why `car` and `cdr` are used, why they're being introduced instead of some kind of *nth index list access*, among so many other strange concepts that the book introduced. - -Additionally, I'm not sure why the REPL is so emphasized whenever long term programming is done with files, why tiny functions are emphasized with `flet`, and why none of this is explained whenever most people will be coming from a background with `non-lisp`, `C-like` experience, i.e. Java, Python, C++ or Javascript. \ No newline at end of file diff --git a/Games/GuessMyNumber/GuessMyNumber.lisp b/Games/GuessMyNumber/GuessMyNumber.lisp deleted file mode 100644 index e934c45..0000000 --- a/Games/GuessMyNumber/GuessMyNumber.lisp +++ /dev/null @@ -1,47 +0,0 @@ -(defparameter *small* 1) -(defparameter *big* 100) - - -(defun start-over () - (defparameter *small* 1) - (defparameter *big* 100) - (guess-my-number) -) - -(defun smaller() - (setf *small* (1- (guess-my-number))) - (print (guess-my-number)) -) - -(defun bigger() - (setf *big* (1+ (guess-my-number))) - (print (guess-my-number)) -) - -(defun guess-my-number () - (ash (+ *small* *big*) -1) -) - -(defun game-loop () - (flet ((prompt (string) - (format "~A " string) - (finish-output) - (read nil 'eof nil))) - (fresh-line) - (let - ((last "?")) - (loop while (not (equal last "=")) - - do (setf last (prompt (format t "Is '~A' Smaller (<) or Larger (>)?" (guess-my-number)))) - (cond - ((string= last "<") (smaller)) - ((string= last ">") (bigger)) - ((string= last "=") (start-over)) - (t (print "Invalid Input") (print last) (fresh-line)) - ) - 'DONE)) - ) -) - -(print (equal "+" "+")) -(game-loop) \ No newline at end of file