Lots of stuff happened
1. Argument parsing. We have it 2. GUI. We have it 3. Networking. We have it. 4. Timeouts. We have those. Sort of. Not for Windows. 5. Help page. We have that too. I think you'll find it quite... helpful We still don't have log files. Most of previous TODOs still apply.
qchess/Makefile
0 → 100644
qchess/data/help.txt
0 → 100644
NAME | ||
qchess.py - Play quantum chess | ||
SYNOPSIS | ||
qchess.py [OPTIONS] [white] [black] | ||
DESCRIPTION | ||
An implementation of Quantum Chess as originally described and implemented here: | ||
http://research.cs.queensu.ca/Parallel/QuantumChess/QuantumChess.html | ||
Reimplemented for UCC::Progcomp 2013 | ||
http://progcomp.ucc.asn.au | ||
IMPORTANT: | ||
- This version does not implement castling or en passen rules. | ||
- If a piece currently in a pawn state moves into the opposing back row, that state always becomes a queen. | ||
- (The other state of the piece is unaffected). | ||
ARGUMENTS | ||
If no arguments are given, a window should appear asking you to pick each player. | ||
Then the game will commence using default values. | ||
white, black | ||
Each of the two players in order. They need not be provided if graphics is enabled (default). | ||
Any arguments that do not begin with a hyphen (-) are treated as the player arguments in the order they appear. | ||
Player arguments that begin with '@' are treated as special players: | ||
@human | ||
A human player; if graphics are enabled, this players turns are made through the GUI | ||
@network[:address] | ||
A player over a network connection. | ||
For example, if [email protected] wants to play [email protected]: | ||
[email protected]:~$ ./qchess.py @network @human | ||
[email protected]:~$ ./qchess.py @human @network:host1 | ||
IMPORTANT: Only ONE of the games should give the other's address. | ||
OPTIONS | ||
--help | ||
Print this page | ||
--graphics | ||
Disable/Enable the GUI | ||
If graphics are enabled (default), then the user will be prompted to choose any of the two players not supplied as arguments. | ||
--file[=filename] | ||
Replay a game saved in file, or read from stdin if no filename given | ||
--log[=filename] | ||
Log moves to a file or stdout if no filename given | ||
--delay[=time] | ||
The game pauses between moves so that it can be followed by a human observer. | ||
This option can be used to change the delay. If no time is given, the delay is disabled. | ||
If graphics are enabled (default), the delay is 0.5s by default. | ||
If graphics are disabled, there is no delay unless this option is used. | ||
--timeout[=time] | ||
Set the maximum time in seconds to wait before declaring an AI program unresponsive. | ||
If no time is given, the timeout is disabled. | ||
By default the timeout is disabled. | ||
--classical | ||
If this option is used, the game will treat pieces "classically", ie: as in standard chess. | ||
Note that the game does not enforce rules related to check and checkmate. | ||
--quantum | ||
The game uses the quantum chess representation of pieces (default). | ||
AUTHOR | ||
Written for the UCC Programming Competition 2013 by Sam Moore. | ||
UCC::Progcomp home page: http://progcomp.ucc.asn.au | ||
REPORTING BUGS | ||
Report bugs to [email protected] | ||
Join IRC channel #progcomp on irc://irc.ucc.asn.au | ||
COPYRIGHT | ||
Copyright 2013 The University Computer Club, Inc. | ||
Contact [email protected] | ||