2019-08-03 02:00:33 +00:00
|
|
|
package actors
|
|
|
|
|
|
|
|
import (
|
|
|
|
"git.openprivacy.ca/sarah/microworlds/core"
|
|
|
|
)
|
|
|
|
|
|
|
|
type SlimeMold struct {
|
|
|
|
SniffDistance int
|
|
|
|
}
|
|
|
|
|
2019-08-03 05:14:56 +00:00
|
|
|
func (sm *SlimeMold) Setup(env *core.Environment, t *core.Turtle) {
|
2019-08-03 02:00:33 +00:00
|
|
|
// Do nothing
|
|
|
|
}
|
|
|
|
|
2019-08-03 05:14:56 +00:00
|
|
|
func (sm *SlimeMold) Run(env *core.Environment, t *core.Turtle) {
|
2019-08-03 02:00:33 +00:00
|
|
|
t.Wiggle()
|
|
|
|
t.FollowGradient(env, sm.SniffDistance, 2)
|
|
|
|
t.Step(env)
|
|
|
|
t.Drop(env, 1)
|
|
|
|
}
|