Hello,
I developed a Sudoku app for Android (play.google.com/store/apps/details?id=bloggersoft.sudokuoftheday&hl=de), in which highscores for the solved Sudoku categories are saved.
I would say the times have gotten rather competitive by now. This point though also raises the incentive for cheating, i.e. getting faster times, and the question of how to avoid that. About this I'd be very interested in your opinion.
I thought of 3 strategies to prevent cheating:
1.) Technical stuff: Verify each sent solution time, whether the time was not altered during sending. I can do that.
However, this is not much use, since if someone wants to cheat, the person can simply look up the solution of the Sudoku, note it, and copy the solution as quickly as possible.
So this is like an "official" way of cheating.
2.) Don't allow too fast times, e.g. 3s for a Sudoku is not plausible. However here I do not know how to set the limit, as some persons are really fast in solving Sudokus.
3.) Check in which order a user entered the numbers. If the order looks suspicious, e.g. the user entered all numbers row by row or similar, don't accept the time. But also then, when knowing that the order could be mixed up on purpose and the app would not spot this.
What do you think of those strategies? As far as I can tell, if someone really wants to cheat, I cannot detect that. Do you have any other ideas? Or maybe even personal experience how this is prevented in other apps, programs etc.?
Thanks!
Best
Oliver