[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] 190/255: set level (mainly for playing GNUGO)
From: |
Eric Schulte |
Subject: |
[elpa] 190/255: set level (mainly for playing GNUGO) |
Date: |
Sun, 16 Mar 2014 01:02:46 +0000 |
eschulte pushed a commit to branch go
in repository elpa.
commit a3e1e7c18c6729ae240c71748bdd2729225deb83
Author: Eric Schulte <address@hidden>
Date: Sun May 19 15:58:54 2013 -0600
set level (mainly for playing GNUGO)
---
back-ends/gtp.el | 6 ++++++
back-ends/igs.el | 6 ++++++
back-ends/sgf.el | 6 ++++++
go-api.el | 1 +
go-board.el | 7 ++++++-
5 files changed, 25 insertions(+), 1 deletions(-)
diff --git a/back-ends/gtp.el b/back-ends/gtp.el
index a6e1c73..4b9724e 100644
--- a/back-ends/gtp.el
+++ b/back-ends/gtp.el
@@ -71,6 +71,12 @@
(defmethod set-go-size ((gtp gtp) size)
(gtp-command gtp (format "boardsize %d" size)))
+(defmethod go-level ((gtp gtp))
+ (signal 'unsupported-back-end-command (list gtp :go-level)))
+
+(defmethod set-go-level ((gtp gtp) level)
+ (gtp-command gtp (format "level %d" level)))
+
(defmethod go-name ((gtp gtp))
(gtp-command gtp "name"))
diff --git a/back-ends/igs.el b/back-ends/igs.el
index 4188387..29f53d5 100644
--- a/back-ends/igs.el
+++ b/back-ends/igs.el
@@ -371,6 +371,12 @@ This is used to re-send messages to keep the IGS server
from timing out.")
(declare (indent 1))
`(with-current-buffer (buffer ,igs) ,@body))
+(defmethod go-level ((igs igs))
+ (signal 'unsupported-back-end-command (list igs :level)))
+
+(defmethod set-go-level ((igs igs) level)
+ (signal 'unsupported-back-end-command (list igs :set-level level)))
+
(defmethod go-size ((igs igs))
(with-igs igs (aget (igs-current-game) :size)))
diff --git a/back-ends/sgf.el b/back-ends/sgf.el
index 265860d..17052b2 100644
--- a/back-ends/sgf.el
+++ b/back-ends/sgf.el
@@ -110,6 +110,12 @@
((aget (root sgf) :SZ) (setf (cdr (assoc :SZ (root sgf))) size))
(t (push (cons :S size) (root sgf)))))
+(defmethod go-level ((sgf sgf))
+ (signal 'unsupported-back-end-command (list sgf :go-level)))
+
+(defmethod set-go-level ((sgf sgf) level)
+ (signal 'unsupported-back-end-command (list sgf :set-go-level level)))
+
(defmethod go-name ((sgf sgf))
(or (aget (root sgf) :GN)
(aget (root sgf) :EV)))
diff --git a/go-api.el b/go-api.el
index 2ea36cd..5eb24d6 100644
--- a/go-api.el
+++ b/go-api.el
@@ -56,6 +56,7 @@
;; setf'able back-end access
(defgeneric-w-setf go-size "Access BACK-END size.")
+(defgeneric-w-setf go-level "Access level of BACK-END.")
(defgeneric-w-setf go-name "Access BACK-END name.")
(defgeneric-w-setf go-move "Access current BACK-END move.")
(defgeneric-w-setf go-labels "Access current BACK-END labels.")
diff --git a/go-board.el b/go-board.el
index c20fc03..f3a83db 100644
--- a/go-board.el
+++ b/go-board.el
@@ -340,7 +340,7 @@
`(ignoring-unsupported
(prog1 (let ((,sym *back-end*)) ,@body)
(with-trackers ,sym ,@body))))
-(def-edebug-spec with-backends (sexp body))
+(def-edebug-spec with-backends (place body))
(defvar go-board-actions '(move resign undo comment)
"List of actions which may be taken on an GO board.")
@@ -400,6 +400,10 @@
(interactive "MComment: ")
(message "comment: %S" comment))
+(defun go-board-level (&optional level)
+ (interactive "nLevel: ")
+ (with-backends back (setf (go-level back) level)))
+
(defun go-board-next (&optional count)
(interactive "p")
(dotimes (n (or count 1) (or count 1))
@@ -435,6 +439,7 @@
(define-key map (kbd "r") 'go-board-resign)
(define-key map (kbd "u") 'go-board-undo)
(define-key map (kbd "c") 'go-board-comment)
+ (define-key map (kbd "l") 'go-board-level)
(define-key map (kbd "p") 'go-board-pass)
(define-key map (kbd "<right>") 'go-board-next)
(define-key map (kbd "<left>") 'go-board-undo)
- [elpa] 194/255: notes on scaling image sizes, (continued)
- [elpa] 194/255: notes on scaling image sizes, Eric Schulte, 2014/03/15
- [elpa] 198/255: don't mutate hidden state, Eric Schulte, 2014/03/15
- [elpa] 196/255: mark an overlay with a black or white cross, Eric Schulte, 2014/03/15
- [elpa] 187/255: don't commit if process already quit, Eric Schulte, 2014/03/15
- [elpa] 188/255: adding README, Eric Schulte, 2014/03/15
- [elpa] 199/255: marking captured territory when game ends, Eric Schulte, 2014/03/15
- [elpa] 197/255: use new mark machinery to apply labels, Eric Schulte, 2014/03/15
- [elpa] 195/255: query backend for territory, Eric Schulte, 2014/03/15
- [elpa] 201/255: print score after marking territory, Eric Schulte, 2014/03/15
- [elpa] 189/255: replace flet with cl-flet, Eric Schulte, 2014/03/15
- [elpa] 190/255: set level (mainly for playing GNUGO),
Eric Schulte <=
- [elpa] 204/255: prefix external names with package name, Eric Schulte, 2014/03/15
- [elpa] 165/255: working on placing backgrounds behind pieces, Eric Schulte, 2014/03/15
- [elpa] 202/255: added interface function to view an SGF file, Eric Schulte, 2014/03/15
- [elpa] 205/255: update the README, Eric Schulte, 2014/03/15
- [elpa] 206/255: ensure prisoners are 0 at the start of a new game, Eric Schulte, 2014/03/15
- [elpa] 208/255: support for viewing lists in a buffer, Eric Schulte, 2014/03/15
- [elpa] 207/255: robustly handle prematurely quitting process, Eric Schulte, 2014/03/15
- [elpa] 209/255: adding curry, rcurry and compose helpers, Eric Schulte, 2014/03/15
- [elpa] 213/255: include headers in width calculation, Eric Schulte, 2014/03/15
- [elpa] 215/255: smaller ldots, Eric Schulte, 2014/03/15