24 lines
795 B
Scala
24 lines
795 B
Scala
package lila.puzzle
|
|
|
|
import lila.i18n.{ I18nKey, I18nKeys => trans }
|
|
|
|
sealed abstract class PuzzleDifficulty(val ratingDelta: Int, val name: I18nKey) {
|
|
|
|
lazy val key = toString.toLowerCase
|
|
}
|
|
|
|
object PuzzleDifficulty {
|
|
case object Easiest extends PuzzleDifficulty(-600, trans.puzzle.easiest)
|
|
case object Easier extends PuzzleDifficulty(-300, trans.puzzle.easier)
|
|
case object Normal extends PuzzleDifficulty(0, trans.puzzle.normal)
|
|
case object Harder extends PuzzleDifficulty(300, trans.puzzle.harder)
|
|
case object Hardest extends PuzzleDifficulty(600, trans.puzzle.hardest)
|
|
|
|
val all = List(Easiest, Easier, Normal, Harder, Hardest)
|
|
val default = Normal
|
|
|
|
def isExtreme(d: PuzzleDifficulty) = d == Easiest || d == Hardest
|
|
|
|
def find(str: String) = all.find(_.key == str)
|
|
}
|