cs0x7f / cstimer

Professional Speedcubing/Training Timer
GNU General Public License v3.0
566 stars 132 forks source link

feature request: support two players battling against each other on a single computer #421

Open wangsun39 opened 2 months ago

wangsun39 commented 2 months ago

Two players sit on either side of a computer screen, and the timer starts simultaneously. The person on the left pauses by pressing the keyboard on the left zone, while the person on the right pauses by pressing the keyboard on the right zone. The screen can display two separate areas.

cs0x7f commented 2 months ago

This idea is very interesting. It can even modified to face-to-face PK on mobile phones, but I haven’t thought about many details yet, including:

  1. Where do the second person’s solves stored? a) Both are stored in the current session (that is, two results are generated in one time) b) Or store it in a new session c) Or it can be stored in comments or phased times.
  2. Do we need to calculate each person’s ao5 and ao12, and do we need additional fields to calculate the winning rate and/or ELO?
  3. How to ensure that two people start at the same time? Or is it that there is no guarantee on the software and it is up to them to issue the order themselves.
  4. How to display the solving times on the interface. The side-by-side display seems to be easily covered by statistics or scramble area.
wangsun39 commented 2 months ago

Thanks for your reply. The requirements I mentioned did not consider mobile phone combat, of course, this is a great idea. From my non-professional perspective, I offer some suggestions, which may not be the best solutions, and might be not very suitable on mobile phones. The combat mode can be activated by a switch, and then the screen is divided into two halves. Both parts are the same and similar to the previous interface. Two people can use different areas of the keyboard to start or pause the timer (of course, it's acceptable to control the start button by one player, and start timer for both at the same time). e.g. image

I am not sure if it's significant influence to the software framework. Thanks for your help, hope to see this feature in near future