29 lines
950 B
Text
29 lines
950 B
Text
import scala.util.Random
|
||
|
||
object Magic8Ball extends App {
|
||
val shake: () => String = {
|
||
val answers = List(
|
||
"It is certain.", "It is decidedly so.", "Without a doubt.",
|
||
"Yes – definitely.", "You may rely on it.", "As I see it, yes.",
|
||
"Most likely.", "Outlook good.", "Yes.", "Signs point to yes.",
|
||
"Reply hazy, try again.", "Ask again later", "Better not tell you now.",
|
||
"Cannot predict now.", "Concentrate and ask again.", "Don't count on it.",
|
||
"My reply is no.", "My sources say no.", "Outlook not so good.",
|
||
"Very doubtful."
|
||
)
|
||
val r = new Random
|
||
() => answers(r.nextInt(answers.length))
|
||
}
|
||
|
||
println("Ask the Magic 8-Ball your questions. ('q' or 'quit' to quit)\n")
|
||
|
||
while (true) {
|
||
io.StdIn.readLine("Question: ").toLowerCase match {
|
||
case "q" | "quit" =>
|
||
println("Goodbye.")
|
||
sys.exit()
|
||
case _ =>
|
||
println(s"Response: ${shake()}\n")
|
||
}
|
||
}
|
||
}
|