diff options
| author | Mario Lang <mlang@delysid.org> | 2004-03-07 22:15:02 +0000 |
|---|---|---|
| committer | Mario Lang <mlang@delysid.org> | 2004-03-07 22:15:02 +0000 |
| commit | 397398a87bf155d6713bf597a1931afa7c7a0e08 (patch) | |
| tree | 7566edd3f94772c5cb2c28be7886af28fdb8038c | |
| parent | b3dec251cfbff83c26d8312ff1d5260826a4dfc8 (diff) | |
laptop sync
| -rw-r--r-- | ChangeLog | 11 | ||||
| -rw-r--r-- | PLAN | 28 | ||||
| -rw-r--r-- | README | 42 | ||||
| -rw-r--r-- | chess-pgn.el | 5 |
4 files changed, 52 insertions, 34 deletions
@@ -1,3 +1,14 @@ +2004-03-06 root <root@debian> + + * README: Rephrase the intro, and add a HISTORY section + to document the maintainership change. + + * PLAN: Remove chess-input entry, which was bogus. + + * chess-pgn.el (chess-pgn-read-game): Fix database-index calculation. + Now `chess-pgn-show-position' should work as expected in multiple + game PGN files. + 2004-03-01 Mario Lang <mlang@delysid.org> * chess-ply.el 1.46 @@ -21,31 +21,6 @@ chess-display it does so on the last ply (per display) - need a "save this game to a PGN file/database" command -chess-input -- In the following game, it wouldn't let me type "rh" to move Rh5, - when it was the only possible move - -[Event "ICS unrated blitz match"] -[Site "64.71.131.140"] -[Date "2002.06.05"] -[Round "-"] -[White "realmadrid"] -[Black "jwiegley"] -[Result "0-1"] -[WhiteElo "0"] -[BlackElo "1128"] -[TimeControl "60+6"] - -1. e4 c5 2. e5 d6 3. f4 dxe5 4. fxe5 Nc6 5. Qh5 g6 6. Qg5 Bg7 7. Nf3 Bf5 8. -d3 Nxe5 9. Nxe5 Bxe5 10. Qe3 Qa5+ 11. c3 Qc7 12. d4 cxd4 13. cxd4 Bxh2 14. -Bb5+ Bd7 15. Bxd7+ Kxd7 16. Qh3+ e6 17. Rxh2 Qxc1+ 18. Kf2 Qxb2+ 19. Kg1 -Qxa1 20. Qb3 Qxd4+ 21. Kf1 Qf4+ 22. Kg1 Ne7 23. Qxb7+ Kd6 24. g3 Qe3+ 25. -Rf2 Qxg3+ 26. Rg2 Qe1+ 27. Kh2 Rhb8 28. Rd2+ Qxd2+ 29. Nxd2 Rxb7 30. Kg3 -Rb2 31. Ne4+ Kd5 32. Nf6+ Ke5 33. Nxh7 Rxa2 34. Ng5 Nf5+ 35. Kg4 Kf6 36. -Ne4+ Ke7 37. Kg5 Rg2+ 38. Kf4 Rh8 39. Ke5 Rh5 40. Nf6 Ng7+ 41. Nxh5 gxh5 -42. Kf4 h4 43. Kf3 h3 44. Kf4 h2 45. Ke3 h1=Q 46. Kd3 Qh4 47. Kc3 Rg3+ 48. -Kb2 Qh2+ 49. Ka1 Rg1# {realmadrid checkmated} 0-1 - chess-images - if chess-display-popup is nil, and I resize the board, it merely deletes the frame and never shows it again @@ -65,6 +40,9 @@ chess-network chess-ply - detect games drawn by three-fold repetition and the 50 move rule + (Note, FIDE rules define that a draw must be claimed by one + of the opponents, so we do not really need to do this on + every move, just when a draw is requested.) chess-pgn - when saving a full game to the clipboard, it shouldn't need to save @@ -1,14 +1,40 @@ Welcome to chess.el, a client and library for playing Chess from Emacs. -chess.el does not know how to play chess against you. While the -library does know all legal moves, there is no "thinking" module. For -this, you must download one of the publically available chess engines, -such as gnuchess, crafty or phalanx. You will find all of these -sufficiently challenging, I'm sure. Once they are installed, chess.el -will use them, provided the locations of the binaries is on your PATH. - -John Wiegley <johnw@gnu.org> +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. +You can play against an external chess program such as gnuchess, +crafty, phalanx or sjeng. All of them are publically available, +and chess.el will automatically detect which one +you have installed, provided they have standard executable +program names, and are in a located in a directory which +is part of the PATH. See the customisable variable +`chess-default-engine'. + +You can also play against another human or computer over the internet +(through a direct Emacs-to-Emacs connection, or +on one of the Internet Chess Servers like freechess.org or +chessclub.com), or even against a very simple chess thinking +module implemented in pure Emacs Lisp. + +chess.el also provides a mode for editing Portable Game Notation (PGN +files. + +To improve your chessaility, you might also like to have +a look at chess-puzzle, which allows you to solve +chess puzzle collections (in PGN or EPD format) against +one of the engines you have installed. + +HISTORY + +chess.el started out as a single file project with +version 1.0 by John Wiegley <johnw@gnu.org>. Version 2.0 is a major +rewrite and reorganisation of the original code, also done +by John Wiegley. In the end of 2003, John did not +have a lot of time to finish all the various aspects of version 2.0, +and maintainership was given to Mario Lang <mlang@delysid.org>. + LAYOUT diff --git a/chess-pgn.el b/chess-pgn.el index 796187c..dde8d68 100644 --- a/chess-pgn.el +++ b/chess-pgn.el @@ -4,6 +4,9 @@ ;; (require 'chess-algebraic) +(require 'chess-fen) +(require 'chess-game) +(require 'chess-message) (defvar chess-pgn-fill-column 60) @@ -329,7 +332,7 @@ PGN text." (setq last-location locations locations (cdr locations)))) (setq index (if last-location - (1- (length last-location)) + (- (length chess-file-locations) (length last-location)) 0)) (when (or (null chess-pgn-current-game) (/= index (chess-game-data chess-pgn-current-game |
