diff options
| author | John Wiegley <johnw@newartisans.com> | 2002-04-11 01:06:25 +0000 |
|---|---|---|
| committer | John Wiegley <johnw@newartisans.com> | 2002-04-11 01:06:25 +0000 |
| commit | e37d2468e2b1a290e68d216d1eeb71348931149e (patch) | |
| tree | e0051c360dbd66cbf7343bc908a0938e04344ca3 /chess-network.el | |
| parent | 3375c5ff17acb3e9af7f2c011a6961e0623d02ad (diff) | |
*** no comment ***
Diffstat (limited to 'chess-network.el')
| -rw-r--r-- | chess-network.el | 71 |
1 files changed, 66 insertions, 5 deletions
diff --git a/chess-network.el b/chess-network.el index 32dc70b..3468abd 100644 --- a/chess-network.el +++ b/chess-network.el @@ -20,10 +20,10 @@ (lambda () (funcall chess-engine-response-handler 'connect (match-string 2))))) - (cons "accept\\(\\s-+\\(.+\\)\\)?$" + (cons "accept match\\(\\s-+\\(.+\\)\\)?$" (function (lambda () - (funcall chess-engine-response-handler 'accept + (funcall chess-engine-response-handler 'accept-connect (match-string 2))))) (cons "fen\\s-+\\(.+\\)" (function @@ -47,10 +47,44 @@ (function (lambda () (funcall chess-engine-response-handler 'resign)))) + (cons "draw$" + (function + (lambda () + (funcall chess-engine-response-handler 'draw)))) + (cons "accept draw$" + (function + (lambda () + (funcall chess-engine-response-handler 'accept-draw)))) + (cons "decline draw$" + (function + (lambda () + (funcall chess-engine-response-handler 'decline-draw)))) (cons "abort$" (function (lambda () - (funcall chess-engine-response-handler 'abort)))))) + (funcall chess-engine-response-handler 'abort)))) + (cons "accept abort$" + (function + (lambda () + (funcall chess-engine-response-handler 'accept-abort)))) + (cons "decline abort$" + (function + (lambda () + (funcall chess-engine-response-handler 'decline-abort)))) + (cons "takeback\\s-+\\([0-9]+\\)$" + (function + (lambda () + (funcall chess-engine-response-handler 'undo + (string-to-int (match-string 1)))))) + (cons "accept takeback\\s-+\\([0-9]+\\)$" + (function + (lambda () + (funcall chess-engine-response-handler 'accept-undo + (string-to-int (match-string 1)))))) + (cons "decline takeback$" + (function + (lambda () + (funcall chess-engine-response-handler 'decline-undo)))))) (defun chess-network-handler (event &rest args) "Initialize the network chess engine." @@ -89,8 +123,11 @@ ((eq event 'busy) (chess-engine-send nil "playing\n")) - ((eq event 'accept) - (chess-engine-send nil (format "accept %s\n" chess-full-name))) + ((eq event 'connect) + (chess-engine-send nil (format "chess match %s\n" chess-full-name))) + + ((eq event 'accept-connect) + (chess-engine-send nil (format "accept match %s\n" chess-full-name))) ((eq event 'decline) (chess-engine-send nil "decline\n")) @@ -98,9 +135,33 @@ ((eq event 'resign) (chess-engine-send nil "resign\n")) + ((eq event 'draw) + (chess-engine-send nil "draw\n")) + + ((eq event 'accept-draw) + (chess-engine-send nil "accept draw\n")) + + ((eq event 'decline-draw) + (chess-engine-send nil "decline draw\n")) + ((eq event 'abort) (chess-engine-send nil "abort\n")) + ((eq event 'accept-abort) + (chess-engine-send nil "accept abort\n")) + + ((eq event 'decline-abort) + (chess-engine-send nil "decline abort\n")) + + ((eq event 'undo) + (chess-engine-send nil (format "takeback %d\n" (car args)))) + + ((eq event 'accept-undo) + (chess-engine-send nil (format "accept takeback %d\n" (car args)))) + + ((eq event 'decline-undo) + (chess-engine-send nil "decline takeback\n")) + ((eq event 'move) (chess-engine-send nil (concat (chess-ply-to-algebraic (car args)) "\n"))))) |
