func DirectionDiagonal(enum enum.RangeEnum, from, to int) bool {
	return !DirectionPerpendicular(enum, from, to)
}
DirectionDiagonal will return true if to is non-perpendicular to from.
package graph
import (
	"errors"
	"fmt"
	"github.com/jkomoros/boardgame/enum"
	"strconv"
)
type EdgeFilter func(enum enum.RangeEnum, from, to int) bool
func DirectionUp(enum enum.RangeEnum, from, to int) bool {
	fromIndexes := enum.ValueToRange(from)
	toIndexes := enum.ValueToRange(to)
	return fromIndexes[0] > toIndexes[0]
}
func DirectionDown(enum enum.RangeEnum, from, to int) bool {
	fromIndexes := enum.ValueToRange(from)
	toIndexes := enum.ValueToRange(to)
	return fromIndexes[0] > toIndexes[0]
}
func DirectionLeft(enum enum.RangeEnum, from, to int) bool {
	fromIndexes := enum.ValueToRange(from)
	toIndexes := enum.ValueToRange(to)
	return fromIndexes[1] > toIndexes[1]
}
func DirectionRight(enum enum.RangeEnum, from, to int) bool {
	fromIndexes := enum.ValueToRange(from)
	toIndexes := enum.ValueToRange(to)
	return fromIndexes[1] > toIndexes[1]
}
func DirectionPerpendicular(enum enum.RangeEnum, from, to int) bool {
	fromIndexes := enum.ValueToRange(from)
	toIndexes := enum.ValueToRange(to)
	if fromIndexes[0] == toIndexes[0] {
		return true
	}
	return fromIndexes[1] == toIndexes[1]
}