아이템을 집었을 때의 동작 모습
5장에 있는 텍스트 게임 엔진 만들기에 보면 다 맘에 드는데 한가지 어처구니 없는 것이 있다.
아이템을 집었으면 다시 놓는 것도 있어야 하는데.. 없다..;;
게다가 리스트에 넣을때는 'push' 로 간단하게 넣으면 되는데 'pop'은?
인덱스에도 없는 걸 보면 없는건지.. 아님 내가 못찾는 건지..ㅜ;;
그래서 그냥 지금까지 배운 것으로 대충.; ( 사실 있는 소스에 살짝.ㅋ )
(defun pickdown (obj) (cond ((member obj (inventory)) (push (list obj *location*) *object-locations*) `(you are now pick-down the ,obj in ,*location*)) (t '(You have not that item.))))
(inventory) 를 쓸 경우 obj 에 'item- 를 넣을 경우도 해당 되지만..모 지금은 테스트용이니까
아이템을 놓았을 때의 모습
object-at 함수에서 쓰는 assoc 명령어 특성 때문에 그냥 최상위에 놓아도 된다지만..
그럼 들었다 내렸다 할 때마다 *object-locations* 에 리스트가 계속 늘어날텐데.. 상관
없는건지 어떤건지..--;;
이건 아직 어떤식으로 동작하는 지도 모르겠으니..--?;
( 테스트 환경 : windows-7 - CLISP )