Task

Write a program where the program chooses a number between   1   and   10.

A player is then prompted to enter a guess.   If the player guesses wrong,   then the prompt appears again until the guess is correct.

When the player has made a successful guess the computer will issue a   "Well guessed!"   message,   and the program exits.

A   conditional loop   may be used to repeat the guessing until the user is correct.



Related tasks

   Bulls and cows
   Bulls and cows/Player
   Guess the number/With Feedback
   Mastermind


(defun guess-the-number (max)
  (format t "Try to guess a number from 1 to ~a!~%Guess? " max)
  (loop with num = (1+ (random max))
        for guess = (read)
        as num-guesses from 1
        until (and (numberp guess) (= guess num))
        do (format t "Your guess was wrong.  Try again.~%Guess? ")
           (force-output)
        finally (format t "Well guessed! You took ~a ~:*~[~;try~:;tries~].~%" num-guesses)))
 