emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] 01/01: doc/chess.texi: Document AI, Crafty and GNU Chess engine m


From: Mario Lang
Subject: [elpa] 01/01: doc/chess.texi: Document AI, Crafty and GNU Chess engine modules.
Date: Thu, 05 Jun 2014 00:22:19 +0000

mlang pushed a commit to branch externals/chess
in repository elpa.

commit 7ec326905a9545e44842221a0bb4453cd79a88fe
Author: Mario Lang <address@hidden>
Date:   Thu Jun 5 02:22:08 2014 +0200

    doc/chess.texi: Document AI, Crafty and GNU Chess engine modules.
---
 chess.info     |  308 +++++++++++++++++++++++++++++++++-----------------------
 doc/chess.texi |  174 ++++++++++++++++++++-----------
 2 files changed, 295 insertions(+), 187 deletions(-)

diff --git a/chess.info b/chess.info
index 4477978..05d038a 100644
--- a/chess.info
+++ b/chess.info
@@ -28,14 +28,14 @@ structured for use as a library, and also how to use it as 
a client.
 
 * Menu:
 
-* The chess.el library::        
-* Modules::                     
-* Chessboard displays::         
-* Engines::                     
-* Internet Chess Servers::      
-* Concept Index::               
-* Function and Variable Index::  
-* Key Index::                   
+* The chess.el library::
+* Modules::
+* Chessboard displays::
+* Engines::
+* Internet Chess Servers::
+* Concept Index::
+* Function and Variable Index::
+* Key Index::
 
 
 File: chess.info,  Node: The chess.el library,  Next: Modules,  Prev: Top,  
Up: Top
@@ -45,11 +45,11 @@ File: chess.info,  Node: The chess.el library,  Next: 
Modules,  Prev: Top,  Up:
 
 * Menu:
 
-* Positions::                   
-* Plies::                       
-* Variations::                  
-* Games::                       
-* Collections::                 
+* Positions::
+* Plies::
+* Variations::
+* Games::
+* Collections::
 
 
 File: chess.info,  Node: Positions,  Next: Plies,  Prev: The chess.el library, 
 Up: The chess.el library
@@ -76,12 +76,12 @@ notation.
 
 * Menu:
 
-* Creating positions::          
-* Position coordinates::        
-* Position details::            
-* Annotations::                 
-* FEN notation::                
-* EPD notation::                
+* Creating positions::
+* Position coordinates::
+* Position details::
+* Annotations::
+* FEN notation::
+* EPD notation::
 
 
 File: chess.info,  Node: Creating positions,  Next: Position coordinates,  
Prev: Positions,  Up: Positions
@@ -375,12 +375,12 @@ file name with the suffix ".epd".
 
 * Menu:
 
-* Operations::                  
-* Opcode "acd" analysis count depth::  
-* Opcode "acn" analysis count nodes::  
-* Opcode "acs" analysis count seconds::  
-* Opcode "am" avoid move(s)::   
-* Opcode "bm" best move(s)::    
+* Operations::
+* Opcode "acd" analysis count depth::
+* Opcode "acn" analysis count nodes::
+* Opcode "acs" analysis count seconds::
+* Opcode "am" avoid move(s)::
+* Opcode "bm" best move(s)::
 
 
 File: chess.info,  Node: Operations,  Next: Opcode "acd" analysis count depth, 
 Prev: EPD notation,  Up: EPD notation
@@ -482,10 +482,10 @@ form of confirmation during the course of a game.
 
 * Menu:
 
-* Creating plies::              
-* Ply details::                 
-* The "next" position::         
-* Algebraic notation::          
+* Creating plies::
+* Ply details::
+* The "next" position::
+* Algebraic notation::
 
 
 File: chess.info,  Node: Creating plies,  Next: Ply details,  Prev: Plies,  
Up: Plies
@@ -609,10 +609,10 @@ turn, as mentioned above.
 
 * Menu:
 
-* Creating variations::         
-* Variation positions::         
-* Varation plies::              
-* Making a move in a variation::  
+* Creating variations::
+* Variation positions::
+* Varation plies::
+* Making a move in a variation::
 
 
 File: chess.info,  Node: Creating variations,  Next: Variation positions,  
Prev: Variations,  Up: Variations
@@ -717,12 +717,12 @@ variations.
 
 * Menu:
 
-* Creating games::              
-* Game tags::                   
-* Game positions::              
-* Game plies::                  
-* Making a move::               
-* PGN notation::                
+* Creating games::
+* Game tags::
+* Game positions::
+* Game plies::
+* Making a move::
+* PGN notation::
 
 
 File: chess.info,  Node: Creating games,  Next: Game tags,  Prev: Games,  Up: 
Games
@@ -820,7 +820,7 @@ File: chess.info,  Node: PGN notation,  Prev: Making a 
move,  Up: Games
 
 * Menu:
 
-* PGN mode::                    
+* PGN mode::
 
 
 File: chess.info,  Node: PGN mode,  Prev: PGN notation,  Up: PGN notation
@@ -851,11 +851,11 @@ and searches.
 
 * Menu:
 
-* Opening Databases::           
-* Querying Databases::          
-* Modifying Databases::         
-* Finalising Databases::        
-* Database Modules::            
+* Opening Databases::
+* Querying Databases::
+* Modifying Databases::
+* Finalising Databases::
+* Database Modules::
 
 
 File: chess.info,  Node: Opening Databases,  Next: Querying Databases,  Prev: 
Collections,  Up: Collections
@@ -913,8 +913,8 @@ base-class:
 
 * Menu:
 
-* chess-file::                  
-* chess-scid::                  
+* chess-file::
+* chess-scid::
 
 
 File: chess.info,  Node: chess-file,  Next: chess-scid,  Prev: Database 
Modules,  Up: Database Modules
@@ -1076,10 +1076,10 @@ object.
 
 * Menu:
 
-* Generic display manipulation functions::  
-* Plain ASCII diagram displays::  
-* ICS1 style ASCII displays::   
-* Graphical displays::          
+* Generic display manipulation functions::
+* Plain ASCII diagram displays::
+* ICS1 style ASCII displays::
+* Graphical displays::
 
 
 File: chess.info,  Node: Generic display manipulation functions,  Next: Plain 
ASCII diagram displays,  Prev: Chessboard displays,  Up: Chessboard displays
@@ -1214,14 +1214,16 @@ for playing with opponent over different types of 
transports.
 
 * Menu:
 
-* Common functions::            
-* Crafty::                      
-* Gnu Chess::                   
-* Phalanx::                     
-* Sjeng::                       
+* Common functions::
+* AI::
+* Crafty::
+* Gnu Chess::
+* Phalanx::
+* Sjeng::
+* Stockfish::
 
 
-File: chess.info,  Node: Common functions,  Next: Crafty,  Prev: Engines,  Up: 
Engines
+File: chess.info,  Node: Common functions,  Next: AI,  Prev: Engines,  Up: 
Engines
 
 4.1 Common functions
 ====================
@@ -1248,30 +1250,81 @@ File: chess.info,  Node: Common functions,  Next: 
Crafty,  Prev: Engines,  Up: E
      handler can take care of the data.
 
 
-File: chess.info,  Node: Crafty,  Next: Gnu Chess,  Prev: Common functions,  
Up: Engines
+File: chess.info,  Node: AI,  Next: Crafty,  Prev: Common functions,  Up: 
Engines
 
-4.2 Crafty
+4.2 AI
+======
+
+The "AI" engine module defines a pure Emacs Lisp implementation of an
+opponent.  Contrary to all other engine modules mentioned later on, it
+does not require any external programs to be installed.
+
+   To explicitly select this engine as an opponent, use 'C-u M-x chess
+RET ai RET'.
+
+ -- User Option: chess-ai-depth
+     Defines the default search depth for this engine.
+
+
+File: chess.info,  Node: Crafty,  Next: Gnu Chess,  Prev: AI,  Up: Engines
+
+4.3 Crafty
 ==========
 
+Crafty is a chess program written by Michael Byrne, UAB professor Dr.
+Robert Hyatt, Tracy Riegle, Peter Skinner and Ted Langreck.  It is
+directly derived from Cray Blitz, winner of the 1983 and 1986 World
+Computer Chess Championships.
+
+   If Crafty is installed and can be found in the program search path,
+the 'chess-crafty' engine module will automatically detect it.
+
+   If Crafty is installed in a non-standard location, variable
+'chess-crafty-path' can be set to point to the executable.
+
+   If you have multiple engines installed you can explicitly select to
+play against Crafty by invoking 'C-u M-x chess RET crafty RET'.
+
 
 File: chess.info,  Node: Gnu Chess,  Next: Phalanx,  Prev: Crafty,  Up: Engines
 
-4.3 Gnu Chess
+4.4 Gnu Chess
 =============
 
+GNU Chess is free software, licensed under the terms of the GNU General
+Public License version 3 or any later version, and is maintained by
+collaborating developers.  As one of the earliest computer chess
+programs with full source code available, it's one of the oldest for
+Unix-based systems and has since been ported to many other platforms.
+
+   If GNU Chess is installed and can be found in the program search
+path, the 'chess-gnuchess' engine module will automatically detect it.
+
+   If GNU Chess is installed in a non-standard location, variable
+'chess-gnuchess-path' can be set to point to the executable.
+
+   If you have multiple engines installed you can explicitly select to
+play against GNU Chess by invoking 'C-u M-x chess RET gnuchess RET'.
+
 
 File: chess.info,  Node: Phalanx,  Next: Sjeng,  Prev: Gnu Chess,  Up: Engines
 
-4.4 Phalanx
+4.5 Phalanx
 ===========
 
 
-File: chess.info,  Node: Sjeng,  Prev: Phalanx,  Up: Engines
+File: chess.info,  Node: Sjeng,  Next: Stockfish,  Prev: Phalanx,  Up: Engines
 
-4.5 Sjeng
+4.6 Sjeng
 =========
 
 
+File: chess.info,  Node: Stockfish,  Prev: Sjeng,  Up: Engines
+
+4.7 Stockfish
+=============
+
+
 File: chess.info,  Node: Internet Chess Servers,  Next: Concept Index,  Prev: 
Engines,  Up: Top
 
 5 Internet Chess Servers
@@ -1296,9 +1349,9 @@ variable:
 
 * Menu:
 
-* Connecting to a server::      
-* Seeking an opponent for a new game::  
-* The sought game display::     
+* Connecting to a server::
+* Seeking an opponent for a new game::
+* The sought game display::
 
 
 File: chess.info,  Node: Connecting to a server,  Next: Seeking an opponent 
for a new game,  Prev: Internet Chess Servers,  Up: Internet Chess Servers
@@ -1375,9 +1428,11 @@ Function and Variable Index
 [index]
 * Menu:
 
+* chess-ai-depth:                        AI.                   (line 13)
 * chess-algebraic-regexp:                Algebraic notation.   (line 33)
 * chess-algebraic-to-ply:                Algebraic notation.   (line 17)
 * chess-coord-to-index:                  Position coordinates. (line 22)
+* chess-crafty-path:                     Crafty.               (line 14)
 * chess-database-filename:               Querying Databases.   (line  6)
 * chess-database-modules:                Opening Databases.    (line  6)
 * chess-database-open:                   Opening Databases.    (line 10)
@@ -1450,6 +1505,7 @@ Function and Variable Index
 * chess-game-tag:                        Game tags.            (line 13)
 * chess-game-tags:                       Game tags.            (line  6)
 * chess-game-to-pgn:                     PGN notation.         (line 10)
+* chess-gnuchess-path:                   Gnu Chess.            (line 15)
 * chess-ics:                             Connecting to a server.
                                                                (line  8)
 * chess-ics-ads-mode:                    The sought game display.
@@ -1537,64 +1593,66 @@ Key Index
 
 Tag Table:
 Node: Top437
-Node: The chess.el library1291
-Node: Positions1600
-Node: Creating positions2685
-Node: Position coordinates3456
-Node: Position details5984
-Node: Annotations10437
-Node: FEN notation10779
-Node: EPD notation12276
-Node: Operations13785
-Node: Opcode "acd" analysis count depth14759
-Node: Opcode "acn" analysis count nodes15113
-Node: Opcode "acs" analysis count seconds15638
-Node: Opcode "am" avoid move(s)16158
-Node: Opcode "bm" best move(s)16599
-Node: Plies16994
-Node: Creating plies18185
-Node: Ply details19369
-Node: The "next" position19849
-Node: Algebraic notation20207
-Node: Variations21635
-Node: Creating variations22763
-Node: Variation positions23071
-Node: Varation plies23672
-Node: Making a move in a variation24113
-Node: Games24688
-Node: Creating games26358
-Node: Game tags26799
-Node: Game positions27406
-Node: Game plies28030
-Node: Making a move28299
-Node: PGN notation28726
-Node: PGN mode29480
-Node: Collections29741
-Node: Opening Databases30542
-Node: Querying Databases30926
-Node: Modifying Databases31552
-Node: Finalising Databases31824
-Node: Database Modules31999
-Node: chess-file32293
-Node: chess-scid32935
-Node: Modules33172
-Node: Chessboard displays39921
-Node: Generic display manipulation functions40549
-Node: Plain ASCII diagram displays43474
-Node: ICS1 style ASCII displays44919
-Node: Graphical displays45223
-Node: Engines45377
-Node: Common functions45955
-Node: Crafty46995
-Node: Gnu Chess47110
-Node: Phalanx47222
-Node: Sjeng47329
-Node: Internet Chess Servers47414
-Node: Connecting to a server48333
-Node: Seeking an opponent for a new game49009
-Node: The sought game display49461
-Node: Concept Index50437
-Node: Function and Variable Index50680
-Node: Key Index61952
+Node: The chess.el library1190
+Node: Positions1399
+Node: Creating positions2405
+Node: Position coordinates3176
+Node: Position details5704
+Node: Annotations10157
+Node: FEN notation10499
+Node: EPD notation11996
+Node: Operations13474
+Node: Opcode "acd" analysis count depth14448
+Node: Opcode "acn" analysis count nodes14802
+Node: Opcode "acs" analysis count seconds15327
+Node: Opcode "am" avoid move(s)15847
+Node: Opcode "bm" best move(s)16288
+Node: Plies16683
+Node: Creating plies17824
+Node: Ply details19008
+Node: The "next" position19488
+Node: Algebraic notation19846
+Node: Variations21274
+Node: Creating variations22368
+Node: Variation positions22676
+Node: Varation plies23277
+Node: Making a move in a variation23718
+Node: Games24293
+Node: Creating games25867
+Node: Game tags26308
+Node: Game positions26915
+Node: Game plies27539
+Node: Making a move27808
+Node: PGN notation28235
+Node: PGN mode28969
+Node: Collections29230
+Node: Opening Databases29981
+Node: Querying Databases30365
+Node: Modifying Databases30991
+Node: Finalising Databases31263
+Node: Database Modules31438
+Node: chess-file31696
+Node: chess-scid32338
+Node: Modules32575
+Node: Chessboard displays39324
+Node: Generic display manipulation functions39935
+Node: Plain ASCII diagram displays42860
+Node: ICS1 style ASCII displays44305
+Node: Graphical displays44609
+Node: Engines44763
+Node: Common functions45265
+Node: AI46301
+Node: Crafty46772
+Node: Gnu Chess47503
+Node: Phalanx48369
+Node: Sjeng48476
+Node: Stockfish48579
+Node: Internet Chess Servers48674
+Node: Connecting to a server49580
+Node: Seeking an opponent for a new game50256
+Node: The sought game display50708
+Node: Concept Index51684
+Node: Function and Variable Index51927
+Node: Key Index63418
 
 End Tag Table
diff --git a/doc/chess.texi b/doc/chess.texi
index 0e6fa8b..c4b3124 100644
--- a/doc/chess.texi
+++ b/doc/chess.texi
@@ -87,14 +87,14 @@ structured for use as a library, and also how to use it as 
a client.
 @end ifinfo
 
 @menu
-* The chess.el library::        
-* Modules::                     
-* Chessboard displays::         
-* Engines::                     
-* Internet Chess Servers::      
-* Concept Index::               
-* Function and Variable Index::  
-* Key Index::                   
+* The chess.el library::
+* Modules::
+* Chessboard displays::
+* Engines::
+* Internet Chess Servers::
+* Concept Index::
+* Function and Variable Index::
+* Key Index::
 @end menu
 
 @node The chess.el library, Modules, Top, Top
@@ -102,11 +102,11 @@ structured for use as a library, and also how to use it 
as a client.
 @cindex library
 
 @menu
-* Positions::                   
-* Plies::                       
-* Variations::                  
-* Games::                       
-* Collections::                 
+* Positions::
+* Plies::
+* Variations::
+* Games::
+* Collections::
 @end menu
 
 @node Positions, Plies, The chess.el library, The chess.el library
@@ -130,12 +130,12 @@ notation.
 Chess puzzles are most often provided as a set of positions.
 
 @menu
-* Creating positions::          
-* Position coordinates::        
-* Position details::            
-* Annotations::                 
-* FEN notation::                
-* EPD notation::                
+* Creating positions::
+* Position coordinates::
+* Position details::
+* Annotations::
+* FEN notation::
+* EPD notation::
 @end menu
 
 @node Creating positions, Position coordinates, Positions, Positions
@@ -501,12 +501,12 @@ Return a list of positions contained in @var{file}.
 @end defun
 
 @menu
-* Operations::                  
-* Opcode "acd" analysis count depth::  
-* Opcode "acn" analysis count nodes::  
-* Opcode "acs" analysis count seconds::  
-* Opcode "am" avoid move(s)::   
-* Opcode "bm" best move(s)::    
+* Operations::
+* Opcode "acd" analysis count depth::
+* Opcode "acn" analysis count nodes::
+* Opcode "acs" analysis count seconds::
+* Opcode "am" avoid move(s)::
+* Opcode "bm" best move(s)::
 @end menu
 
 @node Operations, Opcode "acd" analysis count depth, EPD notation, EPD notation
@@ -584,10 +584,10 @@ Transmitting the base position's FEN string along with 
the ply offers a
 form of confirmation during the course of a game.
 
 @menu
-* Creating plies::              
-* Ply details::                 
-* The "next" position::         
-* Algebraic notation::          
+* Creating plies::
+* Ply details::
+* The "next" position::
+* Algebraic notation::
 @end menu
 
 @node Creating plies, Ply details, Plies, Plies
@@ -734,10 +734,10 @@ They may be represented verbally by announcing each of 
the plies in
 turn, as mentioned above.
 
 @menu
-* Creating variations::         
-* Variation positions::         
-* Varation plies::              
-* Making a move in a variation::  
+* Creating variations::
+* Variation positions::
+* Varation plies::
+* Making a move in a variation::
 @end menu
 
 @node Creating variations, Variation positions, Variations, Variations
@@ -883,12 +883,12 @@ Set the list of plies which represents the main variation 
of @var{game}.
 @end defun
 
 @menu
-* Creating games::              
-* Game tags::                   
-* Game positions::              
-* Game plies::                  
-* Making a move::               
-* PGN notation::                
+* Creating games::
+* Game tags::
+* Game positions::
+* Game plies::
+* Making a move::
+* PGN notation::
 @end menu
 
 @node Creating games, Game tags, Games, Games
@@ -1015,7 +1015,7 @@ If @var{to-string} is non-nil, return a string instead of 
inserting the resultin
 @end defun
 
 @menu
-* PGN mode::                    
+* PGN mode::
 @end menu
 
 @node PGN mode,  , PGN notation, PGN notation
@@ -1043,11 +1043,11 @@ games from the library, or performing library-wide 
analyses and
 searches.
 
 @menu
-* Opening Databases::           
-* Querying Databases::          
-* Modifying Databases::         
-* Finalising Databases::        
-* Database Modules::            
+* Opening Databases::
+* Querying Databases::
+* Modifying Databases::
+* Finalising Databases::
+* Database Modules::
 @end menu
 
 @node Opening Databases, Querying Databases, Collections, Collections
@@ -1116,8 +1116,8 @@ Currently, there are two subclasses of the above defined
 database base-class:
 
 @menu
-* chess-file::                  
-* chess-scid::                  
+* chess-file::
+* chess-scid::
 @end menu
 
 @node chess-file, chess-scid, Database Modules, Database Modules
@@ -1268,10 +1268,10 @@ fashion to a human reader, it is necessary to create 
and use a display
 object.
 
 @menu
-* Generic display manipulation functions::  
-* Plain ASCII diagram displays::  
-* ICS1 style ASCII displays::   
-* Graphical displays::          
+* Generic display manipulation functions::
+* Plain ASCII diagram displays::
+* ICS1 style ASCII displays::
+* Graphical displays::
 @end menu
 
 @node Generic display manipulation functions, Plain ASCII diagram displays, 
Chessboard displays, Chessboard displays
@@ -1461,14 +1461,16 @@ can be other uses for engine objects, such as providing 
networked engined
 for playing with opponent over different types of transports.
 
 @menu
-* Common functions::            
-* Crafty::                      
-* Gnu Chess::                   
-* Phalanx::                     
-* Sjeng::                       
+* Common functions::
+* AI::
+* Crafty::
+* Gnu Chess::
+* Phalanx::
+* Sjeng::
+* Stockfish::
 @end menu
 
address@hidden Common functions, Crafty, Engines, Engines
address@hidden Common functions, AI, Engines, Engines
 @section Common functions
 
 @c lispfun chess-engine-create
@@ -1518,18 +1520,66 @@ to submit the data.  Otherwise, the 'send event is 
triggered and the engine
 event handler can take care of the data.
 @end defun
 
address@hidden Crafty, Gnu Chess, Common functions, Engines
address@hidden AI, Crafty, Common functions, Engines
address@hidden AI
+
+The @dfn{AI} engine module defines a pure Emacs Lisp implementation
+of an opponent.  Contrary to all other engine modules mentioned later on,
+it does not require any external programs to be installed.
+
+To explicitly select this engine as an opponent,
+use @kbd{C-u M-x chess RET ai RET}.
+
address@hidden chess-ai-depth
+Defines the default search depth for this engine.
address@hidden defopt
+
address@hidden Crafty, Gnu Chess, AI, Engines
 @section Crafty
 
+Crafty is a chess program written by Michael Byrne, UAB professor
+Dr. Robert Hyatt, Tracy Riegle, Peter Skinner and Ted Langreck.  It is directly
+derived from Cray Blitz, winner of the 1983 and 1986 World Computer Chess
+Championships.
+
+If Crafty is installed and can be found in the program search path,
+the @code{chess-crafty} engine module will automatically detect it.
+
address@hidden chess-crafty-path
+If Crafty is installed in a non-standard location, variable 
@code{chess-crafty-path}
+can be set to point to the executable.
+
+If you have multiple engines installed you can explicitly select
+to play against Crafty by invoking @kbd{C-u M-x chess RET crafty RET}.
+
 @node Gnu Chess, Phalanx, Crafty, Engines
 @section Gnu Chess
 
+GNU Chess is free software, licensed under the terms of the
+GNU General Public License version 3 or any later version,
+and is maintained by collaborating developers.  As one of the earliest
+computer chess programs with full source code available, it's one of the oldest
+for Unix-based systems and has since been ported to many other platforms.
+
+If GNU Chess is installed and can be found in the program search path,
+the @code{chess-gnuchess} engine module will automatically detect it.
+
address@hidden chess-gnuchess-path
+If GNU Chess is installed in a non-standard location, variable
address@hidden can be set to point to the executable.
+
+If you have multiple engines installed you can explicitly select
+to play against GNU Chess by invoking @kbd{C-u M-x chess RET gnuchess RET}.
+
 @node Phalanx, Sjeng, Gnu Chess, Engines
 @section Phalanx
 
address@hidden Sjeng,  , Phalanx, Engines
address@hidden Sjeng, Stockfish, Phalanx, Engines
 @section Sjeng
 
address@hidden Stockfish,  , Sjeng, Engines
address@hidden Stockfish
+
 @node Internet Chess Servers, Concept Index, Engines, Top
 @chapter Internet Chess Servers
 
@@ -1551,9 +1601,9 @@ The format of each entry is:
 @end defvar
 
 @menu
-* Connecting to a server::      
-* Seeking an opponent for a new game::  
-* The sought game display::     
+* Connecting to a server::
+* Seeking an opponent for a new game::
+* The sought game display::
 @end menu
 
 @node Connecting to a server, Seeking an opponent for a new game, Internet 
Chess Servers, Internet Chess Servers



reply via email to

[Prev in Thread] Current Thread [Next in Thread]