diff options
Diffstat (limited to 'go/game/movement.go')
| -rw-r--r-- | go/game/movement.go | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/go/game/movement.go b/go/game/movement.go index df7e4138..1a3f03c4 100644 --- a/go/game/movement.go +++ b/go/game/movement.go @@ -17,11 +17,16 @@ func INVALID_MOVEMENT() Movement { } func parseMovement(desc interface{}) Movement { - if r, ok := desc.(int); ok { - return Movement{r, false} + var movementStr string + switch typedDesc := desc.(type) { + case int: + return Movement{typedDesc, false} + case string: + movementStr = typedDesc + case map[string]interface{}: + movementStr = typedDesc["en"].(string) } - movementStr := desc.(string) tokens := strings.Split(movementStr, " ") r, err := strconv.Atoi(tokens[0]) if err != nil { |
