35 lines
854 B
Haskell
35 lines
854 B
Haskell
data Reply = Success Command
|
|
| Error Response
|
|
|
|
data Response = Response String
|
|
|
|
data Command = Go Room
|
|
| Look Room
|
|
| Examine Item
|
|
| Take Item
|
|
| Show [Item]
|
|
| ...
|
|
|
|
data Description = Str String
|
|
| Redacted
|
|
|
|
data Adjective = Adjective String
|
|
|
|
data Kind = Kind { kindName = String
|
|
, kindCondition = Condition }
|
|
|
|
data Missing = Missing [Kind]
|
|
|
|
data Condition = Pristine
|
|
| Broken Condition Missing
|
|
|
|
data Room = Room { roomName = String
|
|
, roomDescription = Description
|
|
, items = [Item] }
|
|
|
|
data Item = Item { itemName = String
|
|
, itemDescription = Description
|
|
, adjectives = [Adjective]
|
|
, itemCondition = Condition
|
|
, piledOn = [Item] }
|