voidたん・アプリケーション・クラス構成
Ver.06/09
voidたん(仮)━void_tan.class
┃
┣VoidHeadline.class
┃ ┃
┃ ┗Headline.class(interface)
┃ ┃
┃ ┗anyhead.class(implements Headline.class)
┃
┣VoidHeadlineBuffer.class
┃
┗VoidHeadlineReader.class
voidたん・ライブラリ・実装詳細
void_tan.class
- voidたん・アプリケーションクラス
VoidHeadline.class
- headline を処理する親クラス。現在は HEADLINE/1.0 仕様 like
Headline.class を implements して作られた headline class を呼び出す
Headline.class (interface)
- headline を定義したインターフェース
anyhead.class (implements Headline.class)
- DOIchan! 氏の「ヘッドラインセンサ for いろんなホームページ」
っぽい仕様の headline サンプル実装
VoidHeadlineBuffer.class
- ヘッドライン・データを定義するクラス
VoidHeadlineReader.class
- ヘッドライン用のファイル読み込みクラス
voidたん(仮)・ライブラリ・クラス構成
Ver.08/10
┏Omamagoto.class(implements Makoto.class)
┃
┏Makoto.class(interface)
┃
┃ ┏OkawariReader.class
┃ ┃
┃ ┏Okawari.class(implements Shiori.class)
┃ ┃
┣Shiori.class(interface)
┃
┏Omoikane.class
┃
┣Ruri.class
┃ ┃
┃ ┗RuriSstp.class
┃ ┃
┃ ┗RuriSstpThread.class
voidtanlib┫
┣Sakura.class
┃ ┃
┃ ┣SakuraThread.class
┃ ┃
┃ ┣SakuraMouseThread.class
┃ ┃
┃ ┣SakuraMouseAdapter.class
┃ ┃
┃ ┗SakuraMouseMotionAdapter.class
┃
┗━┳Shell.class
┃ ┃
┃ ┣ShellSurface.class
┃ ┃
┃ ┗ShellMenuBindListener.class
┃
┣Seriko.clas
┃ ┃
┃ ┣SerikoThread.clas
┃ ┃
┃ ┣SerikoAnimation.class
┃ ┃ ┃
┃ ┃ ┗SerikoAnimationPattern.class
┃ ┃
┃ ┗SerikoBind.class
┃
┣Multee.class
┃
┣Balloon.class
┃ ┃
┃ ┗BalloonBox.class
┃ ┃
┃ ┗BalloonMessage.class
┃
┣Cotton.class
┃
┗━┳Alias.class
┃
┣VoidReader.class
┃
┗Png.class
┃
┣PngIdat.class
┃
┗PngImage.class
voidたん(仮)・ライブラリ・実装詳細
Omamagoto.class (implements Makoto.class)
- Makoto.class の実装の 1 つ。「選択」と「乱数回反復」を処理する
makoto.dll とコンパチ実装してみました。ちなみに Makoto.class は実体は
ありません。
Makoto.class (interface)
- Makoto を定義したインターフェース
OkawariReader.class
- 「おかわり」のファイル(=「華和梨」のファイル)を読み込む為のクラス。
BufferedReader からの派生クラス。暗号デコードと token 解析処理が追加
されている
Okawari.class (implements Shiori.class)
- Shiori.class の実装の 1 つで「華和梨」の辞書が使える疑似 AI。
Phase0.42 相当ですが一部手抜き。ちなみに Shiori.class は実体はありません。
Shiori.class (interface)
- Shiori を定義したインターフェース
Omoikane.class
- Shiori.class と Makoto.class を束ねる Ghost の上位クラス
Ruri.class
- Ghost や SSTP を Sakura と仲介するクラス。SSTP のサーバーになって
いる
RuriSstp.class
- SSTP の 1 コネクションに対する親 thread。タイムアウトを監視する
タイムアウトに stop() (使用が推奨されない method)を使っているので
問題がある、が、まぁ、タイムアウトすることは無いだろう、普通(をい)。
良い実装方法が分かったら修正するかも
RuriSstp.class
- SSTP の 1 コネクションに対する子 thread。実際の SSTP を処理する。
とりあえず SEND/1.1 だけ。現在 conflict はチェックしていない、break
するとたぶん落ちる、など、かなり手抜き状態
Sakura.class
- Ghost と Shell を仲介するクラス。小脳?
SakuraThread.class
- sakurascript を処理するクラス。まだまだ
SakuraMouseThread.class
- マウスのプレス、ドラッグの実際の処理を行うスレッド
SakuraMouseAdapter.class
- マウスが押された場合の処理を記述した adapter。Sakura で add
されているが、Sakura を component として使わない場合はアプリケーション
側で処理する必要がある(呼び出されない為)。なお、このクラスは
状態の変化を記録するだけで、実際の処理は SakuraMouseThread クラスで
行われる
SakuraMouseMotionAdapter.class
- マウスがドラッグされた場合の処理を記述した adapter。Sakura で add
されているが、Sakura を component として使わない場合はアプリケーション
側で処理する必要がある(呼び出されない為)。なお、このクラスは
状態の変化を記録するだけで、実際の処理は SakuraMouseThread クラスで
行われる
Shell.class
- sell のクラス。descript.txt の読み込みと、イメージファイルの
読み込みを行う。seriko のアニメーションイメージも、読み込みは、この
Shell.class が行う。理由は、同じ画像の 2 度読みを防ぐために、
Shell.class でキャッシュ処理を行うため
ShellSurface.class
- surface[id]s.txt を定義してるクラス
ShellMenuBindListener.class
- 着せ替えメニュー用の ItemListener クラス
Seriko.class
- seriko のクラス。surface[id]a.txt を定義している。定義(読み込み)は
おおよそ SERIKO/1.6 まで対応している(実行は ShellThread.class)
SerikoThread.class
- seriko として読み込まれたアニメーションを処理するためのスレッド。
Shell.class の中で sakura と kero として起動され、seriko のアニメーション
処理を実行する。現在実装してるのはおおよそ SERIKO/1.2 まで
SerikoAnimation.class
- seriko のアニメーショングループを定義してるクラス
SerikoAnimationPattern.class
- seriko のアニメーションパターンを定義してるクラス。指定した
surface を実際に読み込むのは Shell.class なので、実在するかどうかは
このクラス内ではチェックされない
SerikoBind.class
- 着せ替えデータを定義するクラス
Multee.class
- 3D Model Surface を処理します。ちなみに名前を決めただけで実装予定
はおろか、具体的構想や目処は何もありません。だいたい Java3D って速度
でるんかい(ってゆーか java でやるんかい > オレ)。とりあえず萌え
モデリングデータはあるわけだから...
Balloon.class
- balloon 全体を定義しているクラス。まだ仕様を満たしていない
BalloonBox.class
- 個々の balloon を定義しているクラス
BalloonMessage.class
- balloon に表示される 1 行を定義しているクラス
Cotton.class
- 第 2 の balloon ?。Java の Container というべきか。もしくは
balloon が出力なのに対して cotton は入力。さらに言い換えれば
アプリケーション用の GUI。ただ、実家が AI を通して全てを「会話」に
集約しようとしているのなら、これは後ろ向きの従来手法提供 Class。
絵的には shell が「手に持つ」表示を予定。もっとも肝心の絵が無い
という話もある。...てのを、そのうち「いっくぽーん」ってことで
Alias.class
- shell や seriko の alias を実現するためのクラス。hashtable を
利用して、alias が登録されてるかどうかをチェックしている
VoidReader.class
- *.txt ファイルを読み込む為のクラス。BufferedReader からの派生
クラス。*.txt 用の token 解析処理が追加されている
Png.class
- png 画像を読み込むためのクラス。現在フルカラー画像の一部にしか
対応していない。また、applet から動作させると環境によっては正常動作
しない(原因不明)。JAVA2 以降なら自前で用意しなくても読めるのだが
まだ、対応ブラウザが無いので applet の為に自前で用意している。が、
前述の通り、出来が良くないので、どうにかしたい
PngIdat.class
- png 画像の IDAT を一時的に保存するバッファを定義しているクラス
PngImage.class
- png 画像を定義しているクラス
|