Oi gente! Tenho o seguinte codigo clojure, não compila. Definitivamente não entendo porquê? Parece esta todo como mandam as regras!
(def total-de-vidas 6)
(defn perdeu [] (print "voce perdeu! "))
(defn ganhou [] (print "voce ganhou! "))
(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 palavra] (.contains palavra chute))
(defn avalia-chute [chute vidas palavra acertos]
(if
(acertou? chute palavra)
(jogo vidas palavra (conj acertos chute))
(jogo (dec vidas) palavra acertos)
)
)
(defn jogo [vidas palavra acertos]
(if (= vidas 0)
(perdeu)
(if (acertou-a-palavra-toda? palavra acertos)
(ganhou)
(avalia-chute (le-letra!) vidas palavra acertos)
)
)
)
Lanca a seguinte exception:
Exception in thread "main" java.lang.RuntimeException: Unable to resolve symbol: jogo in this context, compiling:(forca/core.clj:21)
aqui continua a pilha de exceptions....
Caused by: java.lang.RuntimeException: Unable to resolve symbol: jogo in this context
at clojure.lang.Util.runtimeException(Util.java:170)
Continuam mais linhas de exceptions...