Untitled

Run Settings
LanguageNim
Language Version
Run Command
from message import dayNight, messages, getText # game time system proc informAboutDay() = messages = dayNight(isDay = true) # player informer proc update() = echo( getText(messages) ) when isMainModule: informAboutDay() update()
type MessageType = enum msgHit, msgDeath, msgDayNight type Message* = object case messageType*: MessageType of msgHit: target*: string hp*: int of msgDeath: died*: string of msgDayNight: isDay*: bool # normally queue var messages*: Message proc hit*(target: string, hp: int): Message = Message(messageType: msgHit, target: target, hp: hp) proc death*(died: string): Message = Message(messageType: msgDeath, died: died) proc dayNight*(isDay: bool): Message = Message(messageType: msgDayNight, isDay: isDay) proc getTextHit(m: Message): string = "You hit " & m.target & " for " & $m.hp & " HP." proc getTextDeath(m: Message): string = m.died & " just died." proc getTextDayNight(m: Message): string = if m.isDay: result = "The day has just begun." else: result = "Beware! Night is coming." proc getText*(m: Message): string = case m.messageType: of msgHit: result = getTextHit(m) of msgDeath: result = getTextDeath(m) of msgDayNight: result = getTextDayNight(m) else: result = "UNKNOWN MESSAGE"
Editor Settings
Theme
Key bindings
Full width
Lines