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

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

[elpa] 15/255: board display


From: Eric Schulte
Subject: [elpa] 15/255: board display
Date: Sun, 16 Mar 2014 01:02:10 +0000

eschulte pushed a commit to branch go
in repository elpa.

commit 0d0055454a406ae0d8e1b8281ac41fc5bebd6006
Author: Eric Schulte <address@hidden>
Date:   Tue May 15 10:36:39 2012 -0400

    board display
---
 sgf.el |   32 ++++++++++++++++++++++++++++++--
 1 files changed, 30 insertions(+), 2 deletions(-)

diff --git a/sgf.el b/sgf.el
index d6c4ecc..49f77a0 100644
--- a/sgf.el
+++ b/sgf.el
@@ -188,12 +188,40 @@
 
 
 ;;; Visualization
-;; - define a board format array
 ;; - make buffer to show a board, and notes, etc...
-;; - keep a marker in an sgf file
+;; - keep an index into the sgf file
 ;; - write functions for building boards from sgf files (forwards and 
backwards)
 ;; - sgf movement keys
 
+;; (defvar *board* (make-vector (* 19 19) nil))
+(defun board-to-string (board)
+  (let ((size (sqrt (length board))))
+    (flet ((header ()
+             (concat 
+              "    "
+              (let ((row ""))
+                (dotimes (n size row)
+                  (setq row (concat row (string (+ ?A n)) " "))))
+              "\n"))
+           (emph (n) (or (= 3 n)
+                         (= 4 (- size n))
+                         (= n (/ (- size 1) 2))))
+           (body ()
+             (let ((body ""))
+               (dotimes (m size body)
+                 (setq body
+                       (concat body
+                               (format "%3d" (- size m))
+                               (let ((row " "))
+                                 (dotimes (n size row)
+                                   (setq row (concat row
+                                                     (if (and (emph n) (emph 
m))
+                                                         "+ "
+                                                       ". ")))))
+                               (format "%2d" (- size m))
+                               "\n"))))))
+      (concat (header) (body) (header)))))
+
 
 ;;; Tests
 (require 'ert)



reply via email to

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