diff options
author | mRnea <akannemre@gmail.com> | 2025-03-04 21:36:34 +0300 |
---|---|---|
committer | mRnea <akannemre@gmail.com> | 2025-03-04 21:36:34 +0300 |
commit | 5faa1b4c9d94e2b970d45fc855ef9442954bd7e5 (patch) | |
tree | eb3b888b3c769fe0a2e29dd32ba39bcc2887a242 /kelime.lisp | |
parent | 20ba3d08ccba7f1c483f4bfdb324d000bb7faed4 (diff) |
Diffstat (limited to 'kelime.lisp')
-rw-r--r-- | kelime.lisp | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/kelime.lisp b/kelime.lisp index ca830f5..09610cf 100644 --- a/kelime.lisp +++ b/kelime.lisp @@ -4,8 +4,9 @@ ((kanji :accessor kanji :initarg :kanji :initform nil) (kana :accessor kana :initarg :kana :initform nil) (anlam :accessor anlam :initarg :anlam :initform nil) - (grup :accessor grup :initarg :grup :initform nil) - (altgrup :accessor altgrup :initarg :altgrup :initform nil))) + (tür :accessor tür :initarg :tür :initform nil) + (alttür :accessor alttür :initarg :alttür :initform nil) + (sıra :accessor sıra :initarg :sıra :initform nil))) (defmethod print-object ((kelime kelime) stream) (print-unreadable-object (kelime stream :type t) @@ -58,6 +59,22 @@ (if index (values (aref kelimeler index) index)))) +(defun kelimeleri-kar (kelimeler) + (let ((boy (length kelimeler))) + (loop :repeat (* 10 boy) + :do (rotatef (aref kelimeler (random boy)) + (aref kelimeler (random boy)))))) + +(defun kelimeleri-sırala (kelimeler) + (let ((boy (length kelimeler)) + (i 0)) + (loop :while (< i boy) + :do (let ((kelime (aref kelimeler i))) + (if (= i (sıra kelime)) + (incf i) + (rotatef (aref kelimeler i) + (aref kelimeler (sıra kelime)))))))) + ;; (defun son-n-kelime-tut (n) ;; (setf son-kelimeler ;; (make-array n :initial-element (make-instance 'kelime) |