Created
November 2, 2015 09:05
-
-
Save renanreismartins/2ce9c2d58945d7d98733 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(defn letras-faltantes [palavra acertos] | |
(remove (fn [letra] | |
(contains? acertos (str letra))) palavra)) | |
(defn acertou-a-palavra-toda? [palavra acertos] | |
(empty? (letras-faltantes palavra acertos))) | |
(defn le-letra! [] (read-line)) | |
(defn acertou-chute? [letra palavra] | |
(.contains palavra letra)) | |
(defn imprime-forca [vidas palavra acertos] | |
(println "Vidas: " vidas) | |
(doseq [letra (seq palavra)] | |
(if (contains? acertos (str letra)) | |
(print letra " ") | |
(print "_" " "))) | |
(println)) | |
(defn jogo [vidas palavra acertos] | |
(imprime-forca vidas palavra acertos) | |
(cond | |
(= vidas 0) (print "perdeu...") | |
(acertou-a-palavra-toda? palavra acertos) (ganhou) | |
:else | |
(let [letra (le-letra!)] | |
(if (acertou-chute? letra palavra) | |
(do | |
(println "Acertou a letra!") | |
(recur vidas palavra (conj acertos letra))) | |
(do | |
(println "Errou a letra! Perdeu vida!") | |
(recur (dec vidas) palavra acertos)))))) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment