以下、本発明の構成を図面に示す実施の形態の一例に基づいて詳細に説明する。
本実施形態の自動麻雀卓1は、タグを内蔵した麻雀牌Mを天板20上に自動整列させるものであって、捨牌領域R上に載置された捨牌Cのタグを読み取る捨牌リーダー6などを備えている。また、自動麻雀卓1において使用される麻雀牌Mには、牌攪拌整列装置50が利用する磁石と、アンテナ群60が利用するICタグが内蔵されている。なお、以下の説明では、麻雀牌Mのことを単に牌と称する場合がある。また、一局のプレイで用いられる麻雀牌Mの集合を牌セットと称する。
[ハードウエア構成]
図1は、本発明の一実施形態に係る自動麻雀卓1の外観斜視図である。自動麻雀卓1は、本体部10と、各プレイヤー(プレイヤー)が視認できる位置に取り付けられた表示装置100#1、100#2、100#3、100#4と、を備える。以下、各プレイヤーに対応して配設される構成要素については、「#」に続く数字がプレイヤーを示すものとするが、特にプレイヤーを区別する必要がない場合には、必要に応じて「#」以下を省略して説明する。各表示装置100には、スピーカー、ブザー、マイク等の音声入出力装置が付設されている。
本体部10は、天板20と、操作部30と、を備える。
図2は、本体部10の平面図である。天板20には、卓内で二段に整列された次局プレイ用の牌セットを持ち上げるリフト57(後述)が出没する、4箇所の窓孔21#1、21#2、21#3、21#4と、一局のプレイが終了したときにプレイ中の牌セットを卓内に落とし込むための落し口22が設けられている。天板20は、点検・整備のために蝶番等によって開け閉めが可能となっている。
天板20の中央部には、操作部30が取り付けられている。操作部30の中央部には、サイコロが収容されたドーム部31が取り付けられ、その周囲には、ドーム部31内のサイコロを駆動するためのサイコロスイッチ32#1、32#2、32#3、32#4、卓内部の牌攪拌整列装置50(後述)の駆動を指示するための指示スイッチ33が形成されている。
ドーム部31内のサイコロは、例えば磁力によって駆動される。ドーム部31内のサイコロは、例えば出目によって異なる信号を送出あるいは返信する機構を内蔵しており、ドーム部31にはサイコロの出目を検知可能なレシーバー31Aが取り付けられている。上記検知されたサイコロの出目の情報は、制御装置70(後述)に送信される。なお、サイコロは電子サイコロで代替することができ、この場合レシーバー31Aは省略することができる。
指示スイッチ33は、一局のプレイが終了し、次の局の遊技が開始されるまでに二度操作される。プレイヤーが指示スイッチ33に対して一度目の押下操作を行うと、落し口22を形成する3枚の板部が駆動され、周囲から操作部30に向かう下向きのスロープを形成し、開口部とする。プレイヤーは、プレイ中の牌セットをこのスロープから卓内に落とし込み、指示スイッチ33に対して二度目の押下操作を行う。その結果、落し口22が閉められて天板20の他の部分と同一平面をなす状態に戻り、更にリフト57が次局プレイ用の牌セットを卓内から天板面に持ち上げ、次の局の遊技が開始可能となる。
図3は、自動麻雀卓1の卓内に取り付けられた牌攪拌整列装置50の構成を示す平面図である。本図は、天板20が開放された状態を示している。牌攪拌整列装置50は、水平方向に対して傾斜を有するように取り付けられる回転テーブル51と、回転テーブル51の上方に取り付けられ、その下側に磁石が取り付けられた(あるいは磁性体で構成された)リング52と、コンベヤ54と、偏向装置55と、周回搬送部56と、各プレイヤーに対応したリフト57#1、57#2、57#3、57#4と、を備える。また、牌攪拌整列装置50は、上記各構成要素を駆動するための各種アクチュエーターを備える。
回転テーブル51上に落とし込まれた麻雀牌Mは、回転テーブル51の回転による遠心力および重力の作用により、攪拌されつつ回転テーブル51の周辺部に寄せられる。また、リング52の発する磁力は、麻雀牌Mの背面側(図柄が描画および彫刻されていない側)と引き合うように作用する。この結果、攪拌された麻雀牌Mは、背面側を上側にしてリング52に吸着される。リング52も回転テーブル51と同様に回転しており、吸着された麻雀牌Mは、回転テーブル51に対して略垂直に立てられた円形の外壁の開口部53からコンベヤ54に送出される。コンベヤ54に送出された麻雀牌Mは、偏向装置55により偏向されて周回搬送部56に送出され、図中矢印の向きに搬送された後、最終的に各リフト57に二段で積まれ、次の遊技に用いられる準備が完了する。この二段で麻雀牌Mを積み上げる機構については、既に種々のものが公知であるため説明を省略する。なお、各リフト57は、プレイ中の牌セットを持ち上げた後、そのまま天板20の一部をなすものと、次局プレイ用の牌セットが積み上げられるものが存在し、これらが交互に天板20面に出現する。
本実施形態の自動麻雀卓1において使用される麻雀牌Mには、牌攪拌整列装置50が利用する磁石と、アンテナ群60が利用するICタグ(RFIDタグの一種)が内蔵されている。アンテナ群60は、例えば天板20の裏面側(下側)に取り付けられる。これに限らず、アンテナ群60の一部または全部が他の位置に取り付けられてもよい。
また、本実施形態の自動麻雀卓1は、遊技補助情報を提供するための情報処理を行う制御装置70を備える。制御装置70は、自動麻雀卓1の内部に内蔵されてもよいし、通信線や無線ネットワークで接続された外部装置であってもよい。
図4は、自動麻雀卓1に取り付けられたアンテナ群60の配設位置と、制御装置70を示す透視図である。アンテナ群60は、山牌アンテナ61と、面前牌アンテナ62#1、62#2、62#3、62#4と、副露(フーロ)牌アンテナ63#1、63#2、63#3、63#4と、後述する捨牌アンテナ64#1、64#2、64#3、64#4を含む。
各アンテナは、例えば鉛直方向を軸とし、導線が巻き回されたコイル状のアンテナであり、直下を通過する麻雀牌Mから識別情報を読み取ったり、天板20越しに天板20上に置かれた麻雀牌Mから識別情報を読み取ったりする。
麻雀牌Mに取り付けられたICタグは、アンテナ群60が放射する電波を用いて微量の電力を発電し、発電した電力を用いて内蔵する識別情報を返信する。アンテナ群60は、返信された電波を、例えばA/D変換器等を介して制御装置70に送信する。これによって、制御装置70が識別情報を取得することができる。
山牌アンテナ61は、牌攪拌整列装置50が麻雀牌Mを攪拌した後に整列させる過程において、麻雀牌Mが一列で通過する箇所、例えばコンベヤ54の直上に取り付けられ、コンベヤ54上で運搬される麻雀牌Mから識別情報を順に読み取り、制御装置70に出力する。
各面前牌アンテナ62は、プレイヤーが手元に保持する麻雀牌Mのうち、面前牌から識別情報を読み取り、制御装置70に出力する。また、各副露牌アンテナ63は、プレイヤーが手元に保持する麻雀牌Mのうち、副露(フーロ)牌から識別情報を読み取り、制御装置70に出力する。
各麻雀牌MのICタグが保持する識別情報は、例えば麻雀牌Mの種別を識別可能な情報と、同一種の4枚の麻雀牌Mを他の麻雀牌Mと識別可能な情報を含む。例えば、「一萬」である4枚の麻雀牌Mには、0001(1)、0001(2)、0001(3)、0001(4)のような情報がそれぞれ付与されている。
各アンテナは、制御装置70を構成するCPU(Central Processing Unit)71と接続されており、読み取った麻雀牌Mの識別情報を該CPU71に送信する。CPU71は、例えば統括基板上に設けられている。また、CPU71には、ホストPC80が接続されている。各アンテナは、単一の統括基板(CPU71)によって制御されており、ホストPC80に牌状況のデータを送信する。
図5は、制御装置70のハードウエアおよび機能構成例である。制御装置70は、例えば、CPU71、RAM(Random Access Memory)等のメインメモリ72、BIOS(Basic Input/Output System)等を格納したROM(Read Only Memory)73、各種プログラム74Aや上がり役パターン74B等のデータを格納する補助記憶装置74がバスを介して接続されている。さらに、レシーバー31Aやサイコロスイッチ32、指示スイッチ33、各表示装置100のタッチセンサ等とのインターフェースとなるペリフェラルインタフェース75、各表示装置100との間で入出力される情報を処理する音声処理部76および画像処理部77等が、バスを介して接続されている。
また、制御装置70は、CPU71がプログラム74Aを実行することにより機能する機能ブロックとして、メイン制御部71Aと、開始処理部71Bと、プレイ進行認識処理部71Cと、和了処理部71Dと、アシスト処理部71Eとを備える。なお、これらの機能ブロックが明確に分離したプログラムによって実現される必要はなく、サブルーチンや関数として他のプログラムによって呼び出されるものであってもよい。また、機能ブロックの一部が、LSI(Large Scale Integrated circuit)、IC(Integrated Circuit)やFPGA(Field Programmable Gate Array)等のハードウエア手段であっても構わない。また、CPU71が実行するプログラムは、例えば自動麻雀卓1の出荷時に予め補助記憶装置74に格納されたものであってもよいし、制御装置70に可搬型メモリが装着されることによりインストールされてもよいし、ネットワークを制御装置70に接続させてダウンロードしてもよい。
メインメモリ72には、山牌格納バッファ72Aと、面前牌格納バッファ72B#1、72B#2、72B#3、72B#4と、副露牌格納バッファ72C#1、72C#2、72C#3、72C#4と、捨牌格納バッファ72F、王牌格納バッファ72Dと、状態格納バッファ72Eと、が設定される。山牌格納バッファ72Aは、プレイ中山牌バッファ72Aaと、次局プレイ用山牌バッファ72Abとを含む。また、面前牌格納バッファ72Bと副露牌格納バッファ72Cと捨牌格納バッファ72Fはプレイヤー毎に設定される。
図6は、一局のプレイ中に、メインメモリ72における山牌格納バッファ72Aおよび王牌格納バッファ72Dに格納される配列データを模式的に示す図である。図示するように、プレイ中山牌バッファ72Aaには、識別番号に対して、サイコロの出目等に基づいて決定されるツモ順、プレイヤーによってツモされたか否かを示すツモ済フラグ等が付与される。136枚分のデータには、王牌となった麻雀牌Mも含まれるため、王牌となった麻雀牌Mについてはツモ順やツモ済フラグは省略する(例えばブランクとする)。
次局プレイ用山牌バッファ72Abには、ツモ順が決定されていないため、識別番号のみが格納される。王牌格納バッファ72Dには、14枚の王牌のそれぞれに対し、ドラであるか、リンシャン牌であるかを識別し、リンシャン牌である場合にはツモ順が、裏ドラやカンドラである場合にはその採用順が、それぞれ付与されている。
また、各面前牌格納バッファ72Bは、例えば2バイト×14牌分で28バイトのデータ領域である。また、各副露牌格納バッファ72Cは、1副露につき14バイト×最大4副露分で56バイトのデータ領域である。1副露に対応するデータは、例えば「鳴き種類(チー、ポン、明カン)」、「最小鳴き牌」、「宣言鳴き牌」、「識別情報」×4に対して、それぞれ2バイトが割り振られる。各捨牌格納バッファ72Fは、2バイト×24牌分で48バイトのデータ領域である。
[用語等]
ここで、本実施形態で使用される麻雀の基本的用語、およびアンテナ群60の検知機能について、図7を用いて簡単に説明する。
麻雀は、四名のプレイヤーによって行われる。プレイヤーのうち、サイコロあるいは局の進行に応じて親が決定されると、一局のプレイが開始される。
プレイ開始時にリフト57が卓内から麻雀牌Mを出現させて山牌A(厳密には、王牌Fを含む)と、親から順に麻雀牌Mを手元に引き寄せ(ツモり)、13枚の面前牌Bとする。開始時の親に限っては、最初に捨てる麻雀牌Mを含めて14枚の面前牌Bを取得する。
各山牌Aの識別情報は、山牌アンテナ61によって読み取られた順と牌攪拌整列装置50における整列規則の関係から認識される。
プレイヤーは、反時計回りにツモ番が回って来るので、山牌Aから時計回りに一枚の麻雀牌Mをツモり、面前牌Bに追加する。そして、一枚の不要な麻雀牌Mを捨て、捨牌Cに追加する。
また、プレイヤーは、チー、ポン、明カンによって他のプレイヤーが捨てた捨牌Cを手に組み入れることができる。この場合、プレイヤーは、組み入れた捨牌Cを含む3枚または4枚の麻雀牌Mを、副露牌Dとして牌の表面を上側にして手元の右端に置く。
また、プレイヤーは、面前牌Bの中で同一種の牌が4枚存在するときは、暗カンをすることができる。この場合、プレイヤーは、4枚の麻雀牌Mを、副露牌Dとして一部の麻雀牌Mの表面を上側にして手元の右端に置く。
なお、「ツモ順」が1となる、開始時に最初にツモされる麻雀牌Mの位置(以下、開始牌位置と称する)は、サイコロの出目によって決定され、開始牌位置から反時計回りに14枚の麻雀牌Mが、ドラ牌Eを含む王牌Fとされる。
図7における62*は、面前牌アンテナ62の検知領域の一例であり、63*は、副露牌アンテナ63の検知領域の一例である。面前牌アンテナ62および副露牌アンテナ63は、領域内に置かれた全ての麻雀牌Mの識別情報を読み込むことができる。従って、本実施形態の自動麻雀卓1は、山牌Aおよび王牌Fに加えて、各プレイヤーの面前牌Bおよび副露牌Dを認識することができ、これらを用いて遊技補助情報の提供のための情報処理を行う。
こうして順にツモ、チー、ポン、カン等を行いながら手順が進み、誰かが和了(その局の勝ち)、流局、1プレイヤーによるチョンボに至ると、役および符に基づき点数が計算されプレイヤー間での受け渡しが自動的にされる。和了には、自らツモをした麻雀牌Mで和了するツモ上がりと、他のプレイヤーの捨牌Cで和了するロン上がりが存在する。点数には、ドラ数(手持ちのドラ牌Eの数)に加えて、リーチをした後の上がりであれば裏ドラ(およびカン裏)の有無が、誰かがカンをしていればカンドラの有無が、それぞれ反映される。
[処理の流れ]
以下、制御装置70により実行される処理の流れについて説明する。
〔メイン制御〕
図8は、制御装置70のメイン制御部71Aにより実行される処理の流れを示すフローチャートの一例である。
まず、メイン制御部71Aは、指示スイッチ33が押下操作されるまで待機する(ステップS200)。
指示スイッチ33が押下操作されると、メイン制御部71Aは、現在の状態が状態(1)であるか、状態(2)であるかを判定する(ステップS202)。状態(1)とは、落し口22が開口部を形成した状態であり、状態(2)とは、落し口22が閉められて天板20の他の部分と同一平面をなす状態である。現在の状態は、メイン制御部71A自身によって管理され、例えばメインメモリ72の状態格納バッファ72Eに格納される。
現在の状態が状態(1)である場合、メイン制御部71Aは、落し口22を閉め、各リフト57上に二段で整列している次局プレイ用の牌セットを持ち上げて天板20に出現させ、落し口22に落とし込まれた麻雀牌Mの攪拌および整列を開始するように、牌攪拌整列装置50のアクチュエーターに指示する(ステップS204)。
次に、メイン制御部71Aは、開始処理部71Bに開始処理を実行させ(ステップS206)、山牌アンテナ61の作動を開始させる(ステップS208)。
山牌アンテナ61は、例えば検知領域を各麻雀牌Mが通過する期間よりも短い周期で識別情報を読み取る。この結果、山牌アンテナ61は、同一の麻雀牌Mについて複数回、識別情報を読み取ることになるため、同じ識別情報を重複して次局プレイ用山牌バッファ72Abに格納しないように、以下の処理を行う。
メイン制御部71Aは、山牌アンテナ61から識別情報を受信するまで待機し(ステップS210)、識別情報を受信すると、受信した識別情報が既に次局プレイ用山牌バッファ72Abに登録されているか否かを判定する(ステップS212)。
受信した識別情報が既に次局プレイ用山牌バッファ72Abに登録されていない場合、メイン制御部71Aは、受信した識別情報を次局プレイ用山牌バッファ72Abに登録する(ステップS214)。受信した識別情報が既に次局プレイ用山牌バッファ72Abに登録されている場合、メイン制御部71Aは、受信した識別情報を破棄する(ステップS216)。
次に、メイン制御部71Aは、次局プレイ用山牌バッファ72Abに登録された識別情報が一セットに含まれる麻雀牌Mの総数である136枚分に達したか否かを判定する(ステップS218)。登録された識別情報が136枚分に達していない場合、メイン制御部71Aは、ステップS210に戻り処理を実行する。
登録された識別情報が136枚分に達した場合、メイン制御部71Aは、各種類の麻雀牌Mの数が全て4枚ずつであるか否かを判定する(ステップS220)。各種類の麻雀牌Mの数が全て4枚ずつである場合、メイン制御部71Aは、次局プレイ用山牌バッファ72Abに登録された識別情報を確定する(ステップS222)。各種類の麻雀牌Mの数が全て4枚ずつでない場合、メイン制御部71Aは、足りない麻雀牌Mや重複した麻雀牌Mについて表示装置100等にエラー表示を行わせる(ステップS224)。
そして、メイン制御部71Aは、山牌アンテナ61の作動を停止し、メインメモリ72の状態格納バッファ72Eに格納された値を変更し、状態(1)から状態(2)に遷移する(ステップS226)。
現在の状態が状態(2)である場合、メイン制御部71Aは、ステップS204〜ステップS224の処理および次局プレイ用の牌セットを各リフト57に二段で積み上げる動作が完了しているか否かを判定する(ステップS230)。係る動作が完了していない場合、メイン制御部71Aは、ステップS200に戻り、指示スイッチ33が押下操作されるまで待機する。
ステップS204〜ステップS222の処理および次局プレイ用の牌セットを各リフト57に二段で積み上げる動作が完了している場合、メイン制御部71Aは、落し口22を開けるように牌攪拌整列装置50のアクチュエーターに指示する(ステップS232)。
次に、メイン制御部71Aは、次局プレイ用山牌バッファ72Abに登録された識別情報をプレイ中山牌バッファ72Aaにコピーし、次局プレイ用山牌バッファ72Abに登録された識別情報を消去する(ステップS234)。
そして、メイン制御部71Aは、メインメモリ72の状態格納バッファ72Eに格納された値を変更し、状態(2)から状態(1)に遷移する(ステップS236)。
〔開始処理〕
図8のステップS206で開始処理の実行が指示されると、開始処理部71Bが開始処理を実行する。図9は、開始処理部71Bにより実行される開始処理の流れを示すフローチャートの一例である。なお、プレイヤーによっては指示スイッチ33よりも先にサイコロスイッチ32を押す場合もあり得るため、本フローチャートは、例えば図8のステップS234が実行される前後に開始されてもよい。
まず、開始処理部71Bは、サイコロスイッチ32が押下操作されるまで待機する(ステップS300)。
サイコロスイッチ32が押下操作されると、開始処理部71Bは、押下操作されたサイコロスイッチ32に対応するプレイヤーを、「プレイ番」に登録する(ステップS302)。「プレイ番」とは、プレイ進行認識処理部71Cが認識するプレイヤーであって、面前牌から麻雀牌Mを捨てる順番が到来したプレイヤーである。プレイ進行認識処理部71Cは、各プレイヤーの状態を、「プレイ番」、「プレイ番(DISCARD)」、「IDLE」の三つの状態に分類して認識する、プレイ番(DISCARD)とは、面前牌から麻雀牌Mを捨てた状態であるが、次のプレイヤーがまだプレイ番となっていない状態のプレイヤーを指す。また、IDLEは、プレイ番とプレイ番(DISCARD)のいずれでもない状態のプレイヤーを指す。
次に、開始処理部71Bは、レシーバー31Aからの入力に基づいてサイコロの出目を取得する(ステップS304)。
サイコロの出目を取得すると、開始処理部71Bは、親であるプレイヤーが最初にツモを行う配牌開始位置を認識する(ステップS306)。
配牌開始位置の認識は、麻雀のルールによって一般的に定められているが、自分を「1」としてサイコロの出目分だけ右手方向に回転進行したプレイヤーの目前にある山牌Aにおいて、当該プレイヤーの右手側からサイコロの出目分だけ左側に移動した上側の麻雀牌Mが配牌開始位置である。以降、各プレイヤーは、上側の牌と下側の牌を交互にツモする流れとなる。
次に、開始処理部71Bは、プレイ中山牌バッファ72Aaに格納された識別情報に、牌攪拌整列装置50において麻雀牌Mが一列で通過した順番に対して、予め定められた位置変換手法を適用して得られる二段で整列された麻雀牌Mの整列順に、上記認識した配牌開始位置を反映させてツモ順を導出し、導出したツモ順を付加データとして付与して山牌の配列を決定する(ステップS308)。
係る処理によって、山牌の配列が決定される(図6の「識別番号」および「ツモ順」を参照)。山牌の配列は、プレイ中山牌バッファ72Aaに付加データ(ツモ順)を付与することによって表現してもよいし、並べ替え等を行ったデータを別の領域に格納してもよい。ツモ順は、初期面前牌を含めて配牌開始位置から順に付与してもよいし、二段に整列された麻雀牌Mから最初に各プレイヤーがツモする初期面前牌を除いて付与してもよい。
次に、開始処理部71Bは、プレイ中山牌バッファ72Aaに格納された識別情報と配牌開始位置に基づいて、ドラ牌Eを含む王牌Fの配列を決定し(図6参照)、王牌格納バッファ72Dに格納する(ステップS310)。王牌Fは、配牌開始位置からツモ順を逆に遡った14枚の牌であり、遡る順に例えばリンシャン(1)、リンシャン(2)、リンシャン(3)、リンシャン(4)、ドラ、裏ドラ、カンドラ(1)、…というフラグが付与される。
次に、開始処理部71Bは、サイコロスイッチ32が再度、押下操作されたか否かを判定する(ステップS312)。サイコロスイッチ32が再度、押下操作された場合、開始処理部71Bは、ステップS302に戻り処理を実行する。
サイコロスイッチ32が再度、押下操作されていない場合、開始処理部71Bは、全てのプレイヤーの初期面前牌が各面前牌アンテナ62により検知されたか否かを判定する(ステップS314)。ここで、初期面前牌とは、親であれば14枚、子であれば13枚の牌である。
全てのプレイヤーの初期面前牌が各面前牌アンテナ62により検知されない場合、開始処理部71Bは、ステップS312に戻り処理を実行する。
全てのプレイヤーの初期面前牌が各面前牌アンテナ62により検知された場合、開始処理部71Bは、各プレイヤーの初期面前牌を面前牌格納バッファ72Bに格納する(ステップS316)。この際に、初期面前牌について、プレイ中山牌バッファ72Aaに含まれるツモ済フラグを「済」に変更する。
次に、開始処理部71Bは、プレイ中山牌バッファ72Aaに含まれるツモ済フラグが「未」となっているデータの数を確認し、一定数(136−14(親)−13(子)×3−14(王牌)=69)でなければ、表示装置100等にエラー表示を行わせる(ステップS318、ステップS320)。ツモ済フラグは、ツモ順が1〜53の牌であって、各面前牌アンテナ62により検知されることによって初期ツモされたことが確認されると、「済」に変更される。
以上の処理を終了すると、開始処理部71Bは、プレイ進行認識処理部71Cに処理を開始させる(ステップS322)。
〔プレイ進行認識処理〕
図9のステップS322でプレイ進行認識処理の実行が指示されると、プレイ進行認識処理部71Cがプレイ進行認識処理を実行する。図10は、プレイ進行認識処理部71Cにより実行されるプレイ進行認識処理の流れを示すフローチャートの一例である。本フローチャートは、いずれかのプレイヤーが和了に至るか、流局となるまで繰り返し実行される。
まず、プレイ進行認識処理部71Cは、プレイ番のプレイヤーの副露牌Dが増加したか否かを判定する(ステップS400)。プレイ番のプレイヤーの副露牌Dが増加した場合、プレイ進行認識処理部71Cは、カン判定処理を行う(ステップS402)。
次に、プレイ進行認識処理部71Cは、プレイ番のプレイヤーの面前牌Bが減少したか否かを判定する(ステップS404)。プレイ番のプレイヤーの面前牌Bが減少した場合、プレイ進行認識処理部71Cは、プレイ番のプレイヤーにDISCARDフラグを設定する(ステップS406)。
次に、プレイ進行認識処理部71Cは、プレイ番の次のプレイヤー(プレイ番の右手のプレイヤー)の面前牌Bが増加したか否かを判定する(ステップS408)。なお、本判定の処理は、「プレイ番が今のプレイヤーになった時点」を基準としてプレイ番の次のプレイヤーの面前牌Bが増加したか否かを判定するものとする。従って、本フローチャートが繰り返し実行される中で、何度もステップS408を通過し、その度に肯定的な判定を得ることがあり得る。これは、誤ツモや先ヅモの表示を行って、プレイ番の次のプレイヤーがツモした牌を山牌Aに戻すことによりプレイが継続されること等を想定したものである。
プレイ番の次のプレイヤーの面前牌Bが増加した場合、プレイ進行認識処理部71Cは、増加した牌とツモ予定牌が一致するか否かを判定する(ステップS410)。ツモ予定牌は、図6に示すように、山牌Aとして認識された識別情報に付与された「ツモ順」および「ツモ済フラグ」を参照して把握される。
増加した牌とツモ予定牌が一致しない場合、プレイ進行認識処理部71Cは、誤った牌をツモした(誤ツモ)旨のエラー表示を、該当するプレイヤーに対応する表示装置100に行わせる(ステップS412)。
次に、プレイ進行認識処理部71Cは、プレイ番のプレイヤーにDISCARDフラグが設定されているか否かを判定する(ステップS414)。プレイ番のプレイヤーにDISCARDフラグが設定されていない場合、いわゆる先ヅモである旨のエラー表示を、該当するプレイヤーに対応する表示装置100に行わせる(ステップS416)。
プレイ番のプレイヤーにDISCARDフラグが設定されている場合、プレイ進行認識処理部71Cは、正当なツモであると判断し、以下の処理を行う。プレイ進行認識処理部71Cは、プレイ番のプレイヤーの面前牌Bから消失した牌を捨牌Cに登録する(ステップS418)。その後、捨牌アンテナ64(詳しい構成については後述)による検出によって、捨牌Cを確定させる。そうしたら、プレイ番を次のプレイヤーに変更し(ステップS420)、ツモ予定牌を一つ先の牌に変更する(ステップS422)。なお、捨牌アンテナ64による検出が失敗したとしても、ステップS418の後プレイ番が次のプレイヤーに変更されれば(ステップS420)、捨牌Cは自動的に確定される。プレイ番であったプレイヤーは、IDLE状態に変更される。ステップS418で捨牌Cを登録するのは、例えば和了時のフリテン判定に利用するためである。
一方、プレイ番の次のプレイヤーの面前牌Bが増加していない場合、プレイ進行認識処理部71Cは、プレイ番以外の他のプレイヤーの副露牌Dが増加したか否かを判定する(ステップS424)。他のプレイヤーの副露牌Dが増加した場合、プレイ進行認識処理部71Cは、副露牌判定処理を行う(ステップS426)。
なお、プレイ進行認識処理部71Cは、ツモ済フラグが「未」である山牌Aが存在しなくなった後、プレイ番のプレイヤーの面前牌Bが減少した時点で流局と判定し、本フローチャートの処理を終了する。
図11は、プレイ進行認識処理部71Cにより実行されるカン判定処理の流れを示すフローチャートの一例である。
プレイ進行認識処理部71Cは、王牌Fのうち順位が最も若いリンシャン牌と、副露牌アンテナ63により検知された牌と元々面前牌アンテナ62により検知されていた牌とが、一致しているか否かを判定する(ステップS500)。プレイ進行認識処理部71Cは、これらの牌種別が一致しない場合は、エラー表示を行い(ステップS502)、図10のフローチャートに戻る。
図12は、プレイ進行認識処理部71Cにより実行される副露牌判定処理の流れを示すフローチャートの一例である。
まず、プレイ進行認識処理部71Cは、他のプレイヤーの増加した副露牌Dが3枚であるか否かを判定する(ステップS600)。
他のプレイヤーの増加した副露牌Dが3枚である場合、プレイ進行認識処理部71Cは、副露牌Dの中にプレイ番のプレイヤーの面前牌Bから消失した牌が存在するか否かを判定する(ステップS602)。副露牌Dの中にプレイ番のプレイヤーの面前牌Bから消失した牌が存在しない場合、プレイ進行認識処理部71Cは、表示装置100等にエラー表示を行わせ(ステップS604)、図10のフローチャートに戻る。
副露牌Dの中にプレイ番のプレイヤーの面前牌Bから消失した牌が存在する場合、プレイ進行認識処理部71Cは、プレイ番のプレイヤーの面前牌Bから消失した牌を捨牌Cに登録する(ステップS606)。このステップS606の後、捨牌アンテナ64による検出によって捨牌Cを確定させる。なお、捨牌アンテナ64による検出が失敗したとしても、ステップS606の後プレイ番が、ポンをするなど鳴いたプレイヤーに変更されれば(ステップS616)、捨牌Cは自動で確定される。
次に、プレイ進行認識処理部71Cは、増加した副露牌Dが順子(シュンツ)すなわち連番の3枚の牌であるか刻子(コーツ)すなわち同一種類の3枚の牌であるかを判定する(ステップS608)。プレイ進行認識処理部71Cは、順子あるいは刻子を副露牌種別として登録する(ステップS610、ステップS612)。
次に、プレイ進行認識処理部71Cは、鳴き牌を副露牌格納バッファ72Cに登録し(ステップS614)、鳴いたプレイヤーにプレイ番を変更する(ステップS616)。プレイ番であったプレイヤーは、IDLE状態に変更される。
一方、他のプレイヤーの増加した副露牌が3枚でない場合、プレイ進行認識処理部71Cは、他のプレイヤーの増加した副露牌が4枚であるか否かを判定する(ステップS618)。
他のプレイヤーの増加した副露牌Dが4枚である場合、プレイ進行認識処理部71Cは、副露牌Dの中にプレイ番のプレイヤーの面前牌Bから消失した牌が存在するか否かを判定する(ステップS620)。副露牌Dの中にプレイ番のプレイヤーの面前牌Bから消失した牌が存在しない場合、プレイ進行認識処理部71Cは、表示装置100等にエラー表示を行わせ(ステップS622)、図10のフローチャートに戻る。また、他のプレイヤーの増加した副露牌Dが4枚でない場合も、プレイ進行認識処理部71Cは、表示装置100等にエラー表示を行わせ(ステップS622)、図10のフローチャートに戻る。
副露牌Dの中にプレイ番のプレイヤーの面前牌Bから消失した牌が存在する場合、プレイ進行認識処理部71Cは、プレイ番のプレイヤーの面前牌Bから消失した牌を捨牌Cに登録する(ステップS624)。次に、プレイ進行認識処理部71Cは、カン子(槓子)を副露牌種別として登録する(ステップS626)。
そして、プレイ進行認識処理部71Cは、鳴き牌を副露牌格納バッファ72Cに登録し(ステップS614)、鳴いたプレイヤーにプレイ番を変更する(ステップS616)。プレイ番であったプレイヤーは、IDLE状態に変更される。
リーチは、表示装置100のハードウエアスイッチであるボタンを押下し、あるいはタッチパネルのようなソフトウエアスイッチに触れることによって行う。なお、図14等ではリーチ用のボタンを図示していないが、リーチ可能な状況のときにいずれかのボタンの表示を変えてリーチ用としてもよいし、あるいは、表示装置100等にリーチボタンを追加した構成としてもよい。あるいは、プレイヤーによるリーチの発声を認識してリーチできる構成としてもよい。また、この自動麻雀卓1では点棒を電子化しているためリーチの際に点棒を出す必要がない。
〔和了処理〕
図13は、和了処理部71Dにより実行される和了処理の流れを示すフローチャートである。本フローチャートは、例えばプレイ進行認識処理部71Cによる処理が行われている間、繰り返し実行される。
まず、和了処理部71Dは、いずれかのプレイヤーがロン上がりをしたか否かを判定する(ステップS700)。本判定は、例えば各表示装置100に設定されるボタンをプレイヤーが操作したことを検知して行われる。図14は、表示装置100に設定されるボタンと、和了時に上がり点数が表示される様子を示す図である。各表示装置100には、例えばハードウエアスイッチ、あるいはタッチパネルのようなソフトウエアスイッチであるロンボタン100A、ツモボタン100B、点数表示ボタン100C、キャンセルボタン100D、アシスト表示ボタン100E、等が設定される。また、本判定は、プレイ番のプレイヤーにDISCARDフラグが設定されている期間に限定して行われる。それ以外の期間では、ロンボタン100Aへの操作を無視する処理が行われる。
なお、いずれかのプレイヤーがロン上がりをしたか否かを判定するのは、ボタン操作を検知するのに限らず、いずれかのプレイヤーが「ロン」と発声したことを音声認識により検知してもよい。
いずれかのプレイヤーがロン上がりをしたと判定した場合、プレイ番のプレイヤーの面前牌Bから消失した牌を上がり牌と認識する(ステップS702)。
次に、和了処理部71Dは、ステップS700において肯定的な判定を得た後、一定期間内に他のプレイヤーがロン上がりをしたか否かを判定する(ステップS704)。一定期間内に他のプレイヤーがロン上がりをした場合は、ダブロン処理を行う(ステップS706)。
また、和了処理部71Dは、プレイ番のプレイヤーがツモ上がりをしたか否かを判定する(ステップS708)。本判定は、例えば各表示装置100に設定されるツモボタン100Bをプレイヤーが操作したことを検知して行われる。
なお、プレイ番のプレイヤーがツモ上がりをしたか否かを判定するのは、ボタン操作を検知するのに限らず、プレイヤーが「ツモ」と発声したことを音声認識により検知してもよい。
プレイ番のプレイヤーがツモ上がりをしたと判定した場合、プレイ番のプレイヤーの面前牌Bにおいて直近に増加した牌を上がり牌と認識する(ステップS710)。
ロン上がりもツモ上がりもされていない場合、本フローチャートの1ルーチンを終了する。
そして、和了処理部71Dは、正当な上がりであるか否かを判定する(ステップS712)。係る上がり判定については、既に電子的な麻雀ゲーム等において慣用されている技術であるため詳細な説明を省略するが、例えば、面前牌Bおよび副露牌Dを順子、刻子、カン子、対子に分解し、それぞれについて鳴いたものであるか否かを判定し(図12を参照)、分解したそれぞれを、予め補助記憶装置74に格納された上がり役パターン74Bと比較してマッチする役を抽出する。そして、一以上の役が当てはまる場合(ルールによっては二以上の役が当てはまる場合)に、正当な上がりであると判定する。プレイヤーがリーチをしていた場合には、上がり役が1つ追加される。
正当な上がりでないと判定した場合、和了処理部71Dは、表示装置100等にチョンボ(正当な上がりでない)である旨を表示させる(ステップS714)。係る表示内容には、チョンボである理由(役が無いのか、そもそも上がり形になっていないのか)が併せて表示されると好適である。
そして、一定期間内にキャンセルボタン100Dが操作されたか否かを判定する(ステップS716)。一定期間内にキャンセルボタン100Dが操作された場合、本フローチャートの一ルーチンの処理を終了する。一定期間内にキャンセルボタン100Dが操作されなかった場合、罰則として定められている点数を各プレイヤーの表示装置100に表示させる(ステップS718)。なお、プレイヤーの発声を認識してロン上がりやツモ上がりを検知する場合、ステップS716の処理は省略してもよい。
一方、正当な上がりであると判定した場合、和了処理部71Dは、上がり点数を計算する(ステップS720)。そして、計算した上がり点数を各プレイヤーの表示装置100に表示させる(ステップS722)。上がり点数の計算は、ステップS712の判定において抽出した役、および王牌格納バッファ72Dを参照して得られるドラ牌、カンドラ等の数と、順子、刻子、カン子、対子の種類から導出される符の双方を反映させて行うことができる。上がりをしたプレイヤーがリーチをしていた場合には、上がり役が1つ追加されると共に、裏ドラやカン裏が反映される。図14は、上がり点数が表示される様子を示す図である。
ステップS718またはステップS722の処理を行うと、和了処理部71Dは、本フローチャートの一ルーチンの処理を終了して停止状態となる。その後、メイン制御部71Aが図8のフローチャートを実行し、開始処理部71Bが図9のフローチャートを実行し、プレイ進行認識処理部71Cによる処理が開始されると和了処理部71Dが本フローチャートの処理を開始する。
なお、ステップS706のダブロン処理は、2人が同時に上がりをするダブロンが許容されているルールである場合は、ステップS700〜ステップS722の処理をロン上がりまたはツモ上がりをした2人のプレイヤーのそれぞれについて実行する処理である(3人以上が上がりをした場合、流局とされるルールが一般的である)。また、ダブロンが許容されていないルールである場合は、いわゆる上家あがり、すなわちロンされた牌を捨てたプレイヤーを起点として反時計回りの向きにプレイヤーを検索し、先に出現するプレイヤーがロン上がりの権利を得るものとし、ロン上がりの権利を得たプレイヤーに関してステップS700〜ステップS722の処理を行う。
〔アシスト処理〕
アシスト処理部71Eは、例えば点数表示ボタン100Cが操作されると、各プレイヤーが現時点で保有する点数(点棒が示す点数の合計)と、他のプレイヤーとの点数差を表示装置100に表示させる。図15は、他のプレイヤーとの点数差が表示される様子を示す図である。
また、アシスト処理部71Eは、アシスト表示ボタン100Eが操作されると、アシスト表示する内容にボタンの設定を変更する。その1つであるツモ筋ボタン100Fをプレイヤーが操作すると、本来の麻雀の遊技からは逸脱するが、プレイヤーがツモする予定の牌(ツモ筋)をツモ順に複数枚、表示装置100に表示させる。これによって、プレイヤーは有効な捨牌Cを選択することができ、遊技技術を向上させることができる。図16は、ツモ筋が表示される様子を示す図である。
[捨牌リーダー]
続いて、本実施形態の自動麻雀卓1における捨牌リーダー6の構成について説明する(図4等参照)。
天板20には、複数の捨牌列L1〜L4からなる捨牌領域(「河」と呼ばれる)Rが形成される(図4参照)。本実施形態では、この捨牌領域Rにおける天板20の下部に、捨牌アンテナ64(図中では、各アンテナを符号64#1、64#2、64#3、64#4で示す)からなる捨牌リーダー6を設けている(図4参照)。捨牌アンテナ64は、複数の捨牌列L1〜L4に対応するように天板20の下に配置されている。
一般に、捨牌領域Rには、プレイ状況に応じ最大で24個の捨牌Cが並べられる。このため、天板20において捨牌領域Rが占める牌エリアは比較的大きく、捨牌Cの並べ方やプレイ状況によっては、隣接する他のプレイヤー(上家あるいは下家)の捨牌アンテナ64を混線させたり、他のプレイヤーの捨牌Cを読み取ろうとしたり、あるいは山牌Aを読み取ろうとしたり、といったことが生じる可能性がある。より具体的には、捨牌領域Rのうち天板20の中央寄りとなる奥部R1においては、隣接する他のプレイヤーの捨牌領域Rの奥部R1と互いに近いことから捨牌Cによる混線が生じる可能性があり、また、捨牌領域Rのうち山牌A寄りとなる手前部R3においては、山牌Aによる混線が生じる可能性がある。一方、奥部R1と手前部R3に挟まれた中央部R2においては、これら奥部R1や手前部R3と比べれば混線が生じる可能性が低い。
このような点を考慮し、本実施形態における捨牌アンテナ64は、捨牌領域Rの奥部R1に対応する奥部分(符号64aで示す)におけるタグ読み取り強度と、捨牌領域Rの手前部R3に対応する手前部分(符号64cで示す)におけるタグ読み取り強度とが、当該アンテナのその他の部分(以下、中央部分といい、符号64bで示す)における最大タグ読み取り強度よりも低く設定されたものとなっている(図17参照)。奥部R1と手前部R3にある捨牌Cであっても、読取強度の強い中央部分のアンテナによって読み取り漏れがない。このような捨牌アンテナ64からなる捨牌リーダー6によれば、隣接する他の牌(山牌Aや、他のプレイヤーの捨牌C)と混線することなく目的の牌すなわち自分の捨牌領域R内に捨てられた捨牌Cだけを正確に読み出すことが可能となる。
このような捨牌アンテナ64の形状は特に限定されないが、本実施形態では、最大で24個の捨牌Cが各列6個ずつ計4列並べられた場合の大きさや配置に合わせて、当該捨牌アンテナ64を矩形に形成している(図18、図19参照)。この場合、捨牌アンテナ64の奥部分64aが奥から1列目に置かれた6個の捨牌Cを読み取る。また、捨牌アンテナ64の中央部分64bが2列目と3列目に置かれた捨牌Cを読み取り、捨牌アンテナ64の手前部分64cが4列目に置かれた捨牌Cを読み取る(図18参照)。
また、捨牌アンテナ64のタグ読み取り強度を上述のように部位(奥部分64a、中央部分64b、手前部分64c)に応じて変える具体的手段もまた特に限定されないが、本実施形態では、捨牌アンテナ64を、捨牌領域Rの中央部R2におけるループ数が、捨牌領域Rの奥部R1および手前部R3におけるループ数よりも多いループアンテナによって構成している(図17等参照)。このようなループアンテナからなる捨牌リーダー6は、捨牌領域Rの中央部R2を、その外周部(奥部R1、手前部R3)よりも多くループしたアンテナを利用して部位ごとに感度ひいてはタグ読み取り強度を変えるのに適した構成となっている。このため、簡素なアンテナ構成で、コストを抑えつつ、目的の牌以外の読み取りを回避するのに適している。
本実施形態では、このようなループアンテナを、アンテナ入力線64inからアンテナ出力線64outまで1本であるアンテナ線によって構成している(図17等参照)。1本のアンテナ線によってループアンテナを構成することで、信号経路がいわゆる一筆書きのようになり簡素な構成となる。ちなみに、図17中、奥部分64aから中央部分64bへと移行する部分で、アンテナ線は捨牌領域Rの裏側を通過している。なお、アンテナ入力線64inとアンテナ出力線64outは逆になっていても構わないのはいうまでもない。ちなみに、特に図示はしていないが、アンテナ入力線64inとアンテナ出力線64outとを近接して配置すれば、放射する電波を互いに打ち消し合うことになる。これにより、不要な輻射や読取の阻害、誤読を防ぐことができる。
また、ループ数を異ならせる好適例として、本実施形態のループアンテナは、1本のアンテナ線によって、捨牌領域Rの中央部R2においては二重ループとなり、奥部R1および手前部R3においては一重ループとなるように構成されている(図17、図19参照)。なお、上述したように本実施形態では1本のアンテナ線によって一筆書きのようにループアンテナを構成している関係上、ここでいう一重ループ、二重ループというのは、厳密な意味でのアンテナ線の周回数ということではなく、巻き付けの概要を表すという程度の表現である。ただし、図17〜図19に示す本実施形態の捨牌アンテナ64においては、奥部R1と中央部R2との間を横切るアンテナ線、および中央部R2と手前部R3との間を横切るアンテナ線がそれぞれ2本であり、奥部R1の奥側を横切るアンテナ線、および手前部R3の手前側を横切るアンテナ線がそれぞれ1本となっている(図17等参照)。
なお、上述したように、本実施形態では、捨牌領域Rの中央部R2を、その外周部(奥部R1、手前部R3)よりも多くループしたアンテナを利用して部位ごとに感度ひいてはタグ読み取り強度を変えており、別言すれば、奥部R1と手前部R3では中央部R2よりも感度を弱めて混線を防ぐようにしている。また、上述のように中央部R2におけるアンテナが二重ループであることから、アンテナが単なる一重ループである奥側の捨牌列L1や手前側の捨牌列L4における捨牌Cに対する検出感度よりも優れている。このような構成により、他の捨牌領域Rとの混線を防ぎつつも、捨牌領域R内に配置された捨牌列をそれぞれムラなく検出できる。
なお、捨牌領域Rの奥部R1と捨牌アンテナ64の奥部分64aとが厳密に対応している必要はない。同様に、捨牌領域Rの中央部R2と捨牌アンテナ64の中央部分64bとが厳密に対応している必要はないし、捨牌領域Rの手前部R3と捨牌アンテナ64の手前部分64cとが厳密に対応している必要もない。例えば、本実施形態の自動麻雀卓1においては捨牌アンテナ64の奥部分64aと中央部分64bの間を横切る二重のアンテナ線は、捨牌領域Rの奥部R1と中央部R2の境界よりも僅かに中央部R2寄りに位置しているし(図18参照)、捨牌アンテナ64の中央部分64bと手前部分64cの間を横切る二重のアンテナ線は、捨牌領域Rの中央部R2と手前部R3の境界よりも僅かに手前部R3寄りに位置している(図18参照)。要は、捨牌領域Rの奥部R1、中央部R2、手前部R3のそれぞれの所定位置に捨てられた捨牌Cのタグを正確に読み取ることができればよいのであって、正確な読み取りを実現するための捨牌アンテナ64の配置や配列は様々あるが、捨牌領域Rの奥部R1、中央部R2、手前部R3と捨牌アンテナ64の奥部分64a、中央部分64b、手前部分64cとが厳密に対応することは要件ではない。
上述したように、この捨牌リーダー6は、数列に並べて捨てられた捨牌Cを読み取るにあたり、中心付近は捨牌アンテナ64を複数回ループさせて感度を強くし、他家の捨牌Cや自分の山牌Aと接近する外周部分は1重ループにして感度を抑え、読み取り強度(感度)が弱→強→弱と並ぶ構成となっている。捨牌領域R内の外周部分に位置する捨牌Cであっても、中心付近の高感度のアンテナによって読み取り漏れがない。したがって、自分の捨牌C以外の別の牌の読み取り(混線)を抑止し、自分の捨牌Cだけを正確に読み出すことが可能となっている。しかも、捨牌アンテナ64の構成が比較的簡素であることから、従前の構成を大きく変えずに済み、あるいは新規に取り付けるにしても部品点数や費用、設計スペース等を抑えることができる。
なお、上述の実施形態では、捨牌アンテナ64を矩形に配線して構成した捨牌リーダー6を示したがこれは好適な一例にすぎない。捨牌アンテナ64は厳密な矩形でなくてもよい。例えば、矩形に配線された捨牌アンテナ64の角部が丸められた形状になっていてもよいし、全体が楕円状のようになっていてもよい。上述したように、要は、捨牌領域Rの所定位置に捨てられた捨牌Cのタグを正確に読み取ることができればよいのであって、正確な読み取りを実現するための捨牌アンテナ64の具体的な形状が特に限定されることはない。また、ここでは捨牌リーダー6について説明したが、同様の構成のリーダーは、捨牌だけでなく、副露牌、山牌、面前牌を読みとるリーダーにも適用できる。
[捨牌整列ガイド]
続いて、本実施形態の自動麻雀卓1における捨牌整列ガイド90の構成について説明する(図20参照)。
図20に示す自動麻雀卓1の捨牌領域Rには、捨牌Cを捨牌列L1〜L4中の所定位置に誘導する捨牌整列ガイド90が形成されている。このような捨牌整列ガイド90によれば、捨牌列L1〜L4中の捨牌Cを所定位置に誘導し、捨牌リーダー6で読みやすくすることができる。
捨牌整列ガイド90の具体的な構成はとくに限定されないが、本実施形態では、隣接し合う捨牌列と捨牌列の間(すなわち、本実施形態の場合であれば、捨牌列L1と捨牌列L2の間、捨牌列L2と捨牌列L3の間、捨牌列L3と捨牌列L4の間)に形成されて各捨牌列L1〜L4の領域を画定する列間突出部91を含むものとしている(図20参照)。列間突出部91は、その上に置かれた捨牌C(図20中の×印の捨牌C参照)を奥側または手前側に向けて傾斜させやすく、尚かつ、傾斜した状態の捨牌Cを奥側または手前側に向けて滑らせて誘導しやすい表面、例えばアーチ状の曲面となっている。このような捨牌整列ガイド90は、プレイヤーにストレスを感じさせることなく捨牌Cを所定の捨牌列L1〜L4へと誘導することができる(図20中の○印の捨牌C参照)。アンテナの性質からすれば、配線上に位置する捨牌C(×印の捨牌C参照)のタグは、タグがアンテナの磁力線と直行しない配置(捨牌Cの上面や底面と平行配置)となる為に読み取り難い場合があるが、所定の捨牌列L1〜L4へと誘導されれば、捨牌アンテナ64がタグを読み取るのに適した位置に収まるので正確に読み取りやすくなる。しかも、いったん捨牌列L1〜L4に収まった後の捨牌Cを横方向に滑らせることは自在なので、既に捨てられている捨牌Cの真横に揃えて整列させやすい。
また、捨牌整列ガイド90は、捨牌領域Rとその周囲の領域との間に形成された枠状の周囲突出部92を含むものであってもよい。このような周囲突出部92を含む捨牌整列ガイド90は、捨牌Cが捨牌領域Rの外側に置かれないようにし、捨牌領域Rの内側に誘導するし、尚かつ、隙間を詰めるように捨牌Cを端に寄せて整理するようにも誘導するから、さらに捨牌リーダー6で捨牌Cを読みやすくすることができる。図20においては周囲突出部92の具体的構成を示していないが、当該周囲突出部92は、上述した列間突出部91と同様、その上に載った状態の牌を捨牌領域Rへと誘導しやすいアーチ状の表面を有する枠状の突部によって構成されていてもよいし、天板20と捨牌領域Rとの境界において、捨牌Cを捨牌領域Rへと誘導しやすいように捨牌領域Rのほうが僅かに低くなるように形成された段部によって構成されていてもよい。
なお、本実施形態では、捨牌列毎に最大6個の捨牌を横に並べられる、計4列の捨牌列L1〜L4を画定する捨牌整列ガイド90を示しているが(図20参照)、これは好適な一例であって、列数や一列あたりの牌数がこれに限られることはない。
上述したように、この捨牌リーダー6は、数列に並べて捨てられた捨牌Cを読み取るにあたり、中心付近は捨牌アンテナ64を複数回ループさせて感度を強くし、他家の捨牌Cや自分の山牌Aと接近する外周部分は1重ループにして感度を抑え、読み取り強度(感度)が弱→強→弱と並ぶ構成となっている。捨牌領域R内の外周部分に位置する捨牌Cであっても、中心付近の読み取り感度が高い為に読み取り漏れがない。したがって、自分の捨牌C以外の別の牌の読み取り(混線)を抑止し、自分の捨牌Cだけを正確に読み出すことが可能となっている。しかも、捨牌アンテナ64の構成が比較的簡素であることから、従前の構成を大きく変えずに済み、あるいは新規に取り付けるにしても部品点数や費用、設計スペース等を抑えることができる。
[タグ認識アルゴリズム]
麻雀牌Mが内蔵するタグをアンテナ群60を使って読み取る方式の自動麻雀卓1においては、同時に読み取るタグの数が多いため、通常の読み取り処理では時間がかかる場合がある(最大24タグで約1.5秒)。この点において有効な方式として、捨牌C、鳴き牌のStay Quietコマンドを利用するというのがある。これは、
・鳴き牌は一度読み込んだ後、ゲーム終了まで取り除かれる事がない。
・捨牌Cも同様に、鳴かれるか、ゲーム終了まで取り除かれる事がない。そこで、(1)2度目以降は前回までに読み込まれた既知タグをStay Quietコマンドで応答停止させ、新たに入ってくるタグとのコリジョンを防ぎ、(2)鳴きにより捨て牌から取り除かれる分は、いずれかの鳴き牌リーダーで読まれた時点で、捨て牌リーダーの既知タグから削除する。
このようなタグ認識アルゴリズムを採用することにより、24枚目の捨牌Cの読み取り時間を短縮することが可能となる。
以下、上述のごとき認識アルゴリズムに基づく鳴き牌の読み取りフロー(図21参照)と、捨牌の読み取りフロー(図22参照)について簡単に説明を加えておく。
〔鳴き牌の読み取りフロー〕
読み取り開始後、認知タグがあるかどうか判断し(ステップS802)、ある場合には既知タグを応答停止にしてStay Quietコマンドにし(ステップS804)、新規タグ読み取り(Inventoryコマンド)を実施する(ステップS806)。一方、ステップS802にて新規タグがない場合には、ステップS804を経由せずにステップS806にて新規タグ読み取りを実施する。その後、新規タグを検出したら(ステップS808にてyes)、新規タグを既知タグに追加し(ステップS810)、読み取りを完了する。一方、新規タグを検出しなかったら(ステップS808にてno)、そのまま読み取りを完了する。
〔捨牌の読み取りフロー〕
読み取り開始後、捨牌リーダー6で検出されていたタグが他の(鳴き牌)リーダーで検出されたかどうかを判断し(ステップS902)、検出された場合は、既知タグから該当タグを削除する(ステップS904)。一方、ステップS902にて検出されなければ、該当タグの削除は行わずに次のステップに進む。
続いては、既知タグがあるかどうかを判断し(ステップS906)、既知タグがあれば、既知タグを応答停止にしてStay Quietコマンドにし(ステップS908)、新規タグ読み取り(Inventoryコマンド)を実施する(ステップS910)。一方、既知タグがなければ、ステップS908を経由せずステップS910にて新規タグの読み取り(Inventoryコマンド)を実施する(ステップS910)。
次に、新規タグを検出したかどうかを判断し(ステップS912)、新規タグを検出したら、新規タグを既知タグに追加し(ステップS914)、読み取りを完了する。一方、新規タグを検出しなかったら、新規タグの追加をせずに読み取りを完了する。
なお、上述の実施形態は本発明の好適な実施の一例ではあるがこれに限定されるものではなく本発明の要旨を逸脱しない範囲において種々変形実施可能である。例えば、上述した実施形態は本発明を自動麻雀卓1に適用した好例であったが、以下に簡単な例を挙げて説明するように、この他の遊技用卓に適用しても好適である。
(遊戯用卓への適用例その1)
プレイヤー毎に捨てカードエリアが必要な、トランプを使用するカジノゲーム「ブラックジャック」用の遊技用卓に本発明を適用することができる。
(遊戯用卓への適用例その2)
場札エリアと取得札エリアがある花札(こいこい)用の遊技用卓に本発明を適用することができる。要は、プレイヤーが出したカードや札(場に置かれたカードや札)の枚数、種類を着実に読み取ることが重要となる遊技において本発明を適用すれば、隣接する他のカードや札と混線することなく目的のカードや札といった遊技媒体だけを正確に読み出すことが可能となる。
この(遊戯用卓への適用例その2)の具体例を説明する(図23参照)。例えば、プレイヤーAとプレイヤーBとが向かい合って遊技する花札用の遊技用卓1において、山札配置エリアの他、花札の載置領域Rとして、場札配置エリア、プレイヤーAの取得札配置エリア、プレイヤーAの手札配置エリア、プレイヤーBの取得札配置エリア、プレイヤーBの手札配置エリアという各エリアが設定されている場合に、混線を防ぎつつ目的の花札を正確に読みだす構成とすることができる。
すなわち、プレイヤーAあるいはBの取得札配置エリアおよび手札配置エリア(それぞれのエリアが花札の載置領域Rである)においては、各エリア(載置領域R)のうち他のエリア(別の載置領域R)に近い近接部分R5におけるアンテナ(手札検出アンテナおよび取得札検出アンテナ)64によるタグ読み取り強度を、当該エリア(載置領域R)のうち近接部分R5以外の部分である遠位部分R4におけるアンテナ64によるタグ読み取り強度のうちもっとも高い強度よりも低く設定することができる。この場合、アンテナ64を一筆書きで配置すればさらに好適である(図23参照)。アンテナ(手札検出アンテナおよび取得札検出アンテナ)64の感度の強い部分が、中央の場札配置エリアから離れていることで混線を防ぎやすくなる。
また、中央部の場札配置エリア(載置領域R)に関しては、当該エリアのうちプレイヤーA寄りおよびプレイヤーB寄りの両側部分が近接部分R5となり、該近接部分R5におけるアンテナ(場札検出アンテナ)64によるタグ読み取り強度は、近接部分R5を除く中央帯の遠位部分R4におけるアンテナ64によるタグ読み取り強度のうちもっとも高い強度よりも低く設定されている。アンテナ64を一筆書きで配置すればさらに好適である(図23参照)。アンテナ(場札検出アンテナ)64の感度の良い部分が、プレイヤーA、Bの手札配置エリア、取得札配置エリアから離れていることで混線を防ぎやすくなる。
(遊戯用卓への適用例その3)
カジノルーレットの賭けチップ(遊技媒体)を配置するエリアを有する遊技用卓に本発明を適用することができる。ベットエリアに置かれたチップ内のタグを読み取る仕様においては、ベットエリアが細かく分かれているので、各エリアにそれぞれ何枚のあるいはいくらのチップが置かれたか、混線せずに読み取ることが要求されるのに対し、本発明を適用すれば正確に読み取ることが可能となる。
(遊戯用卓への適用例その4)
複数のサイコロ(遊技媒体)を振ってそれぞれの出目を読み取る遊技機における遊戯用卓に本発明を適用しても好適である。一例を挙げると、3個のサイコロをそれぞれのエリアで振って出目を予想する遊技機で、個々のサイコロに対応してそれぞれ出目検出用のアンテナを床面に設置しておき、近接するサイコロが内蔵するタグを読み取らないようにする構成である場合に、本発明におけるアンテナ等の構造を適用し、中央部と外周部で感度を変えておき、隣接する他の読取対象(サイコロ)と混線することなく目的のサイコロの情報だけを正確に読み出せるようにすることができる。
この場合、例えば、順序関係なく3個のサイコロの出目を読み取るだけで良いのではなく、それぞれのエリアにおけるサイコロの出目を予想するゲーム性(例えば、「一番左のサイコロの出目は3」、等)であれば、アンテナが3領域分必要となる。この際、3個のサイコロを振るエリアが隣接しているのであれば、所定のエリアのサイコロの出目を隣接するエリアのサイコロと混線せずに確実に読み取ることが求められるのに対し、本発明を適用すれば確実に読み取ることが可能となる。