2 qchess.py - Play quantum chess
5 qchess.py [OPTIONS] [white] [black]
8 An implementation of Quantum Chess as originally described and implemented here:
9 http://research.cs.queensu.ca/Parallel/QuantumChess/QuantumChess.html
11 Reimplemented for UCC::Progcomp 2013
12 http://progcomp.ucc.asn.au
15 - This version does not implement castling or en passen rules.
16 - If a piece currently in a pawn state moves into the opposing back row, that state always becomes a queen.
17 - (The other state of the piece is unaffected).
22 If no arguments are given, a window should appear asking you to pick each player.
23 Then the game will commence using default values.
26 Each of the two players in order. They need not be provided if graphics is enabled (default).
28 Any arguments that do not begin with a hyphen (-) are treated as the player arguments in the order they appear.
30 Player arguments that begin with '@' are treated as special players:
33 A human player; if graphics are enabled, this players turns are made through the GUI
36 A player over a network connection.
38 For example, if black@host1 wants to play white@host2:
40 black@host1:~$ ./qchess.py @network @human
41 white@host2:~$ ./qchess.py @human @network:host1
43 IMPORTANT: Only ONE of the games should give the other's address.
46 An internal agent player
48 These agents run within the qchess program (unless there is a timeout setting... never mind).
52 AgentRandom - Makes random moves only
54 AgentBishop - Uses probability estimates and a min/max recursive (depth is only one) algorithm
55 - Will usually take a long time to run
65 If graphics are enabled (default), then the user will be prompted to choose any of the two players not supplied as arguments.
72 If graphics are enabled, the two states for pieces will always be shown, regardless of whether both states have been revealed.
73 Note that this switch only affects the GUI and does not provide any information to agent players.
75 If graphics are disabled, has no effect.
77 --file[=filename][:events]
78 Replay a game saved in file, or read from stdin if no filename given
79 If a number of events is supplied, the game will advance that many events before stopping.
81 If no players are given, the GUI will NOT ask for player selections.
82 The game will exit after the replay finishes. Events in the replay will be subject to the normal delay (see --delay).
84 If black and white players are supplied, the game will continue using those players.
85 In this case, there will be no delays between events in the replay (the game starts at the end of the replay)
87 (We hope that) this feature will be useful for comparing how different versions of an agent respond to the same situation.
90 Log moves to a file or stdout if no filename given
95 The game pauses between moves so that it can be followed by a human observer.
96 This option can be used to change the delay. If no time is given, the delay is disabled.
98 If graphics are enabled (default), the delay is 0.5s by default.
99 If graphics are disabled, there is no delay unless this option is used.
102 Set the maximum time in seconds to wait before declaring an AI program unresponsive.
103 If no time is given, the timeout is disabled.
105 By default the timeout is disabled.
108 Setting a blackout time will cause the display to become black if the mouse is not moved and no keys or buttons are pressed.
109 If no time is given, the blackout time is disabled.
111 By default the blackout is disabled.
113 This switch was introduced for entirely obscure purposes.
116 If this option is used, the game will treat pieces "classically", ie: as in standard chess.
117 Note that the game does not enforce rules related to check and checkmate.
120 The game uses the quantum chess representation of pieces (default).
124 Written for the UCC Programming Competition 2013 by Sam Moore.
125 UCC::Progcomp home page: http://progcomp.ucc.asn.au
129 Join IRC channel #progcomp on irc://irc.ucc.asn.au
132 Copyright 2013 The University Computer Club, Inc.