Safe Haskell | None |
---|---|
Language | Haskell2010 |
High score table operations.
- type ScoreDict = EnumMap (Id ModeKind) ScoreTable
- data ScoreTable
- empty :: ScoreDict
- register :: ScoreTable -> Int -> Time -> Status -> ClockTime -> Int -> Text -> EnumMap (Id ItemKind) Int -> EnumMap (Id ItemKind) Int -> HiCondPoly -> (Bool, (ScoreTable, Int))
- showScore :: (Int, ScoreRecord) -> [Text]
- getTable :: Id ModeKind -> ScoreDict -> ScoreTable
- getRecord :: Int -> ScoreTable -> ScoreRecord
- highSlideshow :: ScoreTable -> Int -> Text -> Slideshow
- data ScoreRecord
Documentation
type ScoreDict = EnumMap (Id ModeKind) ScoreTable Source
A dictionary from game mode IDs to scores tables.
data ScoreTable Source
The list of scores, in decreasing order.
:: ScoreTable | old table |
-> Int | the total value of faction items |
-> Time | game time spent |
-> Status | reason of the game interruption |
-> ClockTime | current date |
-> Int | difficulty level |
-> Text | name of the faction's gplayer |
-> EnumMap (Id ItemKind) Int | allies lost |
-> EnumMap (Id ItemKind) Int | foes killed |
-> HiCondPoly | |
-> (Bool, (ScoreTable, Int)) |
Register a new score in a score table.
showScore :: (Int, ScoreRecord) -> [Text] Source
Show a single high score, from the given ranking in the high score table.
getRecord :: Int -> ScoreTable -> ScoreRecord Source
:: ScoreTable | current score table |
-> Int | position of the current score in the table |
-> Text | the name of the game mode |
-> Slideshow |
Generate a slideshow with the current and previous scores.
Internal operations
data ScoreRecord Source
A single score record. Records are ordered in the highscore table, from the best to the worst, in lexicographic ordering wrt the fields below.