package appimport scalatags.Text.all._import scala.util.Randomobject MinimalApplication extends cask.MainRoutes{ val bootstrap = "https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.css" var x = Random.between(0, 7) var y = Random.between(0, 7) var z = Random.between(0, 7) abstract class Answer case object No extends Answer case object Correct extends Answer case class Wrong(n: Int) extends Answer var ans : Answer = No var cnt = 1 val heart = raw("❤️") val unicorn = raw("🦄") var nms = List("Christiane", "Sebastian") @cask.get("/") def hello() = doctype("html")( html( head(link(rel := "stylesheet", href := bootstrap)), body( div(cls := "container")( //h1(s"Hello ${nms((cnt / 3) % 2)}!"), h1(s"Hello Christiane"), h1(s"$x + $y = ??"), ans match { case No => "" case Correct => i(color.green)("Correct!") case Wrong(n) => i(color.red)(s"$n is wrong!") }, form(action := "/", method := "post")( frag( for (i <- 0 to 12) yield button(`type` := "submit", name := "name", value := i.toString)(i.toString) ) ), frag( for (i <- 0 until cnt) yield if ((i + 1) % 10 != 0) heart else unicorn ) ) ) ) ) @cask.postForm("/") def answer(name: String) = { if (x + y == name.toInt) { ans = Correct x = Random.between(0, 7) y = Random.between(0, 7) z = Random.between(0, 7) cnt = cnt + 1 } else ans = Wrong(name.toInt) hello() } initialize()}