Common Lisp とLispWorks CAPIを使用して Connect Four ゲームに取り組んでいます。私は 1 つのことを除いてインターフェイスを終了しました: プッシュボタン (プッシュボタンパネル内) を使用して列にピースをドロップし、対応する列がいっぱいになったらボタンを無効にしたいと思います。私は 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)
push-button-panel も同様に作成されますが、パネルに:items
配置するボタン (または CAPI がボタンを作成するデータ) のリストである引数を取る点が異なります。
プッシュボタンパネルの個々のボタンを無効にする方法を知る必要があるだけです。また、最後のコードで何が起こっているのかを説明していただければ幸いです。私はそれをまったく理解していないからです。
ありがとう!