;;;
;;; c:\\program files\\acl62\\music59.cl
;;;
(load "c:\\program files\\acl62\\music58.cl")
(defun rotate-list-from-elment-forward (element l)
(rotate-list-left l (- (get-position-of-an-element element l) 1)))
(defun rotate-list-from-elment-forward-and-cut (element l)
(let ((lst (rotate-list-from-elment-forward element l)))
(cut-list-at-length (+ (random (length lst)) 1) lst)))
(defun rotate-list-from-elment-forward-and-cut-2 (element l)
(let ((lst (rotate-list-from-elment-forward element l)))
(cut-list-at-length (+ (random 4) 1) lst)))
(defun rotate-list-from-elment-backward (element l)
(rotate-list-left (reverse l)
(- (get-position-of-an-element element (reverse l)) 1)))
(defun rotate-list-from-elment-backward-and-cut (element l)
(let ((lst (rotate-list-from-elment-backward element l)))
(cut-list-at-length (+ (random (length lst)) 1) lst)))
(defun rotate-list-from-elment-backward-and-cut-2 (element l)
(let ((lst (rotate-list-from-elment-backward element l)))
(cut-list-at-length (+ (random 4) 1) lst)))
(defun rotate-list-from-elment-and-cut (element l)
(case (random 2)
(0 (rotate-list-from-elment-forward-and-cut element l))
(1 (rotate-list-from-elment-backward-and-cut element l))))
(defun rotate-list-from-elment-and-cut-2 (element l)
(case (random 2)
(0 (rotate-list-from-elment-forward-and-cut-2 element l))
(1 (rotate-list-from-elment-backward-and-cut-2 element l))))
(defun rotate-list-from-elment-forward-at-random (l)
(rotate-list-from-elment-forward (nth (random (length l)) l) l))
(defun rotate-list-from-elment-backward-at-random (l)
(rotate-list-from-elment-backward (nth (random (length l)) l) l))
(defun rotate-list-from-elment-forward-at-random-and-cut (l)
(let ((lst (rotate-list-from-elment-forward-at-random l)))
(cut-list-at-length (+ (random (length lst)) 1) lst)))
(defun rotate-list-from-elment-forward-at-random-and-cut-2 (l)
(let ((lst (rotate-list-from-elment-forward-at-random l)))
(cut-list-at-length (+ (random 4) 1) lst)))
(defun rotate-list-from-elment-backward-at-random-and-cut (l)
(let ((lst (rotate-list-from-elment-backward-at-random l)))
(cut-list-at-length (+ (random (length lst)) 1) lst)))
(defun rotate-list-from-elment-backward-at-random-and-cut-2 (l)
(let ((lst (rotate-list-from-elment-backward-at-random l)))
(cut-list-at-length (+ (random 4) 1) lst)))
(defun rotate-list-from-elment-at-random-and-cut (l)
(case (random 2)
(0 (rotate-list-from-elment-forward-at-random-and-cut l))
(1 (rotate-list-from-elment-backward-at-random-and-cut l))))
(defun rotate-list-from-elment-at-random-and-cut-2 (l)
(case (random 2)
(0 (rotate-list-from-elment-forward-at-random-and-cut-2 l))
(1 (rotate-list-from-elment-backward-at-random-and-cut-2 l))))
(defun connect-lists (l)
(let* ((ll (rotate-list-from-elment-at-random-and-cut l))
(l1 (rotate-list-from-elment-and-cut (car (last ll)) l))
(l2 (rotate-list-from-elment-and-cut (car (last l1)) l))
(l3 (rotate-list-from-elment-and-cut (car (last l2)) l))
(l4 (rotate-list-from-elment-and-cut (car (last l3)) l))
(l5 (rotate-list-from-elment-and-cut (car (last l4)) l))
(l6 (rotate-list-from-elment-and-cut (car (last l5)) l))
(l7 (rotate-list-from-elment-and-cut (car (last l6)) l))
(l8 (rotate-list-from-elment-and-cut (car (last l7)) l))
(l9 (rotate-list-from-elment-and-cut (car (last l8)) l)))
(append (butlast ll) (butlast l1) (butlast l2) (butlast l3)
(butlast l4) (butlast l5) (butlast l6) (butlast l7)
(butlast l8) (butlast l9))))
(defun connect-lists-2 (l)
(let* ((ll (rotate-list-from-elment-at-random-and-cut-2 l))
(l1 (rotate-list-from-elment-and-cut-2 (car (last ll)) l))
(l2 (rotate-list-from-elment-and-cut-2 (car (last l1)) l))
(l3 (rotate-list-from-elment-and-cut-2 (car (last l2)) l))
(l4 (rotate-list-from-elment-and-cut-2 (car (last l3)) l))
(l5 (rotate-list-from-elment-and-cut-2 (car (last l4)) l))
(l6 (rotate-list-from-elment-and-cut-2 (car (last l5)) l))
(l7 (rotate-list-from-elment-and-cut-2 (car (last l6)) l))
(l8 (rotate-list-from-elment-and-cut-2 (car (last l7)) l))
(l9 (rotate-list-from-elment-and-cut-2 (car (last l8)) l)))
(append (butlast ll) (butlast l1) (butlast l2) (butlast l3)
(butlast l4) (butlast l5) (butlast l6) (butlast l7)
(butlast l8) (butlast l9))))
(defun get-elements-in-a-list-at-random (l)
(do ((i 1 (1+ i))
(w))
((> i 20) (cut-list-at-length (+ (random 20) 1) w))
(push (nth (random (length l)) l) w)))
(defun get-elements-in-a-list-at-random-2 (l)
(do ((i 1 (1+ i))
(w))
((> i 10) (cut-list-at-length (+ (random 10) 1) w))
(push (nth (random (length l)) l) w)))
|