]> code.delx.au - gnu-emacs-elpa/blobdiff - chess.el
Release 2.0.4
[gnu-emacs-elpa] / chess.el
index e1c38c42b289b1ab92636dde46d40657d320260b..96d23f97d27317a7b3ee929261a5722fa491f291 100644 (file)
--- a/chess.el
+++ b/chess.el
@@ -1,55 +1,69 @@
-;;; chess.el --- Play chess in Emacs
+;;; chess.el --- Play chess in GNU Emacs
 
-;; Copyright (C) 2001 John Wiegley <johnw@gnu.org>
+;; Copyright (C) 2001, 2014 Free Software Foundation, Inc.
 
-;; Emacs Lisp Archive Entry
-;; Filename: chess.el
-;; Version: 2.0
-;; Keywords: games
 ;; Author: John Wiegley <johnw@gnu.org>
 ;; Maintainer: Mario Lang <mlang@delysid.org>
-;; Description: Play chess in Emacs
-;; URL: http://emacs-chess.sourceforge.net/
-;; Compatibility: Emacs21
+;; Version: 2.0.4
+;; Package-Requires: ((cl-lib "0.5"))
+;; Keywords: games
+;; Compatibility: Emacs24
 
-;; This file is not part of GNU Emacs.
+;; This program is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
 
-;; This is free software; you can redistribute it and/or modify it under
-;; the terms of the GNU General Public License as published by the Free
-;; Software Foundation; either version 2, or (at your option) any later
-;; version.
-;;
-;; This is distributed in the hope that it will be useful, but WITHOUT
-;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-;; FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-;; for more details.
-;;
 ;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-;; MA 02111-1307, USA.
+;; along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 ;;; Commentary:
 
 ;; Welcome to Emacs Chess, a chess playing module for GNU Emacs.
 ;;
-;; This program will not play chess against you; it is not a chess
-;; computer.  It can use a chess computer, however, to simulate your
-;; opponent's moves.  This is decided when you choose your opponent.
-;; You must, of course, have that chess computer installed.
+;; chess.el is an Emacs Lisp library and several clients on top of the
+;; underlying library functionality for performing various activities
+;; related to the game of chess.
+;;
+;; Type `M-x chess', and play chess against one of the default engine modules.
 ;;
-;; To just get a chessboard up, put the following in your .emacs file:
+;; Type `C-u M-x chess' to select a specific engine.
+;; You can play against various external chess computer programs, like
+;; crafty, fruit, glaurung, gnuchess, phalanx, sjeng and stockfish.
+;; There is also an Emacs based chess computer module (ai) which does not
+;; require any external programs.  However, the internal AI is not very strong.
 ;;
-;;   (add-to-list 'load-path "<the path to Emacs Chess>")
+;; To play against another human on a different machine running GNU Emacs,
+;; type `C-u M-x chess RET network RET'.
+;; To play on one of the internet chess servers, type `M-x chess-ics'.
 ;;
-;;   (autoload 'chess "chess" "Play a game of chess" t)
+;; If you'd like to view or edit Portable Game Notation (PGN) files,
+;; `chess-pgn-mode' provides a text-mode derived mode which can display the
+;; chess position at point.
 ;;
-;; Now you can type `M-x chess', and play chess against anyone else in
-;; the room with you, without having to install anything more.
+;; To improve your chessaility, `M-x chess-tutorial' provides a simple knight
+;; movement exercise to get you started, and `M-x chess-puzzle' can be used
+;; to solve puzzle collections in EPD or PGN format.
+;;
+;; There are some different types of chessboard display modules available.
+;; * A simple character based display (chess-plain).
+;; * A more verbose ASCII chessboard (chess-ics1).
+;; * A graphical chessboard display which uses images (chess-images).
+;;
+;; The variable `chess-default-display' controls which display modules
+;; are tried when a chessboard should be displayed.  By default, chess-images
+;; is tried first.  If Emacs is not running in a graphical environment,
+;; chess-ics1 is used instead.  To enable the chess-plain display module,
+;; customize `chess-default-display' accordingly.
 ;;
 ;; Once this is working, the next thing to do is to customize
-;; `chess-use-modules'.  This is a list of functionality modules used
-;; by chess.el to provide its functionality.  You can enable or
+;; `chess-default-modules'.  This is a list of functionality modules used
+;; by chess.el to provide additional functionality.  You can enable or
 ;; disable modules so that Emacs Chess better suites your tastes.
 ;; Those modules in turn often have configuration variables, and
 ;; appropriate documentation at the top of the related file.
 ;; displays, opponents, analysis programs, etc.  See the documentation
 ;; in chess-module.el to learn more.
 ;;
-;; There is no documentation for this program other than what exists
-;; in the source files.  This is because the source files aim at being
-;; self documenting, and as chess is such a simple game, most chess
-;; players aren't going to need to know much about this program in
-;; particular.
-;;
-;; However, most people will probably be interested in reading the top
+;; Most people will probably also be interested in reading the top
 ;; of chess-display.el and chess-pgn.el, which describe the user
 ;; interface commands available in each of those buffer types.
 
 
 (defgroup chess nil
   "An Emacs chess playing program."
-  :group 'games)
+  :group 'games
+  :link '(custom-manual "(chess)Top"))
 
-(defconst chess-version "2.0b6"
+(defconst chess-version "2.0.4"
   "The version of the Emacs chess program.")
 
 (defcustom chess-default-display
@@ -93,7 +102,7 @@ not available."
 
 (defcustom chess-default-modules
   '((chess-sound chess-announce)
-    chess-autosave
+    ;;chess-autosave ml (2014-06-06): module not fully working
     chess-clock
     ;;chess-kibitz   jww (2002-04-30): not fully supported yet
     ;;chess-chat
@@ -225,6 +234,9 @@ Otherwise use `chess-default-engine' to determine the engine."
 ;;;###autoload
 (defalias 'chess-session 'chess)
 
+;;;###autoload
+(define-key menu-bar-games-menu [chess] '(menu-item "Chess" chess :help "Play Chess"))
+
 ;;;###autoload
 (defun chess-create-display (perspective &optional modules-too)
   "Create a display, letting the user's customization decide the style.