汝は人狼なりやを作ろうと試みる。 | サーバークライアント技術で遊びます。

汝は人狼なりやを作ろうと試みる。


開発言語とか
java 1.4.2
Struts
ibatis

postgresql 7系
で作成中。

実装済み機能
Login
セッションIDをユーザー情報に設定
Logout
セッションIDをユーザー情報から開放

発言入力
発言内容
発言種別
をフォームから入力する。

発言出力
セッションID名のサーブレットコンテキストから
データを取得し、HTML生成する。

DB入力
シークレットフラグ
発言者のみに聞こえる発言か如何かを管理するフラグ
(boolean default false

発言種別0:
フォームから入力された
発言内容とサーバー内時間
セッションIDをキーにして取得した
キャラクターIDをDBに入力

発言種別1:
フォームから入力された
発言内容とサーバー内時間
セッションIDをキーにして取得した
キャラクターIDとTrueに設定した
シークレットフラグをDBに入力
DB出力
キャラクターネーム
キャラクターIDをキーにして取得
キャクラター画像ファイル名
キャラクターIDをキーにして取得
発言内容
発言時間
発言種別

をセッションID名のサーブレットコンテキストに設定する。

また、発言種別に応じて出力内容を変更する。

発言種別
0:通常の発言
1:自分のみに聞こえる発言
2:特定のメンバのみに聞こえる発言

0:
条件無く表示可能
1:
発言内容のキャラクタIDと
表示するユーザーのキャラクタIDが
マッチする発言場合のみ表示


今後実装する機能

発言種別2:
特定のメンバーリストのキャラクタIDと
表示するユーザーのキャラクタIDが
マッチする発言のみを出力

ルーム機能
ルーム別に発言を管理する。
(DB内発言情報にルームIDを付与する

ルーム入室機能
指定したキャラクターで入室出来る
(ユーザー情報にキャラクターIDを付与する。
キャラクター選択の際に、既に入室済みキャラクターを
選択出来ない様に選択肢に表示しない。

キャラクター種別を指定して入室出来る

キャラクタ種別
1-1:通常ユーザー
1-2:ユーザー判別アクション付与ユーザ
2-1:特殊ユーザー

種別は入室者数が一定数に達した時点で決定。
また、一定数を超えた時点で入室を制限

更新機能。
指定時間毎に
通常アクション、判別アクション、特殊アクションの実行。

通常アクション
ルーム内から、ユーザーを除名する。
除名するユーザーの決定には、ルーム内ユーザーの多数決による。
また決が同数の場合にはランダムに判別する

ユーザー判別アクション
ユーザーの種別が、通常ユーザーか、特殊ユーザーかを判別する

特殊アクション
ルーム内から、ユーザーを種別する。
除名するユーザーの決定には、ルーム内ユーザーの多数決による。
票数は、特殊ユーザーの多数決のみで行われる。
ページ表示
発言を一定数ずつのページに分ける。