JP4618667B2 - 遊技機 - Google Patents
遊技機 Download PDFInfo
- Publication number
- JP4618667B2 JP4618667B2 JP2004170166A JP2004170166A JP4618667B2 JP 4618667 B2 JP4618667 B2 JP 4618667B2 JP 2004170166 A JP2004170166 A JP 2004170166A JP 2004170166 A JP2004170166 A JP 2004170166A JP 4618667 B2 JP4618667 B2 JP 4618667B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- ram
- hearing
- game
- self
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
本発明において、プログラムモジュールとは、上記したサブルーチンプログラム、または関数プログラムのことを示し、処理機能ごとに短いプログラムになるように部品化されている。さらに、このプログラムモジュールは、数個のプログラムモジュールがシーケンシャル的に組合されて、複数のプログラムモジュールを組み合わせた構成からなる場合もあり得る。
(1)遊技機、特に、雀球遊技機のようにゲームのルールが複雑な遊技機においては、遊技者の現在の手牌が14個のときに、遊技者が捨て牌の操作を行う前に「捨てれば聴牌」する牌の有無を判定して、「捨てれば聴牌」する牌が判定されたときには、この捨て牌に対応する捨て牌用ボタンスイッチ16a、・・を点灯するアシスト機能、あるいは、現在の手牌が13個のときに、遊技者が次の自摸の操作を行う前に、「自摸れば上がり」、または「自摸れば聴牌」する牌の有無を判定して、「自摸れば上がり」、または「自摸れば聴牌」する牌が判定された場合には、この牌に対応する入球口を明示する等のアシスト機能が要求される。このようなアシスト機能を実行するための「捨てれば聴牌」する牌、「自摸れば上がり」、または「自摸れば聴牌」する牌の有無を判定するためのプログラムロジック、すなわち、現在の手牌の図柄データから、刻子や順子の組合せパターンの判定とその組合せ数の算出は複雑となり、かつ、同じ処理を繰り返して行う場合があるので、そのプログラムの実行時間は時間を要する。この対策として本発明においては、少なくとも、手牌の図柄データから刻子や順子の組合せパターンの判定とその組数を求めるためのプログラムモジュールをCPU内蔵RAM42aに記憶させて実行させることにより、CPUの外部に搭載されているROMで実行させる場合と比較して、実行時のフェッチ時間を少なくするようにしている。これにより、各種のアシスト機能を実行させるためのプログラム処理時間は、CPUの外部に搭載されているROMで実行させる場合と比較して、約1/2に短縮することができる。
図6に示すように、捨て牌用ボタンスイッチ16a、16b、・・・、16m、および自摸牌の捨て牌用ボタンスイッチ17は、横方向に可撓性透明樹脂からなるカバー部材51a、51b、・・・、51m、51nを配設した外枠52、同じく横方向に透明な樹脂から成形された押圧部材53a、53b、・・・、53m、53nを配設した押圧部材取付け板54、スペーサー55、56、横方向に薄板状あるいはドーム状のばね接点部材を有するスイッチ素子57a、57b、・・・、57m、57nを配設したスイッチ素子取付け板58を組み立てることにより構成されている。なお、スペーサー55および56は、不透明な合成樹脂等で作製し、各スイッチ素子57a、・・・等に対応する位置に適度な大きさの孔部が穿設されている。
(1)遊技機1の電源がONされたときに作動する初期化プログラムP1aを備え、この初期化プログラムP1aによりRAM42の記憶領域を初期化した後、例えば、電源ON時の初期化制御コマンドをサブ制御基板Kb、サブ制御基板Kbを経由して画像制御基板Kcに送信する処理を行う。この制御コマンドに基づいて、サブ制御基板Kbと画像制御基板Kcは電源ON時の初期化処理を行う。これにより、画像制御基板Kcは、電源ON時の演出用画像や音声等を出力することができる。
(1)ゲーム開始時に、RAM42に記憶する残り遊技球数を、例えば14個に設定する。
(2)捨て牌ボタンスイッチ16a、・・・等から捨て牌の操作信号を検出すると、遊技球発射位置(図1には図示せず)に遊技球を1球送る制御を行う。
(3)遊技球発射レバー4から発射された遊技球が入球口11a、11b、11c、等の何れかに入球し、その入球信号が検出されると、残り遊技球数を「1」減算し、入球した入球口に対応する牌の図柄コードを作成する。
ランプ制御プログラムP23は、メイン制御基板Kaから送信された制御コマンドとその制御データに基づいて、ランプ7、12の点灯と消灯の制御を行うためのプログラムである。
(2)遊技者の手牌が上がり役を完成するか、あるいは聴牌の状態になるか否かの判定を行うためのプログラム処理は、14個または13個の手牌の図柄コードに基いて、雀頭、刻子および順子の組合せが何組完成しているか否かを判定する必要がある。この判定を行うためのプログラム処理は、14個または13個の手牌の図柄コードから2個または3個を取出して雀頭、刻子および順子の組合せが完成しているか否かの判定を繰り返して行うため、そのプログラムは複雑になりその実行時間は長くなる。
メイン基板動作制御プログラムP1は、RAM42の手牌記憶領域に記憶している現在の手牌データ(13個または14個)については、その図柄コードを上昇順にソートしてサブ制御基板Kbに送信する。サブ基板動作制御プログラムP21は、上がり役を完成していないこの14個の手牌の図柄コードを受信すると、受信したデータをRAM42に記憶する。そして、サブ基板動作制御プログラムP21は、制御を捨てれば聴牌判定プログラムP24に移行させる。すると、捨てれば聴牌判定プログラムP24は、順次、サブプログラムである一九字牌種類数算出プログラムP24a、捨てれば七対子聴牌判定プログラムP24b、捨てれば国士無双聴牌判定プログラムP24c、聴牌判定プログラムP24dを作動させる。
まず、捨てれば聴牌判定プログラムP24は、一九字牌種類数算出プログラムP24aを作動させる。一九字牌種類数算出プログラムP24aは、RAM42に記憶されている14個の手牌の図柄コードについて、数牌の「1」、「9」、および字牌が何種類含まれているかを算出する。この算出方法は、予め、図9に示すように、雀球遊技機1で使用する27種の牌の図柄ごとに図柄コードを設定しているので、この図柄コードを基にして算出することができる。
(2)上がり役が「七対子」の場合、7種類の牌で上がり役が構成されるので、14個の手牌に9種類以上の「1」と「9」の数牌、および字牌が含まれている場合には、現在の手牌から如何なる1個の牌を捨てても聴牌させることができない。
(3)上がり役が「国士無双」の場合、13種類の牌で上がりが構成されるので、現在の14個の手牌に11種類以下の「1」と「9」の数牌、および字牌が含まれている場合には、手牌から1個の牌を捨てても聴牌させることができないと判定することができる。14個の手牌に12種類の「1」と「9」の数牌および字牌が含まれているときには、「1」と「9」の数牌および字牌から構成される雀頭が形成されている可能性があるからである。
(4)従って、現在の14個の手牌に「1」と「9」の数牌、および字牌が9〜11種類含まれている場合には、14個の手牌から不要な1個の牌を捨てても聴牌させることができない。
続いて、捨てれば聴牌判定プログラムP24は、捨てれば七対子聴牌判定プログラムP24bを作動させる。捨てれば七対子聴牌判定プログラムP24bは、現在の14個の手牌から1個の不要な牌を捨てると、「七対子」で聴牌するか否かを判定し、「七対子」で聴牌することができる牌が判定された場合には、この捨て牌の図柄コードを「捨てれば聴牌」する牌として、ステップS8aによりRAM42に一時記憶する処理を行う。「七対子」で聴牌することができないと判定した場合にはステップS3に進む。
(1)RAM42に記憶されている14個の手牌の図柄コードに基いて、図柄コード別の個数を算出したデータテーブルを作成する。そして、同一の図柄コードが2個ほど揃っている組数をカウントする。
(2)上記(1)の処理により、同一の図柄コードが2個ほど揃っている組数が6組存在すれば、残り2個の牌のうち、何れか1個の牌を捨てると「七対子」で聴牌すると判定することができる。ただし、同一の図柄コードが4個揃っている場合には、「七対子」で聴牌していると判定しないようにする。
(3)上記(2)の処理で「七対子」で聴牌していると判定することができた場合には、14個の手牌から、同一の図柄コードが2個ほど揃っている対子6組の牌を除いた残り2個の牌の図柄コードについて、その何れか1個を捨てれば、この牌の図柄コードを「捨てれば聴牌」する牌と判定することができる。ただし、この残り2個の図柄コードの一方が、対子を構成する6組の牌の中に含まれている場合には、この一方の牌を「捨てれば聴牌」する牌と判定する。
続いて、捨てれば聴牌判定プログラムP24は、捨てれば国士無双聴牌判定プログラムP24cを作動させる。捨てれば国士無双聴牌判定プログラムP24cは、現在の14個の手牌から1個の不要な牌を捨てると、「国士無双」で聴牌するか否かを判定し、「国士無双」で聴牌すると判定された場合には、この捨て牌の図柄コードを「捨てれば聴牌」する牌とし、ステップS8bによりRAM42に一時記憶する処理を行う。「国士無双」で聴牌することができないと判定された場合には、ステップS4に進む。
以下に説明するステップS4〜S10は、聴牌判定プログラムP24dにより、現在の14個の手牌から1個の牌を捨てる操作を行ったときに、「七対子」「国士無双」を除いた一般上がり役で聴牌させることができるか否かを判定する処理を行う。現在の14個の手牌から何れか1個の牌を捨てたと仮定したときに、この13個になる手牌を聴牌の状態にさせることができるか否かの判定は、下記の技術的思想に基づいて行っている。
(0、0、2) ・・・・・・・・・・・・・・・・・・・ (1)
(0、0、1) ・・・・・・・・・・・・・・・・・・・ (2)
(0、2、2) ・・・・・・・・・・・・・・・・・・・ (3)
14個の手牌について上がり時の配列パターンを示す上記配列パターン(0、0、2)から、何れか1種の牌種を削除して13個の手牌にすると、その牌種別の牌の合計個数を3で除算して得た余りの個数の組合せの配列パターンは、(0、0、1)、または(0、2、2)になるからである。このことから、現在の14個の手牌から、どの牌種の麻雀牌を1個捨てれば、上記した聴牌しているときの配列パターン(0、0、1)、または(0、2、2)を構成させることができるか、すなわち、「捨てれば聴牌」する可能性がある捨て牌の牌種を判定することができる。なお、上記の配列パターン式(2)である(0、0、1)、配列パターン式(3)である(0、2、2)は、聴牌時の配列パターンを構成する。
(1)数牌である「萬子」の図柄コードは、図9に示すように、16進数表現で「01」〜「09」に設定されている。従って、14個の手牌の図柄コードが、この「01」〜「09」に含まれているか否かを順次判定し、この範囲に含まれている場合にはその個数をRAM42に「1」加算することにより、「萬子」の個数を算出することができる。
(2)同様にして、「筒子」の図柄コードは「0A」〜「12」、「一索」と「九索」を含む字牌の図柄コードは「13」〜「1B」に設定されているので、上記(1)と同様な処理により、「筒子」と「字牌」の個数を算出することができる。上記手順で算出した牌種ごとの牌の個数、すなわち、「萬子」「筒子」「字牌」の各個数はRAM42に記憶しておく。
聴牌判定プログラムP24dは、下記の配列パターン式(7)、(8)、(9)で示すように、上記ステップS4で算出した牌種ごとの牌の個数、すなわち、「萬子」の個数A、「筒子」の個数B、「字牌」の個数Cの何れか一つを1個減算した個数を3で除算したときの余りの個数の配列パターンを求める。なお、余りの個数とは、前記したように、牌種ごとの牌の個数を3で除算したときの整数の余り値を示し、その値は0、1、2の何れかの値になる。この配列パターン式(7)、(8)、(9)を手牌の配列パターンという。
((A−1)/3の余り、B/3の余り、C/3の余り) ・・・・・ (7)
(A/3の余り、(B−1)/3の余り、C/3の余り) ・・・・・ (8)
(A/3の余り、B/3の余り、(C−1)/3の余り) ・・・・・ (9)
聴牌判定プログラムP24dは、ステップS5で求めた手牌の配列パターン式(7)、(8)、(9)が、前記した聴牌時の配列パターン(2)または(3)、すなわち、(0、0、1)または(0、2、2)に一致するか否かを判定する。前記したように、この比較を行うときには、ステップS5で求めた手牌の配列パターン、例えば、図14のa3に示す配列パターン(1、2、1)、(2、1、1)、(2、2、0)は、その配列の要素である「0」「1」「2」の配列順序、すなわち、「萬子」「筒子」「字牌」の順序を考慮する必要がない。従って、上記配列パターン式(9)で求めた配列パターン(2、2、0)が、聴牌時の配列パターンである(0、2、2)に一致すると判定することができる。
ステップS6の処理により、手牌の配列パターン式が聴牌時の配列パターン(2)または(3)に一致したときに、ステップS5の処理において牌種の個数を「−1」した牌種を求め、この牌種コードをRAM42に記憶する。図14に示す例では、14個の手牌から字牌の個数を「−1」する、すなわち、字牌を捨て牌とすると、その手牌の配列パターンは、聴牌時の配列パターンである(0、2、2)に一致すると判定することができる。すなわち、図14に示す例では、14個の手牌に含まれている字牌の「東」「南」の何れか1個を捨て牌として捨てると、13個になった手牌は聴牌状態になる可能性があることを示している。なお、聴牌時の配列パターン(2)または(3)は、予め聴牌判定プログラムP24d内に定数「001」、「022」として登録しておく。
聴牌判定プログラムP24dは、ステップS7で求めた牌種について、現在の14個の手牌から順次、この牌種の牌を1個捨て牌として捨てたと仮定した場合、残った13個の手牌が聴牌状態になるか否かを判定する処理を行う。図14に示す手牌例a1では、字牌として「東」が3個、「南」が1個含まれているので、図柄コード順に、「東」を1個捨て牌とした場合に聴牌するか、続いて、「南」を1個捨て牌とした場合に聴牌するかを判定し、聴牌すると判定された場合には、この捨て牌とした図柄コードをRAM42に記憶する。図14に示す例では、「南」が「捨てれば聴牌」する牌として判定されることになる。なお、ステップS8において、該当する牌種について最初の図柄コードの牌を捨て牌としたときに聴牌するか否かを判定し、続いてステップS9に進み、捨て牌とすべき該当する牌が存在するときには、ステップS8に戻って次の図柄コードを捨て牌とした場合に聴牌するか否かを判定するようにする。
(パターンa)4組の刻子や順子が完成し、雀頭(対子)は完成していない。
(パターンb)3組の刻子や順子が完成し、雀頭(対子)も完成している。
従って、13個の手牌が聴牌しているか否かを判定するプログラム処理は、13個の手牌に含まれている刻子、順子、雀頭の組合せ数を判定することにより可能になる。
13個の手牌の図柄コードについて、図柄コード別に個数を集計した図柄コード別個数テーブルを作成する。
手順1で求めた図柄コード別個数テーブルを参照して、個数が2個以上含まれている図柄コードについて、このうち同一の図柄コードが2個以上揃っている図柄について、その2個の図柄コードは雀頭を形成していると仮定する。続いて、RAM42に記憶している13個の手牌データ(実際のプログラム処理では、他の記憶領域に転送した13個の手牌データを用いる)からこの雀頭を形成していると仮定した図柄コードを削除した後、11個になった図柄コードを上昇順に並べ替える処理を行う。なお、13個の手牌に、個数が2個以上含まれている図柄コードが存在しない場合には、下記の手順4に進む。
手順2で求めた11個の図柄コードについて、刻子が形成されているか否かを判定し、刻子が形成されている場合にはその刻子の組合せ数を求める。そして、刻子が形成されている場合には、RAM42に記憶している手牌データからこの刻子の図柄コードを削除した後、残った図柄コードを上昇順に並べ替える処理を行う。刻子が形成されているか否かの判定は、図柄コード別個数テーブルを参照して、個数が3個揃っている図柄コードは刻子が形成されていると判定し、個数が4個揃っている図柄コードについてはそのうち3個について刻子が形成されていると判定する。
RAM42に記憶している手牌データについて、順子が形成されているか否かの判定と、順子が形成されている場合にはその組合せ数を求める処理を行う。順子が形成されているか否かの判定は、次の手順4a、手順4bの何れかを採用することにより可能である。
上記した手順1〜手順4の処理により、刻子、順子、雀頭(対子)の組合せ数を判定する。そして、この組合せ数が下記(a)または(b)の場合には、13個の手牌は聴牌していると判定することができる。
(a)刻子や順子の組合せ数が計4組になった場合には、13個の手牌は残り1個の牌が雀頭のタンキ待ちの聴牌になると判定することができる。
(b)刻子や順子の組合せ数が計3組になり、かつ、雀頭が1組形成されている場合には、残った2個の手牌が対子を形成しているか、あるいは残った2個の牌が数牌であり、塔子(ターツ)、嵌塔(カンター)、辺塔(ペンター)の何れかを形成している場合には、聴牌状態になっていると判定することができる。
上記手順2の処理において、13個の手牌に、さらに同一の図柄コードが個数2個以上含まれている場合には、この2個の図柄コードについても雀頭(対子)が形成されていると仮定して、上記手順2〜手順5の処理を行う。
聴牌判定プログラムP24dは、ステップS7の処理により求めた牌種であって、手牌に含まれている全ての図柄コードについて、ステップS8の処理を行ったかどうかをチェックし、未だ処理を行っていない図柄コードが残っている場合には、ステップS8に戻るようにする。一方、全ての図柄コードについてステップS8の処理が終了した場合には、ステップS10に進む。
上記ステップS8、S8a、S8bの処理により、RAM42に記憶した「捨てれば聴牌」する牌の図柄コードについて、聴牌判定プログラムP24dは、遊技者に対し下記のアシスト機能を提供する処理を行う。
(1)捨て牌スイッチ点灯制御プログラムP27を作動させて、「捨てれば聴牌」する捨て牌の図柄コードに対応する捨て牌用ボタンスイッチ16a、16b、・・・、16m、17に設けられているフルカラーLED59a、59b、・・・、59nを点灯させる制御を行う。
(2)RAM42に記憶している「捨てれば聴牌」する牌の図柄コードの全てを画像制御基板Kcに制御コマンドと共に送信する。画像制御基板Kcはこの「捨てれば聴牌」する図柄コードを受信すると、捨てれば聴牌表示プログラムP323aによりこの「捨てれば聴牌」する図柄コードに対応する図柄を図20に示すように表示装置14に表示し、さらに、音声・効果音出力プログラムP41により「捨てれば聴牌」する牌がある旨の音声をスピーカー6から出力するようにする。
(1)自摸れば上がり牌判定プログラムP25は、現在の13個の手牌に、1個の自摸すべき牌を追加したと仮定した場合に、14個になった手牌は上がり役を完成するか否かを判定する。そして、上がり役を完成すると判定された場合には、この「自摸れば上がり」になる牌の入球口近傍に設定されているフルカラーLED37を点灯させるように制御する。さらに、表示装置14に、この「自摸れば上がり」になる牌の図柄を表示させるように制御する。
続いて、自摸れば上がり牌判定プログラムP25の処理手順と、このプログラムを高速処理するために内蔵RAM42aに記憶したプログラムモジュールを実行させる手順について説明する。自摸れば上がり牌判定プログラムP25は、図11に示すように、七対子上がり牌判定プログラムP25a、国士無双上がり牌判定プログラムP25b、聴牌パターン判定プログラムP25c、上がり牌種判定プログラムP25d、上がり牌判定プログラムP25e、および一九字牌種類数算出プログラムP24aから構成されている。以下、図17に示す処理ステップS11〜S22の順に、その処理の概要を説明する。
まず、一九字牌種類数算出プログラムP24aは、サブ制御基板KbのRAM42に記憶している13個の手牌の図柄コードについて、数牌(萬子と筒子)の「1」と「9」の牌である「一萬」「一筒」「九萬」「九筒」、および字牌が含まれている種類数Aを算出する。そして、13個の手牌に数牌の「1」、「9」および字牌の種類数Aが8〜11種類含まれていると判定された場合には、現在の13個の手牌は、上がる可能性がないとして自摸れば上がり牌判定プログラムP25の処理を終了させるようにする。これにより、現時点の手牌について、次の自摸操作により上がる可能性がない13個の手牌について、自摸れば上がり牌判定プログラムP25の実行を行う必要がないので、その処理時間を短縮させることができる。なお、現在の13個の手牌に数牌の「1」、「9」および字牌の種類数Aが8〜11種類含まれている場合に、この手牌に1個の自摸牌を追加しても上がることができない理由は、前記したステップS1の処理で説明した理由とほぼ同様であるのでその詳細は省略する。
ステップS12では、七対子上がり牌判定プログラムP25aにより、現在の13個の手牌に1個の牌を自摸して追加すると、「七対子」で上がることができるか否かを判定し、「七対子」で上がることができる牌が判定された場合には、この自摸すべき牌の図柄コードを「自摸れば上がり」になる牌としてステップS20aによりRAM42に一時記憶する処理を行う。「七対子」で上がることができないと判定した場合にはステップS13に進む。なお、現在の13個の手牌に1個の牌を自摸して追加すれば「七対子」で上がることができる牌の判定方法は、前記ステップS2で説明した手順と同じ考え方で可能であるのでその詳細は省略する。
国士無双上がり牌判定プログラムP25bにより、現在の13個の手牌に1個の牌を自摸して追加すると、「国士無双」で上がることができるか否かを判定し、「国士無双」で上がることができる牌が判定された場合には、この自摸すべき牌の図柄コードを「自摸れば上がり」になる牌としてステップS20bによりRAM42に一時記憶する処理を行う。「国士無双」で上がることができないと判定された場合には、ステップS14に進む。なお、現在の13個の手牌に1個の牌を自摸して追加すれば「国士無双」で上がることができる牌の判定方法は、前記ステップS3で説明した手順と同じ考え方で可能であるのでその詳細は省略する。
以下に説明するステップS14〜S22の処理は、「七対子」「国士無双」を除いた一般上がり役に対する処理になる。ステップS14においては、聴牌パターン判定プログラムP25cにより、RAM42に記憶している13個の手牌の図柄コードについて、牌種ごとの牌の個数を算出して、RAM42の牌種ごとの個数算出領域に記憶する処理を行う。この牌種ごとに牌の個数の算出は、前記ステップS4の手順と同じである。
聴牌パターン判定プログラムP25cは、ステップS14で求めた手牌の配列パターン(X、Y、Z)が前記した聴牌時の配列パターン式(2)または式(3)、すなわち、(0、0、1)または(0、2、2)に一致するか否かを判定する処理を行う。前記したように、この一致するか否かの判定を行うときには、ステップS14で求め、図18のa13に示す手牌の配列パターン(2、2、0)はその要素である「2」「2」「0」の配列順序は、「萬子」「筒子」「字牌」の順序を考慮する必要がない。従って、図18のa13に示す手牌の配列パターン(2、2、0)は、聴牌時の配列パターン式(3)、すなわち(0、2、2)に一致していると判定することができる。
ステップS16では、まず、上がり牌種判定プログラムP25dにより、ステップS14で求めた手牌の配列パターンを、前記した上がり時の配列パターン式(1)、すなわち、(0、0、2)にするために、現在の手牌に追加すべき1個の牌種を求める処理を行う。 この処理の概要を図18のa13に示す手牌の配列パターン(2、2、0)で説明すると次のようになる。a13に示す手牌の配列パターン(2、2、0)は、現在の13個の手牌について、「萬子」の個数を3で除算したときの余りの個数が2、同じく「筒子」の余りの個数が2、同じく「字牌」の余りの個数が0であることを示している。従って、図18のa13に示す配列パターン(2、2、0)に1個の牌種を追加して上がり時の配列パターン式(0、0、2)にするためには、「萬子」または「筒子」の牌種の1個を手牌に追加すれば、「3」で除算した余りの個数は「0」になるので、上がり時の配列パターン(0、0、2)になることが分かる。このような処理をプログラム化した上がり牌種判定プログラムP25dは、図18のa13に示す手牌の配列パターン(2、2、0)では、「萬子」または「筒子」に上がり役を構成することができる牌種、すなわち、「自摸れば上がり」になる牌種は「萬子」または「筒子」であると判定することができる。なお、上がり時の配列パターン式(1)は、予め、上がり牌種判定プログラム25dに定数「002」として登録しておく。
上がり牌判定プログラムP25eは、ステップS16で求めた牌種についてこの牌種を構成する牌の中からまず1個の牌を選択する。例えば、牌種が「萬子」である場合には、図柄コードの上昇順である「一萬」の図柄コードから選択する処理を行う。この選択処理は、現在の13個の手牌に1個の牌を自摸牌として追加したときに、上がり役を完成させることができるか否かを判定するために行う。
ステップS17の処理で選択した牌は、この時点の遊技の場において既に4個開示されている牌であるか否かをチェックする必要がる。この理由は、既に4個開示されている牌は自摸する牌として選択できないからである。現時点の遊技の場において、4個開示されている牌か否かのチェック方法は、例えば、次のような(処理1)〜(処理3)を行うプログラムを備えることにより可能になる。なお、既に4個開示されている牌の図柄とは、現在の手牌、現在までの捨て牌、表ドラとして表示されている牌、裏ドラ、風牌について、同一の牌の図柄が既に4個開示されている牌の図柄を示すが、このうち、例えば、表ドラ、裏ドラ、風牌については、4個開示されている牌の図柄としてカウントしない処理を行う等、適宜に設定するとよい。
(処理2)サブ制御基板Kbのサブ基板動作制御プログラムP21は、メイン制御基板Kaから自動配牌プログラムP5が自動配牌した14個の牌の図柄コードが送信されたとき、遊技者が遊技球を発射して自摸操作を行ってメイン制御基板Kaからこの自摸牌の図柄コードが送信されたとき、およびメイン制御基板Kaから表ドラ牌等の図柄コードを受信したときに、開示個数テーブルKの該当する図柄コードの開示個数をカウントする記憶領域を「+1」する処理を行う。
上がり牌判定プログラムP25eは、ステップS17で選択し、現在のゲームの場において4個開示されていない牌の図柄コードをRAM42に記憶している現在の13個の手牌データに追加する。続いて、14個になった手牌の図柄コードを上昇順に並べ直す処理を行う。続いて、この14個の手牌が「七対子」と「国士無双」を除いた一般上がり役の組合せを完成しているか否かを判定する処理を行う。この判定は、一般上がり役は、「刻子」や「順子」の組合せが4組、「雀頭」の組合せが1組で構成されるので、これらの組合せの判定とその組合せ数を算出する処理をプログラム化することにより可能になる。この判定手順は、前記ステップS8の処理で説明した手順1〜手順6を用いて判定することができる。
ステップS19の処理により、上がり役を完成することができる牌が判定された場合には、この自摸牌として追加したと仮定した図柄コードを「自摸れば上がり」になる牌としてその図柄コードをRAM42に記憶する。図18に示す例では、「五萬」「三筒」と「六筒」の3個が「自摸れば上がり」になる牌の図柄になるので、これらの図柄コードが上がり牌としてRAM42の記憶領域a14に記憶されることになる。
続いて、上がり牌判定プログラムP25eは、13個の手牌に追加すべき全ての牌の図柄コードについて「自摸れば上がり」になる牌の判定処理を行ったか否かをチェックし、チェックしていない牌がある場合には、ステップS17に戻る処理を行う。
上がり牌判定プログラムP25eは、ステップS20、S20a、S20bの処理でRAM42に「自摸れば上がり」になる牌の図柄コードが記憶されているか否かをチェックし、記憶されている場合には、入球口点灯制御プログラムP28を作動させて、この「自摸れば上がり」になる牌に対応する入球口11a、・・の近傍に設置したフルカラーLED37、・・を点灯させるように制御する。さらに、上がり牌判定プログラムP25eは、RAM42に記憶している「自摸れば上がり」になる牌の図柄コードの全てを画像制御基板Kcに制御コマンドと共に送信する。画像制御基板Kcはこの「自摸れば上がり」になる牌の図柄コードを受信すると、自摸れば上がり牌表示プログラムP323bによりこの「自摸れば上がり」になる牌の図柄コードに対応する図柄を図21に示すように表示装置14に表示し、さらに、音声・効果音出力プログラムP41により「自摸れば上がり」となる牌がある旨の音声をスピーカー6から出力するようにする。
ステップS22の処理が終ると、自摸れば上がり牌判定プログラムP25の処理は終了することになる。
自摸れば聴牌判定プログラムP26の処理手順の概要は、図23に示すようにステップS31〜ステップS40で表すことができる。以下、各ステップの処理の概要について説明する。
まず、自摸れば聴牌判定プログラムP26は、前記したステップS1の処理を実行した一九字牌種類数算出プログラムP27aを作動させる。そして、13個の手牌に数牌の「1」、「9」および字牌が9〜10種類含まれていると判定された場合には、現在の13個の手牌は、遊技者が次の自摸操作を行っても聴牌の状態になる可能性がないと判定して、自摸れば聴牌判定プログラムP26の処理を終了させる。これにより、現在の13個について、1個の牌を追加して14個になった手牌が聴牌する可能性がない場合には、以下に説明するステップS32〜S40の処理を実行する必要がなくなるので、自摸れば聴牌判定プログラムP26の処理時間を短縮させることができる。なお、現在の13個の手牌に、数牌の「1」、「9」および字牌が9〜10種類含まれている場合には、この手牌に1個の自摸牌を追加しても聴牌する可能性がないと判定する理由は、前記ステップS1で説明した理由と同じ考え方で証明できるのでその詳細は省略する。このステップS31の処理により、数牌の「1」と「9」および字牌の種類数Aが8以下、および11以上の場合には、ステップS32に進む。
自摸れば聴牌判定プログラムP26は七対子聴牌判定プログラムP26aを作動させて、現在の13個の手牌に1個の牌を自摸して追加した場合に、「七対子」で聴牌するか否かを判定する。そして、「七対子」の上がり役で聴牌すると判定された場合には、この自摸すべき牌の図柄コードを「自摸れば聴牌」する牌としてステップS37aによりRAM42に一時記憶する処理を行う。「七対子」で聴牌することができないと判定した場合にはステップS33に進む。ステップS32において、現在の手牌に1個の牌を自摸すれば「七対子」の上がり役で聴牌させることができる牌の判定方法は、前記ステップS2において捨てれば七対子聴牌判定プログラムP24bの処理で説明した手順と同じ考え方で可能であるのでその詳細は省略する。
自摸れば聴牌判定プログラムP26は、国士無双聴牌判定プログラムP26bを作動させて、現在の13個の手牌に1個の牌を自摸した場合に、「国士無双」で聴牌するか否かを判定する。そして、「国士無双」で聴牌すると判定された場合には、この自摸すべき牌の図柄コードを「自摸れば聴牌」する牌としてステップS37bによりRAM42に一時記憶する処理を行う。「国士無双」で聴牌することができないと判定された場合には、ステップS34に進む。なお、現在の13個の手牌に1個の牌を自摸すれば「国士無双」で聴牌するか否かの判定方法は、前記ステップS3で説明した手順と同じ考え方で可能であるのでその詳細は省略する。
以下に説明するステップS34〜S40の処理は、自摸れば聴牌判定プログラムP26が全図柄別聴牌判定プログラムP26cを作動させることにより行なわれる。ステップS34においては、現在の13個の手牌に対して、自摸して1個の牌を追加したと仮定したときに、手牌が聴牌の状態になるか否かを事前に判定するために、この自摸する1個の牌(Xi)を選択する処理を行う。この1個の牌の選択処理は、「一萬」〜「中」までの27種の牌の図柄コードを1個ずつ選択する処理を行う。
ステップS34で選択した牌(Xi)は、現時点のゲームの場において既に4個開示されている牌の図柄は自摸する牌として選択しないようにする必要がある。この対策として、前記したステップS18と同一の処理、すなわち、図19に示す開示個数テーブルKを参照して、選択した牌(Xi)が既に4個開示されているか否かをチェックする処理を行う。そして、開示個数が0〜3個の牌の図柄コードを自摸する牌として選択する処理を行って、ステップS36に進む。一方、既に4個開示されている図柄コードについては自摸する牌として選択しないでステップS38に進む。
RAM42に記憶している13個の手牌の図柄コードに、ステップS34〜S35の処理で選択した牌(Xi)の図柄コードを追加する処理を行う。このとき、RAM42に記憶している14個になった手牌の図柄コードは、図柄コードの上昇順にソートして記憶する処理を行う。
ステップS36の処理により牌(Xi)を追加して14個になった手牌が、聴牌するか否かを全図柄別聴牌判定プログラムP26cにより判定し、「自摸れば聴牌」する牌を求める処理を行う。
(1)1個の牌を自摸牌として追加し14個になったと仮定した手牌について、前記したステップS8の処理で説明した手順1〜手順6の処理方法を用いて、この手牌に形成されている雀頭、刻子、順子の組合せの判定とその組合せ数を算出する。
(2)上記(1)の処理の結果、刻子や順子が計4組形成されている場合には、14個の手牌からこの4組を形成する牌を除いた2個の牌のうち何れか1個を次の捨て牌操作により捨てると、13個の手牌は、この残り1個の牌の雀頭待ちによる聴牌になっていると判定することができる。
(b1)残り3個の牌のうち、2個が同一の図柄(図柄コード)である。この場合、残り3個の牌からこの同一の図柄2個を除いた残り1個の牌を次の捨て牌操作により捨てると、13個の手牌はシャンポン(対子二組)聴牌の状態になる。
(b2)残り3個の牌に順子を形成するためのターツ(塔子)、カンター(嵌塔)、ペンター(辺塔)の何れかが含まれている。この場合、この残り3個の牌から不要な1個の牌を次の捨て牌操作により捨てると、13個の手牌は聴牌の状態になる。
ステップS38においては、現在の13個の手牌に、27種の牌に関する図柄のうち、次の図柄コードを自摸する牌(Xi)として選択する前処理(i=i+1)、すなわち、「一萬」の図柄コードから「中」の図柄コード「1B」まで、27種の牌の図柄コードを自摸する牌(Xi)として選択するための前処理を行う。このプログラム処理は、例えば、プログラム内に記憶している27種の図柄コードのデータテーブルから次の図柄コードを取出す処理を行うことにより可能になる。続いて、次のステップS39に進み、27種全ての牌の図柄コードについて未だ選択する処理を行っていない場合には、再び前記したステップS34の処理に戻るようにする。
ステップS37、S37a、S37bの処理でRAM42に記憶した「自摸れば聴牌」となる牌の図柄コードについて、この牌に対応する入球口11a、・・の近傍に設置したフルカラーLED37、・・を点灯させる処理を行う。この処理は、全図柄別聴牌判定プログラムP26cが入球口点灯制御プログラムP28を作動させようにする。
さらに、全図柄別聴牌判定プログラムP26cは、この「自摸れば聴牌」する牌の図柄コードの全てを画像制御基板Kcに制御コマンドと共に送信する。画像制御基板Kcはこの「自摸れば聴牌」する牌の図柄コードを受信すると、自摸れば聴牌表示プログラムP323cによりこの「自摸れば聴牌」する牌の図柄コードに対応する図柄を図22に示すように表示装置14に表示し、さらに、音声・効果音出力プログラムP41により「自摸れば聴牌」する牌がある旨の音声をスピーカー6から出力するようにする。ステップS40の処理が終了すると、自摸れば聴牌判定プログラムP26の処理は終了することになる。
2 :遊技盤面
3 :操作パネル
6 :スピーカー
7 :ランプ装置
8 :特別入賞装置(アタッカー)
11a、11b、11c、・・・:入球口
12 :ランプ付き飾り装置
14 :表示装置
15 :メダル投入口
16a、16b、16c、・・・:捨て牌用ボタンスイッチ
17 :自摸牌の捨て牌用ボタンスイッチ
21 :自摸牌決定ボタン
22 :払い出しボタン
23 :遊技終了ボタン
24 :遊技開始ボタン
37 :フルカラーLED
40 :CPU
41 :ROM
42 :RAM
42a:内蔵RAM
59a、59b、・・・:フルカラーLED
P1 :メイン基板動作制御プログラム
P5 :自動配牌プログラム
P6 :特別遊技役抽選プログラム
P8 :入賞判定プログラム
P21:サブ基板制御プログラム
P21a:初期化プログラム
P24:捨てれば聴牌判定プログラム
P24d:聴牌判定プログラム
P25:自摸れば上がり牌判定プログラム
P25e:上がり牌判定プログラム
P26:自摸れば聴牌判定プログラム
P27:捨て牌スイッチ点灯制御プログラム
P28:入球口点灯制御プログラム
P31:画像基板動作制御プログラム
P32:画面表示プログラム
Ka :メイン制御基板
Kb :サブ制御基板
Kc :画像制御基板
Claims (2)
- RAMを内蔵したCPUと、前記CPUの外部に前記CPUにバスを介して接続されたROMを備えた制御基板を有し、遊技盤に設けた遊技盤面部内に、複数種の牌種から構成される麻雀牌の図柄に対応した入球口を設け、遊技球が入球した前記入球口における麻雀牌の図柄の組合せが予め設定された上がり役の組合せを完成させると遊技者に賞としてメダルを払い出す雀球遊技機において、
前記ROMには、前記遊技機の動作を制御するための遊技機制御プログラムと、前記制御装置の電源が投入されたときに前記遊技機制御プログラムのうち高速処理が要求されるプログラムモジュールを、前記CPUに内蔵されているRAMに転送して記憶する初期化プログラム手段と、
遊技者の現在の手牌が14個のとき、この手牌から不要な何れか1個の牌を捨てる操作を行ったと仮定したときに、13個になった手牌が聴牌の状態になるか否かを判定する捨てれば聴牌判定プログラムとが格納され、
前記捨てれば聴牌判定プログラムは、
前記14個の手牌についてその牌種ごとの麻雀牌の個数を算出するプログラムと、
前記牌種別個数算出手段で算出した前記手牌の牌種ごとの麻雀牌の個数について、その何れか1種の牌種の個数を1個減算して得られた前記牌種ごとの個数を3で除算して得た余りの個数を配列した手牌の配列パターンが、13個の手牌が聴牌しているときのパターンである聴牌時の配列パターンに一致するか否かを判定すると共に、前記手牌の配列パターンが前記聴牌時の配列パターンと一致していると判定された場合には、前記1個減算した牌種を求めるプログラムと、
前記14個の手牌から、前記聴牌パターン判定手段により求められた前記牌種を構成する麻雀牌の図柄の何れか1個を順次捨て牌として削除したときに、前記手牌が聴牌しているか否かを判定するプログラムとから構成され、
前記遊技機の電源がONされると前記初期化プログラム手段の作動により、前記捨てれば聴牌判定プログラムが前記RAMに転送され、
前記遊技制御プログラムにより、前記RAMに転送されたプログラムが実行される
ことを特徴とする遊技機。 - RAMを内蔵したCPUと、前記CPUの外部に前記CPUにバスを介して接続されたROMを備えた制御基板を有し、遊技盤に設けた遊技盤面部内に、複数種の牌種から構成される麻雀牌の図柄に対応した入球口を設け、遊技球が入球した前記入球口における麻雀牌の図柄の組合せが予め設定された上がり役の組合せを完成させると遊技者に賞としてメダルを払い出す雀球遊技機において、
前記ROMには、前記遊技機の動作を制御するための遊技機制御プログラムと、前記制御装置の電源が投入されたときに前記遊技機制御プログラムのうち高速処理が要求されるプログラムモジュールを、前記CPUに内蔵されているRAMに転送して記憶する初期化プログラム手段と、
現在の13個の手牌に1個の麻雀牌の図柄を自摸して追加すれば、前記上がり役を完成させることができるときに、前記遊技者が前記自摸の操作を行う前に、前記自摸れば前記上がり役を完成させることができる麻雀牌の図柄を判定する自摸れば上がり牌判定プログラムとが格納され、
前記自摸れば上がり牌判定プログラムは、
前記手牌に含まれている牌種ごとの麻雀牌の個数を3で除算して得た余りの個数を配列した手牌の配列パターンが、13個の手牌が聴牌しているときのパターンである聴牌時の配列パターンに一致するか否かを判定する聴牌パターン判定プログラムと、
前記聴牌パターン判定プログラムが前記聴牌時の配列パターンと一致していると判定された場合には、前記手牌の配列パターンを、14個の手牌が上がり役を完成したときのパターンである上がり時の配列パターンに一致させるために追加すべき1個の麻雀牌の牌種を判定する上がり牌種判定プログラムと、
前記上がり牌種判定プログラムにより判定された牌種について、該牌種を構成する麻雀牌の図柄を順次1個選択して前記13個の手牌に追加したときに、前記手牌が前記予め設定された上がり役を完成させることができるか否かを判定するプログラムとから構成され、
前記遊技機の電源がONされると前記初期化プログラム手段の作動により、前記自摸れば上がり牌判定プログラムが前記RAMに転送され、
前記遊技制御プログラムにより、前記RAMに転送されたプログラムが実行される
ことを特徴とする遊技機。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004170166A JP4618667B2 (ja) | 2004-06-08 | 2004-06-08 | 遊技機 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004170166A JP4618667B2 (ja) | 2004-06-08 | 2004-06-08 | 遊技機 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005348808A JP2005348808A (ja) | 2005-12-22 |
JP4618667B2 true JP4618667B2 (ja) | 2011-01-26 |
Family
ID=35583757
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004170166A Expired - Fee Related JP4618667B2 (ja) | 2004-06-08 | 2004-06-08 | 遊技機 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4618667B2 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5004159B2 (ja) * | 2006-07-27 | 2012-08-22 | サミー株式会社 | 雀球遊技機 |
JP2008228928A (ja) * | 2007-03-19 | 2008-10-02 | Samii Kk | 遊技機 |
JP4831762B2 (ja) * | 2007-03-29 | 2011-12-07 | サミー株式会社 | 雀球遊技機 |
JP4919227B2 (ja) * | 2007-03-29 | 2012-04-18 | サミー株式会社 | 雀球遊技機 |
JP5004179B2 (ja) * | 2007-09-26 | 2012-08-22 | サミー株式会社 | 雀球遊技機 |
JP5465839B2 (ja) * | 2008-04-24 | 2014-04-09 | 株式会社大都技研 | 遊技台 |
JP6019354B2 (ja) * | 2013-01-22 | 2016-11-02 | 株式会社オリンピア | 遊技機 |
JP6307677B2 (ja) * | 2016-08-30 | 2018-04-11 | 株式会社オリンピア | 遊技機 |
JP6813775B2 (ja) * | 2016-10-26 | 2021-01-13 | サミー株式会社 | ぱちんこ遊技機 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002014705A (ja) * | 2000-06-28 | 2002-01-18 | Omron Corp | プログラマブルコントローラ |
JP2003066939A (ja) * | 2001-08-28 | 2003-03-05 | Namco Ltd | 演出画像の表示方法、演出画像の表示用プログラム、コンピュータ読みとり可能な記録媒体、及び演出画像の表示装置 |
JP2004038327A (ja) * | 2002-06-28 | 2004-02-05 | Renesas Technology Corp | データ処理装置 |
JP2004129791A (ja) * | 2002-10-09 | 2004-04-30 | Olympia:Kk | 遊技機における記憶媒体の着脱 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3874536B2 (ja) * | 1998-05-27 | 2007-01-31 | 任天堂株式会社 | 携帯型カラー表示ゲーム機およびその記憶媒体 |
-
2004
- 2004-06-08 JP JP2004170166A patent/JP4618667B2/ja not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002014705A (ja) * | 2000-06-28 | 2002-01-18 | Omron Corp | プログラマブルコントローラ |
JP2003066939A (ja) * | 2001-08-28 | 2003-03-05 | Namco Ltd | 演出画像の表示方法、演出画像の表示用プログラム、コンピュータ読みとり可能な記録媒体、及び演出画像の表示装置 |
JP2004038327A (ja) * | 2002-06-28 | 2004-02-05 | Renesas Technology Corp | データ処理装置 |
JP2004129791A (ja) * | 2002-10-09 | 2004-04-30 | Olympia:Kk | 遊技機における記憶媒体の着脱 |
Also Published As
Publication number | Publication date |
---|---|
JP2005348808A (ja) | 2005-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4775999B2 (ja) | 雀球遊技機 | |
JP4618667B2 (ja) | 遊技機 | |
JP4605746B2 (ja) | 雀球遊技機 | |
JP4544571B2 (ja) | 雀球遊技機 | |
JP4627004B2 (ja) | 雀球遊技機 | |
JP2008029472A (ja) | 雀球遊技機 | |
JP4618666B2 (ja) | 雀球遊技機 | |
JP4461420B2 (ja) | 雀球遊技機 | |
JP4748652B2 (ja) | 雀球遊技機 | |
JP5392897B2 (ja) | 雀球遊技機および麻雀ゲーム制御プログラム | |
JP4556042B2 (ja) | 雀球遊技機 | |
JP2010115251A (ja) | 雀球遊技機 | |
JP2009240509A (ja) | 雀球遊技機 | |
JP4505791B2 (ja) | 雀球遊技機およびそのプログラム | |
JP5062688B2 (ja) | 雀球遊技機 | |
JP5062689B2 (ja) | 雀球遊技機 | |
JP4753286B2 (ja) | 雀球遊技機 | |
JP5392899B2 (ja) | 雀球遊技機および麻雀ゲーム制御プログラム | |
JP4793861B2 (ja) | 雀球遊技機 | |
JP2005218771A (ja) | 雀球遊技機 | |
JP5392898B2 (ja) | 雀球遊技機および麻雀ゲーム制御プログラム | |
JP4793849B2 (ja) | 雀球遊技機 | |
JP5062892B2 (ja) | 雀球遊技機 | |
JP5004179B2 (ja) | 雀球遊技機 | |
JP4803575B2 (ja) | 雀球遊技機 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070601 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100317 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100319 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100514 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20100514 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20100715 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20101015 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20101021 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131105 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131105 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |