implement Direction
parent
8fd8331a96
commit
3bb94c490e
|
@ -14,18 +14,63 @@ type Direction struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (d Direction) Reverse() Direction {
|
func (d Direction) Reverse() Direction {
|
||||||
// TODO
|
raw := ""
|
||||||
return Direction{}
|
switch d.raw {
|
||||||
|
case dirAbove:
|
||||||
|
raw = dirBelow
|
||||||
|
case dirBelow:
|
||||||
|
raw = dirAbove
|
||||||
|
case dirEast:
|
||||||
|
raw = dirWest
|
||||||
|
case dirWest:
|
||||||
|
raw = dirEast
|
||||||
|
case dirNorth:
|
||||||
|
raw = dirSouth
|
||||||
|
case dirSouth:
|
||||||
|
raw = dirNorth
|
||||||
|
}
|
||||||
|
return Direction{raw: raw}
|
||||||
}
|
}
|
||||||
|
|
||||||
// NormalizeHuman takes a direction someone might type like "up" or "north" and returns the correct Direction struct
|
// NormalizeHuman takes a direction someone might type like "up" or "north" and returns the correct Direction struct
|
||||||
func NormalizeHuman(humanDir string) Direction {
|
func NormalizeHuman(humanDir string) Direction {
|
||||||
// TODO
|
raw := ""
|
||||||
return Direction{}
|
switch humanDir {
|
||||||
|
case "up":
|
||||||
|
case "above":
|
||||||
|
raw = dirAbove
|
||||||
|
case "down":
|
||||||
|
case "below":
|
||||||
|
raw = dirBelow
|
||||||
|
case "east":
|
||||||
|
raw = dirEast
|
||||||
|
case "west":
|
||||||
|
raw = dirWest
|
||||||
|
case "north":
|
||||||
|
raw = dirNorth
|
||||||
|
case "south":
|
||||||
|
raw = dirSouth
|
||||||
|
|
||||||
|
}
|
||||||
|
return Direction{raw: raw}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Human returns a string form of this direction like "above" or "north"
|
// Human returns a string form of this direction like "above" or "north"
|
||||||
func (d Direction) Human() string {
|
func (d Direction) Human() (humanDir string) {
|
||||||
// TODO
|
switch d.raw {
|
||||||
return ""
|
case dirAbove:
|
||||||
|
humanDir = "above"
|
||||||
|
case dirBelow:
|
||||||
|
humanDir = "below"
|
||||||
|
case dirEast:
|
||||||
|
humanDir = "east"
|
||||||
|
case dirWest:
|
||||||
|
humanDir = "west"
|
||||||
|
case dirNorth:
|
||||||
|
humanDir = "north"
|
||||||
|
case dirSouth:
|
||||||
|
humanDir = "south"
|
||||||
|
}
|
||||||
|
|
||||||
|
return humanDir
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue