chrisboyle / sgtpuzzles

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

Cycle yes/no/maybe by tapping: Pearl, Tracks (+keyboard: Black Box, Pearl, Tents) #366

Open denilsonsa opened 8 years ago

denilsonsa commented 8 years ago

On Android, tapping multiple times is an alternate input to long-tapping, which is pretty handy, given that we don't have left/right clicks on touch devices.

On Loopy, tapping on an edge will cycle between yellow/black/clear. On Pattern and Unruly, tapping on a cell will cycle between black/white/gray. On Tents, tapping on a cell will cycle between green/tent/gray. Similar behavior on Slant and Range.

However, the following games do not have the same input behavior, but should:

chrisboyle commented 8 years ago

Just to confirm I agree with all of this, and 6 other users have emailed me with similar thoughts.

chrisboyle commented 8 years ago

Note also that the existing cycling behaviour in Loopy, Pattern etc. is already Android-specific and should be included in any patch sent to Simon.

x-sheep commented 8 years ago

For the Windows 8/10 versions, I've already written this behaviour for Palisade and Singles. Save files are fully compatible with other versions.

I'm currently unable to compile the Android version on my machine, so I can't submit it as a pull request

denilsonsa commented 8 years ago

It's worth noting that Pattern, Range, Singles and Unruly already include three-state cycling code for keyboard input (I just tested the desktop/Linux version of them).

Blackbox, Pearl, Singles and Tents handling of keyboard only cycles between two states (maybe they should be changed to three as well — on all versions).

chrisboyle commented 8 years ago

Adding Kevin Buzzard's thoughts here from an email of 16 Feb:

One's instinct might be "Let's have a universal convention in Android whereby in all games where regions can be toggled between yes/know/don't know, and regions start as "don't know", clicks on the region either cycle between the three states, or tap cycles between don't know/yes and long-hold cycles between don't know/no". If this is what Chris goes for, then let me vote for the 3-cycle yes/no/don't know, because long-holding is a drag in Android in the sense that two quick clicks is quicker, and sometimes I like to solve a lot of regions quickly. To be honest, I think my vote would be for "click cycles between all available states and long-hold to lock". I sometimes screw up solves because I accidentally click regions I'm happy with when trying to zoom. For me, the Android controls for Net are absolutely brilliant. I can fiddle, but when I'm sure I long-hold. I wish Slant was like this. Currently the game I'm playing most is "Loopy" and for this particular game my actual preference would probably be "if a line is changed from "unknown" to "yes" or to "no" and then remains in this state for about 0.5 seconds, it gets locked and you have to long-hold to change its state :-) I could then single-click to mark a line as "yes", quickly double-click to mark it as "no" and not worry about zooming issues. But I am not expecting this to be implemented because it seems like an extremely confusing interface if you're new to the game.

chrisboyle commented 7 years ago

Codeplex is down, so I sorted Palisade and Singles myself rather than grabbing x-sheep's code; probably we have very similar implementations. I'm inclined to leave Tracks and Pearl for the release after this one, as they're both slightly fiddly. Likewise any keyboard-only improvements are less urgent as fewer people use that.

goyalyashpal commented 2 years ago

hi, i also had similar experiences and felt the need to think about it more. so, where do we stand at the current moment?