help.txt 4.37 KB
Newer Older
Sam Moore's avatar
Sam Moore committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
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.

Sam Moore's avatar
Sam Moore committed
45 46 47 48 49 50 51 52 53 54 55 56
		@internal:name
			An internal agent player

			These agents run within the qchess program (unless there is a timeout setting... never mind).
			
			Choices are:
			
			AgentRandom - Makes random moves only

			AgentBishop - Uses probability estimates and a min/max recursive (depth is only one) algorithm
				    - Will usually take a long time to run

Sam Moore's avatar
Sam Moore committed
57 58 59 60 61 62
OPTIONS

	--help
		Print this page
	
	--graphics
Sam Moore's avatar
Sam Moore committed
63
		Enable the GUI
Sam Moore's avatar
Sam Moore committed
64 65

		If graphics are enabled (default), then the user will be prompted to choose any of the two players not supplied as arguments.
Sam Moore's avatar
Sam Moore committed
66 67 68 69

	--no-graphics
		Disable the GUI
		
Sam Moore's avatar
Sam Moore committed
70
		
71 72 73
	--reveal
		If graphics are enabled, the two states for pieces will always be shown, regardless of whether both states have been revealed.
		Note that this switch only affects the GUI and does not provide any information to agent players.
Sam Moore's avatar
Sam Moore committed
74

75 76 77
		If graphics are disabled, has no effect.

	--file[=filename][:events]
Sam Moore's avatar
Sam Moore committed
78
		Replay a game saved in file, or read from stdin if no filename given
79 80 81 82 83 84 85 86 87
		If a number of events is supplied, the game will advance that many events before stopping.

		If no players are given, the GUI will NOT ask for player selections.
		The game will exit after the replay finishes. Events in the replay will be subject to the normal delay (see --delay).

		If black and white players are supplied, the game will continue using those players.
		In this case, there will be no delays between events in the replay (the game starts at the end of the replay)

		(We hope that) this feature will be useful for comparing how different versions of an agent respond to the same situation.
Sam Moore's avatar
Sam Moore committed
88 89 90 91

	--log[=filename]
		Log moves to a file or stdout if no filename given

Sam Moore's avatar
Sam Moore committed
92 93
		

Sam Moore's avatar
Sam Moore committed
94 95 96 97 98 99 100 101 102 103 104 105
	--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.
Sam Moore's avatar
Sam Moore committed
106 107 108 109 110 111 112 113
		
	--blackout[=time]
		Setting a blackout time will cause the display to become black if the mouse is not moved and no keys or buttons are pressed.
		If no time is given, the blackout time is disabled.
		
		By default the blackout is disabled.
		
		This switch was introduced for entirely obscure purposes.
Sam Moore's avatar
Sam Moore committed
114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135

	--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]