AbigailII: It's not that difficult to determine which ones must be zero. If you shoot in square S1 and get zero, then you need to check
for each unlabled square S2 next to S1
mustBeZero = false
for each labeled square S3 next to S2
if S3 is labeled with 0
mustBeZero = true;
endif
endfor if (mustBeZero) label(S2, "0") endif
endfor
This would cause the "barren plains" where there are no frogs at all to be quickly filled in. It also means that if there's a 1 two squares away that's next to a known frog, that won't fill in the square, which might be reasonable, since you might not want to do too much thinking for the players. If you wanted to also fill in those squares, replace "if S3 is labeled with 0" with "if S3 is labeled with the number of known frogs in neighboring squares".
(hide) If you want to play a game with an opponent of a similar level, you can define a required BKR range for a new game invitation. Then nobody with a BKR outside this range will be able to see/accept it. (Katechka) (show all tips)