Lisp Game Programming 再履修 <その10> multithreading ②
Web サーバなら分かるけど、ゲームでは usocket や bordeaux-threads を使うシチュエーションはそうそうないのだろう。
なので、自分自身が後からこのプログラムコードを見たときに参考になるメモの意味合いで、理解を助けるためのイメージ図を残しておこう。
注)あくまでも自分向けです。へへ。
server-step1.lisp や client-step1.lisp では、なんだっけ状態にあった「 intern 」や「 defpackage 」の使い方を何となく思い出したことが収穫だった。
プログラムコードの中で、パッケージを新たに宣言し、
(defpackage :blaster-commands)
その中で、blaster-commandsに、クライアントから送信されたコマンドの「 PLAY 」をインターン(大文字が必須)して、
(intern (string-upcase (first tokens)) 'blaster-commands)
コマンドをこんな感じで変更するのは、どこかで見たことはあったけど使うようなことはなかった。
(case command (blaster-command::play
よっしゃ! お次はウィンドウを出してみよう。
「いや~。Lisp って本当にいいもんですね!」
ご同輩、知ってますよね?このフレーズ。