« NetJan設計 Com - 各Com処理内容 - 2 | トップページ | NetJan設計 Com - 各Com処理内容 - 4 »

NetJan設計 Com - 各Com処理内容 - 3

次はゲーム中に使用されるコマンド。 これらのコマンド群の使われ方を理解するには、サブ状態 を十分に理解している必要がある。

Com_3

  • Com_DiscardはサブステータスがWAIT_DISCARDの時のみ許可される。 切り番の人が、指定した牌を山へ移動する。
  • Com_StealはサブステータスがWAIT_DISCARDの時とSTEAL_REQUESTEDの時のみ許可される。 許可されてもすぐには“鳴き”の処理は行われず、STEAL_REQUESTEDの状態で一定時間経過するか、あるいは、要求者以外全員からCom_NoStealを受信した時点で、次のサブステータス(STEALING)に遷移する。 例えば、東家が牌を捨ててWAIT_DISCARDサブステータスにある時、南家から“チー”の要求があったとする。 この時、南家の手配がチー可能な状態であったら、stealrequests[南家のgpos] に”チー”をセットする。 ただ、この直後に“ロン”、“ポン”の要求が来る可能性があるので、STEAL_REQUESTEDで待機する。
  • Com_ChooseStealは、サブステータスがSTEALINGの時のみ許可される。 要求者は自分の手配のどの牌と組み合わせて“鳴く“かを要求コマンドの付加情報として送信する。 クライアントは鳴き方の選択肢が1つしか無い場合もSTEALINGから抜けるために、このコマンドを送信しなければならない。
  • Com_NoStealはサブステータスがWAIT_DISCARDの時とSTEAL_REQUESTEDの時のみ許可される。 捨てられた牌に対して、チー/ポン/ロンをしない事の宣言をするコマンドとなり、クライアント側は鳴く事ができない状況の場合、ユーザアクション無しにこのコマンドを発行するようにする。 この発行はコマンドの自動生成について の仕組みを用いて実現される。

|

« NetJan設計 Com - 各Com処理内容 - 2 | トップページ | NetJan設計 Com - 各Com処理内容 - 4 »

麻雀ゲーム作成」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/440382/27407234

この記事へのトラックバック一覧です: NetJan設計 Com - 各Com処理内容 - 3:

« NetJan設計 Com - 各Com処理内容 - 2 | トップページ | NetJan設計 Com - 各Com処理内容 - 4 »