On Aug 15, 2:20 pm, James G. [email protected] wrote:
Interesting. Is this a patch to Map#? I wouldn’t think it would be
needed, due to lines 46-50 of game.rb. Am I missing something?
James Edward G. II
Yes. That was for Map#. But taking that out and going back to
game.rb, I added “pp surrounding” after surrounding gets settled, and
you can see that there’s something up:
$ ./bin/wig-wug -w 2 -h 2 ~/Desktop/bots/digger.rb [15:06:44]
Surprise: Starts at x=1, y=0.
[[“E”, “E”, “E”], [“F”, “P”, nil], [“O”, “R”, nil]]
Surprise: (down) Reached the ruby.
Result: Surprise won.
I think the issue is that Comparable#between? includes both endpoints,
so if a bot is on the bottom edge of the map, the Map ends up asking
for points not on the map. And those will be nil if the player’s on
the right edge, and will raise a NoMethodError for nil if it’s on
the bottom edge.
Subtracting one from width and height when they appear as arguments to
#between? on line 46 of game.rb should actually take care of it better
than what I suggested earlier.
Or am I missing something now?