Я работаю над игрой Connect Four, используя общий lisp и LispWorks CAPI .Я закончил с интерфейсом, за исключением одного: я использую кнопки (в кнопочной панели), чтобы помещать фрагменты в столбцы, и я хотел бы отключить кнопку после заполнения соответствующего столбца.Я относительно новичок в lisp, и особенно не разбираюсь в объектно-ориентированных вещах, поэтому я не могу понять, как это сделать.
Одна кнопка может быть создана следующим образом:
(setf my-button (capi:contain
(make-instance 'capi:push-button
:text "Button!")))
И отключен таким образом:
(capi:apply-in-pane-process
my-button #'(setf capi:button-enabled) nil my-button)
Панель кнопок создается аналогично, за исключением того, что она принимает аргумент :items
, который представляет собой список кнопок (или данных, которыеCAPI создаст кнопки из), которые будут находиться на панели.
Мне просто нужно знать, как отключить отдельные кнопки на кнопочной панели.Также было бы неплохо, если бы вы могли объяснить, что происходит в этом последнем фрагменте кода, потому что я его совсем не понимаю.
Спасибо!