以下、本発明の実施の形態について説明する。図1は、この実施の形態に係るスロットマシン1の全体構造を示す正面図である。また、図2は、リールに付された図柄の配列表、各リールの図柄数、および賭数と有効ラインとの関係をそれぞれ示す図である。
スロットマシン1の内部には、外周に複数種の図柄が配列された複数種類のリール2L、2C、2R(以下、左リール、中リール、右リールともいう)が水平方向に並設されており、これらによって表示状態が変化可能な可変表示装置が構成されている。図1に示すように、これらリール2L、2C、2Rに配列された図柄のうち、連続する3つの図柄が透視窓3から見えるように配置されている。
また、スロットマシン1には、メダルを投入可能なメダル投入部4、メダルが払い出されるメダル払出口9、クレジット(遊技者所有の遊技用価値として記憶されているメダル数)を用いてメダル1枚分の賭数を設定する際に操作される1枚BETスイッチ5、クレジットを用いて、その範囲内において遊技状態に応じて定められた規定数の賭数(本実施の形態では後述の一般遊技およびレギュラーボーナスにおいて共に“3”)を設定する際に操作されるMAXBETスイッチ6、クレジットとして記憶されているメダルおよび賭数の設定に用いたメダルを精算する(クレジットおよび賭数の設定に用いた分のメダルを返却させる)際に操作される精算スイッチ10、ゲームを開始する際に操作されるスタートスイッチ7、リール2L、2C、2Rの回転を各々停止する際に操作されるストップスイッチ8L、8C、8R、クレジットとして記憶されているメダル枚数が表示されるクレジット表示器11、ビッグボーナス等の遊技状況やエラーコード等が表示される遊技補助表示器12、入賞の発生により払い出されたメダル枚数が表示されるペイアウト表示器13、賭数が1に設定されている旨を点灯により報知する1BETLED14、賭数が2に設定されている旨を点灯により報知する2BETLED15、賭数が3に設定されている旨を点灯により報知する3BETLED16、メダルの投入が可能な状態を点灯により報知する投入要求LED17、スタートスイッチ7の操作によるゲームのスタート操作が有効である旨を点灯により報知するスタート有効LED18、ウェイト(前回のゲーム開始から一定期間経過していないためにリールの回転開始を待機している状態)中である旨を点灯により報知するウェイト中LED19、後述するリプレイゲーム中である旨を点灯により報知するリプレイ中LED20が設けられている。
各リール2L、2C、2Rの手前側(遊技者側)の位置には、液晶表示器51(図4参照)の表示領域51aが配置されている。液晶表示器51は、液晶素子に対して電圧が印加されていない状態で、透過性を有するノーマリーホワイトタイプの液晶パネルを有しており、表示領域51aの透視窓3に対応する透過領域51bおよび透視窓3を介して遊技者側から各リール2L、2C、2Rが視認できるようになっている。
図2(A)に示すように、リール2L、2C、2Rの外周部には、各々を識別可能な複数種類の図柄(識別情報)が図柄番号順かつ所定の図柄配置間隔(図柄ピッチ)で、それぞれ21個ずつ描かれている。このリール2L、2C、2Rにより、複数種類の識別情報を可変表示可能な複数のリールが構成されている。
図2(B)には、各リールに描かれた図柄数が図柄の種類別に示されている。図2(B)に示された図柄のうち、特に「ダミー」は、他の図柄との組合せおよび単独のいずれの場合にも入賞を発生させないはずれ図柄である。
リール2L、2C、2Rの外周部に描かれた図柄は、透視窓3において各々、上段、中段、下段の三段に表示される。透視窓3により、図柄を視認可能な可変表示部が構成されており、特に、リール2L、2C、2Rのそれぞれに対応する透視窓3の領域は、それぞれ左可変表示部、中可変表示部、右可変表示部と称される。
各リール2L、2C、2R(左リール2L、中リール2C、右リール2R)は、各々対応して設けられたリールモータ32L、32C、32R(図4参照)によって回転する。これにより、各リール2L、2C、2Rに配列された図柄が透視窓3に連続的に変化しつつ表示される。たとえば、リール2Lが回転することによって、図2に示す図柄番号0、1、2、3…20、0、1…の順で、各図柄番号に対応する「スイカ」、「黄7」、「ベル」、「リプレイ」…「リプレイ」、「スイカ」の図柄が左可変表示部において繰り返し可変表示(変動表示)される。
リールモータ32L、32C、32Rが停止することでリール2L、2C、2Rの回転が停止し、透視窓3に3つの連続する図柄が表示結果として導出表示される。たとえば、中可変表示部の下段、中段、上段に図柄番号13、14、15の各図柄が位置するときにリール2Cの回転が停止したときには、中可変表示部の下段に「チェリー1」、中段に「ベル」、上段に「スイカ」がそれぞれ表示結果として導出された状態となる。
本実施の形態では、168ステップ(0〜167)の周期で1周するステッピングモータをリールモータ32L、32C、32Rに用いている。各リール2L、2C、2Rには、1図柄が移動するステップ数(8ステップ)毎に分割した21の領域が定められている。これら21の領域の1つを“1コマ”と称し、リールの回転に伴う図柄の移動数(変動数)を“コマ数”と称する。これら21の領域の各々には、リールに予め定めた“リール原点位置”から0〜20の図柄番号が割り当てられており、各々に、図2(A)に示される種類の図柄が配列されている。
図2(C)には、賭数と有効ラインとの関係が示されている。本実施の形態では、図1に示すように、各リール2L、2C、2Rの中段に並んだ図柄に跨って設定された入賞ラインL1(中段ライン)、各リール2L、2C、2Rの上段に並んだ図柄に跨って設定された入賞ラインL2(上段ライン)、各リール2L、2C、2Rの下段に並んだ図柄に跨って設定された入賞ラインL3(下段ライン)、リール2Lの下段、リール2Cの中段、リール2Rの上段、すなわち右上がりに並んだ図柄に跨って設定された入賞ラインL4(右上がりライン)、リール2Lの上段、リール2Cの中段、リール2Rの下段、すなわち右下がりに並んだ図柄に跨って設定された入賞ラインL5(右下がりライン)の5種類が入賞ラインとして定められている。
図3は、オッズ表を示す図である。入賞役は、入賞の発生により特別遊技に移行する特別役と、特別遊技への移行がなくメダルの払出しがある小役と、新たな投資を必要とすることなく再ゲームが可能とされる再遊技役とに大別される。また、小役と再遊技役とを併せて一般役とも称する。
特別役には、ビッグボーナス(以下、BBとも称する。)とレギュラーボーナス(以下、RBとも称する)とがある。さらに、ビッグボーナスには、ビッグボーナス1(以下、BB1とも称する)と、ビッグボーナス(以下、BB2とも称する)と、ビッグボーナス3(以下、BB3とも称する)とがある。
小役には、チェリー、ベル、スイカがある。再遊技役には、リプレイと特殊リプレイとがある。
各役の入賞が発生するためには、内部抽選に当選し、当該入賞役に対応する当選フラグがRAM41cに設定されている必要がある。スロットマシン1においては、これらの入賞役別に内部抽選が行なわれ、またこれらの入賞役別に当選フラグが設定される。
BB1に対応する入賞ラインの図柄の組合せは、「赤7−赤7−赤7」である。BB2に対応する入賞ラインの図柄の組合せは、「青7−青7−青7」である。BB3に対応する入賞ラインの図柄の組合せは、「黄7−黄7−黄7」である。BB1〜3のうちいずれかに入賞すると、ビッグボーナスに移行する。
RBに対応する入賞ラインの図柄の組合せは、「左−中−右」のリールにおいて、「黄7−黄7−青7」である。RBに入賞すると、レギュラーボーナスに移行する。
図3(B)に示すように、赤7によるBB1と青7によるBB2と黄7によるBB3とは、第一種BBとも称され、これによる入賞が発生してビッグボーナスに移行すると、ビッグボーナス中のゲームにおいてRB作動図柄が揃わなくてもRB作動(JACIN)する。
赤7によるBB1と青7によるBB2とは、ビッグボーナス中の払い出し枚数が466枚以上となることでビッグボーナス終了条件が成立する。一方、黄7によるBB3は、ビッグボーナス中の払い出し枚数が286枚以上となることでビッグボーナス終了条件が成立する。
また、「黄7−黄7−青7」が揃うことによってレギュラーボーナスに移行した後は、12ゲームを消化するかまたは4回入賞が発生するかのいずれか早いほうの条件が成立することでレギュラーボーナスが終了する。
なお、BB1〜3の終了条件は、共通であってもよく、それぞれに異なる終了条件を設定してもよい。また、本実施の形態では、BB1〜3のいずれに入賞したときでも、移行するビッグボーナスは同じであるが、BB1〜3の種類によって、ビッグボーナスの遊技内容を異なるものとしてもよい。たとえば、BB1〜3の種類によって、賭数を異ならせたり、最大払出し枚数を異ならせたりすることが考えられる。
次に、小役について説明する。「チェリー」に対応する入賞ラインの図柄の組合せは、左および中リールは任意で、右リールに「チェリー2」が停止した状態である。「チェリー」による入賞が発生すると1枚の払い出しがある。ただし、2重複の場合には2枚の払い出しがある。
「ベル」に対応する入賞ラインの図柄の組合せは、「ベル−ベル−ベル」であり、これによる入賞が発生すると、非BB中は10枚、RB中は15枚の払い出しがある。
「スイカ」に対応する入賞ラインの図柄の組合せは、「スイカ−スイカ−スイカ」であり、これによる入賞が発生すると、非BB中およびRB中ともに15枚の払い出しがある。
次に、再遊技役について説明する。「リプレイ」に対応する入賞ラインの図柄の組合せは、「リプレイ−リプレイ−リプレイ」であり、「特殊リプレイ」に対応する入賞ラインの図柄の組合せは、「左−中−右」のリールにおいて、「チェリー1−ベル−ベル」、「バー−ベル−ベル」、および「黄7−ベル−ベル」である。リプレイおよび特殊リプレイのいずれかに入賞したときには、メダルの払い出しはないが、次のゲームを改めて賭数を設定することなく開始できる。
ただし、特殊リプレイについては、さらに、RT作動の特典が得られる。なお、RT作動とは、リプレイの当選確率が向上されたリプレイタイムへの移行を意味する。
図2(C)に示すように、本実施の形態では、非RB中(レギュラーボーナス中でないゲーム)では、3BET(3枚賭け)することによって入賞ラインL1〜L5の全てが有効ラインとなる。また、RB中では、2BET(2枚賭け)することによって入賞ラインL1〜L5の全てが有効ラインとなる。
次に、リールの停止制御について説明する。ストップスイッチ8L、8C、8Rの操作から対応するリール2L、2C、2Rの回転を停止するまでの最大停止遅延時間は、たとえば、190ms(ミリ秒)である。リール2L、2C、2Rは、1分間に80回転するため、この間に80×21(1リール当たりの図柄コマ数)=1680コマ分の図柄が変動することになる。
それゆえ、最大停止遅延時間(190ms)では、最大で4コマの図柄を滑らせることができる。つまり、停止図柄として選択可能なのは、ストップスイッチ8L、8C、8Rが操作されたときに表示されている図柄と、そこから4コマ先までにある図柄の合計5コマ分の図柄である。
たとえば、ストップスイッチ8L、8C、8Rのいずれかの操作が検出されたときに当該ストップスイッチに対応するリールの下段位置を基準ラインとした場合、基準ラインに表示されている図柄から4コマ先までの図柄をリールの下段に引き込んで(滑らせて)停止させることができる。
本実施の形態では、可変表示装置の下段位置(下段の入賞ラインの位置)を“基準ライン”としている。また、停止操作が検出されたときに基準ラインに位置する図柄を含んで図柄停止に至るまでに送った図柄数を“滑りコマ数”と称し、停止操作が検出されたときに基準ラインにある図柄で停止させた場合の滑りコマ数は、“0”とする。さらに、引き込み可能な最大コマ数(たとえば、停止操作検出時に基準ラインにある図柄を除くと4コマ、基準ラインにある図柄を入れて5コマ)を“最大滑りコマ数”と称する。
図2に示されるように、図柄の「リプレイ」は、各リール2L、2C、2Rにおいて、必ず5図柄以内に1つ配列されている。これにより、どのようなタイミングで停止操作をしても必ず「リプレイ」の入賞役による入賞を発生させることができ、その結果、「リプレイ」が内部当選している場合の当該役に対応する図柄の取りこぼしを防止することで単位時間あたりの遊技者の投資額を適度に抑えて射倖性が極端に高まり過ぎることを防止できる。
なお、基準ラインは、可変表示装置の下段位置に限定されるものではなく、可変表示装置の上段位置としても、中段位置としてもよい。あるいは、可変表示装置の上中下三段のいずれかの位置に限定されるものではなく、可変表示装置のリールに配列された各図柄の可変表示部に対する位置を特定できる箇所であれば、いずれの箇所を基準ラインとしてもよい。
図4は、スロットマシンの制御回路の全体構成を示すブロック図である。
スロットマシン1には、遊技制御基板40、演出制御基板90、電源基板101が設けられている。遊技制御基板40によって遊技状態が制御され、演出制御基板90によって遊技状態に応じた演出が制御され、電源基板101によってスロットマシン1を構成する電気部品の駆動電源が生成されて各部に供給される。
遊技制御基板40には、1枚BETスイッチ5、MAXBETスイッチ6、スタートスイッチ7、ストップスイッチ8L、8C、8R、精算スイッチ10、所定のキー操作により打止状態等を解除するためのリセット操作を検出するリセットスイッチ23、投入メダルセンサ31、リール2L、2C、2Rそれぞれに設けられたリール原点位置を検出するリールセンサ33L、33C、33Rが接続されている。
また、遊技制御基板40には、クレジット表示器11、遊技補助表示器12、ペイアウト表示器13、1〜3BETLED14〜16、投入要求LED17、スタート有効LED18、ウェイト中LED19、リプレイ中LED20、BETスイッチ有効LED21、左、中、右停止有効LED22L、22C、22R、メダル投入部4から投入されたメダルの流路を筐体1a内部に設けられた後述のホッパータンク側またはメダル払出口9側のいずれか一方に選択的に切り替えるための流路切替ソレノイド30、リールモータ32L、32C、32Rが接続されており、これら電気部品は、遊技制御基板40に搭載された後述のメイン制御部41の制御に基づいて駆動される。
遊技制御基板40には、メインCPU41a、ROM41b、RAM41c、I/Oポート41dを備えたマイクロコンピュータからなり、遊技の制御を行なうメイン制御部41、所定範囲(本実施の形態では0〜65535)の乱数を発生させる乱数発生回路42、乱数発生回路から乱数を取得するサンプリング回路43、遊技制御基板40に直接または電源基板101を介して接続されたスイッチ類から入力された検出信号を検出するスイッチ検出回路44、リールモータ32L、32C、32Rの駆動制御を行なうモータ駆動回路45、流路切替ソレノイド30の駆動制御を行なうソレノイド駆動回路46、遊技制御基板40に接続された各種表示器やLEDの駆動制御を行なうLED駆動回路47、電源投入時またはメインCPU41aからの初期化命令が入力されないときにメインCPU41aにリセット信号を与えるリセット回路48が搭載されている。ROM41bには、遊技制御用のプログラムや、リール停止制御に用いる各種のテーブルデータが格納されている。
乱数発生回路42は、後述するように所定数のパルスを発生する度にカウントアップして値を更新するカウンタによって構成され、サンプリング回路43は、乱数発生回路42がカウントしている数値を取得する。乱数発生回路42は、乱数の種類毎にカウントする数値の範囲が定められており、本実施の形態では、その範囲として0〜65535が定められている。メインCPU41aは、その処理に応じてサンプリング回路43に指示を送ることで、乱数発生回路42が示している数値を乱数として取得する(以下、この機能をハードウェア乱数機能という)。後述する内部抽選用の乱数は、ハードウェア乱数機能により抽出した乱数をそのまま使用するのではなく、ソフトウェアにより加工して使用する。
なお、内部抽選用の乱数は、ハード回路(乱数発生回路42)のみによって生成してもよく、あるいは、ハード回路(乱数発生回路42)を用いずに、メイン制御部41が実行する遊技制御プログラム内でソフトウェア的に生成してもよい。
また、メインCPU41aは、タイマ割込処理(メイン)により、特定のレジスタの数値を更新し、こうして更新された数値を乱数として取得する機能も有する(以下、この機能をソフトウェア乱数機能という)。
メインCPU41aは、I/Oポート41dを介して演出制御基板90に、各種のコマンドを送信する。遊技制御基板40から演出制御基板90へ送信されるコマンドは、演出中継基板80を介して一方向のみで演出制御基板90へ送られ、演出制御基板90から遊技制御基板40へ向けてコマンドが送られることはない。
演出制御基板90には、液晶表示器51、スピーカ52、53、リールLED54等の電気部品が接続されており、これら電気部品は、演出制御基板90に搭載されたサブ制御部91による制御に基づいて駆動される。
スロットマシン1においてゲームを行なう場合には、まず、メダルをメダル投入部4から投入するか、あるいはクレジット(持点)を使用して賭数を設定する。クレジットを使用するには1枚BETスイッチ5、またはMAXBETスイッチ6を操作すればよい。遊技状態に応じて定められた規定数の賭数が設定されると、入賞ラインL1〜L5(図1参照)のうち遊技状態に応じて定められた入賞ラインが有効となり、スタートスイッチ7の操作が有効な状態、すなわち、ゲームが開始可能な状態となる。遊技状態に対応する規定数を超えてメダルが投入された場合には、その分はクレジットに加算される。
ゲームが開始可能な状態でスタートスイッチ7を操作すると、メイン制御部41によってスタート操作が検出される。スタート操作の検出に基づいて、メイン制御部41は各リール2L、2C、2Rを一斉に回転開始させる。これにより、各リール2L、2C、2Rの図柄が連続的に変動する。この状態でいずれかのストップスイッチ8L、8C、8Rを操作すると、対応するリール2L、2C、2Rの回転が停止し、停止したリールの図柄の表示結果が透視窓3に導出される。以下、ストップスイッチ8L、8C、8Rのいずれかを用いてリールを停止させる操作を“停止操作”と称する。
全てのリール2L、2C、2Rの回転が停止して各リールの図柄の表示結果が導出されることで1ゲームが終了する。なお、本実施の形態では、各リールの図柄の表示結果が導出されたときには、対応するリールが完全に停止する。しかしながら、これに変えて、リールの回転が停止して図柄の表示結果が導出されたときでも、リールが上下方向に振動するように動くようにしてもよい。その場合、全リールの回転が停止して全リールの図柄の表示結果が導出されたときには、各リールの振動動作を停止させてもよく、あるいは、各リールの振動動作を継続させてもよい。
全リールの図柄の表示結果が導出されたときに、有効化されているいずれかの入賞ラインL1〜L5上に予め定められた図柄の組合せが各リール2L、2C、2Rの表示結果として停止した場合には入賞が発生する。入賞が発生すると、その入賞に応じて定められた大きさの遊技価値が遊技者に付与される(規定枚数のメダルの払出し、あるいはこれに対応する数のクレジット加算)。
なお、有効化された複数の入賞ライン上にメダルの払出を伴う図柄の組合せが揃った場合には、有効化された入賞ラインに揃った図柄の組合せそれぞれに対して定められた払出枚数を合計し、合計した枚数のメダルが遊技者に対して付与される。
ただし、1ゲームで付与されるメダルあるいはクレジットの付与数には、上限(本実施の形態では、15)が定められており、合計数が上限を超える場合には、上限数のクレジットまたはメダルが遊技者に付与される。
図5は、リールの停止制御の概念図である。本実施の形態では、ストップスイッチ8L、8C、8Rのうち、回転中のリールに対応する停止操作が検出されると、停止操作を検出した時点のリール原点位置からのステップ数に基づいて、基準ライン(可変表示装置の下段)に位置する図柄の配列位置を特定する。
次に、特定した配列位置と、各リール別に用意された停止テーブルとを用いて、停止操作が検出されたリールを停止制御する。停止テーブルは、データが動的に変化するテーブルであり、滑りコマ数または優先値のいずれか一方が図柄の配列位置別に格納される。
以下では、1ゲーム開始後、3つのリールのうちの1つ目のリールを停止させるための停止操作を“第一停止操作”、2つ目のリールを停止させるための停止操作を“第二停止操作”、3つ目のリールを停止させるための操作を“第三停止操作”と称する。
また、第一停止操作で停止するリールを“第一停止リール”、第二停止操作で停止するリールを“第二停止リール”、第三停止操作で停止するリールを“第三停止リール”と称する。
メイン制御部41は、停止テーブルに滑りコマ数が格納されている場合には、その滑りコマ数に基づいてリールを停止させる。停止テーブルに滑りコマ数を格納した上で、その滑りコマ数に基づいてリールを停止させる制御を“テーブル制御”と称する。
一方、メイン制御部41は、停止テーブルに優先値が格納されている場合には、その優先値に基づいてリールを停止させる。停止テーブルに優先値を設定した上で、その優先値に基づいてリールを停止させる制御を“コントロール制御”と称する。
停止テーブルは、停止制御テーブルに基づいて作成される。メイン制御部41は、当選状況に応じて分けられた複数種類の停止制御テーブルを記憶している。図5に示すように、停止制御テーブルは、停止テーブルに滑りコマ数を格納するためのテーブル制御データと、停止テーブルに優先値を格納するためのコントロール制御データとを含む。ただし、テーブル制御データを含まない停止制御テーブルも存在する。
メイン制御部41は、1ゲームを開始する毎に、当選状況に応じた停止制御テーブルを選択する。そして、選択した停止制御テーブルに従って処理を進めることにより、停止制御テーブル内のテーブル制御データまたはコントロール制御データのいずれか一方に基づいて停止テーブルを作成する。
テーブル制御データに基づいて停止テーブルの作成を試みる処理モードを“滑りコマ数処理モード”という。これに対して、コントロール制御データに基づいて停止テーブルの作成を試みる処理モードを“優先度処理モード”という。
“滑りコマ数処理モード”による処理の結果、停止テーブルを作成する条件が成立していると判断された場合、停止テーブルには、滑りコマ数が図柄の配列位置別に格納される。一方、“優先度処理モード”による処理の結果、停止テーブルを作成する条件が成立していると判断された場合、停止テーブルには、優先値が図柄の配列位置別に格納される。なお、停止テーブルには、滑りコマ数と優先値との双方が併せて格納されることはない。
メイン制御部41は、作成した停止テーブルに基づいて第一停止リールを停止させた後、既に選択済みの停止制御テーブルを再度用いて停止テーブル作成処理を行ない、第二停止操作検出前に停止テーブルの値を更新することによって停止テーブルを作成し直す。
さらに、メイン制御部41は、作成した停止テーブルに基づいて第二停止リールを停止させた後、再び、選択済みの停止制御テーブルを用いて停止テーブル作成処理を行ない、第三停止操作検出前に停止テーブルの値を更新することによって停止テーブルを作成し直す。
停止制御テーブル内のデータは、基本的にはテーブル制御データの次にコントロール制御データが実行されるように記述されている。メイン制御部41は、テーブル制御データを先に実行し、現在のリールの停止状況とテーブル制御データとが停止テーブルの作成条件を満たすときには、テーブル制御データのみに基づいて停止テーブルを作成する。この場合、コントロール制御データを参照することなく、停止制御テーブルに基づく処理を終える。
一方、現在のリールの停止状況とテーブル制御データとが停止テーブルの作成条件を満たさないときには、メイン制御部41は、引き続いてコントロール制御データを参照する。そして、現在のリールの停止状況とコントロール制御データとが停止テーブルの作成条件を満たすときには、コントロール制御データのみに基づいて停止テーブルを作成する。
図5に示されるように、メイン制御部41は、停止制御テーブルを参照する際に併せて参照するデータとして、滑りコマ数テーブルとビットデータ(停止テーブル作成用ビットデータ)とビットデータ組合せテーブルとをさらに記憶している。
滑りコマ数テーブルは、リールの21コマの配列位置(停止位置)の各々に対応する滑りコマ数を予め規定したテーブルであり、0番〜145番の番号によって識別される146種類が用意されている。
ビットデータは、リールの21コマの配列位置の各々に対して、0または1が予め設定されたデータであり、0番〜112番の番号によって識別される113種類が用意されている。
ビットデータ組合せテーブルは、ビットデータの番号を、左、中、右の各々に対応して「(左用ビットデータ番号,中用ビットデータ番号,右用ビットデータ番号)」のように3つ格納したテーブルであり、0番〜77番の番号によって識別される78種類が用意されている。
これら、滑りコマ数テーブル、ビットデータ、およびビットデータ組合せテーブルの3種類のデータは、停止テーブルのようにデータが動的に変化することはなく、固定値である。
メイン制御部41は、テーブル制御データに基づいた処理を実行する際には、滑りコマ数テーブルとビットデータとを参照して、停止テーブルの作成条件が成立しているか否か判断し、成立している場合にはさらに停止テーブルに滑りコマ数を設定する。
一方、メイン制御部41は、コントロール制御データに基づいた処理を実行する際には、ビットデータ組合せテーブルとビットデータとを参照して、停止テーブルの作成条件が成立しているか否か判断し、成立している場合にはさらに停止テーブルに優先値を設定する。
図6は、停止テーブルを示す図である。停止テーブルは、リールを停止させるときに参照されるテーブルである。停止テーブルは、25バイトのデータで構成されている。このうちの前の21バイトが配列位置順に対応するデータであり、その後は先頭4バイトのデータのコピーである。この4バイトの追加データは、リールを停止すべき位置を停止テーブルから検索する処理を高速化するためのデータである。この4バイトの追加データを設けておくことによって、停止操作時に計算される停止可能範囲の先頭位置が21コマのうちのどの位置であっても、そこから5コマ分の連続したデータを連続した5バイトから取得できるようにしている。
なお、停止テーブルに4バイトの追加データを設けなくてもよい。つまり、停止テーブルを21バイトのデータで構成してもよい。
図6には、停止テーブルに格納される値の意味が示されている。「0」〜「14」はコントロール制御において用いられる優先値であって、「0」は停止禁止位置を示し、「1」は最低の優先値を示し、「2」〜「14」は値が大きいほど停止位置として優先することを示す。
「16」〜「20」はテーブル制御において用いられる滑りコマ数であって、「16」は滑りコマ数0、「17」は滑りコマ数1、「18」は滑りコマ数2、「19」は滑りコマ数3、「20」は滑りコマ数4を意味する。
なお、作成済みの停止テーブルにおいて、16以上のデータと16未満のデータとが混在することはない。つまり、作成済みの停止テーブルには、滑りコマ数および優先値のうちのいずれか一方が格納されている。
図7は、停止制御テーブルの種類を説明するための図である。停止制御テーブルとして、内部当選状況に応じた30種類のデータが規定されている。たとえば、図7に示すように、特別役の当選フラグが設定されておらず、かつそれ以外の入賞役についての当選フラグも設定されていない外れのゲームには、停止制御テーブル1が対応する。あるいは、BB1(赤7)の当選フラグが設定されており、かつ、チェリーの当選フラグが設定されているゲームには、停止制御テーブル8が対応する。
図8は、停止制御テーブルの構成を説明するための概略図である。停止制御テーブルは、ア〜オのテーブル制御データと、カのコントロール制御データと、キのTBLENDとに大別される。
テーブル制御データは、テーブル制御用の停止テーブルを作成するために用いられる。コントロール制御データは、コントロール制御用の停止テーブルを作成するために用いられる。TBLENDは、停止制御テーブルの終了を示すエンドデータである。
テーブル制御データの先頭には、3バイトの滑りコマ数データAと、3n(n=1,2,…)バイトの滑りコマ数データBとが順に配置されている。さらに、滑りコマ数処理モード1を示す設定データTBLMD1(値250)に続いて、3n(n=1,2,…)バイトの滑りコマ数制御データ1が配置され、その後に滑りコマ数処理モード2を示す設定データTBLMD2(値252)に続いて、3n(n=1,2,…)バイトの滑りコマ数制御データ2が配置され、その後に滑りコマ数処理モード3を示す設定データTBLMD2(値254)に続いて、3n(n=1,2,…)バイトの滑りコマ数制御データ3が配置されている。
コントロール制御データは、1バイトの「PRIO+a」に続いて、nバイトの設定箇所特定用データが配置されることにより、構成されている。「PRIO+a」は235〜249の値をとる。図に示すように、「PRIO」が235の固定値で、「a」が優先値を示す0〜14の値をとる。停止制御テーブルの種類によっては、カのコントロール制御データが連続して複数配置されているものが存在する。
なお、停止制御テーブルの中には、ア〜オのテーブル制御データが存在しない種類のものがある。ただし、いずれの停止制御テーブルも、コントロール制御データとTBLENDとを含んでいる。
図9は、停止制御テーブルの詳細を説明するための図である。図9を参照して、テーブル制御データである滑りコマ数制御データ(A、B、1〜3)は、滑りコマ数テーブルを選択するために用いられる。
また、滑りコマ数制御データ1〜3の前に配置された処理モード1〜3の設定データは、メイン制御部41が各滑りコマ数制御データを実行する前に読み込んで、停止制御の処理モードを対応する滑りコマ数処理モード1〜3のいずれかに切換えるための設定データである。
滑りコマ数制御データAは、全リールが未停止のとき、すなわち、第一停止に使用される。したがって、1つでもリールが停止しているときには、滑りコマ数制御データAが参照されても停止テーブルの作成条件が成立していないと判断され、の次のデータが参照される。
滑りコマ数制御データBは、順押しの第二停止および第三停止と、挟み押しの第二停止および第三停止とに使用される。順押しとは、リールの停止順が左、中、右であることを意味する。また、挟み押しとは、リールの停止順が左、右、中であることを意味する。
滑りコマ数制御データ1は、順押しの第二停止と、挟み押しの第二停止とに使用される。滑りコマ数制御データ2は、順押しの第三停止に使用される。滑りコマ数制御データ3は、挟み押しの第三停止に使用される。
滑りコマ数制御データの中には、たとえば、滑りコマ数制御データBと滑りコマ数制御データ1のように、順押しの第二停止と挟み押しの第二停止とに共通に用いられるデータが存在する。しかし、制御上、複数の滑りコマ数制御データが併せて用いられて停止テーブルが作成されることはない。
たとえば、順押しの第二停止に対応する停止テーブルを作成する際には、まず、停止制御テーブルにおいて、滑りコマ数制御データ1よりも先に配置された滑りコマ数制御データBが用いられて停止テーブルを作成する諸条件が成立するかが判断され、成立する場合には、滑りコマ数制御データBに基づいて停止テーブルが作成される。この場合、滑りコマ数制御データ1以降のデータは無視される。
一方、滑りコマ数制御データBでは停止テーブルを作成する諸条件が成立しないと判断されたとき、後続の滑りコマ数制御データ1が用いられて、停止テーブルを作成する諸条件が成立するかが判断される。
滑りコマ数制御データは、いずれも3バイトで一単位のデータを構成している。なお、図9では、滑りコマ数制御データ1〜3について、一単位のデータのみを示しているが、実際には図8を用いて説明したとおり、滑りコマ数制御データ1〜3は、3バイトを一単位とする複数のデータ(3n)を構成し得る。
滑りコマ数制御データAの1バイト目は、左リールに用いる滑りコマ数テーブルの番号であり、2バイト目は、中リールに用いる滑りコマ数テーブルの番号でり、3バイト目は、右リールに用いる滑りコマ数テーブルの番号である。
滑りコマ数制御データBおよび滑りコマ数制御データ1の1バイト目は、第一停止リールの停止位置をチェックするために用いるビットデータの番号である。滑りコマ数制御データBの2バイト目および3バイト目は、中リールおよび右リールに用いる滑りコマ数テーブルの番号である。
滑りコマ数制御データBは、第一停止時に第二停止および第三停止までの引き込み制御が決定できる場合(引き込み率100%の図柄組合せを決まったラインに引込む場合や、第一停止で当選図柄を表示できないことが確定した場合等)に使用する。この滑りコマ数制御データBは、第一停止リールの停止位置だけで残りの2リールの滑りコマ数テーブルを決定するためのデータである。
一方、滑りコマ数制御データ1は、第一停止時に、第二停止および第三停止の引き込み制御が決定できない場合(第二停止の位置によって第三停止の滑りコマ数テーブルを変更する必要がある場合)に使用されるデータである。
滑りコマ数制御データ2および滑りコマ数制御データ3の1バイト目は、第一停止リールの停止位置をチェックするために用いるビットデータの番号であり、2バイト目は、第二停止リールの停止位置をチェックするために用いるビットデータの番号である。
滑りコマ数制御データ2は順押しの第三停止に用いられる一方、滑りコマ数制御データ3は挟み押しの第三停止に用いられるため、2バイト目の第二停止リールは、前者では中リールを意味する一方、後者では右リールを意味する。
滑りコマ数制御データ2および滑りコマ数制御データ3の3バイト目は、第三停止に用いる滑りコマ数テーブルの番号であり、滑りコマ数制御データ2の場合には右リール用として、滑りコマ数制御データ3の場合には中リール用として、それぞれ用いられる。
コントロール制御データは、優先順位設定データ「PRIO+a」と、これに続く設定箇所特定用データとから成る。コントロール制御データは、変則押しの第二停止・第三停止とに必ず使用される。変則押しとは、リールの第一停止が中となる場合、またはリールの第一停止が右となる場合を意味する。なお、コントロール制御データは、変則押しの第二停止・第三停止のみに使用されるのではなく、順押しあるいは挟み押しの第二停止においても、第一停止リールの出目に応じて使用され得る。
設定箇所特定用データは、優先値の設定に用いるビットデータ組合せテーブルの番号を示すデータである。メイン制御部41は、設定箇所特定用データによって指定された番号のビットデータ組合せテーブルを参照して、優先順位設定データが示す優先値を設定する停止テーブルのビット位置を特定する。
設定箇所特定用データは、可変長のデータであって、停止制御テーブルの種類に応じて、1つあるいは複数のビットデータ組合せテーブル番号を示すデータから構成されている。
滑りコマ数制御データAおよび滑りコマ数制御データBの3バイトデータのうち、1バイト目のデータは250よりも小さい値である。これに対して、処理モード1〜3の設定データTBLMD1〜3、および「PRIO+a」のいずれも、250以上の値である。
また、停止制御テーブルにおいて、滑りコマ数制御データBが存在する場合には、必ずその直前に滑りコマ数制御データAが配置されている。
これらのことより、メイン制御部41は、停止制御テーブルを参照するときに、先頭1バイト目のデータが250よりも小さい値であることに基づいて、停止制御テーブルの先頭に滑りコマ数制御データAが配置されていることを判別する。
さらに、メイン制御部41は、先頭の3バイトデータの次の1バイト目のデータが250よりも小さい値であることに基づいて、停止制御テーブルに滑りコマ数制御データBが配置されていることを判別する。
また、メイン制御部41は、停止制御テーブルを先頭から順に参照したときに、TBLMD1に対応する値のデータが存在すれば、それ以降の250未満のデータが滑りコマ数制御データ1であると判別する。同様に、TBLMD2に対応する値のデータが存在すれば、それ以降の250未満のデータが滑りコマ数制御データ2であると判別し、TBLMD3に対応する値のデータが存在すれば、それ以降の250未満のデータが滑りコマ数制御データ3であると判別する。
また、メイン制御部41は、停止制御テーブルを先頭から順に参照したときに、「PRIO+a」に対応する値のデータが存在すれば、それ以降の「PRIO+a」に対応する値を超えないデータを設定箇所特定用データであると判別する。
図10は、停止制御テーブルに含まれるコントロール制御データの構成を説明するための図である。図示のとおり、優先順位設定データ「PRIO+a」は、235〜249のデータである。一方、これに続く設定箇所特定用データは、単にビットデータ組合せテーブル番号を羅列したデータの場合もあるが、図10のようなビットデータ組合せテーブル番号に番号補間データTBLCONあるいはジャンプデータTBLJMPを組合せたデータから構成される場合もある。
番号補間データTBLCONは、連続しない2つのビットデータ組合せテーブル番号の間に配置される。このように配置された番号補間データTBLCONと2つのビットデータ組合せテーブル番号との組合せデータは、TBLCONの前に位置するビットデータ組合せテーブル番号からTBLCONの後ろに位置するビットデータ組合せテーブル番号までの連続する3つ以上のビットデータ組合せテーブル番号が指定されていることを意味する。
たとえば、「4,TBLCON,9」は、「4,5,6,7,8,9」と同義である。
このように、番号補間データTBLCONを用いることによって、数多くのビットデータ組合せテーブル番号を記述する際にデータ量が大きくなることを防止している。
ジャンプデータTBLJMPは、他の番地のデータへジャンプすることを意味するデータである。このデータの直後には、ジャンプ先への相対距離を示す1バイトのデータが続く(たとえば、図16の停止制御テーブル16の「d_3rb_a$−1」参照)。
ジャンプデータTBLJMPは、複数の停止制御テーブルで共通しているコントロール制御データ部分について、各々の停止制御テーブル内に記述するのではなく、特定の番地に共通データを記述しておき、その番地へジャンプして共通データを共有できるようにするためのデータである。これにより、データ量の削減を図っている。
ゆえに、コントロール制御データは、実際には図10に示す優先順位設定データとビットデータ組合せテーブル番号と番号補間データとジャンプデータとを必要に応じて任意順に並べた可変長のデータである。
コントロール制御データは、当選状況に応じて予め定めた出目を優先させて停止させ、あるいは予め定めた出目が絶対に停止しないようにコントロールするための優先度パラメータである。
たとえば、青7のBB2とベルとが当選しているゲームにおいては、次のような優先順位に従いリールが停止するように、コントロール制御データが作成されている。
[優先順位1]:赤7をテンパイさせること(第二停止によって、第一停止リールに停止済みの出目との関係において、対象図柄が2つ有効ラインに揃うこと)を禁止(優先値=0)。
[優先順位2]:青7を下段ラインまたは右上がりラインにテンパイさせる(優先値=7)。
[優先順位3]:青7を有効ラインのいずれかに停止させる(優先値=6)。
[優先順位4]:ベルを中段ラインに停止させる(優先値=5)。
[優先順位5]:ベルを上段ラインまたは右上がりラインに停止させる(優先値=4)。
[優先順位6]:ベルを下段ラインまたは右下がりラインに停止させる(優先値=3)。
[優先順位7]:はずれの出目にする(優先値=2)。
図11は、ビットデータ組合せテーブルの具体例を説明するための図である。ビットデータ組合せテーブルは、ビットデータの番号を、(左、中、右)の各々のリールに対応して3つ指定するデータから成るテーブルである。
たとえば、番号3のビットデータ組合せテーブル(4,3,7)は、左リールに対応して番号4のビットデータを指定し、中リールに対応して番号3のビットデータを指定し、右リールに対応して番号7のビットデータを指定している。ビットデータ組合せテーブルは、コントロール制御データに基づいて停止テーブルの作成を試みる“優先度処理モード”でのみ使用される。
図12は、停止制御テーブルの具体例を示す図である。たとえば、番号1の停止制御テーブルは、先頭バイトが「0」であって、設定データTBLMD1の値「250」よりも小さい。このため、「0」を含む(0,1,2)は、メイン制御部41によって滑りコマ数制御データAと判断される。続く「70」も「250」より小さいため、「70」を含む(70,3,4)は、滑りコマ数制御データBと判断される。以下、PRIO+2の直前まで「250」より小さい値が続くため、すべて滑りコマ数制御データBと判断される。その結果、最終の滑りコマ数制御データBは、(18,14,4)であると判断される。
続くデータは、優先値を「2」とする「PRIO+2」であるため、ここからがコントロール制御データであると判断される。さらに、続く「59」は、59番のビットデータ組合せテーブルを指定するデータであると判断される。続くデータとして「TBLEND」が配置されているため、メイン制御部41は、これにより停止制御テーブルの処理を終える。
なお、図12においては、代表例として、番号1,6,16の停止制御テーブルを示し、その他の停止制御テーブルについては記載を省略している。
図13は、滑りコマ数テーブルの具体例を示す図である。滑りコマ数テーブルは、1リール分(21コマ分)の滑りコマ数を圧縮した可変長データである。滑りコマ数テーブルは、番号0〜145の146種類が規定されており、左、中、右リールに対して共用される。このため、左、中、右リール別に滑りコマ数テーブルを設ける場合と比較して、データ容量を削減できる。
滑りコマ数テーブルのデータは圧縮されており、先頭1バイト目の下位4ビットはデータ長(滑りコマ数のデータのバイト数)を示している。たとえば、番号0の滑りコマ数テーブルの1バイト目の「65」のうち、下位4ビットの「5」が、データ長を示す。したがって、1バイト目の上位4ビットと2バイト目以降のデータによって滑りコマ数データが特定される。
図14は、圧縮展開用データを示す図である。この圧縮展開用データは、メイン制御部41が滑りコマ数テーブルの圧縮データを展開するために用いられる。図に示すように、たとえば、滑りコマ数テーブルに規定された圧縮データ「1」は、滑りコマ数「0」に展開され、滑りコマ数テーブルに規定された圧縮データ「2」は、滑りコマ数「1」に展開される。あるいは、滑りコマ数テーブルに規定された圧縮データ「6」は、滑りコマ数「1,0」に展開され、滑りコマ数テーブルに規定された圧縮データ「d」は、滑りコマ数「3,2,1,0」に展開される。
圧縮データ「0」は、同じパターンの繰り返しがあるときの繰り返し回数を示すために用いられるデータである。繰り返し回数は、「0」と、繰り返し対象の圧縮データX(X=1〜15)とを2進数形式に並べることで示す。
たとえば、繰り返すデータをX(X=1〜15)とすると、「X0」は、「21+0=2」という数式の適用により、「X」を2つ並べた「XX」に展開される。「XX」は、「21+1=3」という数式の適用により「X」を3つ並べた「XX」に展開される。
同様に、「X00」は、「22+0+0=4」という数式の適用により「XXXX」に展開され、「X0X」は、「22+0+1=5」という数式の適用により「XXXXX」に展開され、「XX0」は、「22+21+0=6」という数式の適用により「XXXXX」に展開され、「XXX」は、「22+21+1=7」という数式の適用により「XXXXXXX」に展開され、「X000」は、「23+0+0+0=8」という数式の適用により「XXXXXXXX」に展開される。
ただし、圧縮データの先頭にある「0」は、単なるダミーデータであり、データ展開時には無視される。
メイン制御部41は、図13に示す滑りコマ数テーブルの中から滑りコマ数テーブルを選択したときに、圧縮展開用データを用いて圧縮データを展開し、21コマの各々に対応する滑りコマ数を羅列した滑りコマ数データを得る。
図15は、ビットデータ(停止テーブル作成用ビットデータ)の具体例を示す図である。ビットデータは、図示のように、図柄位置記号A〜U(図柄番号0〜21)の各々に対して、0または1が予め設定されたデータである。ビットデータは、番号0〜112の113種類が用意されているが、リール別に規定されておらず、複数のリールに共用されている。このため、リール別にビットデータを設ける場合と比較して、データ容量を削減できる。
ビットデータは、想定される表示結果をリールにおける図柄の配列位置別に示しており、「1」が格納されている箇所は、その位置でリールが停止することが想定されている箇所を、「0」が格納されている箇所は、その位置でリールが停止することが想定されていない箇所を、それぞれ示す。
ビットデータは、停止テーブルを作成する際の滑りコマ数処理モードと優先度処理モードとの双方に共用される。このため、処理モード別にビットデータを設ける場合と比較して、データ容量を削減できる。
ビットデータは、滑りコマ数処理モードにおいては、いずれの滑りコマ数制御データに基づいて滑りコマ数テーブルを選択するのかを決定するために用いられる。一方、ビットデータは、優先度処理モードにおいては、停止テーブル内で優先値を設定する箇所および設定する優先値の大きさを決定するために用いられる。
次に、図16〜図21を参照して、メイン制御部41が実行する停止制御の手順を説明する。図16は、停止制御処理を説明するためのフローチャートである。
まず、スタートスイッチ7が操作されることに基づいて、スタート操作が検出される(S1)。次に、内部抽選処理が実行される(S2)。また、スタート操作の検出に基づいて、リール2L、2C、2Rの変動(回転)が開始される。
S2の内部抽選処理について詳細に説明する。内部抽選とは、入賞の発生(入賞表示結果の導出)を許容するか否かを、可変表示装置2の表示結果が導出表示される以前に(実際には、スタートスイッチ7の操作検出時に)決定することである。
内部抽選では、まず、乱数発生回路42から内部抽選用の乱数(0〜65535の整数)が取得される。次に、遊技状態に応じて定められた抽選対象役の組合せについて、取得した内部抽選用の乱数と、遊技状態、賭数および設定値に応じて定められた各役および役の組合せの当選値とが判定される。
判定の結果、当選ありとなったときには、当選した役に対応する当選フラグが設定される。この当選フラグは、1ゲームが終了する毎に消去される。ただし、ビッグボーナス当選フラグについては、ビッグボーナス入賞が発生するまで、次回のゲームに持ち越される。RAM41cにより、当選フラグを記憶する当選フラグ記憶手段が構成されている。
本実施の形態においては、当選値の一部またはすべてが重複して設定された入賞役が存在する。このため、1ゲームにおいて複数種類の役が同時に当選することもあり得る。
S2の内部抽選処理の後、遊技状態(特別遊技中か一般遊技中か)、持越しフラグの有無、およびS2による当選状況が判別される(S3)。そして、S3の判別結果に対応する停止制御テーブルが選択される(S4)。
次に、停止テーブル作成処理のサブルーチンが実行される(S5)。この処理については、図17を用いて後述する。停止テーブル作成処理が終了した後に、停止操作が有効化される。具体的には、メイン制御部41は、停止テーブル作成処理が終了し、かつ、リールの回転速度が所定速度に達した段階で、停止操作の検出信号を受付可能な状態になる。
その後、第一停止操作が検出されると(S6)、リール2L、2C、2Rのうち、第一停止操作に対応するリールの基準ラインに位置する図柄の番号が特定され、第一停止操作に対応するリールを第一停止リールとして、S5で作成された停止テーブルに基づいて停止させる処理が実行される(S7)。
たとえば、滑りコマ数により停止テーブルが作成されている場合には、以下に説明するテーブル制御によってリールを停止させる。まず、メイン制御部41は、停止テーブルを参照して、停止させるリールの基準ラインに位置する図柄の図柄番号に対応する滑りコマ数を取得する。続いて、メイン制御部41は、取得した滑りコマ数分だけリールを回転させてからリールを停止させる。
これに対して、優先値により停止テーブルが作成されている場合には、以下に説明するコントロール制御によってリールを停止させる。まず、メイン制御部41は、停止テーブルを参照して、停止させるリールの基準ラインに位置する図柄の優先値と、これを先頭にして連続する回転送り方向の4図柄の各々に対応する優先値を取得する。続いて、メイン制御部41は、取得した優先値のうち最も大きい値に対応する図柄番号の図柄が基準ラインに達するまでリールを回転させてからリールを停止させる。
次に、第二停止に備えて、停止テーブル作成処理が再び実行される(S8)。
その後、第二停止操作が検出されると(S9)、リール2L、2C、2Rのうち、第二停止操作に対応するリールの基準ラインに位置する図柄の番号が特定され、第二停止操作に対応するリールを第二停止リールとして、S8で作成された停止テーブルに基づいて停止させる処理が実行される(S10)。
第二停止リールを停止させる処理は、第一停止の際のS7の処理と同様であり、停止テーブルに基づいて、テーブル制御またはコントロール制御によって第二停止リールが停止する。
次に、第三停止に備えて、停止テーブル作成処理が再び実行される(S11)。その後、第三停止操作が検出されると(S12)、リール2L、2C、2Rのうち、第三停止操作に対応するリールの基準ラインに位置する図柄の番号が特定され、第三停止操作に対応するリールを第三停止リールとして、S11で作成された停止テーブルに基づいて停止させる処理が実行される(S13)。
第三停止リールを停止させる処理は、第一停止の際のS7の処理と同様であり、停止テーブルに基づいて、テーブル制御またはコントロール制御によって第三停止リールが停止する。
次に、結果判定処理により、入賞の有無および入賞がある場合にはその種類が判定される(S14)。次に、払出処理により、入賞がある場合には入賞の種類に応じたメダルが払出され、あるいはクレジットが加算される(S15)。
次に、停止制御ポインタの値がクリア(1にリセット)されるとともに、BB1〜3、RB以外の入賞役に対応する当選フラグがクリアされ(S16)、停止制御処理が終了する。
なお、停止制御ポインタは、メイン制御部41が停止制御テーブルを先頭から順に参照していく際に、先頭から何バイト目を参照すべきであるかを特定するために用いられるデータである。停止制御ポインタは、後述するS24、S57において更新される。
図17は、停止テーブル作成処理を説明するためのフローチャートである。停止テーブル作成処理では、最初に、停止テーブルの左、中、右に対応する全ての領域が初期化される(S21)。その結果、停止テーブルが「1」で埋められる。なお、「1」は、停止可能な最低優先位置を示すデータである。このデータは、「停止させることが可能ではあるが、その停止順は最低であること」を意味する。
次に、処理モードが滑りコマ数処理モードAに設定され(S22)、続いて、S4で選択された停止制御テーブルからデータが1バイト取得される(S23)。ここで取得されるデータは、停止制御ポインタによって指定される。
たとえば、前回のゲームが終了して新たなゲームが開始した段階では、S16により停止制御ポインタが1に初期化されているため、停止制御テーブルの先頭1バイト目のデータが取得される。図8を参照して、停止制御テーブルの先頭1バイト目は、たとえば、3バイトからなる滑りコマ数制御データAの1バイト目である。
S23において、停止制御ポインタによって指定されるデータが取得された後、停止制御ポインタの値が1つ進められる(S24)。
次に、S23において取得されたデータが滑りコマ数処理モード1,2,3の設定データ(TBLMD1,TBLMD2,TBLMD3)のいずれかであるかが判断される(S25)。たとえば、取得されたデータが滑りコマ数制御データAであったときには、NOと判断されて、S27に進む。
S27では、S23において取得されたデータが、優先順位設定データ(PRIO+a)であるか否かが判断される。たとえば、取得されたデータが滑りコマ数制御データAであったときには、NOと判断されて、S30に進む。
S30では、S23において取得されたデータが、ジャンプデータ(TBLJMP)であるか否かが判断される。たとえば、取得されたデータが滑りコマ数制御データAであったときには、NOと判断されて、S32に進む。
S32では、S23において取得されたデータが、番号補間データ(TBLCON)であるか否かが判断される。たとえば、取得されたデータが滑りコマ数制御データAであったときには、NOと判断されて、S34に進む。
S34では、S23において取得されたデータがエンドマーク(TBLEND)であるか否かが判断される。たとえば、取得されたデータが滑りコマ数制御データAであったときには、NOと判断されて、S35に進む。
S35では、処理モードが滑りコマ数処理モードであるか否かが判断される。たとえば、処理モードがS22で設定された滑りコマ数処理モードAであるときには、取得データが滑りコマ数制御データであると判定される(S36)。この場合、滑りコマ数処理が実行される(S37)。
滑りコマ数処理は、滑りコマ数を用いて停止テーブルを作成する処理である。ただし、滑りコマ数処理に移行しても、停止テーブルの作成条件が成立しない場合には停止テーブルが作成されることなく、滑りコマ数処理が終了する場合もある。
滑りコマ数処理の詳細については、図18を用いて後述する。滑りコマ数処理が実行された結果、停止テーブルが作成されたときには、停止制御テーブルの途中までしか実行していなくても停止テーブル作成処理がその時点で終了する。その結果、処理が図16のS6、S9、またはS12に移行する。これに対して、滑りコマ数処理が実行されたにも関わらず停止テーブルが作成されなかったときには、S23に処理が復帰する(図18のS58参照)。
S23において取得されたデータが滑りコマ数処理モード1,2,3の設定データ(TBLMD1,TBLMD2,TBLMD3)のいずれかであると判断されたとき(S25でYES)には、処理モードが、判断された滑りコマ数処理モードに設定される(S26)。このため、はじめにS22において停止制御テーブルが参照されることなく、処理モードが滑りコマ数処理モードAに設定されていた場合でも、このS25において、処理モードが適切な処理モードに変更される。
S26において、処理モードが設定されたときには、S23に戻り、停止制御テーブルから次の1バイトのデータが取得される。たとえば、S25において処理モードが滑りコマ数処理モード1に設定されてS23に戻ったときには、滑りコマ数制御データ1の先頭1バイト目のデータが取得される。
この場合、S24で停止制御ポインタが1つ進められた後、S25、S27、S30、S32、S34のいずれにおいてもNOと判断され、S35でYESと判断され、S36からS37に進んで、滑りコマ数制御データ1の先頭1バイト目のデータに基づいた滑りコマ数処理が実行される。そして、停止テーブルが作成されなければ、再び、S23に戻り、次の1バイトデータに基づいた処理が実行される。この結果、停止テーブルが作成されない限り、滑りコマ数制御データが1バイトずつ処理されて、たとえば、滑りコマ数制御データの種類が滑りコマ数制御データ1から2、あるいは2から3と変化する毎にその変化がS25によって検出されて、S26によって処理モードが変更される。
たとえば、停止制御テーブルのすべての滑りコマ数制御データについての処理を終えた段階で、依然、停止テーブルが作成されておらず、かつ、停止制御テーブルの後続するデータがコントロール制御データであったときには、S23において取得されたデータが優先順位設定データであると判断される(S27)。
この場合、優先値を示すデータaが優先順位レジスタに記憶され(S28)、処理モードが優先度処理モードに設定される(S29)。
そして、S23に戻り、停止制御テーブルから次の1バイトのデータが取得される。この場合、取得されるデータはビットデータ組合せテーブル番号であるため、S25、S27、S30、S32、S34、S35のいずれにおいてもNOと判断され、S38で処理モードが優先度処理モードであると判断され、取得データがビットデータ組合せテーブル番号と判定される(S39)。そして、優先度処理が実行される(S40)。
優先度処理は、優先値を用いて停止テーブルを作成する処理である。ただし、優先度処理の中で条件が成立しない場合には停止テーブルが作成されることなく、優先度処理が終了する場合もある。
優先度処理の詳細については、図19を用いて後述する。優先度処理は、滑りコマ数処理とは異なり、処理が実行された結果、停止テーブルが作成されたか否かに関わらず、処理がS23に復帰する(図19のS69参照)。
つまり優先度処理は、停止制御テーブルに規定されたすべてのコントロール制御データを対象として実行される。このため、優先度処理が実行されることによって一旦停止テーブルが作成された場合であっても、再度、優先度処理が実行されることによって、先に作成された停止テーブル中の優先値の値が別の値に更新されることがある。
S23において取得されたデータが番号補間データ(TBLCON)であると判断されたとき(S32でYES)には、補間すべきビットデータ組合せテーブル番号が特定され、記憶される(S33)。たとえば、番号補間データの前後のビットデータ組合せテーブル番号がそれぞれ1、5であった場合には、番号1のビットデータ組合せテーブルに基づく優先度処理は処理済みであるので、補間すべきビットデータ組合せテーブル番号として2〜5が記憶される。次に、処理がS40の優先度処理に移行し、補間すべきすべての番号のビットデータ組合せテーブルを対象とした優先度処理が繰り返し実行される(図19のS68参照)。
そして、補間すべきすべての番号のビットデータ組合せテーブルを対象とした優先度処理が終了すると、S23に処理が戻り、次の1バイトデータが取得される。
S23でジャンプデータ(TBLJMP)が取得されたときには、S30でYESと判断されて、次の1バイトのデータが停止制御ポインタに加算される(S31)。その後、S23に戻る。
停止制御テーブルに基づく処理が進み、やがて、S23でエンドマーク(TBLEND)が取得された場合には、S34でYESと判断され、停止テーブルの先頭4バイト(A,B,C,D)が末尾の4バイト(22〜25バイト目)にコピーされ(S41)、これにより停止テーブル作成処理が終了する。
図18は、滑りコマ数処理を説明するためのフローチャートである。滑りコマ数処理においては、図20に示した条件1〜条件3が用いられて、以下の処理が実行される。
まず、現在の処理モードとリール状態とが条件1を満たすか否かが判断される(S51)。
条件1は、たとえば、滑りコマ数処理モードAであれば、3つのリールのすべてが未停止であることである。
滑りコマ数処理モードBであれば、左リールのみが停止、あるいは左リール、中リールの順に2つのリールが停止(順押しの2リール停止)か、あるいは左リール、右リールの順に2つのリールが停止(挟み押しの2リール停止)、のいずれかの条件を満たすことである。
滑りコマ数処理モード1であれば、左リールのみが停止していることである。
滑りコマ数処理モード2であれば、左リール、中リールの順に2リール停止していることである。
滑りコマ数処理モード3であれば、左リール、右リールの順に2リール停止していることである。
条件1が成立していない場合、現在の処理モードが滑りコマ数処理モードAであれば、処理モードが滑りコマ数処理モードBに設定変更される(S56)。設定変更するのは、次の理由による。
すなわち、現在の処理モードが滑りコマ数処理モードAであったということは、処理対象のデータが滑りコマ数制御データAであったことを意味するから、次に処理すべき停止制御テーブルのデータは、滑りコマ数制御データBである。
しかし、図8からも理解されるように、滑りコマ数制御データBの直前には、処理モードを示す設定データ(TBLMD1やTBLMD2)が配置されていないため、停止制御ポインタを1つ進めて停止制御テーブルを参照した際に処理モードを滑りコマ数処理モードBに変更できない。そこで、滑りコマ数処理モードAの処理が終了したS56の段階で、処理モードを滑りコマ数処理モードBに変更する。
S51において条件1を満たすと判断された場合には、処理モードが滑りコマ数処理モードAであるか否かが判断される(S52)。滑りコマ数処理モードAであり、かつ、条件1を満たしている場合には、現在、参照している(停止制御ポインタによって示される)停止制御テーブル中のデータが滑りコマ数制御データAであり、かつ、リールが未停止の状態である。
この場合、S55に進んで、条件3(図20参照)に従い、停止テーブルが作成される。すなわち、参照している滑りコマ数制御データAの1バイト目、2バイト目、3バイト目の各々のデータが用いられて、左リール用、中リール用、右リール用の停止テーブルが作成される。
具体的には、停止制御ポインタが示す滑りコマ数制御データAの1バイト目に格納された値に対応する番号の滑りコマ数テーブルが参照されて、その圧縮データが図14に示した圧縮展開用データにより展開され、展開後の21個の数値データが左リール用停止テーブルの21の各々の領域に格納される。滑りコマ数制御データAの2バイト目に格納された値に対応する番号の滑りコマ数テーブルが参照されて、その圧縮データが図14に示した圧縮展開用データにより展開され、展開後の21個の数値データが中リール用停止テーブルの21の各々の領域に格納される。同様に、滑りコマ数制御データAの3バイト目に格納された値に対応する番号の滑りコマ数テーブルが参照されて、その圧縮データが図14に示した圧縮展開用データにより展開され、展開後の21個の数値データが右リール用停止テーブルの21の各々の領域に格納される。
なお、メイン制御部41が滑りコマ数テーブルから圧縮データを展開する詳細な手順については、既に説明したので、ここではその説明を省略する。
S55を実行することによって、停止テーブルを作成した場合には、停止テーブルの先頭4バイト(A,B,C,D)が末尾の4バイト(22〜25バイト目)にコピーされる(S59)。その後、滑りコマ数処理が終了する。
S52において、処理モードが滑りコマ数処理モードAでないと判断された場合には、条件2に従い、停止済みリールの停止位置がチェックされる(S53)。条件2は、図20に示すように、現在の処理モードによって異なっている。
滑りコマ数処理モードBでは、既に停止済みの左リールの停止位置と、参照している滑りコマ数制御データ(この場合は滑りコマ数制御データBになる)の1バイト目に格納された値に対応する番号のビットデータとが用いられて判定される。具体的には、ビットデータのうち、左リールの停止位置に対応するビットが1であるか否かが判定される。
なお、滑りコマ数制御データBの1バイト目の値に対応する番号のビットデータが、チェック機能を果たすため、このビットデータは、図9に示したように「第一停止位置(左)チェック用ビットデータ」と称される。
滑りコマ数処理モード1では、既に停止済みの左リールの停止位置と、参照している滑りコマ数制御データ(この場合は滑りコマ数制御データ1になる)の1バイト目に格納された値に対応する番号のビットデータとが用いられて判定される。判定手法は、滑りコマ数処理モードBの場合と同様である。
なお、滑りコマ数制御データ1の1バイト目の値に対応する番号のビットデータが、チェック機能を果たすため、このビットデータは、図9に示したように「第一停止位置(左)チェック用ビットデータ」と称される。
滑りコマ数処理モード2では、既に停止済みの左リールおよび中リールの停止位置と、参照している滑りコマ数制御データ(この場合は滑りコマ数制御データ2になる)の1バイト目および2バイト目に格納された値に対応する番号のビットデータとが用いられて判定される。
具体的には、滑りコマ数制御データ2の1バイト目に対応する番号のビットデータのうち、左リールの停止位置に対応するビットが1であり、なおかつ、滑りコマ数制御データ2の2バイト目に対応する番号のビットデータのうち、中リールの停止位置に対応するビットが1であるか否かが判定される。
なお、滑りコマ数制御データ2の1バイト目および2バイト目の各々の値に対応する番号のビットデータが、チェック機能を果たすため、各々のビットデータは、図9に示したように「第一停止位置(左)チェック用ビットデータ」、「第二停止位置(中)チェック用ビットデータ」と称される。
滑りコマ数処理モード3では、既に停止済みの左リールおよび右リールの停止位置と、参照している滑りコマ数制御データ(この場合は滑りコマ数制御データ3になる)の1バイト目および2バイト目に格納された値に対応する番号のビットデータとが用いられて判定される。
具体的には、滑りコマ数制御データ3の1バイト目に対応する番号のビットデータのうち、左リールの停止位置に対応するビットが1であり、なおかつ、滑りコマ数制御データ3の2バイト目に対応する番号のビットデータのうち、右リールの停止位置に対応するビットが1であるか否かが判定される。
なお、滑りコマ数制御データ3の1バイト目および2バイト目の各々の値に対応する番号のビットデータが、チェック機能を果たすため、各々のビットデータは、図9に示したように「第一停止位置(左)チェック用ビットデータ」、「第二停止位置(右)チェック用ビットデータ」と称される。
次に、S53でのチェックの結果、条件2に基づいたチェック対象の停止位置に対応するビットデータは1であったか否かが判断される(S54)。S54でNOと判断された場合には、停止テーブルを作成する条件を満たさないため、今回、参照している滑りコマ数制御データを用いて停止テーブルを作成することなく、停止制御ポインタを2つ進める(S57)。
滑りコマ数制御データは、いずれも3バイト構成であるため、停止制御ポインタを2つ進めることによって、今回、参照している滑りコマ数制御データの次のデータを参照することが可能になる。その後、S58に進み、図17のS23に戻る。
これに対して、S54において、条件2に基づいたチェック対象の停止位置に対応するビットデータが1と判断されたとき、すなわち、停止テーブルを作成する条件が成立していると判断されたときには、条件3に従い、停止テーブルに滑りコマ数が設定される(S55)。
条件3は、図20に示すとおりであり、現在の処理モードが滑りコマ数処理モードAの場合については説明済みである。図20に示すように、現在の処理モードが滑りコマ数処理モードB,1,2,3のそれぞれの場合について、滑りコマ数を作成するために滑りコマ数制御データの何バイト目を参照するか、および滑りコマ数を停止テーブルの左中右のいずれに設定するかが定められている。これは、図9に示した、各滑りコマ数制御データの「データ構成」欄にも示されている。
たとえば、図9には、滑りコマ数制御データBについて、2バイト目が中用滑りコマ数テーブル番号であり、3バイト目が右用滑りコマ数テーブル番号であることが示されている。
すなわち、滑りコマ数処理モードBにおいては、参照している滑りコマ数制御データ(この場合は滑りコマ数制御データB)の2バイト目に対応する番号の滑りコマ数テーブルが用いられて、中リール用停止テーブルが作成され、3バイト目に対応する番号の滑りコマ数テーブルが用いられて、右リール用停止テーブルが作成される。
滑りコマ数処理モード1においては、参照している滑りコマ数制御データ(この場合は滑りコマ数制御データ1)の2バイト目に対応する番号の滑りコマ数テーブルが用いられて、中リール用停止テーブルが作成され、3バイト目に対応する番号の滑りコマ数テーブルが用いられて、右リール用停止テーブルが作成される。
滑りコマ数処理モード2においては、参照している滑りコマ数制御データ(この場合は滑りコマ数制御データ2)の3バイト目に対応する番号の滑りコマ数テーブルが用いられて、右リール用停止テーブルが作成される。
滑りコマ数処理モード3においては、参照している滑りコマ数制御データ(この場合は滑りコマ数制御データ3)の3バイト目に対応する番号の滑りコマ数テーブルが用いられて、中リール用停止テーブルが作成される。
S55において、停止テーブルがされた後、停止テーブルの先頭4バイト(A,B,C,D)が末尾の4バイト(22〜25バイト目)にコピーされ(S59)、滑りコマ数処理が終了する。この場合、図17のS37に戻り、停止テーブル作成処理が終了する。つまり、停止制御テーブルの途中までしか実行していなくても、滑りコマ数が格納されることによって停止テーブルが作成された段階で、停止テーブル作成処理が終了する。その結果、停止テーブルの作成処理に係る時間を短くすることができる。
図19は、優先度処理を説明するためのフローチャートである。優先度処理においては、図20および図21に示した条件4〜条件8が用いられて、以下の処理が実行される。
なお、この優先度処理は、停止テーブル作成処理のS39において、停止制御ポインタに従い取得されたデータがビットデータ組合せテーブル番号である場合に実行される処理である。あるいは、優先度処理は、S39において、停止制御ポインタに従い取得されたデータが番号補間データである場合(S32にてYES)に実行される処理である。
いずれにしても、停止テーブル作成処理から優先度処理に移行した段階では、停止制御テーブルによって指定されるビットデータ組合せテーブル番号が参照された状態となっている。
優先度処理においては、まず、左リールの状態が条件4または条件5を満たすか否かが判断される(S61)。
条件4および条件5は、図20および図21に示されている。S61の場合には、条件4は、「左リールが未停止であること」になる一方、条件5は、図21のとおり、「リールに対応するビットデータのうち、リールの停止位置に対応するビットが1であること」である。
条件5を詳細に説明する。S61では、左リールの状態について判断しているから、ここでの条件5は、「左リールに対応するビットデータ、すなわち、現在、参照している番号のビットデータ組合せテーブルのうち、1バイト目が示す番号のビットデータ」を意味する。
たとえば、現在、参照しているビットデータ組合せテーブル番号mが図11に示す「29」である場合には、そのビットデータ組合せテーブルは(34,32,39)であるから、その1バイト目が示す番号は、「34」である。ゆえに、この場合、「左リールに対応するビットデータ」は、番号「34」のビットデータを意味する。番号「34」のビットデータは、図15に示されるように「10100010…」である。そして、このビットデータのうち、左リールの停止位置に対応するビットが1であれば、S61において条件5を満たすと判断される。
S61において、条件4または条件5のいずれか一方を満たすと判断された場合には、続いて、中リールの状態が条件4または条件5のいずれか一方を満たすか否かが判断される(S62)。すなわち、「条件4;中リールが未停止であること」、または、「条件5;中リールに対応するビットデータのうち、中リールの停止位置に対応するビットが1であること」のいずれか一方の条件が満たされているか否かが判断される。なお、「中リールに対応するビットデータ」とは、「現在、参照している番号のビットデータ組合せテーブルのうち、2バイト目が示す番号のビットデータ」である(図21参照)。
S62において、条件4または条件5のいずれか一方を満たすと判断された場合には、続いて、右リールの状態が条件4または条件5のいずれか一方を満たすか否かが判断される(S63)。すなわち、「条件4;右リールが未停止であること」、または、「条件5;右リールに対応するビットデータのうち、右リールの停止位置に対応するビットが1であること」のいずれか一方の条件が満たされているか否かが判断される。なお、「右リールに対応するビットデータ」とは、「現在、参照している番号のビットデータ組合せテーブルのうち、3バイト目が示す番号のビットデータ」である(図21参照)。
S63において、条件4または条件5のいずれか一方を満たすと判断された場合には、続いて、優先順位レジスタの値が2以上であるか否かが判断される(S64)。なお、優先順位レジスタは、停止制御ポインタに従い停止制御テーブル中の優先順位データ(PRIO+a)を取得したときに、そのデータの中から優先値aを抽出して格納するためのレジスタである(S28参照)。
S64においてYESの場合には、停止テーブルを作成する条件が成立していると判断される。この場合、条件6に従って、停止テーブルの値が優先順位レジスタの値と置き換えられる(S65)。
条件6は、図21に示されているとおりである。すなわち、「例外1」および「例外2」のケースを除いて、原則として、停止テーブルのうち、「リールに対応するビットデータ」のビットが1に対応する箇所を優先順位レジスタの値と置き換えることによって、すべての未停止リールに対応する停止テーブルを対象として、データの置き換えを実行する。
この結果、たとえば、参照しているビットデータ組合せテーブル番号mに対応するビットデータ組合せテーブルが(α、β、γ)であれば、左リール用停止テーブルのうち、番号αのビットデータでビットが1の箇所に対応する停止位置の値が優先順位レジスタの値と置き換えられる。同様に、中リール用停止テーブルのうち、番号βのビットデータでビットが1の箇所に対応する停止位置の値が優先順位レジスタの値と置き換えられ、右リール用停止テーブルのうち、番号γのビットデータでビットが1の箇所に対応する停止位置の値が優先順位レジスタの値と置き換えられる。
ただし、停止テーブルに「0(停止禁止)」が設定されている箇所は、置き換えない(「例外1」)。また、参照している「ビットデータ組合せテーブル」の番号が「1」のときは、一切、置き換えを実行せず、つまり、停止テーブルを作成しない(「例外2」)。
S64において、優先順位レジスタの値が2以上でないと判断された場合には、条件7を満たすか否かが判断される(S66)。条件7は、図21に示されるように、「参照しているビットデータ組合せテーブルによって特定される3つのビットデータのうちに、未停止リールに対応し、かつ、「全ビットが1」でないビットデータが1つだけ存在すること」である。
ゆえに、条件7を満たすためには、少なくとも停止していないリールが存在する必要がある。
たとえば、未停止リールが1つのみのときには、その未停止リールに対応するビットデータが「全ビット=1」でないことが条件になる。なお、「未停止リールに対応するビットデータ」とは、たとえば、参照しているビットデータ組合せテーブル番号mに対応するビットデータ組合せテーブルが(α、β、γ)であり、かつ、未停止リールが右リールであるときには、「番号γのビットデータ」のことである。
あるいは、未停止リールが2つのときには、それぞれの未停止リールに対応するビットデータのいずれか一方が「全ビット=1」でなく、他方については「全ビット=1」であることが条件になる。
S66において条件7を満たすと判断された場合には、条件8に従って、停止テーブルの値が0(停止禁止位置データ)と置き換えられる(S67)。条件8は、図21に示されるように、「条件7を成立させたビットデータに対応するリールの停止テーブルのうち、そのビットデータのビットが1に対応する箇所を置き換え対象とすること」である。
たとえば、未停止リールが左リールの1つのみであったときには、参照しているビットデータ組合せテーブル番号mに対応するビットデータ組合せテーブルが(α、β、γ)であるとすると、条件7を成立させたビットデータは、「番号αのビットデータ」であるから、左リール用の停止テーブルのうち、「番号αのビットデータ」のビットが1に対応する箇所が0に置き換えられる。
あるいは、未停止リールが左と中の2つであったときには、条件7を成立させたビットデータが左と中のいずれのリールに対応するものであるかによって、置き換え対象が異なる。たとえば、条件7を成立させたビットデータが中リールに対応するものであった場合には、参照しているビットデータ組合せテーブル番号mに対応するビットデータ組合せテーブルが(α、β、γ)であるとすると、条件7を成立させたビットデータは、「番号βのビットデータ」である。それゆえ、中リール用の停止テーブルのうち、「番号βのビットデータ」のビットが1に対応する箇所が0に置き換えられる。
S67の処理の後、または、S61、S62、S63、S66のいずれかにおいてNOと判断された後、あるいは、S65の処理の後、S68に進む。S68では、補間すべきビットデータ組合せテーブル番号が存在するか否かが判断され、存在する場合には処理がS61に戻る。
すなわち、図17のS33においてビットデータ組合せテーブル番号が補間されて優先度処理に移行している場合には、補間対象のすべての番号のビットデータ組合せテーブルを対象として、S61〜S67の判断が順番に実行される。
このため、いずれかのビットデータ組合せテーブルに基づいて停止テーブルが作成されたとしても、予定されているすべてのビットデータ組合せテーブルに基づく処理が終了するまで、優先度処理が継続される。その結果、いずれかのビットデータ組合せテーブルに基づいて停止テーブルが作成された場合であっても、その後に参照されるビットデータ組合せテーブルに基づいて、作成済みの停止テーブルが更新される場合がある。
S68において、補間すべきビットデータ組合せテーブル番号が存在しないと判断された場合には、S69に進み、処理が図17のS23に戻る。このように優先度処理の場合には、停止テーブルが作成された場合であっても、再びS23に戻り、停止制御テーブルの次の1バイトデータが取得され、停止テーブル作成処理が継続される。このため、再び、優先度処理に移行した場合には、S65において作成された停止テーブルが更新され得る。このため、停止制御ポインタがコントロール制御データの位置まで進められた場合には、その後、停止テーブルがどの段階で作成されようとも、エンドデータ(TBLEND)が現れるまで停止制御テーブルに基づいた停止テーブル作成処理が実行され、停止テーブルが更新される。
このように、優先度処理は、停止済みリールの出目と、これに対応するビットデータとを比較して、出目とビットデータが示す想定の出目とが一致するときに、停止テーブルを優先値で更新している。
以上、説明したように、メイン制御部41は、第一停止前に選択された停止制御テーブルを原則として共通に用いて、第一停止〜第三停止の各々の段階に対応する停止テーブルを、第一停止前、第二停止前、および第三停止前の各々の段階で作成する。
また、メイン制御部41は、停止制御テーブル中のテーブル制御データに基づく処理の途中段階で停止テーブルが作成された場合には、未だ処理していないテーブル制御データやコントロール制御データが停止制御テーブルに残っている場合であっても、停止テーブル作成処理を終了して、リールの停止処理に移行する。
一方、停止制御テーブル中のテーブル制御データによっては停止テーブルが作成できず、コントロール制御データに基づいて停止テーブルを作成する処理に進んだ場合には、コントロール制御データに基づく処理の途中段階で停止テーブルが作成された場合であっても、すべてのコントロール制御データに基づく処理を終えるまで、停止テーブル作成処理を終了することなく継続する。
次に、メイン制御部41が実行するリールの停止制御の具体例を2つ説明する。
[具体例1]
図22は、リールの停止制御の具体例1を示す図である。また、図23は、リールの停止制御の具体例1で用いる停止制御テーブルを示す図である。さらに、図24は、リールの停止制御の具体例1における、リール停止テーブルの変化を説明するための図である。
具体例1では、図22(A)に示すように、遊技状態が通常状態(非BB中)であって、今回のゲームで「リプレイ」のみが当選している場合を想定している。
また、第一、第二、第三停止リールが、それぞれ、左、中、右リールであり、かつ、第一〜第三停止操作検出時の基準ラインの図柄は、図22(A)に示すように、第一停止リールが「青7(図柄番号9)」、第二停止リールが「リプレイ(図柄番号3)」、第三停止リールが「リプレイ(図柄番号8)」とする。
図22(B)には、最終的に停止する図柄が示されている。また、図22(C)には、第一〜第三停止操作検出時の基準ラインの図柄が塗り表示で示されているとともに、最終的に停止する図柄が太枠で囲んで示されている。
(1) 第一停止用の停止テーブル作成処理
まず、「リプレイ」のみが当選しているため、図7に示した停止制御テーブルのうちから停止制御テーブル6が選択される。
停止制御テーブル6は、図23に示す12バイトのデータで構成されている。この停止制御テーブル6は、第一停止のみならず第二停止および第三停止の際にも使用する。
最初に、停止テーブルを初期化する。すなわち、停止テーブル全体を「1」で埋める。「1」は、停止可能な位置を示す優先値のうち、最も停止の優先度合いが低い値(停止可能最低優先値)である。これにより、停止テーブルの内容は図24(A)のようになる。
なお、図24では、データを示す各数字を便宜上、羅列しており、1つの数字が1バイトのデータを意味する。また、後でビットデータ組合せテーブルとの対応がわかりやすいように、先頭21バイトを8、8、5バイトに区切った上で、末尾4バイトをさらに別に区切ってある。
次に、現在の処理モードを「滑りコマ数処理モードA」とする。停止制御テーブルの最初のデータは35であるので、これは滑りコマ数制御データである。現在のモードが「滑りコマ数処理モードA」であり、全リールが未停止であるので、このデータを含めて3バイト(35,31,2)を滑りコマ数テーブル番号と判断し、この番号の滑りコマ数テーブルに基づいて、停止テーブルを作成する。
滑りコマ数テーブル番号の35番のデータは「64,6a,6f,6f」となっている(図13参照)。これを4ビットずつに分解すると、「4 6 10 6 15 6 15 6」となる。ここで、先頭の「4」はバイト数であり、残りの7個のデータ「6 10 6 15 6 15 6」が滑りコマ数圧縮データである。
そこで、まず、それぞれの圧縮データについて、圧縮展開用データ(図14参照)を用いて滑りコマ数データに展開する。その結果、これらの圧縮データは、「6」→「1 0」、「10」→「2 1 0」、「15」→「4 3 2 1 0」と展開される。つまり、滑りコマ数テーブルは、「1 0 2 1 0 1 0 4 3 2 1 0 1 0 4 3 2 1 0 1 0」となる。
31番の滑りコマ数テーブルは、「04,0f6,0fa,30」となっている(図13参照)。これを4ビットずつに分解すると、「4 0 6 15 10 15 0 3」となり、さらに、先頭のバイト数とダミーデータ0を無視すると「6 15 10 15 0 3」となる。
このうち、「0」は、その直前のデータの繰り返しを意味する圧縮データであるから、これを展開すると「6 15 10 15 15 3」となる。このデータを圧縮展開用データを用いて展開すると、「1 0 4 3 2 1 0 2 1 0 4 3 2 1 0 4 3 2 1 0 2」となる。
2番の滑りコマ数テーブルは、「04,0ad,0fd,5d」となっている(図13参照)。これを4ビットずつに分解すると、「4 0 13 10 13 15 13 5」となり、さらに、先頭のバイト数とダミーデータ0を無視すると「13 10 13 15 13 5」となる。
このデータを圧縮展開用データを用いて展開すると、「3 2 1 0 2 1 0 3 2 1 0 4 3 2 1 0 3 2 1 0 4」となる。
展開された滑りコマ数テーブルの各々の値0〜4は、滑りコマ数を意味するが、停止テーブルには、滑りコマ数の値0〜4がそのまま格納されるのではなく、滑りコマ数に16を加えた値が格納される。これは、停止テーブルがテーブル制御に用いる滑りコマ数の格納と、コントロール制御に用いる優先値の格納とに兼用されていることから、両者を数値で区別する必要があるためである。すなわち、停止テーブルにおいて、値0〜15は、優先値を意味する一方、値16〜20は滑りコマ数0〜4を意味する。
図24(B)に、滑りコマ数テーブル35、31、2に基づいて作成された停止テーブルを示す。なお、図24(B)においては、4バイトの拡張領域(右側のABCD)を除いて、便宜上、滑りコマ数をそのままの値(+16しない値)で表記している。
滑りコマ数データを作成したので、停止制御テーブル6の残りのデータは無視し、停止テーブル作成処理を終了する。
(2) 第一停止リールの停止操作検出時の停止位置決定処理
左リールの停止操作検出時の基準ラインには、図柄番号9の青7が位置している。停止可能範囲の先頭位置9は、図柄位置記号ではJである。このため、停止可能範囲はJ〜Nとなる。この範囲での左リール用の停止テーブルにおける滑りコマ数は、図24(B)のとおり、「2,1,0,1,0」となっている。これは、実データでは、「18,17,16,17,16」である。
停止可能範囲の先頭の値「18」は16以上であることから、メイン制御部41は、停止テーブルに滑りコマ数のデータが格納されていると判断し、後続する他の4つは参照せず、先頭の値から直ちに滑りコマ数を決定する。滑りコマ数はJの値18から16を引いた値であるので、18−16=2となる。
停止可能範囲の先頭位置9に滑りコマ数2を加えて、実際の停止位置を算出する。9+2=11であるので、停止位置は11となる。基準ラインが下段であるので、リールの停止位置は、上段が13(バー)、中段が12(スイカ)、下段が11(リプレイ)となる。メイン制御部41は、この位置で左リールを停止させる。
(3) 第一リール停止後の停止テーブル作成処理
引き続いて、同じ停止制御テーブル6を使用する。処理手順も途中までは、第一リール停止前の処理手順と同じである。すなわち、最初に停止テーブルを初期化した後、処理モードを「滑りコマ数処理モードA」とする。
次に、停止制御テーブル6の最初のデータ35を参照して、滑りコマ数制御データと判断する。現在の処理モードは全リール停止時用の「滑りコマ数処理モードA」である。ところが、既に第一リールが停止済みであるので、このデータ35を含めて3バイト(35,31,2)は無視する。また、処理モードを「滑りコマ数処理モードA」から「滑りコマ数処理モードB」に変更する。
停止制御テーブル6の(35,31,2)に続くデータは、45であるので、これは滑りコマ数制御データである。現在の処理モードは「滑りコマ数テーブルモードB」であって、第一停止済みという条件に合致するので、第一停止リールの停止位置をチェックする。
現在の処理モードが「滑りコマ数テーブルモードB」であるので、45を先頭とする3バイトデータ(45,31,2)のうち、45は第一停止リールである左リールの停止位置チェック用のビットデータ番号、31は中リール滑りコマ数テーブル番号、2は右リール滑りコマ数テーブル番号である。
45番のビットデータは、図15に示すように、第一停止リールの停止位置11(L)に対応するビットが0である。このように、3バイトデータ(45,31,2)は、停止テーブルを作成する条件を満たしていないため、無視する。
停止制御テーブル6において、続くデータは46であるから、これも滑りコマ数制御データである。現在の処理モードは「滑りコマ数テーブルモードB」であって、第一停止済みという条件に合致するので、第一停止リールの停止位置をチェックする。
現在の処理モードが「滑りコマ数テーブルモードB」であるので、46を先頭とする3バイトデータ(46,36,2)のうち、46は第一停止リールである左リールの停止位置チェック用のビットデータ番号、36は中リール滑りコマ数テーブル番号、2は右リール滑りコマ数テーブル番号である。
46番のビットデータは、図15に示すように、第一停止リールの停止位置11(L)に対応するビットが1である。ゆえに、3バイトデータ(46,36,2)は、停止テーブルを作成する条件を満たしている。そこで、この3バイトデータを用いて停止テーブルを作成する。具体的には、番号36の滑りコマ数テーブルによって中リールの停止テーブルを更新し、番号2の滑りコマ数テーブルによって右リールの停止テーブルを更新する。
このため、まず、36番と2番の滑りコマ数テーブルを展開する。
36番の滑りコマ数テーブルは、「0a3,0af,0f」となっているので、4ビットずつ分解すると、「3 10 15 10 15 0」となるから、先頭のバイト数を無視すると「10 15 10 15 0」となる。このうち、「0」は、その直前のデータの繰り返しを意味する圧縮データであるから、これを展開すると「10 15 10 15 15」となる。このデータを圧縮展開用データを用いて展開すると、「2 1 0 4 3 2 1 0 2 1 0 4 3 2 1 0 4 3 2 1 0」となる。
2番の滑りコマ数テーブルは、「04,0ad,0fd,5d」となっているので、4ビットずつ分解すると、「4 0 13 10 13 15 13 5」となるから、先頭のバイト数とダミーデータ0とを無視すると「13 10 13 15 13 5」となる。このデータを圧縮展開用データを用いて展開すると、「3 2 1 0 2 1 0 3 2 1 0 4 3 2 1 0 3 2 1 0 4」となる。
図24(C)に、滑りコマ数テーブル36、2に基づいて作成された停止テーブルを示す。なお、図24(C)においては、4バイトの拡張領域(右側のABCD)を除いて、便宜上、滑りコマ数をそのままの値(+16しない値)で表記している。
滑りコマ数データを作成したので、停止制御テーブル6の残りのデータは無視し、停止テーブル作成処理を終了する。
(4) 第二停止リールの停止操作検出時の停止位置決定処理
中リールの停止操作検出時の基準ラインには、図柄番号3のリプレイが位置している。停止可能範囲の先頭位置3は、図柄位置記号ではDである。このため、停止可能範囲はD〜Hとなる。この範囲での中リール用の停止テーブルにおける滑りコマ数は、図24(C)のとおり、「4,3,2,1,0」となっている。これは、実データでは、「20,19,18,17,16」である。停止可能範囲の先頭の値「20」が16以上であることから、メイン制御部41は、停止テーブルに滑りコマ数のデータが格納されていると判断し、後続する他の4つは参照せず、先頭の値から直ちに滑りコマ数を決定する。滑りコマ数はDの値20から16を引いた値であるので、18−16=4となる。
停止可能範囲の先頭位置3に滑りコマ数4を加えて、実際の停止位置を算出する。3+4=7であるので、停止位置は7となる。基準ラインが下段であるので、リールの停止位置は、上段が9(ベル)、中段が8(リプレイ)、下段が7(スイカ)となる。メイン制御部41は、この位置で中リールを停止させる。
(5) 第二リール停止後の停止テーブル作成処理
この停止テーブル作成処理においても、停止制御テーブル16を使用する。処理手順も途中までは、第一リール停止前の処理手順と同じである。すなわち、最初に停止テーブルを初期化した後、処理モードを「滑りコマ数処理モードA」とする。
次に、停止制御テーブル16の最初のデータ35を参照して、滑りコマ数制御データと判断する。現在の処理モードは全リール停止時用の「滑りコマ数処理モードA」である。ところが、既に第一リールが停止済みであるので、このデータ35を含めて3バイト(35,31,2)は無視する。また、処理モードを「滑りコマ数処理モードA」から「滑りコマ数処理モードB」に変更する。
停止制御テーブル16の(35,31,2)に続くデータ45もまた、滑りコマ数制御データである。現在の処理モードは「滑りコマ数処理モードB」となっており、第一リールおよび第二リールが停止済みという条件に合致するので、第一停止リールの停止位置をチェックする。ここでのチェック方法は、「滑りコマ数処理モードA」におけるチェック方法と同様である。
すなわち、45番のビットデータのビットのうち、第一停止リールの停止位置11(L)に対応するビットが1であるか否かが判断される。この場合、図15に示すように、45番のビットデータの「L」に対応するビットは1でない。このため、3バイトデータ(45,31,2)は、停止テーブルを作成する条件を満たしていないと判断されて無視される。
この3バイトデータに続くデータは46であるので、滑りコマ数制御データと判断される。現在の処理モードは「滑りコマ数処理モードB」となっており、第一リールおよび第二リールが停止済みという条件に合致するので、第一停止リールの停止位置をチェックする。
すなわち、46番のビットデータのビットのうち、第一停止リールの停止位置11(L)に対応するビットが1であるか否かが判断される。この場合、図15に示すように、46番のビットデータの「L」に対応するビットは1である。このため、3バイトデータ(46,36,2)は、停止テーブルを作成する条件を満たしていると判断される。
そこで、この3バイトデータを用いて停止テーブルが作成される。具体的には、番号36の滑りコマ数テーブルによって中リールの停止テーブルを更新し、番号2の滑りコマ数テーブルによって右リールの停止テーブルを更新する。
その結果、停止テーブルが図24(D)のように更新される。なお、図24(D)では、既に停止済みの中リールの停止テーブルも更新されているが、このデータは第三停止の際には用いられない。
滑りコマ数データを作成したので、停止制御テーブル6の残りのデータは無視し、停止テーブル作成処理を終了する。
(6) 第三停止リールの停止操作検出時の停止位置決定処理
右リールの停止操作検出時の基準ラインには、図柄番号8のリプレイが位置している。停止可能範囲の先頭位置8は、図柄位置記号ではIである。このため、停止可能範囲はI〜Mとなる。この範囲での右リール用の停止テーブルにおける滑りコマ数は、図24(D)のとおり、「2,1,0,4,3」となっている。これは、実データでは、「18,17,16,20,19」である。停止可能範囲の先頭の値が16以上であることから、メイン制御部41は、滑りコマ数のデータが格納されていると判断し、後続する他の4つは参照せず、先頭の値から直ちに滑りコマ数を決定する。滑りコマ数はIの値18から16を引いた値であるので、18−16=2となる。
停止可能範囲の先頭位置8に滑りコマ数2を加えて、実際の停止位置を算出する。8+2=10であるので、停止位置は10となる。基準ラインが下段であるので、リールの停止位置は、上段が12(リプレイ)、中段が11(ベル)、下段が10(スイカ)となる。メイン制御部41は、この位置で右リールを停止させる。
その結果、図22(B)に示されるように、右上がり斜めのラインに「リプレイ・リプレイ・リプレイ」が揃ってリプレイの入賞が発生する。
[具体例2]
図25は、リールの停止制御の具体例2を示す図である。また、図26は、リールの停止制御の具体例2で用いる停止制御テーブルを示す図である。さらに、図27は、リールの停止制御の具体例2における、リール停止テーブルの変化を説明するための図である。
具体例2では、図25(A)に示すように、遊技状態が通常状態(非BB中)であって、今回のゲームで「BB2(青7)」と「ベル」とが当選している場合を想定している。
また、第一、第二、第三停止リールが、左、中、右リールであり、かつ、第一〜第三停止操作検出時の基準ラインの図柄は、図25(A)に示すように、第一停止リールが「バー(図柄番号5)」、第二停止リールが「リプレイ(図柄番号3)」、第三停止リールが「黄7(図柄番号6)」とする。
図25(B)には、最終的に停止する図柄が示されている。また、図25(C)には、第一〜第三停止操作検出時の基準ラインの図柄が塗り表示で示されているとともに、最終的に停止する図柄が太枠で囲んで示されている。
(1) 第一停止用の停止テーブル作成処理
まず、「BB2(青7)」「ベル」が当選しているため、図7に示した停止制御テーブルのうちから停止制御テーブル16が選択される。
停止制御テーブル16は、図26に示す28バイトのデータで構成されている。停止制御テーブル16の27バイト目のデータが「TBLJMP」であるので、28バイト目のデータによって指定されるアドレスのデータにジャンプする。
ジャンプ先の[d_3rb_a]のデータは、図26に示すような4バイトのデータからなる。これらのデータは、第一停止のみならず第二停止および第三停止の際にも使用する。
最初に、停止テーブルを初期化する。すなわち、停止テーブル全体を「1」で埋める。「1」は、停止可能な位置を示す優先値のうち、最も停止の優先度合いが低い値(停止可能最低優先値)である。これにより、停止テーブルの内容は図27(A)のようになる。
なお、図27では、データを示す各数字を便宜上、羅列しており、1つの数字が1バイトのデータを意味する。また、後でビットデータ組合せテーブルとの対応がわかりやすいように、先頭21バイトを8、8、5バイトに区切った上で、末尾4バイトをさらに別に区切ってある。
次に、現在の処理モードを「滑りコマ数処理モードA」とする。停止制御テーブルの最初のデータは129であるので、これは滑りコマ数制御データである。現在のモードが「滑りコマ数処理モードA」であり、全リールが未停止であるので、このデータを含めて3バイト(129,130,131)を滑りコマ数テーブル番号と判断し、この番号の滑りコマ数テーブルに基づいて、停止テーブルを作成する。
滑りコマ数テーブル番号の129番のデータは「07,16,6e,31,67,38,71」となっている。これを4ビットずつに分解すると、「7 0 6 1 14 6 1 3 7 6 8 3 1 7」となる。ここで、先頭の「7」はバイト数、次の「0」はダミーデータであり、残りの12個のデータ「6 1 14 6 1 3 7 6 8 3 1 7」が滑りコマ数圧縮データである。
そこで、まず、それぞれの圧縮データについて、圧縮展開用データ(図14参照)を用いて滑りコマ数データに展開する。その結果、これらの圧縮データは、「6」→「1 0」、「1」→「0」、「14」→「4 3 2 1」、「3」→「2」、「7」→「2 1」、「8」→「3 2」と展開されるので、滑りコマ数テーブルは、「1 0 0 4 3 2 1 1 0 0 2 2 1 1 0 3 2 2 0 2 1」となる。
130番の滑りコマ数テーブルは、「54,0af,0f,53」となっているので、4ビットずつ分解すると、「4 5 15 10 15 0 3 5」となる。これは、先頭のバイト数を無視すると「5 15 10 15 0 3 5」となる。「0」は、その直前のデータの繰り返しを意味する圧縮データであるから、これを展開すると「5 15 10 15 15 3 5」となる。
このデータを圧縮展開用データを用いて展開すると、「4 4 3 2 1 0 2 1 0 4 3 2 1 0 4 3 2 1 0 2 4」となる。
同様に、131番の滑りコマ数テーブルは「0b4,0dc,0f1,5d」であるから、「4 11 12 13 1 15 13 5」と分解され、さらに先頭バイトを無視した「11 12 13 1 15 13 5」のデータを展開することで、「3 2 1 4 3 2 3 2 1 0 0 4 3 2 1 0 3 2 1 0 4」の滑りコマ数テーブルが得られる。
展開された滑りコマ数テーブルの各々の値0〜4は、滑りコマ数を意味するが、停止テーブルには、滑りコマ数の値0〜4がそのまま格納されるのではなく、滑りコマ数に16を加えた値が格納される。
図27(B)に、滑りコマ数テーブル129、130、131に基づいて更新された停止テーブルを示す。なお、図27(B)においては、4バイトの拡張領域(右側のABCD)を除いて、便宜上、滑りコマ数をそのままの値(+16しない値)で表記している。
滑りコマ数データを作成したので、停止制御テーブル16の残りのデータは無視し、停止テーブル作成処理を終了する。
(2) 第一停止リールの停止操作検出時の停止位置決定処理
左リールの停止操作検出時の基準ラインには、図柄番号5のバーが位置している。停止可能範囲の先頭位置5は、図柄位置記号ではFである。このため、停止可能範囲はF〜Jとなる。この範囲での左リール用の停止テーブルにおける滑りコマ数は、図27(B)のとおり、「2,1,1,0,0」となっている。これは、実データでは、「18,17,17,16,16」である。
停止可能範囲の先頭の値「18」が16以上であることから、メイン制御部41は、停止テーブルに滑りコマ数のデータが格納されていると判断し、後続する他の4つは参照せず、先頭の値から直ちに滑りコマ数を決定する。滑りコマ数はFの値18から16を引いた値であるので、18−16=2となる。次に、停止可能範囲の先頭位置5に滑りコマ数2を加えて、実際の停止位置を算出する。5+2=7であるので、停止位置は7となる。基準ラインが下段であるので、リールの停止位置は、上段が9(青7)、中段が8(ベル)、下段が7(スイカ)となる。メイン制御部41は、この位置で左リールを停止させる。
(3) 第一リール停止後の停止テーブル作成処理
引き続いて、同じ停止制御テーブル16を使用する。処理手順も途中までは、第一リール停止前の処理手順と同じである。すなわち、最初に停止テーブルを初期化した後、処理モードを「滑りコマ数処理モードA」とする。
次に、停止制御テーブル16の最初のデータ129を参照して、滑りコマ数制御データと判断する。現在の処理モードは全リール停止時用の「滑りコマ数処理モードA」である。ところが、既に第一リールが停止済みであるので、このデータ129を含めて3バイト(129,130,131)は無視する。また、処理モードを「滑りコマ数処理モードA」から「滑りコマ数処理モードB」に変更する。
停止制御テーブル16の(129,130,131)に続くデータは、237である。これは、優先度処理モードにおいて用いる優先順位設定データである。そのため、処理モードを「滑りコマ数処理モードB」から「優先度処理モード」に変更する。
停止制御テーブル16に記述された優先順位設定データは、237であるから、これから235を減算した値2が優先値である。停止制御テーブル16の237に続くデータは59であるので、これはビットデータ組合せテーブルの番号である。番号59のビットデータ組合せテーブルは、(73,32,33)であって、番号73,32,33の各々に対応するビットデータは、図33に示すとおりである。
第一停止リールに対応する番号73のビットデータを参照すると、第一停止リールの停止位置7(H)に対応するビットが0である。このため、現在、参照している59のデータは、停止テーブルを作成する条件を満たしていないと判断する。
そこで、停止制御テーブル16の59に続くデータを参照すると、その値は、優先順位設定データを示す238である。したがって、238から235を減算した値である3が優先値となる。238に続くデータは28,29であり、いずれもビットデータ組合せテーブルの番号を示している。
番号28のビットデータ組合せテーブルは、(37,38,39)である。一方、番号29のビットデータ組合せテーブルは、(34,32,39)である。それぞれに対応するビットデータは、図31に示すとおりである。
そこで、番号28、29の各々のビットデータ組合せテーブルの第一停止リールに対応する37番、34番のビットデータを参照すると、第一停止リールの停止位置7(H)に対応するビットが0である。このため、28、29のデータは、停止テーブルを作成する条件を満たしていない。
停止制御テーブル16で29に続くデータを参照すると、その値は、優先順位設定データを示す239である。したがって、239から235を減算した値である4が優先値となる。238に続くデータは27,30であり、いずれもビットデータ組合せテーブルの番号を示している。
番号27のビットデータ組合せテーブルは、(34,35,36)である。一方、番号30のビットデータ組合せテーブルは、(37,32,36)である。それぞれに対応するビットデータは、図31に示すとおりである。
そこで、番号27、30の各々のビットデータ組合せテーブルの第一停止リールに対応する34番、37番のビットデータを参照すると、第一停止リールの停止位置7(H)に対応するビットが0である。このため、27、30のデータは、停止テーブルを作成する条件を満たしていない。
停止制御テーブル16で続くデータは優先順位設定データを示す240であるので、240から235を減算した値の5が優先値となる。続くデータ26は、ビットデータ組合せテーブルの番号である。
番号26のビットデータ組合せテーブルは、[(31,32,33)]である。このビットデータは、図31に示すとおりである。
番号26のビットデータ組合せテーブルの第一停止リールに対応する31番のビットデータを参照すると、第一停止リールの停止位置7(H)に対応するビットが1である。このため、26のデータは、停止テーブルを作成する条件を満たしている。
そこで、番号26のビットデータ組合せテーブルに基づいて停止テーブルを作成する。すなわち、中リール用の停止テーブルについては、番号26のビットデータ組合せテーブル(31,32,33)のうち、中リールに対応する32番のビットデータを参照して、そのビットデータでビットが立っている(=1)箇所を特定し、その箇所に対応する中リール用の停止テーブルの位置の値を優先値5に更新する。
同様に、右リール用の停止テーブルについては、番号26のビットデータ組合せテーブル(31,32,33)のうち、中リールに対応する33番のビットデータを参照して、そのビットデータでビットが立っている(=1)箇所を特定し、その箇所に対応する右リール用の停止テーブルの位置の値を優先値5に更新する。その結果、停止テーブルが図27(C)のように更新される。
停止制御テーブル16で続くデータは241であるので、これも優先順位設定データであって、その値241から235を減算した値である6が優先値である。
さらに、続くデータは5,251,9である。251は、番号補間(「TBLCON」)を意味し、これを挟む2つのビットデータ組合せテーブル番号の間の番号すべてについて処理することを示す。つまり、「5,251,9」は、5〜9までのビットデータ組合せテーブル番号を指定している。
5番目のビットデータ組合せテーブルは、[(8,9,8)]であり、6番目のビットデータ組合せテーブルは、[(10,11,10)]であり、7番目のビットデータ組合せテーブルは、[(12,13,12)]であり、8番目のビットデータ組合せテーブルは、[(10,9,12)]であり、9番目のビットデータ組合せテーブルは、[(12,9,10)]である。
それぞれのビットデータ組合せテーブルによって特定されるビットテーブルを図28および図29に示している。
ビットデータ組合せテーブル番号5[(8,9,8)]のビットデータを参照すると、第一停止リールの停止位置7(H)に対応する8番のビットデータのビットが0であるので、このデータは条件を満たしていない。
ビットデータ組合せテーブル番号6[(10,11,10)]のビットデータを参照すると、第一停止リールの停止位置7(H)に対応する10番のビットデータのビットが1であるので、このデータは条件を満たしている。そこで、このデータにより停止テーブルを更新する。その結果、番号11のビットデータのうちでビットが1に対応する箇所を対象として、中リール用の停止テーブルが優先値6に更新され、番号10のビットデータのうちでビットが1に対応する箇所を対象として、右リール用の停止テーブルが優先値6に更新される。その結果、停止テーブルが図27(D)のように更新される。
次に、ビットデータ組合せテーブル番号7[(12,13,12)]のビットデータを参照すると、第一停止リールの停止位置7(H)に対応する12番のビットデータのビットが0であるので、このデータは条件を満たしていない。
次に、ビットデータ組合せテーブル番号8[(10,9,12)]のビットデータを参照すると、第一停止リールの停止位置7(H)に対応する10番のビットデータのビットが1であるので、このデータは条件を満たしている。
そこで、このデータにより停止テーブルを更新する。その結果、番号9のビットデータのうちでビットが1に対応する箇所を対象として、中リール用の停止テーブルが優先値6に更新され、番号12のビットデータのうちでビットが1に対応する箇所を対象として、右リール用の停止テーブルが優先値6に更新される。その結果、停止テーブルが図27(E)のように更新される。
次に、ビットデータ組合せテーブル番号9[(12,9,10)]のビットデータを参照すると、第一停止リールの停止位置7(H)に対応する12番のビットデータのビットが0であるので、このデータは条件を満たしていない。
停止制御テーブルで続くデータは242であるので、これも優先順位設定データであって、242から235を減算した値の7が優先値となる。続くデータは72であるので、ビットデータ組合せテーブルの番号を示している。番号72のビットデータ組合せテーブルは、[(0,112,12)]である。このビットデータは、図33に示すとおりである。
そこで、番号72のビットデータ組合せテーブルの第一停止リールに対応する0番のビットデータを参照すると、第一停止リールの停止位置7(H)に対応するビットが0である。このため、72のデータは、停止テーブルを作成する条件を満たしていない。
停止制御テーブル16で続くデータは235であるので、これも優先順位設定データであり、235から235を減算した値の0が優先値となる。
続くデータは0,251,4,10,251,25である。251「TBLCON」は番号補間を意味し、2つのビットテーブル番号の間の番号すべてについて処理することを示するから、「0〜4,10〜25」がビットデータ組合せテーブル番号となる。それぞれに対応するビットデータ組合せテーブルのビットデータは、図28〜図31に示されている。
同様の手順によって、「0〜4,10〜25」の各ビットデータ組合せテーブルについて、第一リールの停止位置7(H)に対応するビットが1か否かが順に判断される。その結果、番号19まではこの条件を満たしていないと判断される。そして、続く番号20については、この条件を満たしていると判断される。
通常は、条件を満たしていると判断されたビットデータ組合せテーブルに基づいて停止テーブルが更新されるが、今回のように更新しようとしている優先値が0の場合(図19のS64でNO)には、「未停止リールに対応するビットデータのうち、『全ビットが1』でないビットデータが1つだけ存在する場合のみ処理を行なう」という条件が設定されている(図19のS66、図21の条件7参照)。
ここでは中リールに対応する番号1のビットデータが「全ビットが1」であり、「全ビットが1」でないリールに対応するビットデータが、右リールに対応する21番のビットデータ1つだけであるので、条件を満たすと判断される。
これにより、この条件を成立させた番号1のビットデータに対応する中リールの停止テーブルのみを対象として、番号1のビットデータのビットが1に対応する箇所が“0(停止禁止位置データ)”に更新される(図19のS67、図21の条件8参照)。その結果、停止テーブルが図27(F)のように更新される。
続いて、番号21のビットデータ組合せテーブル[(22,23,24)]については、第一停止リールの停止位置7(H)に対応する22番のビットデータのビットが0であるので、停止テーブルを作成する条件を満たしていないと判断される。
続いて、番号22のビットデータ組合せテーブル[(25,26,27)]については、第一停止リールの停止位置7(H)に対応する25番のビットデータのビットが0であるので、停止テーブルを作成する条件を満たしていないと判断される。
次に、番号23のビットデータ組合せテーブル[(28,29,30)]については、第一停止リールの停止位置7(H)に対応する28番のビットデータのビットが1である。ところが、更新しようとしている優先値が0であるから、さらに、「未停止リールに対応するビットデータのうち、『全ビットが1』でないビットデータが1つだけ存在する」という条件を満たしているか否かがさらに判断される。
ここでは、中リールに対応する番号29のビットデータ、および右リールに対応する番号30のビットデータが両方とも「全ビットが1」でないため、『全ビットが1』でないビットデータが2つ存在することになる。それゆえ、今回は、停止テーブルが更新されない。
以下、同様にして24番、25番のビットデータ組合せテーブルに基づいた処理が実行され、いずれについても停止テーブルを更新する条件を満たしていないと判断される。
続くデータ253は、他の番地のデータへジャンプすることを示す「TBLJMP」である。「TBLJMP」の直後には、ジャンプ先への相対距離を示す1バイトの「d_3rb_a−$−1」データが続いている。
ジャンプ先の[d_3rb_a]の値は、31,251,40,255である(図26参照)。このうち、251は「番号補間」を意味する「TBLCON」であるから、31,251,40は、31〜40のビットデータ組合せテーブル番号を意味する。結局、図26に示した停止制御テーブルの「番号20」の「PRIO+0」を優先値として、0〜4、10〜25、31〜40の番号のビットデータ組合せテーブルが参照されることになる。
31番目のビットデータ組合せテーブルは、[(40,32,33)]である。32番目のビットデータ組合せテーブルは、[(41,35,36)]である。33番目のビットデータ組合せテーブルは、[(42,38,39)]である。34番目のビットデータ組合せテーブルは、[(41,32,39)]である。35番目のビットデータ組合せテーブルは、[(42,32,36)]である。36番目のビットデータ組合せテーブルは、[(43,44,39)]である。37番目のビットデータ組合せテーブルは、[(45,38,33)]である。38番目のビットデータ組合せテーブルは、[(46,47,48)]である。39番目のビットデータ組合せテーブルは、[(45,44,48)]である。40番目のビットデータ組合せテーブルは、[(46,44,33)]である。
これらのビットデータ組合せテーブルは、図31〜図33に示されている。
以下、これらのビットデータ組合せテーブルについて、順に、第一停止リールの停止位置7(H)に対応するビットが0であるか否かが判断される。その結果、すべてのビットデータ組合せテーブルについて、第一リールの停止位置7(H)に対応するビットが0と判断される。
停止制御テーブル16で続くデータ255は、エンドマークを示す「TBLEND」である。このため、停止制御テーブルに基づいた停止テーブルの作成が終了する。このときの停止テーブルは、図27(F)に示すものである。
本実施の形態では、停止操作時に計算される停止可能範囲の先頭位置が21コマのうちどの位置であっても、そこから5コマ分の連続した優先値を連続した5バイトから取得できるように、先頭の4バイトのデータを25バイト目以降にコピーする処理が実行される。
これによって、停止テーブルは、図27(G)のようになる。図27(G)に示す停止テーブルが第二停止用の停止テーブルとなる。
(4) 第二停止リールの停止操作検出時の停止位置決定処理
中リールの停止操作検出時の基準ラインには、図柄番号3のリプレイが位置している。停止可能範囲の先頭位置3は、図柄位置記号ではDである。このため、停止可能範囲はD〜Hとなる。
停止可能範囲の優先値は、図27(G)に示すとおり、「D,E,F,G,H)=(6,6,5,1,1)である。
停止可能範囲の先頭(D)の値「6」が16以下であるので、停止テーブルに設定された値がコントロール制御用の優先値であると判断できる。そこで、メイン制御部41は、この5バイトの中から最も優先値の高い(大きい)位置を基準ラインに停止する位置として決定する。この例では、最も優先値の高い位置は値6のD、Eであるが、選ばれるのは最初に出現した値である。
その結果、Dが停止位置に決定される。これは、図柄番号3のリプレイに対応する。それゆえ、リールの停止位置は、上段が5(青7)、中段が4(チェリー1)、下段が3(リプレイ)となる。メイン制御部41は、この位置で中リールを停止させる。
(5) 第二リール停止後の停止テーブル作成処理
この停止テーブル作成処理は、「(3) 第一リール停止後の停止テーブル作成処理」と同様の処理を行なう。
ただし、「(3) 第一リール停止後の停止テーブル作成処理」では、第一停止リールの停止位置7(H)に対応するビットが0であることを条件としたが、ここでは、さらに、第二停止リールの停止位置3(D)に対応するビットが0であることをも条件とする。
したがって、第一停止リールの停止位置7(H)に対応するビットと、第二停止リールの停止位置3(D)に対応するビットとの双方が0でなければ、停止テーブルを更新しない。
その結果、停止テーブルは、図27(H)のように更新される。
(6) 第三停止リールの停止操作検出時の停止位置決定処理
右リールの停止操作検出時の基準ラインには、図柄番号6の黄7が位置している。停止可能範囲の先頭位置6は、図柄位置記号ではGである。このため、停止可能範囲はG〜Kとなる。
停止可能範囲の優先値は、図27(H)に示すとおり、(G,H,I,J,K)=(1,6,1,1,1)である。
停止可能範囲の先頭(G)の値「1」が16以下であるので、停止テーブルに設定された値がコントロール制御用の優先値であると判断できる。そこで、メイン制御部41は、この5バイトの中から最も優先値の高い(大きい)位置を基準ラインに停止する位置として決定する。この例では、最も優先値の高い位置は値6のHであるから、Hが停止位置に決定される。
これは、図柄番号7のベルに対応する。それゆえ、リールの停止位置は、上段が9(青7)、中段が8(リプレイ)、下段が7(ベル)となる。メイン制御部41は、この位置で右リールを停止させる。
その結果、図25(B)に示されるように、上段のラインに「青7・青7・青7」が揃ってBB2の入賞が発生する。
次に、以上説明した本実施の形態の変形例や特徴点を列挙する。
(1) 本実施の形態では、第一停止あるいは第二停止時に当選役に対応する図柄が有効ラインに停止しなくても、次のリールを停止させる際には、テーブル制御およびコントロール制御の少なくともいずれか一方を実行することによって当選役に対応する図柄を有効ラインに引込む。このような制御は、当選状況に応じて選択される停止制御テーブルを用いて、実際の停止出目とビットデータとを比較判定することによって、実現可能となる。また、このような制御をすることによって、遊技者に対して、あともう一歩で入賞を発生させることができる状態であったことを示唆できる。
(2) 図5に示した停止制御用の各種データは、たとえば、メイン制御部41のROM41bに格納されている。なお、図面に示した各種データは概念図であって、図面に示したようなテーブル形式でROM41bに格納する必要はない。たとえば、各テーブルに含まれるデータが制御プログラム内のアドレスによって指定される領域に離散的に配置されていてもよい。すなわち、本実施の形態のテーブルの概念は、このようにテーブルデータが制御プログラム内に離散配置されるようなケースをも包含している。
(3) 本実施の形態に係るスロットマシンでは、各リール2L、2C、2Rの手前側の位置に液晶表示器51の表示領域51aが配置されている。しかしながら、このような表示領域51aは、必須の構成ではない。
(4) リールの停止制御に必要となる、遊技状態情報(一般遊技、特別遊技)、および当選フラグの設定状況を示す情報等をメイン制御部41からサブ制御部91へコマンド送信してもよい。この場合、リールの停止制御をサブ制御部91が実行するように構成することも可能である。
(5) リール2L、2C、2Rを含む可変表示装置を画像表示装置によって構成することにより、図柄を仮想的な画像リール2L、2C、2Rによって変動表示させてもよい。
(6) 本実施の形態において、コントロール制御データは変則押しの第二停止に必ず使用されるとともに、変則押し以外でも、第一停止リールの停止出目に応じて、第二停止用として使用され得る。つまり、停止テーブルは、第一停止に備えて滑りコマ数テーブルによって作成された後、左リールが第一停止した場合でも、第一停止した出目に応じて、停止テーブルが優先値によって更新される場合がある。
たとえば、図19の優先度処理において、第一停止リールが左リールである場合には、停止している左リールの状態が条件5を満たすと判断され(S61)、中リールが未停止で条件4を満たすと判断され(S62)、右リールが未停止で条件4を満たすと判断され(S63)、優先順位レジスタの値が2以上であれば(S64)、条件6に従って停止テーブルが優先値で更新され得る。
(7) 停止制御テーブルには、ビットデータおよびビットデータ組合せテーブルを特定できる番号が記述されており、ビットデータおよびビットデータ組合せテーブルの各々は、停止制御テーブルに記述された番号に基づいて呼び出される。これにより、停止制御テーブル自体にビットデータやビットデータ組合せテーブルを記述する場合と比較して、停止制御テーブルに必要な容量を削減している。しかし、このような構成に代えて、停止制御テーブル自体にビットデータやビットデータ組合せテーブルを記述してもよい。
(8) 停止制御テーブルには、コントロール制御データよりも先にテーブル制御データが記述されている。このため、第一停止時に基本的にテーブル制御を行なうこと、あるいは、第二停止や第三停止においても、テーブル制御を優先して行なうことを前提とした場合、テーブル制御データよりも先にコントロール制御データが記述されている場合と比較して、停止テーブルの作成を早い段階で終えることができる。
本実施の形態では、原則的にはテーブル制御を採用することによってバラエティに富んだ出目の出現を可能にしている。一方、たとえば、変則押しのような、遊技者があまりやらない操作手順に対応する出目の出現種類については、コントロール制御の採用によってある程度絞り込み、全体として、停止制御に必要な記憶容量の削減を図っている。
(9) 本実施の形態では、停止可能範囲のうちに、最も高い優先値が設定された箇所が複数存在するときには、先頭位置から最も近い箇所を停止位置とした。しかしながら、これに代えて、最も高い優先値が設定された箇所のうちのいずれを停止位置とするかをランダムに決定してもよい。
(10) 図9に示すように、滑りコマ数制御データBおよび1〜3の1バイト目は、第一停止位置をチェックするためのビットデータ番号が格納されている。しかし、この第一停止位置は、いずれも左リールのみを対象としており、変則押し、すなわち、第一停止が中リールあるいは右リールであった場合は対象とされていない。
本実施の形態では、第一停止リールが中リールまたは右リールであった場合には、常に、停止制御テーブル中のコントロール制御データによって停止テーブルが作成される。
すなわち、変則押しによって第一停止が中リールまたは右リールであった場合には、停止制御テーブル中のいずれの滑りコマ数制御データB,1〜3が参照されたときでも、図18の滑りコマ数処理において、処理モードとリール状態とが条件1を満たさないと判断される(S51)。これは、図20に示すように、第一停止が中または右リールのときには条件1が満たされることがないからである。
(11) 本実施の形態で説明したリールの停止制御では、当選結果に応じた入賞役の出目を単に引込むためのみならず、“リーチ目”と称される特有の出目を表示できるように、停止テーブルが作成される。“リーチ目”とは、ビッグボーナス等の特別役が当選しているときに導出され得る表示態様をいう。
たとえば、ビッグボーナス当選フラグと任意の小役当選フラグとが共に設定されているゲームにおいて、当選しているビッグボーナスと小役のいずれも揃わないようなゲーム結果として、ビッグボーナス当選しているときに特有の出目を形成することで、遊技者にビッグボーナス当選を告知する。
第一〜第三停止に応じて停止テーブルを作成する処理では、ビッグボーナスが当選しているか否かに応じて、リーチ目を考慮した滑りコマ数テーブルの作成が行なわれる。これにより、ビッグボーナス当選時にビッグボーナスを揃えることができず表示結果が外れとなるタイミングで停止操作が検出されたときには、リーチ目が導出される。
いずれのボーナス(BB1〜BB3)にも当選していないときに外れの表示結果を導出する場合には、リーチ目以外のはずれとなる図柄の組合せが導出される。
なお、複数のリールを備えたスロットマシンの一例として、リール2L、2C、2Rの3つのリール2L、2C、2Rを備えるスロットマシンを例示したが、リールの数は3つに限定されるものではなく、4つあるいはそれ以上の数のリールにしてもよい。
本実施の形態では、再遊技役とビッグボーナスと小役との3種類の入賞役を比較したときの、図柄の引き込み優先順序が「再遊技役>ビッグボーナス>小役」の順となるように、停止テーブルが作成される。
このため、ビッグボーナス当選フラグとリプレイ当選フラグとの双方がセットされているときに、リプレイの方がビッグボーナスよりも優先されて発生することになり、セットされているビッグボーナス当選フラグによるビッグボーナスの発生は、次回のゲーム以降に持ち越される。
ビッグボーナスは、そもそも大きな利益を遊技者に付与するためのゲーム状態であるから、ビッグボーナスが一旦発生してしまえば大きな利益がまとめて遊技者に付与されて射倖性に一時的に影響を与えることは当然ではあるが、リプレイをビッグボーナスに優先させて発生させることにより、ビッグボーナスが発生するまでに消化されるゲーム数を多くすることができるため、単位時間あたりの遊技者の利益額を抑えることができる。
したがって、リプレイの発生を優先させることそれ自体により、賭数の観点から遊技者の単位時間当りの投資額(いわゆるIN)を抑えることができるのみならず、ビッグボーナス当選フラグとリプレイ当選フラグとの双方セット状態において、リプレイの発生を優先させることで、ビッグボーナスの発生により遊技者に与えられる多額の利益(いわゆるOUT)の発生のタイミングを遅らせることができ、賭数の観点からの比較的小額のINのみならず、ビッグボーナス利益の観点からの比較的多額のOUTをも抑えることが可能になり、射倖性を適度に抑えることが、IN・OUTの双方から可能になる。
また、ビッグボーナス当選フラグが消去されずに進行した次回のゲームにおいてビッグボーナス当選フラグに加えて小役当選フラグがセットされたときには、ビッグボーナスの停止結果を表示させるための制御が小役の停止結果を表示させるための制御よりも優先的に行なわれる。このため、ビッグボーナスと小役とのうちでも価値が大きいビッグボーナスを優先させて発生させることができ、遊技者のビッグボーナスに対する期待に応えることができる。
また、スロットマシン1は、第二停止リール用あるいは第三停止リール用に予め作成された数多くの停止テーブルを予め記憶しているのではなく、第一停止リールの図柄の表示結果を考慮してその都度第二、第三停止リール用の停止テーブルを作成しているため、リールの停止制御に必要なデータ記憶容量を削減できる。
(12) 本実施の形態では、たとえば、リールの停止後に選択されたビットデータによって、リールの停止位置を判定し、停止位置に対応するビットデータのビットが1であれば、停止テーブルの更新が許可される(テーブル制御のときには滑りコマ数を更新する。コントロール制御のときにはPRIO値で置き換える。)。
本実施の形態に係る番号0〜112のビットデータは、図15に示されるように、1箇所だけが1に設定されているのではなく、複数箇所が1に設定されているものを含んでいる。
つまり、本実施の形態に係るビットデータは、リールの複数の停止位置に対して、停止テーブルの更新が許可される。換言すれば、本実施の形態に係るビットデータは、リールの停止位置別に規定されているのではなく、リールの複数の停止位置をまとめて判別可能に構成されている。
このことから、本実施の形態に係るビットデータは、ある停止位置のみに対応するビットデータと、他の停止位置のみ対応するビットデータとをまとめて一つのデータにしたものであるともいえる。それゆえ、本実施の形態の場合には、1つのチェック用データで複数箇所の停止位置を判定可能である。このため、チェック用データをリールの停止位置毎に一つ一つ設ける場合と比較して、チェック用データに必要とされる記憶容量を削減できる。
また、リールの停止位置別にビットデータを用意し、リールが停止した段階で、停止位置に対応するビットデータを順に検索するような構成と比較して、ビットデータに必要な記憶容量を削減できる。
(13) 本実施の形態に係るスロットマシンによれば、第一停止の際には、滑りコマ数テーブルを用いたテーブル制御によってリールを停止させるため、バラエティに富んだ出目の出現が可能となる。これに対して、第二停止の際には、第一停止時の出目に応じて、テーブル制御とコントロール制御とを選択的に用いるため、第一停止時の出目がたとえば、変則押しの出目である場合には、出目のバラエティよりも記憶容量の制限を優先させてコントロール制御にする一方、第一停止時の出目が興味深いもの(ビッグボーナス図柄の出現、リーチ目を構成する図柄の出現など)であるときにはテーブル制御によりバラエティに富んだ出目の出現を可能にするなど、第一停止時の出目を考慮した制御が可能になる。
(14) 本実施の形態では、テーブル制御とコントロール制御とに共通の停止テーブルを用いたが、テーブル制御用の停止テーブルとコントロール制御用の停止テーブルとを各々別個に用いてもよい。
(15) 滑りコマ数テーブルには、圧縮されていない滑りコマ数データを格納しておいてもよい。
(16) 本実施の形態では、停止制御テーブル内において、コントロール制御データよりもテーブル制御データが優先して参照される。このため、コントロール制御よりもテーブル制御が優先して実行される。コントロール制御よりもテーブル制御の方が出目を多様化することが可能であるために、コントロール制御よりもテーブル制御を優先して実行することによって、すでに停止済みのリールの停止位置との関係から、可能な限りにおいてバラエティに富んだ出目を導出できる。
(17) 本実施の形態では、図5に示す各種テーブルおよびデータがメイン制御部41のROM41bに記憶されている。しかしながら、これに代えて、これらのテーブルおよびデータを遊技制御基板以外の基板(たとえば、演出制御基板90)に設けられた記憶部(ROM等)に記憶してもよい。たとえば、図5に示す各種テーブルおよびデータを演出制御基板90のサブ制御部91に記憶させた上で、サブ制御部91がメイン制御部41に代わってリールの停止制御を実行するようにしてもよい。あるいは、図5に示す各種テーブルおよびデータを遊技制御基板以外の第二制御基板に記憶させ、メイン制御部41と第二制御基板上の第二制御部とで通信可能に構成した上で、メイン制御部41の送信指令(コマンドデータ)に応じて、第二制御部が必要なデータをメイン制御部41へ送信するようにしてもよい。この場合には、メイン制御部41がリールの停止制御を実行する。
(18) 停止制御テーブルは、テーブル制御データとコントロール制御データとを含み、コントロール制御データは常にテーブル制御データよりも後に処理が実行されるように配置されている。しかしながら、これに代えて、コントロール制御データがテーブル制御データよりも先に処理されるように、停止制御テーブルを構成してもよい。あるいは、テーブル制御データがコントロール制御データよりも先に処理される停止制御テーブルと、コントロール制御データがテーブル制御データよりも先に処理される停止制御テーブルとが複数種類の停止制御テーブルに含まれるものとしてもよい。
(A) 本実施の形態に係るスロットマシンは、予め定めた配列順で複数種類の図柄を変動させる複数のリール(リール2L、2C、2R)を有する可変表示装置を備え、1ゲームに対して賭数を設定することによりゲームが開始可能となるとともに、全リールで図柄の変動が停止して図柄の表示結果が導出されることにより1ゲームが終了し、導出された図柄の表示結果の組合せに応じて入賞が発生可能とされたスロットマシン(スロットマシン1)であって、入賞の発生を許容するか否かを決定する事前決定手段(S2)と、リールにおける図柄の配列位置別に滑りコマ数を規定した複数種類の滑りコマ数テーブルを記憶する滑りコマ数テーブル記憶手段(ROM41b)と、前記事前決定手段の決定に基づいて、前記滑りコマ数テーブルをリール別に選択する滑りコマ数テーブル選択手段(図18の滑りコマ数処理)と、前記事前決定手段の決定に基づいて、リールにおける図柄の配列位置別に導出優先順位を規定した優先順位テーブル(図6の停止テーブルに優先値が設定されたもの)をリール別に作成する優先順位テーブル作成手段(図19の優先度処理)と、前記複数のリールの各々に対応して設けられ、リールにおける図柄の変動を停止させるための停止操作手段(ストップスイッチ8L、8C、8R)と、前記停止操作手段の停止操作を検出する停止操作検出手段(S6、S9、S12)と、全リールで図柄の変動を開始させた後、前記停止操作手段の停止操作が検出されたときに、停止操作に対応するリールの図柄の変動を停止させることにより、当該リールの図柄の表示結果を導出させる制御を行なう導出制御手段(図16の停止制御処理)とを含み、前記導出制御手段は、前記停止操作検出手段によって1ゲーム開始後の第一停止操作が検出されたときには、前記第一停止操作に対応するリールを対象にして、前記滑りコマ数テーブル選択手段が選択した滑りコマ数テーブルに基づいて図柄の表示結果を導出させるテーブル制御を実行し(図9に示す滑りコマ数制御データAはリールが未停止時に使用される。その結果、第一停止に対応するための停止テーブルに、滑りコマ数データが格納される。)、前記第一停止操作によりリールが停止した後に第二停止操作が検出されたときには、前記第一停止操作に対応するリールに導出された図柄の表示結果に基づいて、前記テーブル制御と、前記優先順位テーブル作成手段が作成した優先順位テーブルに基づいて図柄の表示結果を導出させるコントロール制御とのうちのいずれか一方を選択的に実行する(図9に示す滑りコマ数制御データB、1は、第二停止に備えて使用され得る一方、コントロール制御データは変則押しの第二停止に使用されるとともに第一停止リールの停止出目に応じて、第二停止に備えて使用され得る。)。
このような構成によれば、第一停止の際には、滑りコマ数テーブルを用いたテーブル制御によってリールを停止させるため、バラエティに富んだ出目の出現が可能となる。これに対して、第二停止の際には、第一停止時の出目に応じて、テーブル制御とコントロール制御とを選択的に用いるため、第一停止時の出目がたとえば、変則押しの出目である場合には、出目のバラエティよりも記憶容量の制限を優先させてコントロール制御にする一方、第一停止時の出目が興味深いもの(ビッグボーナス図柄の出現、リーチ目を構成する図柄の出現など)であるときにはテーブル制御によりバラエティに富んだ出目の出現を可能にするなど、第一停止時の出目を考慮した制御が可能になる。その結果、リールの停止制御に必要なデータ記憶容量を削減可能としながらも、表示結果を多様化させることができる。
(B) 本実施の形態に係るスロットマシンは、前記テーブル制御と前記コントロール制御とのうちのいずれを実行するかを前記導出制御手段が選択するときに用いる導出制御テーブル(図5、7、8、9、12に示す停止制御テーブル)を記憶する導出制御テーブル記憶手段(ROM41b)を含む。
このような構成によれば、テーブル制御を実行するか、コントロール制御を実行するかの選択を容易にすることができる。
(C) 前記導出制御テーブル記憶手段は、前記事前決定手段が入賞の発生を許容した入賞役種別によって異なる複数種類の導出制御テーブルを記憶しており(図7)、前記導出制御テーブルは、前記テーブル制御に用いるテーブル制御データ(滑りコマ数制御データ)と、前記コントロール制御に用いるコントロール制御データ(優先順位設定データおよび設定箇所特定用データ)とのうちの少なくとも一方を含み(図5、図8、図9)、前記テーブル制御データは、表示結果の導出状態に基づいて前記滑りコマ数テーブルを指定するための複数種類の滑りコマ数制御データ(滑りコマ数制御データA、B、1〜3)を含み、前記コントロール制御データは、表示結果の導出状態に基づいて前記優先順位テーブルを作成するための複数種類の優先順位制御データ(優先順位設定データおよび設定箇所特定用データ)を含み、前記滑りコマ数テーブル選択手段は、前記導出制御テーブルに格納された複数種類の滑りコマ数制御データを予め定めた順序で検索し、表示結果の導出状態と一致する滑りコマ数制御データがヒットしたときに(S54でYES)、前記導出制御テーブルに対する検索処理を終えて、ヒットした滑りコマ数制御データに基づいて前記滑りコマ数テーブルを選択する(S55)。
このような構成によれば、表示結果の導出状態と一致する滑りコマ数制御データがヒットした段階で検索処理を終えるため、滑りコマ数テーブルの選択処理を高速化できる。
(D) 前記滑りコマ数テーブル記憶手段は、2以上のリールに共用可能な滑りコマ数テーブルを含む複数種類の滑りコマ数テーブルを、各々を特定するための識別符号と共に記憶している(図13参照)。
このような構成によれば、滑りコマ数テーブルが2以上のリールに共用可能であるため、滑りコマ数テーブルに必要となる記憶容量を削減できる。
(E) 表示結果の導出状態をチェックするために用いるチェック用データ(図15のビットデータ)を記憶するチェック用データ記憶手段(ROM41b)を含み、前記チェック用データは、想定される表示結果をリールにおける図柄の配列位置別に示すデータであり(図15参照)、前記チェック用データ記憶手段は、複数箇所の配列位置が想定表示結果として設定されたチェック用データを含む複数種類のチェック用データを記憶しており(図15に示す番号0〜112の複数のビットデータ)、前記滑りコマ数テーブル選択手段は、表示結果の導出状態と、前記滑りコマ数制御データにより特定されるチェック用データとを比較して、表示結果の導出状態と前記チェック用データが示す想定表示結果とが一致するときに、当該滑りコマ数制御データに基づいて前記滑りコマ数テーブルを選択する(図18のS53〜S55)。また、前記滑りコマ数テーブル選択手段は、前記第一停止操作によりリールが停止した後は、表示結果の導出状態と前記チェック用データとを比較して、表示結果の導出状態と前記チェック用データが示す想定表示結果とが一致するときに、当該チェック用データに対応付けられた前記滑りコマ数テーブルを選択し(図18のS53〜S55)、前記導出制御手段は、前記第一停止操作によりリールが停止した後に第二停止操作が検出されたときには、前記第二停止操作に対応するリールを対象にして、前記滑りコマ数テーブル選択手段が新たに選択した滑りコマ数テーブルに基づいて図柄の表示結果を導出させるテーブル制御を実行可能である(図9の滑りコマ数制御データA,B,1,2,3のいずれかに基づいて作成された停止テーブルに基づく停止制御)。
このような構成によれば、チェック用データを用いることで、出目に応じた滑りコマ数テーブルの選択処理を高速化できる。さらに、チェック用データには、複数箇所の配列位置が想定表示結果として設定されているために、1つのチェック用データで複数箇所の配列位置を判定可能である。このため、チェック用データを配列位置毎に一つ一つ設ける場合と比較して、チェック用データに必要とされる記憶容量を削減できる。
(F) 表示結果の導出状態をチェックするために用いるチェック用データ(図15のビットデータ)を記憶するチェック用データ記憶手段(ROM41b)を含み、前記チェック用データは、想定される表示結果をリールにおける図柄の配列位置別に示すデータであり(図15参照)、前記チェック用データ記憶手段は、複数箇所の配列位置が想定表示結果として設定されたチェック用データを含む複数種類のチェック用データを記憶しており(図15参照)、前記優先順位テーブル作成手段は、表示結果の導出状態と、前記優先順位制御データにより特定されるチェック用データとを比較して、表示結果の導出状態と前記チェック用データが示す想定表示結果とが一致するときに、当該優先順位制御データに基づいて前記優先順位テーブルを作成する(図19および図21参照)。
このような構成によれば、チェック用データを用いることで、出目に応じた優先順位テーブルの作成処理を高速化できる。
(G) 本実施の形態では、前記第一停止操作に対応するリールが特定リール(変則押しの第一停止リール(中か右))のときには、前記第一停止操作に対応するリールに導出された図柄の表示結果に関わらず、前記第二停止操作に対応するリールを対象にして、前記コントロール制御を常に実行する(図9に示すように、コントロール制御データは、変則押しの第2停止では必ず使用される。)。
このような構成によれば、第一停止リールが特定リールのときにはコントロール制御を採用することによって第一停止リールが特定リールであったときの出目の多様性をある程度制限することにより、その分を第一停止リールが特定リール以外の場合を想定したときの出目の種類を増やす方に割り振ることができる。このため、全体としては、極力、停止制御に必要な記憶容量を削減しつつも、ゲームにおいて効果的なシーンにおける出目の多様性を確保できる。
(H) 本実施の形態に係るスロットマシンは、前記滑りコマ数テーブル選択手段により選択された滑りコマ数テーブルに対応する圧縮滑りコマ数テーブルを展開する展開手段(図18のS55において滑りコマ数が設定される際に、圧縮データが展開される)を含んでおり、前記導出制御手段は、前記展開手段により展開された滑りコマ数テーブルに基づいて図柄の表示結果を導出させるテーブル制御を実行可能であり(図18の滑りコマ数処理により作成された停止テーブルに基づいてリールを停止)、前記圧縮滑りコマ数テーブルは、最小滑りコマ数に向かって滑りコマ数が減少するパターンを構成する複数の滑りコマ数の組合せを一単位データに圧縮することにより得られる圧縮データの組合せを含んで作成されている(図14の圧縮展開用データ)。
このような構成によれば、滑りコマ数データを圧縮する際に、滑りコマ数データを効率よく圧縮できる。なお、各滑りコマ数テーブル0〜145の各々を個別に圧縮してもよい。たとえば、番号0の滑りコマ数テーブルについて、テーブルを構成する21コマのデータを3コマずつの計7組に分けて、各組毎に所定のアルゴリズムで圧縮する。このような圧縮手法を番号1〜145の各々の滑りコマ数テーブルについても適用する。
しかしながら、このような圧縮手法では、圧縮単位が所定コマ数に固定されているため、たとえば、3コマ毎に圧縮したのでは、7組×146テーブルの圧縮データ量になり、テーブル数に比例してデータ量が多くなる。
これに対して、各滑りコマ数テーブルの各々を圧縮単位とするのではなく、図14に示されるように、滑りコマ数の配列パターンに着目して、その配列パターンを圧縮単位とし、これを各滑りコマ数テーブルに適用すれば、一つの滑りコマ数テーブルに係る圧縮データ量をより小さく収めることが可能となる。
(I) 本実施の形態に係るスロットマシンは、表示結果の導出状態をチェックするために用いるチェック用データ(図15のビットデータ)を記憶するチェック用データ記憶手段(ROM41b)を含み、前記チェック用データは、想定される表示結果をリールにおける図柄の配列位置別に示すデータであり(図15参照)、前記チェック用データ記憶手段は、複数箇所の配列位置が想定表示結果として設定されたチェック用データを含む複数種類のチェック用データを記憶しており(図15に示す番号0〜112の複数のビットデータ)、前記滑りコマ数テーブル選択手段は、表示結果の導出状態と前記チェック用データとを比較して、表示結果の導出状態と前記チェック用データが示す想定表示結果とが一致するときに、当該チェック用データに対応付けられた前記滑りコマ数テーブルを選択する(図18のS53〜S55)。
このような構成によれば、複数箇所の配列位置が想定表示結果として設定されたチェック用データを用いて滑りコマ数テーブルを選択するため、滑りコマ数テーブルの選択処理負担を軽減できる。
(J) 前記滑りコマ数テーブル選択手段は、1ゲームが開始してから前記停止操作手段の操作が有効化される前に、全リールの各々に対応する滑りコマ数テーブルの選択を終える(図16のS5、S6)。
このような構成によれば、停止操作の有効化前に滑りコマ数テーブルの選択を終えているため、停止操作に対する処理をスムーズに行なうことができる。
(K) 前記導出制御手段は、前記停止操作手段の停止操作が検出されたとき、既に図柄の変動を停止しているリールに前記事前決定手段が発生を許容した入賞に対応する表示結果が導出されていない場合でも、前記停止操作に対応するリールにおいて前記事前決定手段が発生を許容した入賞に対応する表示結果を導出するように予め定めた最大滑りコマ数の範囲でリールの変動を停止させる(第1停止あるいは第2停止時に、当選役に対応する図柄が停止しなくても、次のリールを停止させる際には、当選役に対応する図柄を引込む制御を実行する。)。
このような構成によれば、遊技者に対して、あともう一歩で入賞を発生させることができる状態であったことを示唆できる。
(L) なお、今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなく特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。