[発明の実施形態の概要]
以下に本発明の自動麻雀卓の実施形態を説明するが、先ず本実施形態の概要について述べておく。本願明細書では、半荘を構成する「局」という用語は、半荘を構成する各ゲーム単位であり、東の1局、2局、‥‥南の3局、4局の各局において連荘(親が連続してアガリをして親が移動しないまま局が続く状態)となった場合に行われるゲーム単位も含まれる。従って「局」は、東の1局、東の1局の1本場、東の1局の2本場、の3回のゲーム単位が実施される場合、これら3回は3局分に相当する。別の言い方をすれば、東の1局、東の1局の1本場、東の1局の2本場は、夫々東の1局、東の1−1局、東の1−2局に相当するということにもなる。また以下の説明では、「局」を「回」と呼ぶこともある。局は麻雀におけるゲームの最小の区切りになるものであるということができる。
本実施形態では、半荘の各局の結果(戦況あるいは終わり方)を4人のプレーヤーの席ごとにメモリに記録しようとするものである。各局の結果の把握については、一の局の終了時の各プレーヤーの持ち点と次の局の終了時の各プレーヤーの持ち点とを比較することにより行われる。即ち、一の局の終了時の各プレーヤーの持ち点と次の局の終了時の各プレーヤーの持ち点との増減を調べることにより、いずれのプレーヤーがどのようにしてアガリ(和了)を行ったのか、ロンであれば、いずれのプレーヤーが振り込んだのか(いわゆる放銃をしたのか)、あるいは流局になったのかなどの、局の結果である局履歴情報(局履歴データ)が分かる。
そして、ある局の終了時の各プレーヤーの持ち点の読み出しのタイミングとして、局を開始するために必要な操作部の操作が行われたときのタイミング、例えば一の局が終了し、牌を落とし込むための開閉スイッチが押されたときのタイミングを利用している。即ち、開閉スイッチが押されたことに基づいて出力される信号をタイミング信号として、各席の点棒箱内の点数を読み出すようにしている。
開閉スイッチが押されたことに基づいて出力される信号とは、後述の卓面に設けられた開閉板20a〜20dを開き操作または閉じ操作するために開閉スイッチを押したときに、押したことに基づいてタイマが動作し、予め設定した時間経過後にタイムアップし、タイムアップ時に出力される信号を挙げることができる。あるいは、開閉スイッチを押したことにより、卓本体内にて牌が掻き回され、牌の掻き回しが終了し、牌が整列されて卓面に上昇し終えた時点に発せされる信号であってもよい。
一の局が終了し、当該一の局の結果に対応する点棒の移動が終了した後(例えば振り込んだプレーヤーからアガッタプレーヤーへの点棒の受け渡しが終了した後)、次の局の開閉スイッチが押されるため、例えば開閉スイッチにより閉じ操作をしたときには、当該一の局の結果が各席の点棒から見えることになる。
また「いずれのプレーヤーがどのようにしてアガッタのか」とは、アガリ種別を特定することであり、アガリ種別とは、アガリの経緯がリーチなのか鳴きなのか面前(ヤミ)なのか、更にロンなのかツモなのかということである。更に局履歴情報には、アガリをしたプレーヤー、アガリ種別の他に振り込んだプレーヤー、各プレーヤー点数の増減などが含まれる。具体的には、後述の図8以降に示しているように、メモリに各席ごとのテーブルを作成し、各項目の有/無の判定、点数などがテーブルに書き込まれることになる。
しかし3人の子が親に1000点ずつ支払った場合には、親がツモによりアガリをしたケースに相当することがあり、そのアガリのケースなのかそれとも流局なのかの区別がつかないことから、流局スイッチ(ボタン)による手動操作に頼ることとしている。通常のルールでは、親が連続してアガッタ場合などにより、連続して行われる局において同じプレーヤーが親を続ける、連荘が発生したときには、いわゆる積み棒が連荘数に相当する数だけ積まれ、アガリをしたプレーヤーが積み棒の本数に対応する点数だけ加算して受け取ることになる。
親がツモによりアガリをして、3人の子が親に1000点ずつ支払うケースの一つとしては、連荘が発生していない局において、親が2900点の役を積もったときである。積み棒の1本当たりの加算点数は、例えば300点の場合が多いが、この場合には、連荘が発生しているときには、親がツモによりアガリをして、3人の子が親に1000点ずつ支払うケースは発生しない。
しかしルールによっては、連荘が発生しているときでも、このケースに相当する場合がある。例えば積み棒1本当たりが1000点であるが、一のプレーヤーがツモアガリをしたときには他のプレーヤーの加算点数が500点になるルールを採用する場合もある。この場合には、連荘数が1のときに親が1500点をツモによりアガリをしたとすると、3人の子の各々は、本来の点数分担分である500点に積み棒1本分の500点を加算して、親に1000点ずつ支払うことになる。従ってこの場合には、連荘数が1以下であるときには、流局なのか親のツモアガリであるのかの区別がつかない。
以上のことから、3人の子が親に1000点ずつ支払った場合には、一律に流局ボタンによる手動操作に頼るようにしてもよいが、積み棒1本当たりの点数に応じて、連荘数を考慮して流局と親のアガリとの区別ができないケースを抽出し、そのケースが発生した時に流局スイッチを手動で操作するようにシステムを組むようにしてもよい。
また最終局(当該局の終了により半荘が終了することとなる局)においては、ルールによっては、供託リーチ料が存在する場合には持ち点トップのプレーヤーが取得することなど、点数の移動のケースが煩雑であることから、流局の場合には、流局ボタンによる手動操作に頼ることとしている。
半荘が終了した後は、局履歴情報が作成されたメモリ内のデータ(テーブル)は、各席ごとに設けられた接続端子に記憶媒体である例えばUSBメモリを差し込み、書き込み操作を行うことにより、USBメモリが差し込まれた席の局履歴情報が麻雀卓本体側のメモリから読み出されてUSBメモリ書き込まれる。
[自動麻雀卓の構成]
図1は、本発明の実施形態に係る自動麻雀卓の概観を示す図であり、1は麻雀卓本体である。3は各席ごとに設けられる点棒箱であり、突起部30を引くことにより蓋301が開き、点棒箱3内の点棒を取り出すことができる。点棒箱3内の点棒が示す点数は点数検出部により検出され、検出された点数が点数表示部32に表示される。図4は、各席に対応して設けられた点棒箱3などの機器群とデータ処理などを行うコントローラとを示しており、点線で囲った部分A〜Dは、機器群を含む各席A〜Dを概念的に示している。
点数検出部31としては、周知のものを使用することができ、例えば点数ごとに点棒の重量を設定しておくと共に点棒箱3内を、点数ごとの点棒群を個別に収納するように区画しておき、各区画領域ごとの重量を測定することで、各点数の点棒の本数を求めて点棒箱3内の点棒に対応する点数を検出するものを使用することができる。
また点数検出部31としては、各点棒にICチップとアンテナとを設けると共に、ICチップ内にその点棒に対応する点数を記憶しておき、点棒箱3側に設けたアンテナから点棒のアンテナに電力と指示信号を送り、点棒側ではその電力をコンデンサに蓄えて前記指示信号に基づいてICチップから点数情報を読み出して点棒箱3側のアンテナに送信するシステムを利用してもよい。このシステムは、点棒にRFIDシステムにおけるRFタグを用いたシステムである。より具体的には、点棒箱3側のアンテナにて受信した信号は、検波部により検波されて点数情報が取り出され、この点数情報に相当する信号がアナログ/ディジタル変換器を介してディジタル信号に変換される。また指示信号は、所定のタイミング例えばmsオーダの間隔で出力され、この間隔で検出された点数が更新される。
点数情報について更に詳しく述べると、例えば点棒ごとにコードを割り当てておき、アンテナから送られたコードを解読し、予め決められた各コードと点数との対応関係と、解読したコード群と、に基づいて点棒箱3内にいずれの点棒が含まれているかを把握し、つまり点数を把握し、こうして各点棒箱3内の点数を検出することができる。点数検出部31は、この例では点棒箱3側のアンテナ、検波部及びアナログ/ディジタル変換器に相当するとすれば、点数検出部3から出力されるディジタル信号をコントローラにおいて解読することにより各席の点数を検出することになる。従って、点数検出部31とコントローラのCPU、点数の解読プログラムやメモリなどを含めた構成を点数検出部ということが適切であるかもしれないが、説明の便宜上、各席の点数を各点数検出部31で検出するという記載をする場合もある。
また点棒を支払う時に持ち点が支払点数を越えてしまったとき(3万点を割ったとき)には、各点棒箱3に支払い超過用の点棒として専用に用意されている専用の点棒例えば黒色の2本の点棒(黒棒)を利用することにより、持ち点が分かるようになっている。即ち、点棒箱3内に黒棒が2本入っているときには、点棒の読み出しには関与しないが、1本減ったときには持ち点がゼロを基準とし、黒棒1本を1万点としてカウントする。一方黒棒が1本増えたときには通常の1万点棒としてカウントする。従って、一のプレーヤーが持ち点ゼロ点のときに他のプレーヤーに2千点振り込んだとすると、一のプレーヤーが黒棒1本を他のプレーヤーに渡して8千点お釣りをもらえば、一のプレーヤーの点数検出値は、−2千点(ゲーム点数で言えば「−32」)となる。また他のプレーヤーの点数検出値は、持ち点が2千点増加した点数となる。
32は点数表示部であり、点数検出部31にて検出された点数が表示される。
麻雀卓本体における4つの側面の各々には、各席に対応したメモリ接続部(図4では「接続端子部」と表記している)71が設けられている。メモリ接続部71は、後述の局履歴メモリ64内のデータを記憶媒体例えばUSBメモリ7に取り出すために設けられている。72は、局履歴メモリ64内のデータをUSBメモリ7に書き込むときに用いられる書き込み操作部である書き込みスイッチである。
書き込みスイッチ72は、誤操作を防止するために例えば3秒押したときに有効になるように構成されている。そして当該スイッチ72に隣接して表示部721が設けられ、書き込みスイッチ72を押したときに、表示部721に例えば「3秒押し続けてください」のメッセージが表示され、書き込みスイッチ72が3秒間押し続けられた後、「書き込み開始」の表示がされると共に当該表示が点滅し、書き込み終了時に「書き込み終了」の表示がされる。「書き込み開始」の表示がされた後は、書き込みスイッチ72を押していても、離していても書き込み動作には影響しない。従ってプレーヤーは、書き込み終了の表示を確認して、USBメモリ7をメモリ接続部71から取り外すことができる。
また書き込みスイッチ72の誤操作を防止する手法として、例えば書き込みスイッチ72を押したときに「書き込みをしてよいですか」といった音声出力を行ってもよいし、あるいは麻雀卓本体1に設けた表示部に「書き込みをしてよいですか」のなどの表示を行うようにしてもよい。この場合、このような注意喚起のための報知出力がされた後に、再度書き込みスイッチ72を押すことにより書き込み動作が実行される。
図2は、本実施形態にかかる自動麻雀卓を示す平面図であり、81は手牌載置領域、82は山領域である。また各席ごとに、麻雀卓本体1の表面には、鳴き牌置場83、流局になった時にリーチ棒を置いておくための供託リーチ棒置場84、暗カン置場85が設けられている。これら置場83、84、85においては、手牌載置領域81の右側に、置場を特定するための区画線が引かれている(図2では点線で表示している)。鳴き牌置場83及び供託リーチ棒置場84となっている麻雀卓本体1の表面層の下方側には、各置場83、84ごとに夫々圧電センサ及び重量センサ(図示せず)が設けられている。鳴き牌置場83に牌が置かれると、圧電センサを含む回路部分から、鳴きが行われたことに対応する検出信号が後述のコントローラに出力される。また供託リーチ棒置場84に供託リーチ棒が置かれると、重量センサを含む回路部分から、供託リーチ棒の本数に応じた検出信号が後述のコントローラに出力される。
鳴き牌置場83に対応して設けられた圧電センサを含む回路部分は、鳴きが行われたことを検出する鳴き検出部831(図4参照)を構成する。供託リーチ棒置場84に対応して設けられた重量センサを含む回路部分は、供託リーチ棒が存在すること及び供託リーチ棒の本数を検出する供託検出部841(図4参照)を構成する。本実施形態では、局の進行中に鳴きがあったか否かを検出するようにしているため、鳴き牌と暗カンの牌とが混在しないように暗カン置場85を鳴き牌置場83とを相互に区画設定している。なお暗カンを立てたままにしておく習慣を持ったプレーヤー同士のゲームであれば、暗カン置場85は不要である。
麻雀卓本体1の中央部にはゲームを進行させるためのゲーム進行操作部5が四角形の領域の中に設けられている。図3は、ゲーム進行操作部5を示す平面図であり、中央にはサイコロ52を転がす転動領域51が設けられている。24はサイコロ52を振るためのサイコロスイッチ24であり、プレーヤーが座る各席に対応して設けられている。局の開始時にサイコロ52を振りその出目により、手牌を取り出す山の位置を決めるルールを採用する場合には、親が目の前の(自分の席に対応する位置の)サイコロスイッチ24を押すことになる。
2は開閉操作部をなす開閉スイッチ(開閉ボタン)であり、2カ所に設けられている。この例では開閉スイッチ2を1回押すと、ゲーム進行操作部5を囲む4枚の開閉板20a〜20dからなる開閉部が開いて開口部が形成される。そして麻雀卓本体1の表面の牌を開口部を介して麻雀卓本体1内に落とし込んだ後、もう一度開閉スイッチ2を押すと、開閉部2が閉じ、既に麻雀卓本体1内で整列されている牌群が山領域82に上昇する。その後、親から順に山領域82の所定の位置から手牌を取り出して各プレーヤーの手牌載置領域81に並べることになる。
また自動麻雀卓としては、サイコロスイッチ24を押すことによりサイコロ52が振られる方式と、サイコロスイッチ24を押すことによりコントローラが自動でサイコロの出目を決めると共に自動で手牌である13枚の配牌が手牌載置領域81に上昇し、親が最初にツモルべき山の位置がサイコロの出目に応じて設定される方式と、を選択できる構成であってもよい。自動でサイコロの出目を決める方式を選択した場合には、サイコロスイッチ24と開閉スイッチ2とを同時に押すことを条件として、開閉部20を閉じるように構成されていてもよい。
サイコロスイッチ24は親が操作するので、いずれの席が親であるかをコントローラに知らせるための親教示部及び、プレーヤーに確認させるための親表示部に相当する。
開閉部20の開閉を操作するスイッチの構成としては、上述の例に限るものではなく、例えば開閉部20を開くためのスイッチと開閉部20を閉じるためのスイッチとが別体であってもよい。
図3中21は連荘スイッチ(ボタン)、22は連荘ランプである。連荘ランプ22は、連荘の回数に応じた数だけ点灯されるものであり、同じ席で開閉操作が連続して行われた回数(例えば2回続けて開閉操作が行われると連続して行われた回数は1回)に応じた数だけ点灯される。即ち、親が自分の席に対応する開閉スイッチ2により閉じ操作を2回行うということは、1回連荘したということであるから、連荘ランプ22が1個点灯する。連荘ランプ22は、局を開始するために親が行う必要な操作に連動して連荘ランプ22が点灯するように構成することが好ましく、このように構成することで、親が続く回数と連荘ランプ22の点灯個数、つまり連荘回数が表示される。
また連荘ランプ22は、連荘スイッチ21を操作する度に(押す度に)その点灯個数が増加する。親以外のプレーヤーが誤って開閉スイッチ2を押して開閉部20を閉じてしまい、その際に自分の席に対応するサイコロスイッチ24を押してしまったときには、連荘ランプ22はリセットされる。この場合には、この場合には連荘スイッチ21を操作することにより、連荘回数の表示、即ち連荘ランプ22の点灯個数を連荘数に応じた正しい値に設定される。以上の説明から、開閉スイッチ2の操作回数、例えば閉じ操作回数をカウントすることにより、あるいは連荘スイッチ21の操作回数をカウントすることにより、あるいはまた連荘ランプの点灯数を検出することにより、後述のコントローラは連荘回数を検出することができる。
しかし親以外のプレーヤーによる誤った開閉操作などが発生してもコントローラが正しい連荘数を把握するためには、例えば連荘ランプ22の点灯数に基づいて連荘数を把握することが好ましい。連荘スイッチ21など、連荘回数を知らせるための手段は、図4に示す連荘回数出力部210に相当する。
またゲーム進行操作部5には、流局になったときに操作される流局スイッチ(ボタン)53が設けられ、流局スイッチ53が操作された(押された)ときには流局ランプ54が点灯するように構成されている。図3Aは流局スイッチ53を含む回路部分を示しており、電源部531に流局スイッチ53を介して信号出力部55が接続されている。信号出力部55は、流局スイッチ53を介して所定の電圧が設定された時間だけ入力されたとき、つまり流局スイッチ53をいわゆる長押ししたとき、流局ランプ54の点灯のための信号を出力すると共に後述のコントローラに対して流局であることを知らせるための教示信号を出力する。
流局スイッチ53及び信号出力部55は、流局を知らせるための流局教示部530に相当する。流局教示部530は図4にも示してあり、コントローラに流局の教示信号が送られると、ワークメモリ65内に流局であることが書きこまれる。ワークメモリ65内に書きこまれた流局であることの情報は、局履歴情報を作成するときに参照される。
流局スイッチ53を設定時間だけ押すことにより、流局であることの教示信号が発生するように構成する理由は、プレーヤーが誤って流局スイッチ53を押してしまったときに、コントローラが流局であると判断することを防止するためであるが、流局スイッチ53を押したと同時に教示信号が出力されるように構成してもよい。
流局スイッチ53は、半荘の終了時の局が流局になったときと、連荘ではない局における親の一人聴牌の時と、において使用される。
図3に戻って、ゲーム進行操作部5は、プレーヤーがリーチをかけたときにリーチ棒を置くためのリーチ棒置場4が各席に対応して設けられている。既述の供託リーチ棒の置場に対して用語の混乱を避けるために、ゲーム進行操作部5に設けられたリーチ棒置場は、リーチを宣言するものであることから、宣言リーチ棒置場4として表記する。宣言リーチ棒置場4にリーチ棒が置かれると、例えば重量センサを含む検出回路から検出信号が後述のコントローラに出力される。検出回路は、リーチ検出部に相当し、図4ではリーチ検出部に符号41を付している。
宣言リーチ棒置場4にリーチ棒が置かれたことを検出する手法としては、宣言リーチ棒置場4の底部に圧電素子を設けて、圧電素子がリーチ棒により押圧されることで検出信号を出力するようにしてもよいし、あるいは宣言リーチ棒置場4の底部に機械的なスイッチを設けるようにしてもよい。
図1に戻って、麻雀卓本体1の例えば裏面側には、リセットスイッチ(ボタン)11、終了スイッチ(ボタン)12及びパラメータ設定部13が設けられている。リセットスイッチ11は、後述の局履歴メモリ64内の局履歴情報を一括消去するためのものである。リセットスイッチ11が使用される一例として、あるグループがゲームを終了し、次のグループがゲームをしようとするときに、局履歴メモリ64内に先のグループの局履歴情報が取り出されずに残っている場合も考えられるので、例えば雀荘のスタッフが次のグループのゲーム開始の前に念のためリセットスイッチ11が操作される(押される)。
終了スイッチ12は、最終局の終了、即ち半荘の終了を後述のコントローラに知らせるための終了操作部に相当するものであり、コントローラは、終了スイッチ12が操作されたときに、各席の点棒箱3内の点数を読み出すように構成されている。終了スイッチ12は、半荘の最後の局である最終局の終了時におけるプレーヤーの持ち点を読み出すタイミング信号を生成するためのものであるから、最終局の終了時の点棒の状態を維持したまま、操作されることが必要である。最終局の終了時の点棒の状態とは、誰かがアガッテあるいはツモって点棒が移動した後、次の半荘を開始するためにあるいはその日のゲームの終了時のマナーとして各席の点棒箱3内の点棒を配給原点(例えば2万5千点)にリセットする前の状態という意味である。
パラメータ設定部13は、ゲームのルールに応じた遊技モードやパラメータを設定するためのものである。この実施形態の自動麻雀卓は、ゲームを進行させるために親がサイコロスイッチ24を押してサイコロを振り、出目に応じてゲームを進行させる遊技モードと、親がスイッチを押すことによりコントローラ内のランダム関数などにより自動で手牌が上昇し、山における最初の牌のツモの位置が設定される遊技モード、を設定できるようになっており、この設定がパラメータ設定部13で行われる。更にパラメータ設定部13が設定するパラメータとしては、親の連荘数に応じた支払いの加算分(1本場が例えば300点であるという設定)、半荘終了時に点棒の点数に対して順位に応じて加算あるいは減算される付加点数(いわゆる「ウマ」)などが挙げられる。
リセットスイッチ11、終了スイッチ12及びパラメータ設定部13などの配置は、麻雀卓本体1の裏面側に限られるものではなく、例えば側面や表面に配置するようにしてもよい。
図4は、各席に対応した既述の機器あるいは機能部分と麻雀卓本体1に設けられている制御部であるコントローラを示すブロック図であり、コントローラは、バス60、CPU61、プログラム格納部600、局履歴メモリ64、ワークメモリ65を備えている。
局履歴メモリ64は、図8以降に示すように各席A〜Dごとに、東1局から順番に各局の履歴情報(結果)が書きこまれるテーブル(表)を記憶するための記憶部である。各局の履歴情報とは、どのプレーヤーがどのようなアガリをしたのか、どのプレーヤーが振り込んだのか、それとも流局なのか、流局の場合には誰が聴牌をしたのか、という局の終了結果である。局の履歴情報は、各席ごとのテーブルで見ると、自分がその局でアガリをしたのか、振り込んだのか、ツモられて点棒を支払ったのか、流局になって聴牌をしたのか、などを特定するための情報であると言える。例えば流局になったときに自分が聴牌しているか否かは持ち点の増減によりわかる。また例えばテーブルにおけるある局の欄において流局などの項目が「該当なし」であって、持ち点の増減がなければ、自分は局の結果(戦況)には関与していないということである。
ワークメモリ65は、局履歴メモリ64に各局の局履歴情報(局履歴データ)を作成するにあたって、サイコロスイッチ24の操作に基づいていずれの席が親であるかを記録し、また局が進行しているときのリーチ検出部41及び鳴き検出部831からの検出結果に基づいてリーチの有無、鳴きの有無を各席A〜Dごとに記録される。更にワークメモリ65は、前の局の開閉スイッチ2の操作時に席A〜Dの点数検出部31により読み出された各席A〜Dの持ち点と、今回の局の開閉スイッチ2の操作時に席A〜Dの点数検出部31により読み出された各席A〜Dの持ち点と、前回の持ち点と今回の持ち点との増減と、が記録される。更にまたワークメモリ65には、連荘回数出力部210の出力に基づいて、連荘回数も記録される。
既述の局履歴情報は、ワークメモリ5内のデータを参照して作成される。図5にワークメモリ5のイメージを記載してある(連荘回数については図示していない)が、例えば開閉スイッチ2が操作されて局履歴メモリ64のテーブルにおいて今回の局に履歴情報が書きこまれた後は、今回の点数が前回の点数の欄に転記され、転記されたデータ以外のデータは消去される。
プログラム格納部600には、局履歴情報作成プログラム62及びデータ取り出しプログラム63とが格納されている。局履歴情報作成プログラム62は、各局の結果である履歴情報を作成するためのプログラムであり、後述の図6A及び6Bに示すフローを実行するための命令群を備えている。局履歴情報作成プログラム62、CPU61、局履歴メモリ64及びワークメモリ65は、局履歴情報を作成するためのデータ処理部の一部を構成している。
またデータ取り出しプログラム63は、半荘が終了したときに局履歴メモリ64に書きこまれた当該半荘の各局の履歴情報を読み出して、各席A〜DごとにUSBメモリ7に書き込むための命令群を含むプログラムである。
66は音声出力部であり、流局スイッチ53を押すようにプレーヤーに注意を喚起する場合などに音声を出力する。
[発明の実施形態の作用、効果]
上述実施の形態の作用について説明する。図6A及び図6Bは麻雀ゲームの一連のフローを示すフローチャートであり、既述の局履歴情報作成プログラムにより実行される。今、4人のプレーヤーが集まってリセットスイッチ(リセットスイッチ)11が操作された(押された)ものとする(ステップS1)。これにより、仮に既にゲームが終了した例えば他のグループのプレーヤーのデータが局履歴メモリ64内に残っていたとしても、当該データは消去される。そして親が決められ、決められた親が開閉スイッチ2の操作を行うと(ステップS2)、卓上の牌が卓内に落とし込まれて整列された牌群が上昇して各プレーヤーの前に配列される。この例では、サイコロスイッチ24が押されると、自動でサイコロの目が出る方式が採用されている。
開閉スイッチ2の操作は、開閉スイッチ2を1回押すことにより卓面の開閉部20が開いて卓上の牌を卓内に落とし、その後開閉スイッチ2及びサイコロスイッチ24を押すことにより開閉部23が閉じて整列された牌群が上昇して各プレーヤーの前に配列される操作である。サイコロスイッチ24を操作することにより、親表示部である親表示ランプが組み合わされた当該サイコロスイッチ24が点灯する。例えば席Aが起家(チーチャ)であるとすると、席Aのプレーヤーが目の前のサイコロスイッチ24を操作するので、席Aに対応するサイコロスイッチ24が点灯する。
各席A〜Dの点棒箱3内の点数(以下、簡略して単に「各プレーヤーの持ち点」ということもある)は点数検出部31により検出されており、図5に示すようにこのときの各プレーヤーの持ち点がワークメモリ65のテーブルの「前回点数」の欄に席A〜Dに対応付けて書き込まれる(ステップS2a)。開閉スイッチ2を操作した時は東の1局の開始時点であるから、このときの各プレーヤーの持ち点は配給原点である25000点(当事者間や雀壮のルールによりこの点数は決まる)である。
最初の半荘開始時においては、リセットスイッチ11が押された後に初めて開閉スイッチ2を操作することになるため、局履歴情報作成プログラム62は開閉スイッチ2の操作を検出して、東場の1局が開始されたことを認識し、サイコロスイッチ24が操作された席(操作されたサイコロスイッチ24に対応する席)が親であることを認識する。
例えば席Aが親であるとすると、この場合席Aは起家なのでコントローラのワークメモリ65内における起家の記載領域には、席A(席Aに対応するディジタル値)が記憶される。なお、例えば席Bのプレーヤーが親ではないにもかかわらず、錯誤により席Bに対応する操作を行ったときには、席Bに対応するサイコロスイッチ24が点灯するが、その後席Aに対応する、親表示部を兼用する親教示部をなすサイコロスイッチ24を押すことにより、当該サイコロスイッチ24が点灯し、正しい親表示がされることになる。
また局履歴メモリ64には図8に示すように各席A〜D毎に東1局の欄が作成される(ステップS3)。
ここで局履歴情報作成プログラム62は、リーチが発生したか否か、鳴きが発生したか否か、開閉スイッチ2が押されたか否か、終了スイッチ12が押されたか否かをこの順にサイクリックに判断する(ステップS4〜S8a)。
ステップS4は各席A〜Dごとにリーチの発生の有無を監視するステップであり、各席A〜Dのリーチ検出部41の検出結果を順次スキャンする。またステップS6は各席A〜Dごとに鳴きの発生の有無を監視するステップであり、各席A〜Dの鳴き検出部831の検出結果を順次スキャンする。
リーチ検出信号が出力されていれば、ワークメモリ65内の一時記録テーブルに、リーチ検出信号が出力されている席と対応づけてリーチに相当する論理「1」が書きこまれる(ステップS5)。図5には、一時記録テーブルにおいて席Aのプレーヤーがリーチをかけた履歴が書きこまれている。従って例えば席Aのプレーヤー及び席Bのプレーヤーがリーチをかけていれば、テーブルにおける席A及びBの各リーチの欄に論理「1」が書き込まれることになる。
また鳴きの有無の判断は、各席A〜Dにおける鳴き検出部831から鳴き検出信号が出力されているか否かを順次判断することにより行われ(ステップS6)、鳴き検出信号が出力されていれば、一時記録テーブルに、鳴き検出信号が出力されている席と対応づけて鳴き検出信号に相当する論理「1」が書きこまれる(ステップS7)。従って例えば席Aのプレーヤー及び席Bのプレーヤーが鳴いていれば、一時記録テーブルにおける席A及びBの各鳴きの欄に論理「1」が書き込まれる。
そして例えばいずれかのプレーヤーがアガリを行って、当該アガリに対応する点棒の支払いが行われた後、あるいは東の1局が流局になった後、次の局(既述のように東の2局あるは連壮である東の1局1本場)を開始するために開閉スイッチ2が操作されると、開閉スイッチ2が押されたか否かを判断するステップS8において「YES」となるので、ステップS9に進み、開閉スイッチ2が操作されてから、例えば開閉スイッチ2による開閉部20の閉じ動作指示がされてから予め設定した時間例えば20秒経過するまで待機する。経過時間の開始のタイミングである開閉スイッチ2の操作されたときとは、開閉スイッチ2に対して開閉部20の開き操作を行った時から設定時間を経過した後であってもよい。
次いで点数検出部31により検出された、今回の各席A〜Dの点棒箱3内の点数(各プレーヤーの持ち点)が一時記録テーブルの「今回点数」の欄に書き込まれる(ステップS10)。点数を記録するにあたって、「前回」とは、アガリなのか流局なのかなどの局の履歴(結果)を調べようとする当該局の前の回に相当し、「今回」とは局の結果を調べようとする当該局を指す。この例では「今回」がゲームを開始した初めての回である東の1局であるため、「前回」はゲーム開始直前の状態を意味する。図5に示すように、一時記録テーブルの「前回点数」には、前回の点数である、半荘開始時の配給原点25000点が書きこまれている。
続いてステップS11以降の処理が行われるが、先ず既述のステップS8以降において、どのような処理をしようとしているのか、について先に簡単に述べておく。ある局(今回)が終了し、次の局を開始するときには、プレーヤーの間での点棒の受け渡しが終了した後、開閉スイッチ2が操作される。従って開閉スイッチ2を押したときには、各プレーヤーの持ち点が確定しているので、各プレーヤーの持ち点が確定した局(今回)における持ち点と、その前の局(前回)の持ち点とに基づいて点棒の流れ(持ち点の増減)が分かり、各プレーヤーの持ち点の増減から、今回の局の履歴、即ち、東の1局がいずれかのプレーヤーによるアガリとなったのか、流局となったのか、いずれかのプレーヤーの瑕疵による罰金の支払い、いわゆる「チョンボ」により終わったのかが判断できる。具体的にはこの判断は、ワークメモリ65に既に書きこまれている一時記録テーブルのデータ(図5参照)を参照して行われる。そしてその判断結果が局履歴メモリ64に書き込まれることになる。
開閉スイッチ2が操作されるときには各プレーヤーの持ち点は通常確定しているが、例えば次の回の親の第1ツモが開始される前に、点棒の支払いミスなどに気が付いて点棒の受け渡しが発生する場合などを考慮して、この例では開閉スイッチ2が操作(例えば開閉部20の閉じ指示操作)された後、予め設定した時間が経過した後で各プレーヤーの持ち点の変動の有無を判断するようにしている。この例では、ステップS8において「YES」と判断された後、予め設定した時間が経過するステップS9を設けているが、各ステップの実行時間が短いことから、実質的には開閉スイッチ2が操作された後に設定時間が経過してから点数の読み出しを行っていることになる。なお、開閉スイッチ2が操作された後、設定時間が経過した後に、開閉スイッチ2が操作されたことをコントローラに出力する信号出力部を設け、この信号出力部からの出力信号をコントローラが受信した時点で直ぐに、点数検出部31により検出された、今回の各席A〜Dの点棒箱3内の点数(各プレーヤーの持ち点)をワークメモリ65の一時記憶テーブルに記録するようにしてもよい。
今回の各席A〜Dの点棒箱3内の点数を一時記録テーブルの「今回点数」の欄に書き込むタイミングとしては、開閉部20の閉じ動作指示もしくは閉じ動作終了時点または開き動作指示あるいは開き動作終了時点であってもよく、既述のように設定時間を設けなくともよい。しかしプレーヤーの間における点棒の受け渡しなどの要因の発生により点箱に点棒を戻すタイミングが遅れる場合であっても確実に今回の局の各プレーヤーの持ち点を記録するためには、ステップS9を設けて開閉操作時から設定時間を経過した後に持ち点の記録を行うことが好ましい。
ステップS10に続いて実行されるステップS11からステップS16a、ステップS20に至るまでのステップ群は、いずれかのプレーヤーがアガルことにより局(回)が変わったのか、それとも流局により局(回)が変わったのか、あるいは「チョンボ」が発生して局(回)が変わったのか、について判断するためのステップ群である。
先ず流局の態様としては、
(a)少なくとも一人がリーチをかけている状態で流局となる、
(b)誰もリーチをかけていない状態で流局となる、
の2つに分けられる。(a)の場合には供託リーチ棒置場84にリーチ棒(1000点)が置かれた、いわば供託状態であることから、全員の持ち点の合計は、(10万点)−{(リーチをかけているプレーヤーの人数)×1000点}である。従って、先ず全員の持ち点の合計が10万点であるか否かを判断することにより、上記の(a)であることが抽出できる。この判断を行う処理がステップS11である。
なお、仮にプレーヤーの間での点棒の受け渡し時などに点棒が点棒箱3から落下している異常事態の発生に対処できるようにするため、この例ではステップS12にて全員の持ち点の合計は10万点に満たないと判断された場合に、ステップS12にて、10万点からの不足分が、供託検出部841にて検出した供託リーチ棒の本数に1000点を積算した点数に一致しているか否かを判断するようにしている。一致していれば、流局情報の書き込みステップである後述のステップS12aに進む。一致していなければ、点棒の落下などの異常事態であることから、例えば卓本体1に設けた図示しないアラームランプの点灯あるいは音声出力といった、アラームの発生を行う(ステップS12b)。そして例えば落下している点棒を本来の点棒箱3に戻した後に、例えば卓本体1に設けた図示しないアラーム解除ボタンを押してアラームの解除を行うと、ステップS10に戻り、再度各席A〜Dについて点数に関する書き込み、即ちワークメモリ65内のテーブルが上書きされる。
次に上記の(b)誰もリーチをかけていない状態で流局となるケースの抽出が行われる。(b)のケースは次の態様に分かれる。
(b1)誰も聴牌(テンパイ)していない、
(b2)全員聴牌している、
(b3)3人が同時にロン(トリプルロン)をした、
(b4)1人が聴牌している、
(b5)2人が聴牌している、
(b6)3人が聴牌している、
のいずれかである。
(b1)、(b2)及び(b3)の場合には、各プレーヤーの持ち点の変動がない。各プレーヤーの持ち点の全部が10万点か否かを判断するステップS11にて「YES」と判断されると、次いでステップS13にて各プレーヤーの持ち点の変動があったか否かが判断されるので、このステップS13にて、(b1)、(b2)及び(b3)の何れかの要因で流局になったことが把握できる。即ち、これらの場合にはステップS13にて「NO」となり、流局情報の書き込みが行われる図6Bに示す後述のステップS12aに進む。
一方、ステップS13にていずれかのプレーヤーの持ち点に変動があったと判断されると、続く図6Bに示すステップS14にて2人のプレーヤーだけの持ち点が減少したか否かについて判断される。上記の(b5)の場合には、ステップS14にて「YES」となり、後述のステップS12aに進む。
2人のプレーヤーだけの持ち点が減少した状態以外は、ステップS14にて「NO」と判断され、ステップS15にて3人のプレーヤーの持ち点が増加したか否かが判断される。ステップS15にて「YES」の場合、通常は上記の(b6)であるが、「チョンボ」の場合もあり得るのでステップS16にて、減少したプレーヤーの持ち点の減少が3000点であるか否かをチェックし、3000点であれば、(b6)に相当する流局であるから、局履歴メモリ64に流局情報を書き込むための後述のステップS12aに進む。
一方、ステップS15にて「NO」の場合、即ち3人のプレーヤーの持ち点が増加していないと判断されると、ステップS17にて3人のプレーヤーの持ち点が1000点ずつ減少したか否かについて判断される。ステップS16までの処理により、上記の流局のケース(b1)、(b2)、(b3)、(b5)及び(b6)が切り分けられているので、調べるべき残りの流局のケースは(b4)である。そこでステップS17の処理が行われるのであるが、3人のプレーヤーの持ち点が1000点ずつ減少する場合は、(b4)の他に、親のアガリに当てはまるケースがある。
このケースは、既述のように連荘数に相当するいわゆる積み棒の1本当たりの(加算点数)が例えば300点であれば、連荘が発生していない局において、親が2900点の役を積もったときに、3人の子が親に1000点ずつ支払う場合である。そこで、ステップS17にて3人のプレーヤーの持ち点が1000点ずつ減少すると判断されたときには、その3人は全て子であるのか否かをステップS18にて判断する。ここでステップS17における持ち点の減少の判断は、リーチをかけているプレーヤーの持ち点については、リーチ棒を供託したことによる持ち点の減少分については考慮しない。例えば親であるプレーヤーA及び子であるプレーヤーBが各々リーチをかけていて、子であるプレーヤーCが子であるプレーヤーDに1000点を振り込んだときにも、点棒箱3内の点数の増減だけで判断すると、供託リーチ棒はプレーヤーA、Bには戻ってこないので、親1人、子2人の持ち点が1000点減少することになる。このような場合は点数の増減が親の一人聴牌と親のアガリと重なるケースではないので、リーチ料を考量しないいわば素点の点数の移動で判断する必要がある。
図5に示すワークメモリ65内の一時記録テーブルにおいて、点数増減の欄の増減値は、今回の局と前回の局との点棒箱3内の点数の増減値であるが、この増減値が−1000点に相当するときには、当該−1000点に相当するプレーヤーがリーチをかけているか否かを判断し、リーチを掛けている場合には、増減値である−1000点に供託リーチ棒分のリーチ料である+1000点を加算して判断することになる。
1000点減少した3人のプレーヤーの中に親が含まれている場合には、一人聴牌である(b4)の流局に相当する。このためステップS18にて「NO」であれば、後述のステップS12aに進む。
ステップS18にて「YES」であれば、連荘回数が0回のとき(連荘が発生していないとき)には、持ち点の増減情報だけでは、親が2900点でアガッタのか、親が一人聴牌なのかの判断ができない。しかし連荘が発生しているときには、親が2900点で上がったときには子は1000点に積み棒1本分の100点を支払うので、ステップS18に続いてステップS18aにて連荘が発生しているか否かを判断し、「YES」であれば、親の一人聴牌(b4)に相当することになる。このため流局と判断され、ステップS12aに進む。
一方、ステップS18aにて「NO」であれば、つまり連荘が発生していないときには、親が一人聴牌のときには、親に流局スイッチ53を押してもらうこととし、流局スイッチ53が押されて教示信号がコントローラに送られると、例えばワークメモリ65の所定の領域に流局のフラグである論理「1」を立てておく。このように親が一人聴牌で流局になるときには流局スイッチ53を押すことにより、今回が流局であるのか親の2900点のアガリなのかを把握できる。
このためステップS18にて子が3人減少したと判断され、更にステップS18aにて連荘が発生していないと判断されると、ステップS19にて流局スイッチ53が押されたか否かを判断する。流局スイッチ53が押されたか否かとは、既述のように流局の教示信号がコントローラに入力されたか否か、ということである。ステップS19にて「YES」と判断されれば、後述のステップS12aに進み、「NO」であれば、音声出力部66から例えば「流局のときは流局スイッチを流局ランプが点灯するまで押してください」という音声が出力され、親のプレーヤーに流局スイッチ53の押し忘れを防止するために注意喚起する(ステップS19a)。その後、予め設定した時間例えば6秒経過後に流局スイッチ53が操作されたか否かを判断し(ステップS19c)、「YES」であれば、ステップS12aに進み、「NO」であれば、局履歴メモリ64にアガリ情報を書き込む処理であるステップS20に進む。
ステップS18aを設けずに、ステップS18にて「YES」と判断された時点で、つまり子の持ち点が1000点ずつ減少した時点で、連荘が発生しているか否かの判断を行うことなく、ステップS19に進むようにしてもよいが、プレーヤーによる手作業を極力少なくしてプレーヤーの負担を軽減する観点からすれば、ステップS18aを設けて、連荘の発生していない場合だけに流局スイッチ53の操作に頼る手法の方が好ましい。
またパラメータ設定部13にて積み棒の1本当たりの(加算点数)が例えば1000点に設定されていれば、既述のように連荘数が「1」のときに親が1500点でアガッタときにも、子が1000点(親のアガリの支払い分の500点に積み棒1本当たりの負担分の500点を加えた点数)ずつ親に支払うケースに相当するので、この場合には、ステップS18aを、連荘回数が発生しているか否かの判断に代えて、連荘回数が2以上であるか否かを判断するステップとし、「YES」であれば、親のアガリには相当しないので、流局と判断してステップS12aに進むようにすればよい。
また既述のステップS17にて3人のプレーヤーの持ち点が1000点ずつ減少する状態ではないと判断されたときには、既述のいずれの流局のケースにも該当しないことから、今回の局ではいずれかのプレーヤーがアガリになっており、ステップS20に進む。
図8は、局履歴メモリ64に作成される局履歴情報を書き込むためのテーブルのうち、ステップS3にて作成された東の1局の欄を示している。このテーブルは、各席A〜Dごとに作成され、各テーブルには、対応する席のプレーヤーがリーチをしたか否か、鳴いたのか否か、ロンあるいはツモでアガッタのか否か、流局になったのか否か、振り込みをしたのか否か、他人にツモられたのか否かが書きこまれると共に、今回の持ち点及び持ち点の増減が書きこまれる。リーチ及び鳴きの有無については、ワークメモリ65のテーブルを参照し、各席におけるリーチの有無、鳴きの有無に対応するデータ(例えば論理「1」または「0」)を読み出して、局履歴メモリ64のテーブルにおける各席に対応する欄に書き込む。従って、局履歴メモリ64のテーブルにおいてリーチあるいは鳴きに該当する場合には論理「1」が書きこまれ、該当しない場合には論理「0」が書きこまれる。
そしてワークメモリ65を参照して、持ち点が増加した席を読み出し、当該席以外の3つの席の点数が減少していれば、ツモアガリであることから、局履歴メモリ64のテーブルにおいて、持ち点が増加した席に対応するツモ及びロンの欄に夫々論理「1」及び「0」が書き込まれる。また持ち点が減少した席が一つである場合には、ロンのアガリであることから、持ち点が増加した席に対応するツモ及びロンの欄に夫々論理「0」及び「1」が書き込まれる。更にワークメモリ65を参照し、各席における今回の持ち点及び持ち点の増減が局履歴メモリ64のテーブルに書き込まれる。
更にまたワークメモリ65を参照して、局履歴メモリ64のテーブルにおいて、持ち点が減少した席に対応する欄に、持ち点の減少の要因である振り込みまたは他人のツモの有無を書き込む。この場合、局履歴メモリ64のテーブルにおいて、持ち点が増加した席の欄を参照し、当該欄のロンの項目が「1」であれば、持ち点の減少の要因は振り込みとなり、当該欄のツモの項目が「1」であれば、持ち点の減少の要因は他人のツモとなる。こうして持ち点が減少した席に対応する欄には、ロンに相当する「1」または他人のツモに相当する「1」が書き込まれる。ステップS20に進んだということは流局ではないので、局履歴メモリ64のテーブルの各席の流局に対応する欄には論理「0」が書き込まれる。
一方、流局と判断された場合に相当するステップS12aに進むと、局履歴メモリ64のテーブルの各席の流局に対応する欄には論理「1」が書き込まれると共に、ワークメモリ65のテーブルの点数情報(各席の持ち点及び点数の増減)を読み出して、履歴メモリ64のテーブルの各席に対応する欄に点数情報が書き込まれる。また各席ごとにリーチの有無、鳴きの有無についても既述のようにして書き込まれるが、ロン、ツモ、振込、他人のツモについては発生していないので当該項目群については論理「0」が書き込まれる。
なお、ステップS16にて「NO」と判断された場合、即ち「チョンボ」と判断された場合には、ステップS16aにて例えば各席の持ち点及び持ち点の増減だけが書き込まれる。後で局履歴メモリ64から、テーブルの内容である局履歴情報を読み出して例えばパーソナルコンピュータに表示したときには、持ち点及び持ち点の増減以外の項目群には論理「0」に対応する表示が行われる。論理「0」に対応する表示は例えば当該項目群の有無を表示する表示領域に何も記載されていない表示形態となり、プレーヤーは「チョンボ」が発生したものと把握できる。
具体例を挙げて、ゲームの推移とフローとを関連付けて追っていく。例えば席Aのプレーヤー(親)がリーチをかけて、当該親に南家である席Bのプレーヤーが5800点を振り込んだとする。なお席Aのプレーヤー以外のプレーヤーはリーチをかけていないものとする。ステップS13では、前回開閉スイッチ2による開閉操作が行われたときの点数(ステップS10にて記録された点数)に対する現在の点数の増減について各席A〜Dごとに演算する。この場合、席Aのプレーヤーの持ち点は30800点(+5800点)、席Bのプレーヤーの持ち点は29200点(−5800点)、席C及びDのプレーヤーの持ち点は25000点(増減なし)となる。各プレーヤーの前回の持ち点及び今回の持ち点は、図5に例示しているようにワークメモリ65に書き込まれており、これら持ち点のデータに基づいて各席A〜D毎に前回の点数に対する今回の持ち点の増減を求める。
なお、ステップS4〜S7までの処理の流れに関して触れておくと、東の1局が進行しているときに、リーチの有無を判定するステップS4にて「YES」となり、図5に示しているように、ワークメモリ65内のテーブルの席Aのリーチに対応する欄に、リーチを検出したことに相当するデータである論理「1」が書き込まれる(ステップS5)。そして鳴きがあるか否かの判断を行うステップS6では「NO」となる。
そしてステップS8でプレーヤーAが開閉スイッチ2の操作を行い、ステップS9、S10、S11、S13、S14、S15及びS17を経てS20に進む。親であるプレーヤーAがアガリとなったため連荘となり、連荘ボタン21が押されて連荘ランプ22が1個点灯する。即ち次回は東の1局1本場となる。ステップS20では、既述のようにして局履歴メモリ64内のテーブルに今回の局履歴情報が書きこまれる。図9は、今回の局履歴情報が書きこまれた局履歴メモリ64内のテーブルをイメージ的に示している。また図9は、後述のステップS27が実行されて次回の欄を作成した状態(イメージ)も併せて示している。
局履歴情報とは、終了した局がどのようにして終了あるいは流局となったかという情報であり、具体的にはいずれかのプレーヤーのアガリなのか、その場合アガリ種別はどのようなものなのか、いずれかのプレーヤーが振り込んだのかそれともツモなのか、あるいは流局になったのであれば、どのような状態で流局になったのかという情報である。
図7はステップS20の一例を詳しく記載した図であり、先ずワークメモリ65を参照して、局履歴メモリ64における点数増加の席に対応する欄に点数の増加分を書き込む(ステップS151)と共に、点数減少の席に対応する欄に点数の減少分を書き込む(ステップS152)。そして点数増加の席に対応する欄に、点数減少の席の数に基づいて、アガリがツモなのかロンなのかを判断してその結果を書き込み(ステップS153)、更にワークメモリ65を参照してアガリをしたプレーヤーがリーチをかけているのか否か、また鳴いているのか否かを検出し、その結果を書き込む(ステップS154)。
図9に示す例では、席Aのプレーヤー(親)のアガリ種別がリーチ、ロンであるから夫々の項目に論理「1」が書き込まれ、その他の項目には論理「0」が書き込まれ、併せて点数の増減及び現時点の持ち点が書き込まれている。またこの例では、点数を支払った(持ち点が減少した)プレーヤーの席B(南家)に対応するテーブルにも、点数支払いの要因(種別)が書き込まれ、点数の増減及び現時点の持ち点が書き込まれている。この例では点数支払いの要因は、振り込みであるから当該欄に論理「1」が立っている。
局履歴メモリ64のテーブルには、持ち点が減少したプレーヤーの席に対応するテーブルには、点数支払いの要因などを書き込まなくてもよいが、このようにすれば、各プレーヤーが後で自分の局履歴情報(テーブルの内容)を例えばUSBメモリ7で取り出してパーソナルコンピュータやスマートフォンなどの表示部によりその情報を見たときに、自分のアガリをした場合の情報だけでなく、自分の減点の要因も把握できるので、ゲーム結果に対する解析に対して役立つ場合もあり得る。勝負に関係しなかった、持ち点の変動のないプレーヤーC、Dについては、対応するテーブルに例えば点数の増減が±0であること、及び現時点の持ち点が書き込まれ、テーブルの各項目は論理「0」となる。
局履歴メモリ64の局履歴情報をパーソナルコンピュータなどの表示部に表示したときには、当該プレーヤーC、Dに対応する東の1局の項目には、点数の増減、持ち点以外は表示されないようにしてもよい。また当該プレーヤーC、Dについては、対応するテーブルに点数の増減及び現時点の持ち点についても書き込まないようにしてもよく、この場合テーブルを表示部に表示したときには、対応する欄(東の1局)には、何も表示されないようにしてもよい。
以上の説明では、席Aのプレーヤーである親がリーチをかけて南家の席Bのプレーヤーが振り込んだ場合を例に挙げているが、当該親がリーチをかけないでアガッタ場合には、ワークメモリ65における、読み出し先である、持ち点増加の席Aに対応するリーチの項目は論理「0」であることから、局履歴メモリ64のテーブルにおいても、リーチの項目は論理「0」となり、表示部にテーブルが表示されるときには、例えばリーチの表示がされないこととなる。また当該親が鳴いて、例えばポンをして鳴きに相当する牌群を、卓本体の席Aに対応する既述の鳴き牌置場83(図4参照)に置いたときには、既述のように鳴き検出部831により鳴きが検出されるので、ワークメモリ65における席Aの鳴きの項目には論理「1」が立つ。このため局履歴メモリ64のテーブルにおいては鳴きの項目に論理「1」が立ち、表示部にテーブルが表示されるときには、例えば鳴きの表示がされる。
ステップS20に続くステップS21では、終了スイッチ12が押されたか否かが判断され、「NO」であればステップS22に進み、局履歴メモリ64に次回の欄を作成する。なお、「チョンボ」が発生したと判断された場合にも、ステップS16aからステップS22に進む。
図8及び図9等においては、便宜上、対象となる「局」が何の何局であり、連荘であれば何本場なのかという、局(回)を特定するための「局の特定情報」と欄とを対応づけたテーブルが順次継ぎ足されていくものとして記載しているが、テーブルが作成されていて、各欄に順次「局の特定情報」と局履歴情報とが対応付けられて書きこまれていくようにしてもよい。
即ち、ステップS22では、次回の「局の特定情報」を把握するステップと、把握した「局の特定情報」に相当する欄を局履歴メモリ64のテーブルに書き込むステップとからなり、次回(既に開始されている回)に備えることになる。なおステップS22の処理が行われた後、例えばステップS23にてワークメモリ65の内容をリセットした後、次回のゲームの戦況を把握するためにステップS4に戻る。
一方、ステップS21において、終了操作部である終了スイッチ12が押されていると判断された場合には、ステップS21aを介してステップS24に進み、ワークメモリ65の内容がリセットされる。その後ステップS3に進み、局履歴メモリ64に次の半荘の局履歴情報を書き込むためのテーブルを作成するために、東の1局の欄を作成する。即ち、次の半荘のためのテーブルにおいて、図8に示した状態となる。例えばワークメモリ65の内容をリセットするときに、終了スイッチ12が押された履歴も消去され、次の半荘に備えられるが、終了スイッチ12を誤って2度押した場合に、再度の終了スイッチ12の操作を無効にするために、ステップS24の後、一定時間経過した後に、ステップS3に移行するように設定するようにしてもよい。
ここで終了スイッチ12が押されているということは、半荘が終了したということであり、図1に示しているように各プレーヤーが自分の席に設けてあるメモリ接続部71にメモリ例えばUSBメモリ7を差し込み、各席ごとに設けてある書き込みスイッチ72を押すことにより、データ取り出しプログラム63により、局履歴メモリ64内の局履歴情報である、当該半荘に対応するテーブル内のデータがUSBメモリ7に読み出される。このデータの読み出しについては、各席のメモリ接続部71と各席のテーブルのデータとが対応付けられるようになっており、メモリ接続部71に対応する席の局履歴情報が読み出される。図6A、6Bのフローチャートにおいては、USBメモリ7への局履歴情報の取り出し作業は、ステップS24以降のステップが進められているときに行われることになる。局履歴メモリ64からの局履歴情報を読み出してUSBメモリ7に書き込む操作に関しては後述する。
既述の具体例(席Aのプレーヤーである親がリーチをかけ、席Bのプレーヤーが親に振り込んだ場合)に戻ると、ステップS20の後、ステップS21、ステップS22、ステップS23を介してステップS4に戻る。今回が東の1局でありかつ親である席Aのプレーヤーがアガリを行っているので、ステップS22では、局履歴メモリ64のテーブルにおける今回の欄の次に、東の1局の1本場の欄が作成される。図8等においては紙面の制約から1本場の表示は省略している。
以上において、次回を開始するために、親ではない南家の席Bのプレーヤーが誤って席Bのサイコロスイッチ24を操作してしまった場合には、親である席Aのプレーヤーが自分の前のサイコロスイッチ24を操作して親表示が訂正される。そしてワークメモリ65に書きこまれている親の席のコードが上書きされると共に、正しい親の認識に基づいてステップS14以降を再度実行し、既に実行したステップS14以降に書きこまれたメモリ内容が上書きされる。
更に東の1局の局履歴情報が局履歴メモリ64に書きこまれた後において、今回の局に相当する東の1局の1本場のゲームの例について説明する。
東の1局の1本場のゲームを開始するために開閉スイッチ2が押されて、既述のようにして東の1局の履歴情報の作成が終了すると、ステップS4に進む。東の1局の1本場においては、例えば南家である席Bのプレーヤーが鳴きを行い、西家である席Cのプレーヤーがリーチをかけたとすると、ワークメモリ65の一時記録テーブルにおいて、席B及びCに対応して、リーチの履歴及び鳴きの履歴が記録される。そして南家が3900点のツモアガリをしたとすると、このツモアガリに応じてプレーヤーの間で点棒の受け渡しが行われて、次の親である南家が開閉スイッチ2及びサイコロスイッチ24の操作を行って、卓上面の開閉操作が行われ、東の2局が開始される。
この開閉操作のタイミングによりステップS8で「YES」となって、ステップS9を介してステップS10まで進み、各席に対応する点数検出部31の検出結果(点数)をワークメモリ65のテーブルに読み出すと共に、前回の局である東の1局の終了時に記録しておいた各プレーヤーの持ち点を当該テーブルに読み出し、点数の増減を求める。その後、ステップS20まで進み、図10に示すように局履歴メモリ64の東の1局の1本場の欄(図では)に局履歴情報が書きこまれる。
この場合、1本場300点として、親である席Aのプレーヤーは2100点、子である西家の席Cのプレーヤー及び北家の席Dのプレーヤーは各々1100点ずつ席Bのプレーヤーに支払うが、席Cのプレーヤーはリーチをかけているため、席A〜Dのプレーヤーの増減は、−2100点、+5300点、−2100点、−1100点となる。
次に東の2局においては、南家である席Bのプレーヤーが一人聴牌であったとする。聴牌料の受け渡しが行われて、親である席Bのプレーヤーが例えばサイコロスイッチ24の操作を伴う開閉操作を行い、次の局(東の2局の1本場)が開始されたとすると、この時点で今回の局(東の2局)の各プレーヤーの持ち点が読み出され、前回の局(東の1局の1本場)の終了時における各プレーヤーの持ち点に対する増減が記録される(ステップS10)。誰もリーチをかけていないとすると、3人が1000点の減少であるか否かの判断を行うステップS17まで進んで、ここで「YES」となり、その3人は子であるからステップS18にて「YES」となってステップS18aに進む。南家では連荘が発生していないのでステップS18aにて「NO」となり、ステップS19に進む。この時点で流局スイッチ53が操作されていれば、ステップS12aに進んで局履歴メモリ64に流局情報の書き込みが行われる。流局スイッチ53が操作されていなければ、ステップS19aにて、既述のように音声出力部66から例えば「流局のときは流局スイッチを流局ランプが点灯するまで押してください」という音声が出力され、この注意喚起により親が流局スイッチ53を操作し、ステップS12aに進むことになる。図11には、東の2局までの局履歴情報が示されている。
また東の2局において、親である南家が2900点の役をツモッタ場合には、3人の子が1000点ずつ減少するので、同様にステップS19cまで進むが、当該ステップS19cにて「NO」となってステップS20に進むことになる。
こうして局が順次進み、局履歴メモリ64に各局の履歴情報(結果)が同様にして書き込まれていく。図12には、東の2局の1本場において、席Aのプレーヤーが席C及びDに振り込んでダブロンになった履歴が書き込まれている。この場合席Aに対応する振込の項目には論理「1」が立ち、振込をしたことが記録される。また席C及びDに対応するロンの項目には、論理「1」が立ち、ロンでアガリを行ったことが記録される。紙面の制約により図12等には、記載していないが、各席の局履歴情報用のテーブルには、ダブロンで振り込んだときには、ダブロンであることを記録するための項目を含ませるようにしてもよい。
半荘の途中のある局において、例えば親が九種九牌であったときには、開閉スイッチ2が押されて流局とされるが、この場合には、リーチ棒の供託があれば、ステップS11にて「NO」となってステップS12aに進む。またリーチ棒の供託が無い場合には、各プレーヤーの持ち点の変動がないのでステップS13にて「NO」と判断されてステップS12aに進む。
そして最終局である南の4局において、席A及びDの各プレーヤーがリーチをかけたが、流局になり、この時点で点数がトップである西家の席Cのプレーヤーと席A及びDの各プレーヤーとが聴牌であり、席Bのプレーヤーが聴牌をしていなかったものとする。ゲームを行っているグループのルールにより、最終局は親が親を続けるか終了にするかを決められるものとし、終了になったものとすると、終了スイッチ12が押される。このため終了スイッチが押されたか否かを判断するステップS8aにて「YES」となり、ステップS19に進む。このとき流局スイッチ53が押されていなければ、ステップS19aにて音声で流局スイッチを押すか否かの注意を喚起する。これによりプレーヤーが流局スイッチ53を押すと、ステップS19cを介してステップS12aに進み、局履歴メモリ64に流局情報が書き込まれる。
図13は、局履歴メモリ64のテーブルにおいて最終局において流局情報が書き込まれた状態を示している。この例では、グループのルールにより、点数がトップのプレーヤーに供託リーチ棒が渡ることになっており、このため点数がトップである席Cのプレーヤーは、席Bのプレーヤーから受け取った聴牌料である1000点と席A及びDの各リーチ棒とが増加分となる。席Bのプレーヤーは一人ノーテンであるから聴牌料である3000点が減少し、席A及びDの各プレーヤーは、1000点の聴牌料とリーチ料とが相殺されて増減は±ゼロとなる。
終了スイッチ12は既に操作されているので、ステップS21にて「YES」となり、ステップS24にて集計処理を行う。集計処理とは、局履歴メモリ64に作成された局履歴情報のテーブルにおいて、各席ごとに例えば半荘終了時の持ち点と、半荘の結果を示す最終点数と、順位とが局履歴情報のテーブルに書き込まれる。半荘の結果を示す最終点数とは、既述のようにパラメータ設定部13にて設定された、プレーヤーの持ち点における順位に応じた付加点数(いわゆるウマ)を持ち点に加算した値である。付加点数として例えば1位が「+20」、2位が「+10」、3位が「−10」、4位が「−20」である場合には、東家(プレーヤーA)の最終点数は、−15[={25(24600)−30(30000)+(−10)}]となる。
集計処理において局履歴情報のテーブルには、上記の付加点数を持ち点に加算した最終点数を書き込まないようにしてもよい。どのような情報を集計処理するかについては、即ち半荘の結果としてどのような情報を局履歴情報のテーブルあるいはテーブルとは別の領域に書き込むかについては、自動麻雀卓が利用される場所やプレーヤーのグループなどにより決定されるようにしてもよい。
集計処理の後、ステップS24にてワークメモリ65内の一次記録内容が消去され、局履歴メモリ64内にて次の半荘の東1局の欄が作成される。既に終了した半荘をもって当該グループによるゲームを終了する場合には、自動麻雀卓側では、プログラム上はステップS3に進むが、各プレーヤーは、終了した半荘の局履歴情報をUSBメモリ7内に書き込んで、ゲームに関する作業が終了する。USBメモリ7内への局履歴情報の書き込みについては後述する。
最終局において、いずれかのプレーヤーのアガリにより終了する場合には、ステップS8aからステップS19、S19a、S19b、S19cを介してステップS20に進み、アガリに関する情報を含む情報が局履歴メモリ64内に書き込まれる。
また最終局あるいはそれよりも前の局において、いずれかのプレーヤーの持ち点が0点を割り込んだ時、つまり支払うべき点数が持ち点数を越えてトビ(ハコ)が発生したときには、既述のように黒い点棒を用いて、トビになったプレーヤーと点棒を受け取るプレーヤーとの間で点棒の受け渡しを行って持ち点を確定させ、その上で終了スイッチ12を押す。この場合は、いずれかのプレーヤーがアガリをしたケースと流局になったケースとがあることから、ステップS8a、S19aを経由して局の結果に応じてステップS12aあるいはS20に振り分けられて処理される。
図8〜図13に記載されている局履歴情報において、各席に表示されている局と合わせて、その席が何家であるかを書き込むようにしてもよい。例えば席Aでは、東1の局では「東家」、東2の局では「南家」といったように書きこまれる。起家がどの席であるのか(上記の例では席A)が分かっているので、各席において各局が何家であるかについては、把握することができる。
次に局履歴メモリ64に書き込まれた局履歴情報の取り出しについて説明する。局履歴情報の取り出しは、データ取り出しプログラム63により行われる。USBメモリ7がメモリ接続部71に差し込まれ、当該メモリ接続部71に対応する席の書き込みスイッチ72を操作する(押す)と、局履歴メモリ64内のテーブルから当該席の局履歴情報がUSBメモリ7に読み出される。
このような処理は、次のようにして実施することができる。局履歴メモリ64内に作成されたテーブルの各席の記載領域に対してアドレスを割り当てると共に、各席のメモリ接続部71にアドレスを割り当て、書き込みスイッチ72をオンにしたときにその書き込みスイッチ72が設けられている席に対応する前記記載領域のアドレスを読み出し元とし、当該席に対応するメモリ接続部71のアドレスに接続されたUSBメモリ7を書き込み先とするように構成すればよい。
局履歴メモリ64内のテーブルに書き込まれている局履歴情報は、一度USBメモリ7に読み出された後は、USBメモリ7に読み出すことができないようにプログラムが組まれている。従って例えばプレーヤーのグループがその日初めて半荘を行い、その半荘が終了して当該半荘にかかる局履歴情報が局履歴メモリ64内に作成され、席Aのメモリ接続部71にUSBメモリ7が差し込まれて書き込みスイッチ72を操作すると、当該半荘の局履歴情報のうち席Aに対応する局履歴情報がUSBメモリ7内に読み出される。そしてその後は、当該席Aに対応する、既に読み出しが行われた局履歴情報については局履歴メモリ64からUSBメモリ7への読み出しが禁止される。局履歴メモリ64からUSBメモリ7への読み出しを禁止する手法としては、既に読み出しの行われた席Aに対応する局履歴情報を局履歴メモリ64から消去するようにしてもよい。このようにデータを管理することで、他人の局履歴情報を誤って持ち帰ることが抑えられる。
より詳しく述べると、書き込みスイッチ72が操作されたときにUSBメモリ7に読み出される局履歴情報は、終了スイッチ12が操作されて半荘が終了した局履歴情報である。データ取り出しプログラム63は、終了スイッチ12が操作されて図13に示すように半荘分が作成された局履歴情報の読み出しを許可するが、終了スイッチ12が操作されないために半荘分の局履歴情報が作成されていない場合には、途中までの局履歴情報の読み出しを禁止している。従って、例えば一の半荘が終了した時点で、USBメモリ7への書き込み動作(局履歴メモリ64から局履歴情報を読み出してUSBメモリ7へ書き込む動作)を行わず、そのまま次の半荘が進行しているときに書き込み動作を行った場合においても、既に終了した一の半荘の局履歴情報がUSBメモリ7に取り出すことができる。
この場合、一の半荘よりも前の半荘の局履歴情報が局履歴メモリ64内に残っていた場合には、残っている半荘の局履歴情報もUSBメモリ7に取り出される。このため、各プレーヤーは、半荘ごとに自分の局履歴情報の取り出しを行わなくとも、席替えのタイミングで、今まで座っていた席における書き込みスイッチ72を操作することにより、今まで割り当てられていた席(座っていた席)で行った各半荘における局履歴情報を、局履歴メモリ64から自分のUSBメモリ7に取り出すことができる。即ち、各プレーヤーは、半荘が終了して次の半荘が始まる前であっても、あるいは局情報を取り出すべき半荘が終了して次の半荘が進行しているときであっても、あるいは席替えのタイミングであっても、書き込み動作を行うことにより、プレーヤーが割り当てられている席における、既に終了した半荘の局履歴情報を取得することができる。
また終了スイッチ12を操作した後、例えば予め設定した時間経過後にプレーヤーに対して書き込みスイッチ72の操作を促すための報知出力を行うようにしてもよい。報知出力としては、例えば「データの書き込みをしてください」などの音声出力であってもよいし、あるいは卓本体に設けた表示部に表示する「データの書き込みをしてください」などの表示出力であってもよい。あるいはまた書き込みスイッチ72に隣接して設けたランプあるいは書き込みスイッチ72に組み合わせたランプを点灯させるようにしてもよい。
終了スイッチ12についても、誤操作を防止するために、同様の報知出力を行うようにしてもよい。
局履歴情報には、ゲームを行った自動麻雀卓に割り当てられた麻雀卓の識別コードである麻雀卓コードと、半荘ごとの順序情報と、半荘ごとの開始日時が付されている。半荘ごとの順序情報とは、ゲームを行った半荘を特定するためのものであり、例えばリセットスイッチ11を操作した後に行われる局に「1」から順番に付される番号である。このためUSBメモリ7を介して例えば自宅のパーソナルコンピュータに局履歴情報を表示したときには、半荘ごとの局履歴情報が麻雀卓コード、各半荘の開始日時、各半荘の順番に対応する番号と共に表示され、どの麻雀卓でゲームを行ったのかという情報と局履歴情報群の時系列とを把握することができる。
またプレーヤーが席替えを行うときにそれまで座っていた席に対応する自分の局履歴情報をUSBメモリ7に取り出し忘れ、席替えをして次の半荘が開始された後に気が付いた場合には、既に新たな半荘が進行していても当該半荘の前の半荘までの局履歴情報しか取り出すことができないので、元の席に座っているプレーヤーに頼んで元の席に自分のUSBメモリ7を差し込んで、書き込み動作を行ってもらうことにより、既に終了した自分の過去の局履歴情報を取り出すことができる。
書き込みスイッチ72に関しては、麻雀卓本体1の構成の説明の項目において説明したように、3秒間押し続けたときに有効になる。このように構成することで、誤操作を避けることができる。
USBメモリ7への局履歴情報の書き込みのフローの一例を図14に示しておく。ステップS201は終了スイッチ12による終了操作、ステップS202は音声によるデータ書き込みのメッセージ出力、ステップS203はUSBメモリ7の差し込み、ステップS204は書き込みスイッチ72による書き込み操作、ステップS205は局履歴メモリ64からUSBメモリ7へ局履歴情報が書き込まれる動作である。
なお、局履歴情報の取得を望まないプレーヤーに対しては、当該プレーヤーに対応する局履歴情報を、例えば雀荘側で用意しているUSBメモリにダミーで取得することで局履歴メモリ64から消去するなどの対応をとるようにしてもよい。
また既述のリセットスイッチ11は、操作することにより、局履歴メモリ64内に書き込まれている各席の局履歴情報を一括して消去する操作部であるが、このリセットスイッチ11に代えてまたはリセットスイッチ11の他に、各席の局履歴情報を個別に消去できる個別リセットスイッチを設けるようにしてもよい。個別リセットスイッチは、例えば各席の点棒箱3の上面に設けることができ、個別リセットスイッチを押すことにより、その個別リセットスイッチが設けられている席に対応する局履歴情報が消去される。例えば半荘が2回終了して席替えが行われるときに、一のプレーヤー例えば席Aにてそれまでゲームをしていたプレーヤーが自分の局履歴情報の取得は不要であるとしたときに、そのプレーヤーが席Aにおける個別リセットスイッチを操作する(押す)ことにより、局履歴メモリ64内から当該席Aに対応する局履歴情報が消去される。
消去できる局履歴情報は、終了スイッチ12が操作されて成績が確定した当該半荘までのものであり、仮に現在次の半荘が進行していたときには、当該次の半荘における局履歴情報については消去できないようにすることが好ましい。その理由は、個別リセットスイッチを操作し忘れ、既に席が変わっている場合においても、その時点で元の席の局履歴情報を消去できるからである。
個別リセットスイッチの利用方法としては、例えば雀荘で4人のうちのプレーヤの一部のプレーヤー、例えば一人のプレーヤーが順次入れ変わっていく場合などにおいて、新たなプレーヤーが先ず個別リセットスイッチを操作して、前のプレーヤーの局履歴情報を誤って取得することを回避するなどの例を挙げることができる。個別リセットスイッチの誤操作を防止するために、個別リセットスイッチを操作したときに音声により「データを消去してよいですか」などの注意喚起を行うようにしてもよいし、あるいは点棒箱3の上面に設けた専用の表示部あるいは点数表示部32にデータを消去してよいかなどの注意喚起用の表示をしてもよいし、あるいはまた個別リセットスイッチに組み合わせたまたは別個に設けたランプを所定時間点灯させ、そのような注意喚起をした後、再度個別リセットスイッチを操作したときに局履歴情報の消去を行うようにプログラムを組むようにしてもよい。
上述実施の形態は、局(次回の局)を開始するための卓面開閉用の開閉スイッチ2の操作時には、今回の局の結果に応じた点棒の移動が確定しているとして、当該操作時に発せられる信号をタイミング信号として、各席に対応する点数検出部31により検出されたに点数を記録している。そして席ごとに当該点数と前回の局の点数との増減を把握して、今回の局における各席の結果(どの席がアガリ、どの席が振り込んだのか、あるいは流局になったなどの結果)を局履歴メモリ64に書き込むようにしている。各局の結果についてはこのように自動で記録しているが、親が2900点でツモッタ場合と親の一人聴牌との場合とについてはいずれも3人の子が1000点オールの支払いとなって、点数の移動が同じになることから、この場合の区別については流局スイッチ53による手動判定を行っている。更に半荘が終了したときにおいては、終了スイッチ12の操作を利用して点数検出部31により検出されたに点数の読み出しを行い、更に流局スイッチ53による手動判定を行っている。
このように特殊なケースにおいてだけ流局スイッチ53の操作の有無に頼り、また半荘終了時だけ終了スイッチ12操作により局の終了を把握しているため、プレーヤーの負担が極めて軽く、実質自動で各局の履歴情報を取得することができる。従って、プレーヤーが自分のアガリに関する情報を局単位で取得することができ、麻雀をより楽しむことができる。
[変形例]
本発明の実施形態を説明してきたが、以下に上述実施形態の変形例を列挙する。
上述の実施形態では、供託検出部841により供託になったリーチ棒の本数を検出してコントローラに教えるようにしているが、各席に対応する宣言リーチ棒置場4にリーチ棒が置かれる度にリーチ回数をカウントしそのカウント値に基づいて供託になったリーチ棒の本数を検出するようにしてもよい。例えば東の1局において1人のプレーヤーがリーチをかけ、その局が流れて東の2局で2人のリーチがかかれば、その時点における供託のリーチ棒の本数は3本であり、流局の次の局においては、それまでのリーチ回数と当該次の局のリーチ回数とを加算すればよいことになる。
局履歴情報のイメージを図13に示しているが、実際の表示は、図13の実質の内容を表すものであれば、即ちアガリ種別(リーチの有無、鳴きの有無、ロンかツモかの区別)や流局の情報などが表示されるものであれば、当該イメージに拘束されるものではない。
また局履歴情報としてアガリ種別を局履歴メモリ64に書き込むにあたって、例えばリーチの有無については書き込むが、鳴きの有無については書き込まないようにしてもよいし、またロン、ツモの区別についても書き込まないようにしてもよい。即ち局履歴情報は、図13等に示した情報から鳴きの有無、ロン、ツモの区別を削除した情報であってもよいし、あるいは例えばロン、ツモの区別については書き込むが、リーチの有無、鳴きの有無については書き込まないようにしてもよく、あるいはまた鳴きの有無については書き込むが、ロン、ツモの区別については書き込まないようにしてもよい。更にはまた、局履歴情報としては、アガリをしたプレーヤーとそのアガリに対応する持ち点の増減とを局履歴メモリ64内に書き込み、アガリ種別、流局の有無については書き込まず、またアガリをしたプレーヤー以外については情報を書き込まないようにしてもよい。
局履歴情報をどのように作成するかについては、例えばパラメータ設定部13にて設定するように構成してもよい。この場合、例えば図13などに示すように局履歴情報を作成するモード、リーチの有無については書き込むが、鳴きの有無については書き込まないモードなど、複数のモードを用意しておき、パラメータ設定部13にてモードを選択する手法が挙げられる。また例えば局履歴情報の中には鳴きの有無を含めないという構成を採用する場合には、鳴き検出部831は設けなくてもよい。
総括的ない言い方をすれば、局履歴情報としては、アガリがあった局において、アガリをしたプレーヤー(席)と、そのアガリに関する情報と、を対応付けた情報が含まれていればよい。
図1〜図13を用いて説明した上述の実施形態は、既述のようにサイコロスイッチ24が親教示部に相当し、サイコロスイッチ24は親が操作するので、いずれの席が親であるかをコントローラに知らせることができ、図5に示すようにワークメモリ65に書きこまれたデータには、親と席との対応付けが行われている。この親教示部によりコントローラにどの席が親であるか教える手法としては、サイコロスイッチ24に限らず、例えば図2に示す、各席の手牌載置領域81に重量センサを設けておき、開閉板20a〜20bが閉じられた後、この重量センサの重量値が最初に減少した席を親として教示する手法であってもよい。親が最初に手牌から牌を捨てることから、また親の配牌が九種九牌であって、流局とする時にも、親が手牌を倒して他のプレーヤーに確認をとることから、重量センサの重量値が最初に減少した席を親として特定できる。この場合、重量センサとこの重量センサの検出値を監視する監視部とが親教示部に相当する。例えば手牌が置かれる領域を卓面に表示しておき、各牌が置かれる領域ごとに重量センサを設ける手法を挙げることができる。
また本発明では、局履歴情報を作成するにあたって、親がどの席であるかを把握せずにつまり親教示信号を用いなくてもよい。この場合には、既述の図8〜図13までの局の表示の欄には、東の1局、東の1局の1本場、南の1局などの表示を行わずに、戦況が確定したその局が、半荘開始後の第何回目の局なのかを表す数字が示される。このような技術であっても、プレーヤーが自分のアガリに関する情報を局単位で取得することができ、麻雀をより楽しむことができる。
またプログラム格納部600には、各席における半荘ごとにアガリ率(アガリ回数/総局数)、ツモ率(ツモ回数/総局数)、放銃(振り込み)率(放銃回数/総局数)、リーチ率(リーチ回数/総局数)及び平均アガリ点(アガリ点数/アガリ回数)などの戦況の評価値を求めて例えば局履歴メモリ64に書き込むためのプログラムを設けてもよい。この場合、戦況の評価値は図13などに示すテーブルに追記してもよいし、あるいは席と半荘とに対して対応付けたデータとしてテーブルとは別個に作成してもよい。
また複数回の半荘に対して戦況の評価値を記録するようにしてもよい。例えば半荘が終了すると、その半荘の前から当該半荘までの戦況の評価値と当該半荘の戦況の評価値とを例えば局履歴メモリ64内に書き込むようにしてもよい。この場合には、例えば次のようにして行うことができる。一の半荘が終了して書き込みスイッチ72を操作した時に、既にUSBメモリ7に書きこまれている局履歴情報をコントローラがメモリに読み出し、読み出した局履歴情報から最初の半荘から当該一の半荘の前の半荘までの総局数、アガリ回数、ツモ回数などを求め、これらの値に今回の半荘(当該一の半荘)における総局数、アガリ回数、ツモ回数を夫々加算し、これにより最初の半荘から当該一の半荘までの戦況の評価値を求めることができる。このような処理を行うにあたっては、例えば各半荘の終了時に局履歴情報とは別個に、当該半荘の総局数、アガリ回数などを戦況の評価値演算用のデータとして記録しておき、書き込みスイッチ72を押したときに、例えば既に当該USBメモリ7に書きこまれている局履歴情報から戦況の評価値演算用のデータだけを読み出して、そのデータと今回の半荘のデータとに基づいて、最初の半荘から当該一の半荘までの戦況の評価値を求めるようにてもよい。このような処理はプログラムにより行うことができる。
上述の実施形態では、局履歴メモリ64に書き込まれる局履歴情報において、各席ごとに書き込まれる持ち点の増減分は、アガリ役または聴牌料に対応する点数に、連荘が発生しているときには連荘に応じた点数(積み棒の本数に応じた点数)を加算し、また供託リーチ棒が存在するときにはリーチ棒の授受に対応する点数を加算した点数として取り扱っている。しかし持ち点の増減分は、連荘に応じた点数(積み棒の本数に応じた点数)や他人のリーチ棒の取得による点数あるいは自分のリーチ棒の支出による点数を含まない、アガリ役に対応する点数及び聴牌料に対応する点数だけを考慮したいわば素点の増減分としてもよい。
この場合、例えばワークメモリ65内の一時記憶テーブル(図5参照)に対する記録については、上述の実施形態のように点棒箱3の点数を用いて記録し、局履歴メモリ64に局履歴情報の一部として点数の増減を書き込むときに、リーチ棒に対応する点数と連荘数に対応する積み棒分に対応する点数とを、一時記憶テーブルに記録された点数から除くようにすればよい。例えば連荘数が「1」において、リーチをかけたプレーヤーAがプレーヤーBに振り込んだときには、プレーヤーAの点数の減少分は、一時記録テーブルに記録されたプレーヤーAの点数の減少分に、連荘数が「1」の積み棒分である300点と、リーチ料1000点と、を加算した点数となる。またプレーヤーBの増加分は、一時記録テーブルに記録されたプレーヤーBの点数の増加分に、300点と1000点とを減算した点数となる。そして局履歴情報の一部である各プレーヤーの点数についても、アガリ役または聴牌料に対応する点数(素点)の増減に基づく点数となる。
なお、局履歴情報の一部である点数の増減は、点棒箱3の点数の記録からリーチ棒に対応する点数と連荘数に対応する積み棒分に対応する点数との一方を除くようにしてもよい。また局履歴情報の一部である点数の増減は、聴牌料に対応する点数についても考慮しない、アガリ役に対応する点数の増減だけとしてもよい。
局履歴情報において上述の実施形態のように連荘に応じた点数なども含めた点数を扱うのか、あるいは素点を用いるのか、の選択については、パラメータ設定部13により設定できるように構成すればよく、自動麻雀卓を使用するプレーヤーや麻雀ゲームの態様(競技のルールなど)に応じて適宜設定される。
麻雀ゲームにおいては、点棒の他にチップを用いることが一般的であるが、局履歴情報の中に各局のチップの所持枚数及びチップの増減数を含ませるようにしてもよい。この場合には、例えば各席に対応するチップ収納部を設けると共にこのチップ収納部に重量センサを設けておき、チップ収納部内のチップ枚数を検出できるように構成する例が挙げられる。この場合には、開閉スイッチ2の操作あるいは終了スイッチ12の操作の後に、各席に対応するチップ枚数を読み出して各席ごとにチップに関する情報が書き込まれる。
流局スイッチ53は、独立して設ける代わりに連荘スイッチ21を兼用し、当該連荘スイッチ21を長押しすることにより例えば3秒間押し続けることにより流局ランプが点灯すると共に流局である教示信号をコントローラに出力するように構成してもよい。
局履歴メモリ64から局履歴情報を記憶媒体(情報媒体)に取り出すにあたっては、例えばすべてのプレーヤーの局履歴情報を最後の半荘の後に一括して例えば各プレーヤーのUSBメモリに取り出すようにしてもよく、局履歴情報の取り出しについては、上述の実施形態に限られるものではない。
半荘の終了、つまり最終局の終了時をコントローラに教えるためには、開閉スイッチ2の開閉操作を行うようにしてもよい。この場合、開閉スイッチ2の開閉操作に基づいて、点数検出部31にて検出された、今回の局の持ち点を読み出すことができる。しかしこれだけでは当該局が最終局か否かが判断できないので、各席の点棒がその後、配給原点になったことを検出することにより、当該今回の局が最終局であると判断することができる。この場合、開閉スイッチ2が終了操作部に相当する。
局履歴情報を取得するための記憶媒体あるいは情報媒体としてはUSBメモリに限られるものではなく、SDカードなどの他の記憶媒体などであってもよい。また自動麻雀卓内のコントローラに信号線を介してコンピュータを接続し、コンピュータからの操作により、局履歴メモリ64から局履歴情報を取り出すようにしてもよい。この場合には、記憶媒体はコンピュータ内のメモリに相当する。更にはまた自動麻雀卓側の画面に二次元バーコードを表示させ、携帯端末をこの二次元バーコードにかざすことにより携帯端末に局履歴情報が取り込まれるようにしてもよい。
[局履歴情報の管理及び取り出しに関する他の技術]
次に、コントローラの局履歴メモリ64内に記憶される局履歴情報(局履歴データ)の管理及び取り出しに関する発明について述べる。上述のように局履歴メモリ64内に作成された局履歴情報を取り出すにあたっては、各プレーヤーが誤って他のプレーヤーの局履歴情報を取り出して持ち帰らないようにすることが好ましい。即ち各プレーヤーが自分の局履歴情報を確実に取り出すことができるようなシステムとすることが好ましい。以下の技術はこのような要請に基づいてなされたものである。
この技術(発明)は、各プレーヤーごとに割り当てられた記憶媒体であるICカードを用い、このICカードを麻雀卓本体1に設けたカード装着部に装着して、局履歴メモリ64内の局履歴情報のうち、そのICカードに割り当てられた識別コードに対応する局履歴情報、つまりICカードの所持者であるプレーヤーに対応する局履歴情報をICカードに書き込むシステムを実現する自動麻雀卓である。識別コードは、IDコード(認証コード)とも呼ぶことができる。
図15において、101はICカード、102は、ICカードに対してデータの読み出し、書き込みを制御するためのカードリード/ライト部(カードR/W部)、103はICカードから識別コードをコントローラに入力する指示を例えばカードR/W部102を介して行うためのIDコード入力指示部であるコード入力スイッチ、104は、コントローラからICカード101にデータの書き込み指示(出力指示)を例えばカードR/W部102を介して行うためのデータ出力指示部であるデータ出力スイッチ、105はカード装着部である。カードR/W部102、コード入力スイッチ103、データ出力スイッチ104、カード装着部105は、各席毎に設けられている。図16には、麻雀卓本体1の各席の例えば右端部に、これらの部位が設けられている構成を示している。図15では、紙面の制約から席Aを代表して、カードR/W部102、コード入力スイッチ103、データ出力スイッチ104、カード装着部105を示している。
ICカード101のメモリ内にはそのICカード固有の識別コードが記憶されている。カード装着部105は、ICカード101が装着、脱着されるように構成され、装着した状態において、例えばICカード101の送受信コイルとの間で非接触で電力、電気信号を授受するための送受信コイルを備えている。
カードR/W部102は、ICカード101がカード装着部105に装着されたときにICカード101に電源電力を供給すると共に、コード入力スイッチ103が操作されたときに当該コード入力スイッチ103に対応するICカード101内のメモリから識別コードを読み出すための指示をICカード101に送信し、ICカード101から送られた識別コードを麻雀卓本体1のコントローラに送信する機能を備えている。またカードR/W部102は、データ出力スイッチ104が操作されたときに、コントローラの局履歴メモリ64に記憶されている局履歴情報の中から、当該カードR/W部102に対応するICカード102の識別コードに対応する局履歴情報を送信するようにコントローラに指示し、コントローラから送られた識別コードを受信してICカード101のメモリに書き込む機能を備えている。
麻雀卓本体1のコントローラのプログラム格納部600には、ICカード用プログラム91が格納されている。ICカード用プログラム91は、ICカード101が麻雀卓本体1に装着され、コード入力スイッチ103の操作に基づいてその識別コードがコントローラに送られたときに、識別コードと当該ICカード101が装着された席とを対応付ける処理を行うステップ群を備えている。各カードR/W部102は各席に対応し、コントローラ側では各カードR/W部102のアドレスが分かっているので、いずれのアドレスに対応するカードR/W部102から送られた識別コードであるかが分かることから、席とICカード101の識別コードとの対応付けを行うことができる。
席とICカード101の識別コードとを対応付ける処理としては、例えばコントローラ内のワークメモリに、席と識別コードとを対応付けたテーブルを作成する処理が挙げられる。
またICカード用プログラム91は、いずれのアドレスに対応するカードR/W部102から送られた読み出し指示(データ出力指示)であるかが分かることから、識別コード、席及び局履歴情報を対応付けたデータの送り先であるカードR/W部102がわかる。
既述の実施形態では、図8〜図13に示したように席と局履歴情報とが対応付けられていたが、この例においては、局履歴情報作成プログラム62が前記テーブルを参照して席に対応する識別コードについても局履歴情報と対応付けて局履歴メモリにデータを作成するようにしている。図15においてP1〜P4は、4人のプレーヤーのICカード101に割り当てられた識別コードを夫々示している。この例では、ICカード101の識別コードがP2、P3、P1、P4であるプレーヤーが夫々席A、B、C、Dに対応している。
またICカード用プログラム91は、ICカード101がカード装着部105に装着され、データ出力スイッチ104の操作がされたときに、当該ICカード101の識別コードをカードR/W部102を介して読み出し、読み出した識別コードに対応する席における局履歴情報を局履歴メモリ64から読み出して、カードR/W部102を介してICカード101に書き込む処理を行うステップ群を備えている。例えば席Aのプレーヤーが既に終了した半荘2回(一荘)分の局履歴情報を取り出すために例えば席Aのカード装着部105にICカード101を装着してデータ出力スイッチ104を操作すると、ICカード用プログラム91は、そのICカード101の識別コードであるP2に対応する局履歴情報を局履歴メモリ64から読み出して、カードR/W部102を介して席AのICカード101に書き込むためのステップを実行する。
ICカード用プログラム91は、一度読み出された局履歴情報については、読み出しを禁止している。
席Aのプレーヤーが自己の局履歴情報を取り出すためにICカード101を装着するためのカード着部105は、席Aに限らず他のどの席、例えば次の半荘を行うために席を移動した移動先のカード装着部105に装着しても同様にして局履歴情報を取り出すことができる。
以上において、図15は、図4において、既述の実施形態において用いていたUSBメモリに関連する部分をICカードに関連する部分に置き換えた構造を示しているが、図4に記載されている部位の一部については紙面の制約から省略している。
図16は、メモリ接続部71をカード装着部105に置き換えた構成に相当し、図2に記載されている部位の一部は省略している。
次に既述のICカードを用いた自動麻雀卓の使用例(作用)について、図17を参照しながら説明する。今、4人のプレーヤーがこれから麻雀ゲームを開始するものとし、各プレーヤーの席が決まったとすると、各プレーヤーが各席に対応するカード装着部105に自分のICカード101を差し込み、各席に対応するコード入力スイッチ103を操作する(スイッチ103を押す)。これによりICカード101に書き込まれている識別コードがカードR/W部102を介してコントローラに読み込まれ、例えばコントローラのワークメモリ内に、プレーヤーの席と識別コード(IDコード)とを対応付けたデータが書き込まれる(ステップS301)。例えば席Aのプレーヤーは、席Aのカード装着部105に自分のICカード101を差し込み、席Aに対応するコード入力スイッチ103を操作し、他の3人のプレーヤーについても、各プレーヤーに対応する席において、同様の操作をする。
その後は、既述の実施形態と同様に、図6AのステップS2a以降に示されるゲーム動作が行われるが、半荘が開始される最初の開閉操作が行われたときに(ステップS302)、ICカード101による識別コードの入力操作を忘れていないかについて注意喚起を行うために、例えば「席の変更があったら識別コードの入力を行ってください」のアナウンスが行われる(ステップS303)。点線で示しているステップS303は、図6Aのステップ2a〜図6BのステップS21に示されるゲームの進行に相当するステップ、即ち、開閉操作を開始してから、終了操作に至るまでのステップである。図17のステップS303以降は、図6Bのステップ21において「YES」となった後のステップであるが、説明の便宜上、終了スイッチ12を押す操作としてステップS304を記載している。
ステップS303に含まれる、図6Aに示したステップS3では、局履歴メモリ64に各席A〜D毎に東1局の欄が作成されるが、この例では、各席A〜Dと局履歴情報の作成の欄との対応付けに加えて、ワークメモリを参照して各席A〜DとICカード101の識別コード(プレーヤーの識別コード)とについても対応付けられる。図15に示す局履歴メモリ64には、席と識別コードと局履歴情報の作成欄とを対応付けたデータを概念的に示している。P1〜P4は各プレーヤーのICカード101の識別コードを示しているが、各プレーヤーを示していることと同じなので、以下の説明ではプレーヤーがP1〜P4という場合もある。
そして半荘が終了し、終了スイッチ12が押されると(ステップS304)、各プレーヤーの局履歴情報に基づいて集計処理が行われる(ステップS305)。ステップS305は、図6BのステップS21に相当する。当該半荘に続いて、席替えを行わずに更に半荘を行う場合には、ステップS306及びステップS307を介してステップS302に戻る。通常は半荘2回のセットである一荘が終了するまで席替えを行わないので、このような流れになると思われる。2回目の半荘が終了し、席替えをして更に次の半荘を行う場合には、ステップS306及びステップS307を介してステップS301に戻り、プレーヤーがICコード101を新しい席のカード装着部105に装着して識別コードの入力を行う。この場合、席の移動がないプレーヤー、つまり席決めにより前の席と同じ席であるプレーヤーについては、識別コードを再度入力する必要はない。識別コードを入力しなければ、その席と対応付けられる識別コードは、それまでの識別コードが維持されるからである。
当該半荘が終了し、更に次の半荘が終了し、即ち次の一荘が終了して、プレーヤーP1〜P4によるゲームを終了したとすると、各プレーヤーが例えばゲーム終了時に座っている席のカード装着部105にICカード101を装着し、データ出力スイッチ104を操作する(ステップS308)。この操作により、局履歴メモリ64内に作成された上記の4回の半荘分の各プレーヤーの局履歴情報のうち、そのICカード101の識別コードに対応する局履歴情報が読み出されて、カード装着部105内のデータ出力ポートを介して当該ICカード101内のメモリに書きこまれる(ステップS309)。各プレーヤーは、いずれの席のカード装着部105にICカード101を装着してデータ出力操作を行っても、局履歴メモリ64から自分の局履歴情報の取り出しを行うことができる。
上記の4回の半荘を第1回〜第4回の半荘として記述し、第1回の半荘及び第2回の半荘の席は、P1が席C、P2が席A、P3が席B、P4が席Dであり、第3回の半荘及び第4回の半荘の席は、P1が席Cで変わらず、P2が席B、P3が席D、P4が席Aであるとした場合、局履歴メモリ64内に作成された局履歴情報は、イメージとして図18のように表される。また各プレーヤーP1〜P4のICカード101に読み出された局履歴情報は、イメージとして図18の右側のように表される。
このような技術によれば、各プレーヤーの席が新たに決まるごとに、つまり最初の半荘開始時に席に着く場合あるいは半荘終了時に席変えにより新たな席に着く場合に、事前にその席とICカードの識別コードとを対応付けておき、ゲーム終了後に、ICカードの識別コードに対応する局履歴情報をICカードに書き込むようにしているので、各プレーヤーは自分の局履歴情報だけを確実に取り出すことができ、誤って他のプレーヤーの局履歴情報を取り出して持ち帰ることを防止できる。
各プレーヤーがゲーム終了後に自分の局履歴情報をICカードに読み出す手法としては、例えば雀荘店内に各自動麻雀卓とデータ通信ができるようになっているメインコンピュータが設けられている場合、このメインコンピュータを介して局履歴情報をICカードに読み出すようにしてもよい。
更にまた、自動麻雀卓に各席に対応して、2つのカード装着部が設けられていて、一方のカード装着部にICカードを装着することにより当該ICカードから識別コードがコントローラに送られ、他方のカード装着部にICカードを装着することによりコントローラ側から当該ICカードの識別コードに対応する局履歴情報が当該ICカードに送られる構成であってもよい。この場合、例えば2つのカード装着部に対応して夫々コード入力指示部とデータ出力指示部とを設けてもよいが、カード装着部にICカードを装着するだけで、識別コードがコントローラに送られ、あるいはコントローラから局履歴情報が送られる構成を採用してもよい。この場合一方のカード装着部がコード入力指示部に相当し、他方のカード装着部がデータ出力指示部に相当する。
以上において、記憶媒体としては、ICカードに限らず、SDカードなどであってもよい。
また識別コードをコントローラに入力するためのコード入力指示部(一例としてコード入力スイッチ)及びコントローラから局履歴情報を読み出すためのデータ出力指示部(一例としてデータ出力スイッチ)は、プレーヤーが直接操作するように構成されているものに限らず、例えば携帯端末からコード入力指示やデータ出力指示を受け付けるためのポートなどの部位も相当する。
例えばICカードを用いて既述のように、各席と識別コードとの対応付けを行い、ゲームが終了した後、コンピュータを自動麻雀卓に接続し、局履歴情報の出力指示を自動麻雀卓に与え、コンピュータから送られた識別コードに対応する局履歴情報を取り出すようにしてもよい。