Documentos de Académico
Documentos de Profesional
Documentos de Cultura
(defun donde-esta-hueco(tablero)
(dotimes (f 3 nil)
(dotimes (c 3 nil)
(if (= 0 (aref tablero f c))
(return-from donde-esta-hueco (list f c))
)
)
)
)
-----------------------------------------------------------------------------------------------------------------------------------------(defun mueve-hueco-arriba(tablero)
(setq v (donde-esta-hueco tablero))
(if (= 0 (car v))
(return-from mueve-hueco-arriba nil)
)
(setf (aref tablero(car v)(cadr v))(aref tablero(1- (car v))(cadr v)))
(setf (aref tablero(1- (car v))(cadr v)) 0)
)
-----------------------------------------------------------------------------------------------------------------------------------------(setq final (make-array '(3 3):initial-contents '((1 2 3)
(8 0 4)
(7 6 5)
ARREGLOS
)))
-----------------------------------------------------------------------------------------------------------------------------------------(defun mueve-hueco-abajo(tablero)
(setq v (donde-esta-hueco tablero))
(if (= 0 (car v))
(return-from mueve-hueco-abajo nil)
)
(setf (aref tablero(car v)(cadr v))(aref tablero(1+ (car v))(cadr v)))
(setf (aref tablero(1+ (car v))(cadr v)) 0)
)
-----------------------------------------------------------------------------------------------------------------------------------------(setq var-arreglo (make-array '(8)))
ARREGLOS
(defun llenar (arreglo num)
(dotimes (i (car(array-dimensions arreglo)) arreglo)
(setf (aref arreglo i) (+ num i))
)
)
-----------------------------------------------------------------------------------------------------------------------------------------(setq var-arreglo (make-array '(8):initial-contents '(1 2 3 3 4 4 4 1)))
(defun repite (arreglo num)
(setq aux 0)
(dotimes (i (car(array-dimensions arreglo)) aux)
(if (=(aref arreglo i) num)
(set 'aux (1+ aux))
)
)
)