Function: mpuz-close-game

mpuz-close-game is a byte-compiled function defined in mpuz.el.gz.

Signature

(mpuz-close-game)

Documentation

Housecleaning when puzzle has been solved.

Source Code

;; Defined in /usr/src/emacs/lisp/play/mpuz.el.gz
(defun mpuz-close-game ()
  "Housecleaning when puzzle has been solved."
  (setq mpuz-in-progress nil
	mpuz-nb-cumulated-errors (+ mpuz-nb-cumulated-errors mpuz-nb-errors)
	mpuz-nb-completed-games (1+ mpuz-nb-completed-games))
  (mpuz-paint-statistics)
  (let ((message (format "Puzzle solved with %d error%s. That's %s"
			 mpuz-nb-errors
			 (if (= mpuz-nb-errors 1) "" "s")
			 (cond ((= mpuz-nb-errors 0)	"perfect!")
			       ((= mpuz-nb-errors 1)	"very good!")
			       ((= mpuz-nb-errors 2)	"good.")
			       ((= mpuz-nb-errors 3)	"not bad.")
			       ((= mpuz-nb-errors 4)	"not too bad...")
			       ((< mpuz-nb-errors 10)	"bad!")
			       ((< mpuz-nb-errors 15)	"awful.")
			       (t			"not serious.")))))
    (message "%s" message)
    (sit-for 4)
    (if (y-or-n-p (concat message "  Start a new game? "))
	(mpuz-start-new-game)
      (message "Good Bye!"))))