LambdaHack-0.2.10: A roguelike game engine in early and active development

Safe HaskellNone

Game.LambdaHack.Common.ContentDef

Description

A game requires the engine provided by the library, perhaps customized, and game content, defined completely afresh for the particular game. The general type of the content is ContentDef and it has instances for all content kinds, such as items kinds (Game.LambdaHack.Content.ItemKind). The possible kinds are fixed in the library and all defined in the same directory. On the other hand, game content, that is all elements of ContentDef instances, are defined in a directory of the game code proper, with names corresponding to their kinds.

Synopsis

Documentation

data ContentDef a

The general type of a particular game content, e.g., item kinds.

Constructors

ContentDef 

Fields

getSymbol :: a -> Char

symbol, e.g., to print on the map

getName :: a -> Text

name, e.g., to show to the player

getFreq :: a -> Freqs

frequency within groups

validate :: [a] -> [a]

validate and catch some offenders, if any

content :: [a]

all the defined content of this type