[pythonvis] Re: Workbench?

  • From: "Jeffrey Turner" <jturner522@xxxxxxxxx>
  • To: <pythonvis@xxxxxxxxxxxxx>
  • Date: Fri, 19 Jun 2015 11:28:19 -0400

Hi Gabriele,

Randy told me you worked on a Python chess clock, which is very exciting
news to me. I have written these specs up, and would like to try to code it
up. I'd appreciate any feedback you might have to offer.

Chess Clock with Game Record Specifications

Basic Overview
A chess clock is actually two clocks, used to track the time of two players
in one game. Usually, both clocks are set for the same period of time,
although sometimes one player will give his opponent more time as a
handicap. The Black player starts the White Player's clock to start the
game. Physical clocks have two buttons, one for each player. When Black
presses the button down on his side of the clock. White's clock begins
counting down the allotted time. As soon as he makes his move, he presses
his button, his clock stops at whatever time he has left, and Black's clock
starts counting down. If either player's clock runs down to 0, he loses the
game, no matter what the status of the board is. For our purposes, both
clocks will be run by a timekeper who will also record the game by entering
chess notation for each move played.

Sample Chess Notation
1.e4 c5
2.Nf3 e6
3.d4 cxd4
Knowledge of chess notation is assumed.

Sample Notation with times for each player
1.e4 c5 59:57 59:54
2.Nf3 e6 59:55 59:49
3.d4 cxd4 59:52 59:44
The additional last two colums of numbers indicate the time remaining for
each player. In this case, Black, the last number on the line, is playing
more slowly than White. Both players started with an hour on their clocks.

Inputs
the computer will provide the number of each move. The operator will provide
some initial information, the names of the players, the event, the date, the
timekeeper's name, any pause points, the time to be set on each clock, and
replenishment values.

Automatic Pause Points and Clock Replenishment It is common for a timekeeper
to alert the players when certain times have been reached. Often, both
players will have one hour to start the game, and must complete 30 moves
within that hour. After the player with the least amount of time left has
played 20 minutes, when his next move is entered, both clocks are paused,
and the timekeeper reports how many moves have been played and how much time
is remaining on each clock.
Automatic Pause Reports will look like this:
Move [move number],White Time: 59:44, Black Time: 59:32, [White or Black] to
move.
Automatic pause points are often 20, 40, 50, and 55 minutes, and the pause
actually happens whenever the player with the least time left has made a
move after crossing these time limits. Once 30 moves have been completed by
both players, they receive an additional amount of time which will be
entered at the start as replenishment time.

Resuming Play
After time reports have been given, the timekeeper will resume play,
starting the clock of the appropriate player, by pressing enter.
Confirmation of which clock is starting will be given:
Starting clock for [black or white, depending]

Manual Pauses
In addition to the automatically scheduled pauses, the timekeeper can pause
the ccurrently running clock by entering 'p'. Pause reports will be the same
as automatic pause reports.
Move [move number],White Time: 59:44, Black Time: 59:32, [White or Black] to
move.
Play will resume and the player's clock that was stopped will resume running
when enter is pressed. Confirmation of the restart will be given:
Starting clock for [black or white, depending]

Time Check
Entering 't' will display the same message as for pauses, but the running
clock will not be stopped.
Move [move number],White Time: 59:44, Black Time: 59:32, [White or Black] to
move.

Corrections
The timekeeper can correct the last move entered by entering 'c'. This will
pause the running clock, display the pause message (see above), and undo the
last move. The stopped clock will restart when another move is entered and
the restart confirmation message (see above) will be displayed.

Game completion
The timekeeper will indicate a checkmate by entering '#', a draw by entering
'=', and a resignation by entering 'r'. the running clock will be stopped
and the game record written.

Exclusions
This program will nott check for valid chess moves. It will not indicate
checks, or e.p. notifications, (a type of pawn capture. it will not record
board positions to aid in determining draws by repetition.

Possible Enhancements
Future versions of the program could provide alternative notation outputs,
perhaps one with times, and one without. Game records could be automagically
emailed to the players and tournament directors upon completion of the game.
It may be possible to allow a timekeeper to add time back on one or both
players' clocks. Game notations could be displayed on the screen to help
resolve disputes while the game is still in progress. Backing a game up to a
specific move and resuming from there might be desirable. Delays could be
applied to one or both clocks, so that the next player's clock wouldn't
start for some amount of time, say 10 to 30 seconds. Or, each time a move is
played, a certain amount of time could be added back to the player's clock.

List web page is
//www.freelists.org/webpage/pythonvis

To unsubscribe, send email to
pythonvis-request@xxxxxxxxxxxxx with "unsubscribe" in the Subject field.

Other related posts: