Arc Forumnew | comments | leaders | submitlogin
1 point by bOR_ 5904 days ago | link | parent

From here on I adapted the function to the one I really needed (do something if one of the 8 neighbours of posx, posy is X). Because of that requirement it seemed easier to just gather the row - 1 and row + 1 and the row, col - 1 and row, col + 1, and join those in a list. This is what it ended up as:

   (if (find X (flat:map [join (errsafe (world _))] (list (- row 1) (+ row 1) (- col 1) (+ col 1))))
    ; do stuff
    )
Thanks for the help!


1 point by almkglor 5904 days ago | link

  (flat:map [join (errsafe (world _))] (list (- row 1) (+ row 1) (- col 1) (+ col 1)))
This bit doesn't seem correct... world is addressed by row right? Why are you also addressing by column?

-----

1 point by bOR_ 5904 days ago | link

yeah. realized this night (dreaming is a wonderful thing) that I'm now making a mess out of it, rather than just looking at neighbours. bug! ;).

But as far as I'm concerned, I've had enough help already. Should be able to take it from here.

-----