From 22e44c9663d555eb347d4fdbcced1052f44bbe43 Mon Sep 17 00:00:00 2001 From: Nikolay Puzanov Date: Fri, 18 Apr 2014 10:40:19 +0400 Subject: [PATCH] Indent --- kot-kit.scm | 72 ++++++++++++++++++++++++++--------------------------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/kot-kit.scm b/kot-kit.scm index 29c4e8d..d736d27 100644 --- a/kot-kit.scm +++ b/kot-kit.scm @@ -1,5 +1,5 @@ (import (rnrs io ports (6))) ;; Guile -;(require rnrs/io/ports-6) ;; Racket +;;(require rnrs/io/ports-6) ;; Racket (setlocale LC_ALL "") ;; Guile @@ -7,7 +7,7 @@ (for-each (lambda (x) (display x)) params) (newline)) -;; Helper functions +;; Helper (define (answer . params) (for-each (lambda (x) (display x)) params) (flush-output-port (current-output-port)) @@ -16,57 +16,57 @@ (define (yes? . params) (let ((ans (apply answer (append params '("? "))))) (if (= (string-length ans) 0) - #f - (or - (char-ci=? (string-ref ans 0) #\y) - (char-ci=? (string-ref ans 0) #\д))))) + #f + (or + (char-ci=? (string-ref ans 0) #\y) + (char-ci=? (string-ref ans 0) #\д))))) ;; Copy tree (define (copy-pet-tree pet-tree) (if (null? pet-tree) - '() - (list (car pet-tree) - (cadr pet-tree) - (copy-pet-tree (caddr pet-tree)) - (copy-pet-tree (cadddr pet-tree))))) + '() + (list (car pet-tree) + (cadr pet-tree) + (copy-pet-tree (caddr pet-tree)) + (copy-pet-tree (cadddr pet-tree))))) ;; Main function (define (game-round pet-tree top-pet-name) (let walk-pet-tree ((pet-tree pet-tree) (y-pet (list top-pet-name))) (if (null? pet-tree) - (if (yes? "Это " (car y-pet)) - (begin - (println "Ура, я угадал!") - '()) - (let* ((name (answer "Сдаюсь! Кто это? ")) - (feature (answer "Чем " name " отличается от " (car y-pet) "? "))) - (list name feature '() '()))) ;; return new pet - (append - (list (car pet-tree) - (cadr pet-tree)) - (if (yes? (cadr pet-tree)) - (list (walk-pet-tree (caddr pet-tree) pet-tree) - (copy-pet-tree (cadddr pet-tree))) - (list (copy-pet-tree (caddr pet-tree)) - (walk-pet-tree (cadddr pet-tree) y-pet))))))) + (if (yes? "Это " (car y-pet)) + (begin + (println "Ура, я угадал!") + '()) + (let* ((name (answer "Сдаюсь! Кто это? ")) + (feature (answer "Чем " name " отличается от " (car y-pet) "? "))) + (list name feature '() '()))) ;; return new pet + (append + (list (car pet-tree) + (cadr pet-tree)) + (if (yes? (cadr pet-tree)) + (list (walk-pet-tree (caddr pet-tree) pet-tree) + (copy-pet-tree (cadddr pet-tree))) + (list (copy-pet-tree (caddr pet-tree)) + (walk-pet-tree (cadddr pet-tree) y-pet))))))) (define TREE-FILE-NAME "data.sexp") ;; Main LOOP (let loop ((pet-tree - (if (file-exists? TREE-FILE-NAME) - (call-with-input-file TREE-FILE-NAME read) - '()))) + (if (file-exists? TREE-FILE-NAME) + (call-with-input-file TREE-FILE-NAME read) + '()))) (let ((tree (game-round pet-tree "Кот"))) (newline) (if (yes? "Играем еще") - (loop tree) - (begin - ;; Racket - ; (if (file-exists? TREE-FILE-NAME) (delete-file TREE-FILE-NAME) #f) + (loop tree) + (begin + ;; Racket + ;; (if (file-exists? TREE-FILE-NAME) (delete-file TREE-FILE-NAME) #f) - (call-with-output-file TREE-FILE-NAME (lambda (p) (write tree p))) - )))) + (call-with-output-file TREE-FILE-NAME (lambda (p) (write tree p))) + )))) -; vim: set ts=2 sts=2 sw=2 expandtab: +;; vim: set ts=2 sts=2 sw=2 expandtab: