chrisboyle / sgtpuzzles

Android port of Simon Tatham's Puzzles
https://chris.boyle.name/puzzles
Other
595 stars 168 forks source link

Loopy cursor is counter-intuitive #57

Open chrisboyle opened 12 years ago

chrisboyle commented 12 years ago

Eric Francis wrote:

I'd just like to point out that the "cursor" in loopy is pretty much unusable on a phone, since it isn't on a line, but somehow near one. At times it is near impossible to tell which line it is supposed to be on.

Could you change it so that the cursor is positioned on the line rather than at some seemingly arbitrary position inside one of the polygons? This would also require including all 8 directions to use properly (otherwise you couldn't e.g. move from horizontal to vertical line segments on squares).

I see what you mean. I think the current strategy is basically to move in the direction you asked until the nearest edge is different from the previous nearest edge. This might move only one pixel sometimes. The complication is that if you look in the Type menu, Loopy supports a whole bunch of different grids, so any new strategy must work on all of them, or have special cases. I will have a think.

chrisboyle commented 10 years ago

61 is closely related (about touch controls)

mquevill commented 6 years ago

Maybe in addition to showing the cursor, also drop a perpendicular of the same color as the cursor (cyan) to the line that is currently selected? The logic of this additional line could be taken from the function grid_nearest_edge() from grid.c. However, if the cursor is only a few pixels from a line, this may not be helpful; though it seems like the use-case of this issue is more for when the cursor is in wide open spaces.