2020-06-26 19:45:24 +01:00
|
|
|
package objects
|
|
|
|
|
|
|
|
const (
|
2020-06-30 23:59:58 +01:00
|
|
|
// Empty represents an non-existant object
|
|
|
|
Empty = byte(' ')
|
|
|
|
|
|
|
|
// Rover represents a live rover
|
|
|
|
Rover = byte('R')
|
|
|
|
|
|
|
|
// SmallRock is a small stashable rock
|
2020-06-26 19:45:24 +01:00
|
|
|
SmallRock = byte('o')
|
2020-06-30 23:59:58 +01:00
|
|
|
|
|
|
|
// LargeRock is a large blocking rock
|
2020-06-26 19:45:24 +01:00
|
|
|
LargeRock = byte('O')
|
|
|
|
)
|
|
|
|
|
2020-06-30 23:59:58 +01:00
|
|
|
// IsBlocking checks if an object is a blocking object
|
2020-06-26 19:45:24 +01:00
|
|
|
func IsBlocking(object byte) bool {
|
|
|
|
var blocking = [...]byte{
|
|
|
|
Rover,
|
|
|
|
LargeRock,
|
|
|
|
}
|
|
|
|
|
|
|
|
for _, t := range blocking {
|
|
|
|
if object == t {
|
|
|
|
return true
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return false
|
|
|
|
}
|
|
|
|
|
2020-06-30 23:59:58 +01:00
|
|
|
// IsStashable checks if an object is stashable
|
2020-06-26 19:45:24 +01:00
|
|
|
func IsStashable(object byte) bool {
|
|
|
|
var stashable = [...]byte{
|
|
|
|
SmallRock,
|
|
|
|
}
|
|
|
|
|
|
|
|
for _, t := range stashable {
|
|
|
|
if object == t {
|
|
|
|
return true
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return false
|
|
|
|
}
|