次に、本発明の実施の形態について、図面を参照しながら説明する。図1は、遊技機1の外観を示す正面図であり、図2は、遊技機1の内部構成を示すブロック図である。
図1に示すように、遊技機1は、その外部構成として、キャビネット2aと、前面扉2bと、表示窓4L、4C、4Rと、スタートレバー6と、停止ボタン7L、7C、7Rと、ランプ9a〜9c、17と、ベットボタン11〜13と、払い出しボタン14と、メダル払い出し口15と、メダル受け皿16と、表示装置5、18〜20と、スピーカ21L、21Rと、メダル投入口22と、配当表パネル23とを備える。図2に示すように、遊技機1は、その内部構成として、リール3L、3C、3Rと、主制御回路60と、ホッパー52と、メダル検出装置52Sと、副制御回路80とを備える。主制御回路60は、マイコン30と、クロックパルス発生回路34と、分周器35と、乱数発生器36と、サンプリング回路37と、モータ駆動回路41と、ホトセンサ42L、42C、42Rと、リール位置検出回路42と、リール停止信号回路43と、モータ49L、49C、49Rと、ホッパー駆動回路51と、払い出し完了信号発生回路53と、副制御回路通信ポート54と、スタートスイッチ6Sと、投入メダルセンサ22Sと、ベットスイッチ11S、12S、13Sと、払い出しスイッチ14Sと、を備える。マイコン30は、CPU(Central Processing Unit)31と、ROM(Read Only Memory)32と、RAM(Random Access Memory)33と、I/Oポート38とを備える。
図1に示すキャビネット2aは、遊技機1の内部構成、即ちリール3L、3C、3Rと、主制御回路60と、ホッパー52と、メダル検出装置52Sと、副制御回路80とを収納する。前面扉2bは、キャビネット2aの前面に開閉可能に設けられ、前面扉2bを空けることで、遊技機1の内部構成が外部に露出される。
図3は、リール3L、3C、3Rの周面に描かれる図柄配列を示す説明図であり、図4は、モータ49L、49C、49Rの構成を示す説明図である。リール3L、3C、3Rは、円筒形状となっており、リール3L、3C、3Rの周面は、図1に示す前面扉2bに対向し、図3に示す図柄配列が描かれ、各図柄には、図柄番号が設定される。例えば、リール3Lの図柄番号「6」に対応する図柄は「ベル」となる。なお、一部の図柄番号に対応する図柄が空白となっているが、これら空白部分には、ビッグボーナス図柄等が描かれていても良い。
リール3Lは、その中心軸に図4に示すロータ495Lが設けられ、中心軸を回転軸としてロータ495Lと共に回転し、リール3Cは、その中心軸にロータ495Cが設けられ、中心軸を回転軸としてロータ495Cと共に回転し、リール3Rは、その中心軸に図4に示すロータ495Rが設けられ、中心軸を回転軸としてロータ495Rと共に回転する。リール3L、3C、3Rは、図柄番号が増加する方向、具体的には、図3に示す図柄配列の上端から下端に向かう方向に回転する。以下の説明では、リール3Lの図柄番号を「左図柄番号」とし、リール3Cの図柄番号を「中図柄番号」とし、リール3Rの図柄番号を「右図柄番号」とする。
図1に示す表示窓4Lは、前面扉2bのうち、リール3Lの周面に対向する部分に設けられ、上段、中段、下段に区分され、上段から下段に向かう方向は、リール3Lの回転方向に一致する。
表示窓4Lは、リール3Lの周面に描かれた図柄の一部を表示する。具体的には、表示窓4Lは、リール3Lの回転中は、表示窓4Lの上段から下段に移動する図柄を表示し、リール3Lの停止中は、表示窓4Lの上段、中段、下段のそれぞれに図柄を表示する。ここで、表示窓4Lの上段から下段に向かう方向は、リール3Lの回転方向に一致するので、リール3Lの停止中に表示窓4Lに表示される図柄は、図柄番号が連続し、上段の図柄番号が中段の図柄番号よりも大きく、中段の図柄番号が下段の図柄番号よりも大きい。
表示窓4Cは、前面扉2bのうち、リール3Cの周面に対向する部分に設けられ、上段、中段、下段に区分され、上段から下段に向かう方向は、リール3Cの回転方向に一致する。
表示窓4Cは、リール3Cの周面に描かれた図柄の一部を表示する。具体的には、表示窓4Cは、リール3Cの回転中は、表示窓4Cの上段から下段に移動する図柄を表示し、リール3Cの停止中は、表示窓4Cの上段、中段、下段のそれぞれに図柄を表示する。ここで、表示窓4Cの上段から下段に向かう方向は、リール3Cの回転方向に一致するので、リール3Cの停止中に表示窓4Cに表示される図柄は、図柄番号が連続し、上段の図柄番号が中段の図柄番号よりも大きく、中段の図柄番号が下段の図柄番号よりも大きい。
表示窓4Rは、前面扉2bのうち、リール3Rの周面に対向する部分に設けられ、上段、中段、下段に区分され、表示窓4Rの上段から下段に向かう方向は、リール3Rの回転方向に一致する。
表示窓4Rは、リール3Rの周面に描かれた図柄の一部を表示する。具体的には、表示窓4Rは、リール3Rの回転中は、表示窓4Rの上段から下段に移動する図柄を表示し、リール3Rの停止中は、表示窓4Rの上段、中段、下段のそれぞれに図柄を表示する。ここで、リール3Rの停止中に表示窓4Rに表示される図柄は、図柄番号が連続し、上段の図柄番号が中段の図柄番号よりも大きく、中段の図柄番号が下段の図柄番号よりも大きい。
表示窓4L、4C、4Rの各段により、5本の停止ライン8a〜8eが構成される。具体的には、表示窓4L、4C、4Rの中段により停止ライン8a(センターライン)が、表示窓4L、4C、4Rの上段により停止ライン8b(トップライン)が、表示窓4L、4C、4Rの下段により停止ライン8c(ボトムライン)が、表示窓4Lの上段、4Cの中段、4Rの下段により停止ライン8d(クロスダウンライン)が、表示窓4Lの下段、表示窓4Cの中段、表示窓4Rの上段により停止ライン8e(クロスアップライン)がそれぞれ構成される。したがって、停止ライン8a〜8eは、リール3L、3C、3Rが停止した際に、表示窓4L、4C、4Rに表示された図柄を一つずつ通る。
図2に示すモータ49Lは、図4に示すように、コイル491L(第1相コイル)と、コイル492L(第2相コイル)と、コイル493L(第3相コイル)と、コイル494L(第4相コイル)と、ロータ495Lとを備え、コイル491L、494Lの組と、コイル493L、494Lの組と、コイル492L、493Lの組と、コイル491L、494Lの組とは、順次励磁される。これにより、ロータ495Lが回転する。したがって、モータ49Lは、リール3Lを回転させる。各コイルの組が4回ずつ励磁されることで、表示窓4Lのいずれかの段に表示された図柄は、次の段に移動する。例えば、表示窓4Lの上段に表示された図柄は、各コイルの組が4回ずつ励磁されることで、表示窓4Lの中段に移動する。したがって、表示窓4Lは、リール3Lの回転中は、表示窓4Lの上段から下段に移動する図柄を表示し、コイルの組の励磁が停止される(即ち、リール3Lが停止する)と、表示窓4Lの上段、中段、下段のそれぞれに図柄を表示する。
同様に、モータ49Cは、コイル491C〜494Cと、ロータ495Cとを備え、モータ49Rは、コイル491R〜494Rと、ロータ495Rとを備える。モータ49C、49Rがリール3C、3Rを回転させる方法は、モータ49Lと同様なので、説明を省略する。なお、以下の説明において、いずれかのコイルの組が1回だけ励磁された際にリール3L、3C、3Rが回転する回転角度を「1ステップ」とし、各コイルの組が4回ずつ励磁された際にリール3L、3C、3Rが回転する回転角度を「1コマ」とする。したがって、例えば、リール3Lが1コマ回転すると、それまで表示窓4Lの上段に表示されていた図柄は、表示窓4Lの中段に表示される。また、1ステップ分の回転角度は1コマ分の回転角度の1/16となる。
図1に示す表示装置5は、各種の演出内容を表示し、スタートレバー6が倒されると、ゲームが開始される。停止ボタン7Lが押下されると、リール3Lが停止し、停止ボタン7Cが押下されると、リール3Cが停止し、停止ボタン7Rが押下されると、リール3Rが停止する。ベットボタン11が押下されると、遊技機1に貯留(クレジット)されたメダル(以下、「貯留メダル」と称する)が1減少し(即ち、貯留メダルが1枚賭けられ)、ランプ9aが点灯し、停止ライン8aが有効ラインとなる。ベットボタン12が押下されると、貯留メダルの枚数が2減少し(即ち、貯留メダルが2枚賭けられ)、ランプ9bが点灯し、停止ライン8a〜8cが有効ラインとなる。ベットボタン13が押下されると、貯留メダルの枚数が3減少し(即ち、貯留メダルが3枚賭けられ)、ランプ9cが点灯し、停止ライン8a〜8e(全ての停止ライン)が有効ラインとなる。貯留メダルの枚数は、RAM33に記憶される。払い出しボタン14が押下されると、貯留メダルがメダル払い出し口15から払い出され、メダル受け皿16に貯められる。
ランプ17は、遊技状態がボーナス内部当選状態となる場合にのみ点灯する。「チェリー役」、「ベル役」、「スイカ役」、「リプレイ役」、及び「ハズレ」のうち、いずれかの役が内部当選役として設定される。即ち、これらの役のうち、いずれかの役が内部当選される。内部当選役及び遊技状態は、RAM33に記憶される。
表示装置18は、内部当選役を構成する図柄が有効ラインに揃った際に、内部当選役に対応する払い出し枚数が表示される。ここで、内部当選役を構成する図柄は、「表示窓4Lの各段のうち、有効ラインが通る段に停止表示される図柄」、「表示窓4Cの各段のうち、有効ラインが通る段に停止表示される図柄」、「表示窓4Rの各段のうち、有効ラインが通る段に停止表示される図柄」で構成される。具体的には、「チェリー役」は、「チェリー」、「任意の図柄」、「任意の図柄」で構成され、「ベル役」は、「ベル」、「ベル」、「ベル」で構成され、「スイカ役」は、「スイカ」、「スイカ」、「スイカ」で構成され、「リプレイ役」は、「リプレイ」、「リプレイ」、「リプレイ」で構成され、「ハズレ」は、これら以外の図柄で構成される。「ボーナス」または「ベル役」に対応する払い出し枚数は15枚であり、「チェリー役」に対応する払い出し枚数は2枚であり、「スイカ役」に対応する払い出し枚数は6枚である。「リプレイ役」に対してはメダルは払い出されないが、「リプレイ役」が内部当選し、且つ「リプレイ役」を構成する図柄が有効ラインに揃った場合には、貯留メダルの枚数が減少することなく、次のゲームが開始可能となる。
表示装置19は、貯留メダルの枚数を表示し、表示装置20は、ボーナス遊技状態の残りゲーム数を表示する。表示装置18〜20は、7セグメントのLED(発光ダイオード)で構成され、最大3桁の数字を表示する。
スピーカ21L、21Rは、各種の効果音を出力し、メダル投入口22からメダルが投入される。投入されたメダルはまず投入メダルとしてカウントされ、投入メダルの枚数が3を超えた場合には、超えた分が貯留メダルとしてカウントされる。投入メダルの枚数はRAM33に記憶される。配当表パネル23は、内部当選役と、内部当選役に対応する払い出し枚数とを対比して表示する。
図2に示すCPU31は、ROM32に記憶されたプログラムに従って各種処理を実行する。具体的には、CPU31は、I/Oポート38から与えられた信号及びROM32に記憶されたテーブルに基づいて、遊技状態、内部当選役、及び有効ラインを設定し、リール3L、3C、3Rの停止位置を決定し、モータ駆動回路41及びモータ49L、49C、49Rにリール3L、3C、3Rの回転、停止を行わせ、内部当選役を構成する図柄が有効ラインに揃ったか否かを判定し、遊技機1に内蔵された払い出し用のメダル(以下、「払い出し用メダル」と称する)を内部当選役に対応する払い出し枚数だけホッパー52に払い出させ、貯留メダルの枚数を増加減し、ホッパー52に貯留メダルを払い出させ、副制御回路80に各種演出を行わせる(具体的には、I/Oポート38を介して副制御回路80に演出信号を出力する)。リール3Lの停止位置は、表示窓4Lの各段に停止表示される図柄の図柄番号であり、リール3Cの停止位置は、表示窓4Cの各段に停止表示される図柄の図柄番号であり、リール3Rの停止位置は、表示窓4Rの各段に停止表示される図柄の図柄番号である。
ROM32は、各種プログラム及び各種テーブルを記憶し、RAM33は、CPU31が各種処理を実行する際に、作業領域として利用される。
I/Oポート38は、CPU31から与えられた信号をモータ駆動回路41、ホッパー駆動回路51、及び副制御回路通信ポート54に出力し、リール位置検出回路42、リール停止信号回路43、及び払い出し完了信号発生回路53から与えられた信号をCPU31に出力する。
クロックパルス発生回路34及び分周器35は、クロックパルス信号を生成してCPU31に出力する。CPU31は、クロックパルス信号を受信した際にプログラムを実行する。
乱数発生器36は、0〜16383の範囲内の乱数を生成し、サンプリング回路37は、これらの乱数から一つの乱数を特定し、特定された乱数に関する乱数信号をCPU31に出力する。CPU31は、乱数信号に基づいて、内部当選役を設定する。
モータ駆動回路41は、モータ49L、49C、49Rが備えるコイルの組を励磁する。ホトセンサ42Lは、表示窓4Lの中段が、左図柄番号「0」の図柄の表示を開始する際に、回転検出信号をリール位置検出回路42に出力する。したがって、リール3Lが1回転する毎に回転検出信号を出力する。
ホトセンサ42Cは、表示窓4Cの中段が、中図柄番号「0」の図柄の表示を開始する際に、回転検出信号をリール位置検出回路42に出力する。したがって、リール3Cが1回転する毎に回転検出信号を出力する。
ホトセンサ42Rは、表示窓4Rの中段が、右図柄番号「0」の図柄の表示を開始する際に、回転検出信号をリール位置検出回路42に出力する。したがって、リール3Rが1回転する毎に回転検出信号を出力する。
リール位置検出回路42は、ホトセンサ42Lから回転検出信号が与えられた際に、リール回転リセット信号をCPU31に出力し、ホトセンサ42Cから回転検出信号が与えられた際に、リール回転リセット信号をCPU31に出力し、ホトセンサ42Rから回転検出信号が与えられた際に、リール回転リセット信号をCPU31に出力する。
CPU31は、リール3Lに対応するパルスカウンタ及び図柄カウンタと、リール3Cに対応するパルスカウンタ及び図柄カウンタと、リール3Rに対応するパルスカウンタ及び図柄カウンタとをレジスタにセットする。図5は、リール3Lに描かれた図柄配列と、リール3Lに対応するパルスカウンタの値とを対比して示す説明図である。CPU31は、リール位置検出回路42からリール3Lに対応するリール回転リセット信号が与えられた際に、リール3Lに対応するパルスカウンタ(以下、「左パルスカウンタ」と称する)の値を「16」に初期化し、リール3Lに対応する図柄カウンタ(以下、「左図柄カウンタ」と称する)の値を「0」に初期化し、モータ49Lが備えるいずれかのコイルの組が励磁された際に、左パルスカウンタの値を1減算し、左パルスカウンタの値が「0」となった際に、左パルスカウンタの値を「16」に戻し、左図柄カウンタの値を1加算し、左図柄カウンタの値が「20」を超えた際に、左図柄カウンタの値を「0」に戻す。ここで、モータ49Lが備えるコイルの組が4回ずつ、即ち合計16回励磁されることで、表示窓4Lの中段に表示される図柄の図柄番号が1増加するので、左パルスカウンタの値は、コイルの組が励磁された回数に対応し、左図柄カウンタの値は、表示窓4Lの中段に表示された図柄の図柄番号に一致する。他のリールに対応するパルスカウンタ及び図柄カウンタについても、同様である。
リール停止信号回路43は、停止ボタン7Lが押下された際に左停止操作信号をI/Oポート38に出力し、停止ボタン7Cが押下された際に中停止操作信号をI/Oポート38に出力し、停止ボタン7Rが押下された際に右停止操作信号をI/Oポート38に出力する。CPU31は、I/Oポート38から左停止操作信号が与えられた際に、リール3Lを停止させ、I/Oポート38から中停止操作信号が与えられた際に、リール3Cを停止させ、I/Oポート38から右停止操作信号が与えられた際に、リール3Rを停止させる。
ホッパー駆動回路51は、ホッパー52を駆動させることで、図1に示すメダル払い出し口15から貯留メダルや払い出し用メダルを払い出し、メダル検出装置52Sは、払い出されたメダルの枚数を検出する。
払い出し完了信号発生回路53は、メダル検出装置52Sにより検出された払い出し用メダルの枚数が内部当選役に対応する払い出し枚数に一致した際に、払い出し完了信号をI/Oポート38に出力する。CPU31は、I/Oポート38から払い出し完了信号を与えられた際に、払い出し用メダルの払い出しが完了したことを認識する。
副制御回路通信ポート54は、I/Oポート38から与えられた演出信号を副制御回路80に出力し、副制御回路80は、演出信号に基づいて、各種の演出内容を図1に示す表示装置5に表示し、各種の効果音をスピーカ21L、21Rから出力する。
図2に示すスタートスイッチ6Sは、図1に示すスタートレバー6が倒された際に、ゲーム開始操作信号をI/Oポート38に出力する。CPU31は、I/Oポート38からゲーム開始操作信号が与えられた際に、リール3L、3C、3Rの回転を開始させる。
投入メダルセンサ22Sは、図1に示すメダル投入口22から投入されたメダルを検出し、メダルを検出する毎にメダル検出信号をI/Oポート38に出力する。CPU31は、I/Oポート38からメダル検出信号が与えられる毎に、投入メダルの枚数を1増加させたり、貯留メダルの枚数を1増加させたりする。
ベットスイッチ11Sは、図1に示すベットボタン11が押下された際に、1ベット信号をI/Oポート38に出力し、ベットスイッチ12Sは、ベットボタン12が押下された際に、2ベット信号をI/Oポート38に出力し、ベットスイッチ13Sは、ベットボタン13が押下された際に、3ベット信号をI/Oポート38に出力する。CPU31は、I/Oポート38から1ベット信号が与えられた際に、貯留メダルの枚数を1減少させ、副制御回路80にランプ9aを点灯させ、停止ライン8aを有効ラインとする。CPU31は、I/Oポート38から2ベット信号が与えられた際に、貯留メダルの枚数を2減少させ、副制御回路80にランプ9bを点灯させ、停止ライン8a〜8cを有効ラインとする。CPU31は、I/Oポート38から3ベット信号が与えられた際に、貯留メダルの枚数を3減少させ、ランプ9cを点灯させ、停止ライン8a〜8e(全ての停止ライン)を有効ラインとする。
払い出しスイッチ14Sは、払い出しボタン14が押下された際に、払い出し操作信号をI/Oポート38に出力する。CPU31は、I/Oポート38から払い出し操作信号を与えられた際に、払い出し命令信号をホッパー駆動回路51に出力し、ホッパー駆動回路51は、払い出し命令信号が与えられた際に、ホッパー52を用いて貯留メダルを払い出す。
次に、ROM32が記憶するテーブルについて説明する。図6は、確率抽選テーブルの一例として、一般遊技状態用の確率抽選テーブルを示す。確率抽選テーブルは、内部当選役に対応する乱数の範囲及び当選率で構成される。図6に示す確率抽選テーブルは、「ボーナス」に対応する乱数の範囲及び当選率を省略している。CPU31は、乱数信号と、確率抽選テーブルとに基づいて、内部当選役を設定する。なお、乱数信号は、0〜16383の範囲内の乱数を示し、サンプリング回路37から出力される。例えば、CPU31は、図6に示す確率抽選テーブルを使用する場合、乱数が0〜249である場合には、内部当選役を「チェリー役」に設定し、乱数が250〜2649である場合には、内部当選役を「ベル役」に設定し、乱数が2650〜3649である場合には、内部当選役を「スイカ役」に設定し、乱数が3650〜5894である場合には、内部当選役を「リプレイ役」に設定し、乱数が5895〜16383である場合には、内部当選役を「ハズレ」に設定する。
図7は、変則押し用停止テーブル決定テーブルを示す。変則押し用停止テーブル決定テーブルは、内部当選役に対応する停止テーブルの名称及びラインデータで構成される。「変則押し」とは、停止ボタン7C、7Rが最初に押下されることである。CPU31は、内部当選役と、変則押し用停止テーブル決定テーブルとに基づいて、変則押し用停止テーブルと変則押し用ラインデータとを決定し、停止ボタン7C、7Rが最初に押下された際に、変則押し用停止テーブル及び変則押し用ラインデータに基づいて、リール3L、3C、3Rの停止位置を決定する。例えば、CPU31は、「ベル役」が内部当選した場合、変則押し用停止テーブルを図8に示す停止テーブル201に決定し、変則押し用ラインデータを「2」に決定し、停止ボタン7C、7Rが最初に押下された際に、停止テーブル201及び変則押し用ラインデータ「2」に基づいて、リール3L、3C、3Rの停止位置を決定する。
図8は、変則押し用停止テーブルの一例として、停止テーブル201を示す。変則押し用停止テーブルは、リール3Lに対応する左リール用停止テーブルと、リール3Cに対応する中リール用停止テーブルと、リール3Rに対応する右リール用停止テーブルとで構成される。
左リール用停止テーブルは、左停止操作位置に対応する停止データで構成され、中リール用停止テーブルは、中停止操作位置に対応する停止データで構成され、右リール用停止テーブルは、右停止操作位置に対応する停止データで構成される。左停止操作位置は、停止ボタン7Lが押下された際に表示窓4Lの中段に表示された図柄の図柄番号であり、中停止操作位置は、停止ボタン7Cが押下された際に表示窓4Cの中段に表示された図柄の図柄番号であり、右停止操作位置は、停止ボタン7Rが押下された際に表示窓4Rの中段に表示された図柄の図柄番号である。停止データは、リール3L、3C、3Rの停止位置を決定する際に使用される。停止データのビット数は8である。以下、停止データを構成する各桁のうち、最も小さい桁から順に「0桁目」、「1桁目」、…「7桁目」とする。
ラインデータは、「0」から「7」までの範囲内の整数であり、ラインデータが「1」となる場合、内部当選役を構成する図柄は停止ライン8aに揃えられ、ラインデータが「2」となる場合、内部当選役を構成する図柄は停止ライン8bに揃えられ、ラインデータが「3」となる場合、内部当選役を構成する図柄は停止ライン8cに揃えられ、ラインデータが「4」となる場合、内部当選役を構成する図柄は停止ライン8dに揃えられ、ラインデータが「5」となる場合、内部当選役を構成する図柄は停止ライン8eに揃えられる。ラインデータ「0」、「6」、「7」は、「ハズレ」が内部当選した場合に使用される。ラインデータが「0」、「6」、「7」となる場合、「ハズレ」を構成する図柄が停止ライン8a〜8eに揃う。
図9は、左リール第1停止用停止テーブル決定テーブルを示す。左リール第1停止用停止テーブル決定テーブルは、内部当選役に対応する停止テーブルの名称で構成される。CPU31は、停止ボタン7Lが最初に押下された際に、内部当選役と、左リール第1停止用停止テーブル決定テーブルとに基づいて、左リール第1停止用停止テーブルを決定する。例えば、CPU31は、「ベル役」が内部当選した場合、左リール第1停止用停止テーブルを、図10に示す停止テーブル101に決定する。
図10は、左リール第1停止用停止テーブルの一例として、停止テーブル101を示す。左リール第1停止用停止テーブルは、左停止操作位置に対応する滑りコマ数で構成される。例えば、左停止操作位置が「2」となる場合、滑りコマ数は「1」となる。CPU31は、停止ボタン7Lが最初に押下された際に、左停止操作位置と、左リール第1停止用停止テーブルとに基づいて、リール3Lの停止位置、具体的には滑りコマ数を決定する。
図11は、制御カウンタ決定テーブルを示す。制御カウンタ決定テーブルは、パルスカウンタの値に対応する制御カウンタの値で構成される。CPU31は、停止ボタン7Lが最初に押下された際に、リール3Lに対応するパルスカウンタの値をRAM33に一時保存し、制御カウンタ決定テーブルと、一時保存されたパルスカウンタの値、即ち、停止ボタン7Lが押下された際のパルスカウンタの値と、に基づいて、制御カウンタの値を決定する。制御カウンタの値は、「0」と「1」の2種類である。制御カウンタは、リール3C、3Rの停止位置を決定するために使用される。
図12は、制御変更テーブルを示す。制御変更テーブルは、内部当選役及び制御カウンタの値に対応する複数の対応テーブルで構成され、対応テーブルは、左停止制御位置に対応する停止テーブルの名称及びラインデータで構成される。左停止制御位置は、リール3Lが停止した際に表示窓4Lの中段に表示される図柄の図柄番号である。CPU31は、停止ボタン7Lが最初に押下された際に、内部当選役と、制御カウンタの値と、左停止制御位置と、制御変更テーブルとに基づいて、中右リール用停止テーブル及び中右リール用ラインデータを決定する。CPU31は、中右リール用停止テーブル及び中右リール用ラインデータに基づいて、リール3C、3Rの停止位置を決定する。
図13は、中右リール用停止テーブルの一例として、停止テーブル102を示す。中右リール用停止テーブルは、中リール用停止テーブルと右リール用停止テーブルとで構成される。
図14は、マスクデータ対応テーブルを示す。マスクデータ対応テーブルは、ラインデータの値に対応するマスクデータで構成される。マスクデータのビット数は8であり、停止データのビット数に一致する。CPU31は、ラインデータと、マスクデータ対応テーブルとに基づいて、マスクデータをセットする。CPU31は、今回の停止操作位置と、マスクデータと、停止テーブルとに基づいて、停止ボタンが押下されたリールの滑りコマ数を決定する。ここで、今回の停止操作位置は、停止ボタン7Lが今回押下された場合には左停止操作位置となり、停止ボタン7Cが今回押下された場合には中停止操作位置となり、停止ボタン7Rが今回押下された場合には、右停止操作位置となる。
具体的には、CPU31は、決定された停止テーブルのうち、今回の停止操作位置から4コマ滑る範囲内で、マスクデータとの論理積が「0」以外となる停止データを検索し、マスクデータとの論理積が「0」以外となる停止データを停止制御データとして特定し、停止制御データに対応する停止操作位置と、今回の停止操作位置との差分を、滑りコマ数とする。
例えば、「ベル役」が内部当選し、図13に示す停止テーブル102が決定され、「00000010」(即ち、ラインデータが「3」)がマスクデータとしてセットされ、停止ボタン7Cが押下され、今回の停止操作位置が「2」となる場合には、CPU31は、停止テーブル102のうち、中停止操作位置が「2」以上「6」以下となる範囲内で、マスクデータとの論理積が「0」以外となる停止データを検索する。この結果、中停止操作位置が「4」となる停止データとマスクデータとの論理積が「0」以外となるので、CPU31は、この停止データを停止制御データとして特定し、停止制御データに対応する中停止操作位置「4」と、今回の停止操作位置「2」との差分「2」を、リール3Cの滑りコマ数とする。
ここで、停止データの設定方法について説明する。左リール第1停止用停止テーブルについては、図10に示すように、内部当選役を構成する図柄が表示窓4Lに停止表示されるように、滑りコマ数が決定される。
ここで、ラインデータが「1」となる場合、内部当選役を構成する図柄は停止ライン8aに揃えられ、ラインデータが「2」となる場合、内部当選役を構成する図柄は停止ライン8bに揃えられ、ラインデータが「3」となる場合、内部当選役を構成する図柄は停止ライン8cに揃えられ、ラインデータが「4」となる場合、内部当選役を構成する図柄は停止ライン8dに揃えられ、ラインデータが「5」となる場合、内部当選役を構成する図柄は停止ライン8eに揃えられ、ラインデータが「0」、「6」、「7」となる場合、「ハズレ」を構成する図柄が停止ライン8a〜8eに揃うので、内部当選役を構成する図柄が表示窓4Lのどこに停止表示されたかに応じて、ラインデータも異なる。例えば、内部当選役を構成する図柄が表示窓4Lの上段に停止表示された場合、ラインデータは、「2」または「4」の何れかとなる。
他の停止テーブルについては、以下のように設定される。即ち、図14に示すように、ラインデータ「0」に対応するマスクデータは「10000000」であり、ラインデータ「1」に対応するマスクデータは「00000100」であり、ラインデータ「2」に対応するマスクデータは「00001000」であり、ラインデータ「3」に対応するマスクデータは「00000010」であり、ラインデータ「4」に対応するマスクデータは「00010000」であり、ラインデータ「5」に対応するマスクデータは「00000001」であり、ラインデータ「6」に対応するマスクデータは「00100000」であり、ラインデータ「7」に対応するマスクデータは「01000000」である。
したがって、停止データの「0桁目」がラインデータ「5」に対応し、停止データの「1桁目」がラインデータ「3」に対応し、停止データの「2桁目」がラインデータ「1」に対応し、停止データの「3桁目」がラインデータ「2」に対応し、停止データの「4桁目」がラインデータ「4」に対応し、停止データの「5桁目」がラインデータ「6」に対応し、停止データの「6桁目」がラインデータ「7」に対応し、停止データの「7桁目」がラインデータ「0」に対応する。
よって、例えば、「ベル役」に対応する停止テーブルにおいては、「ベル」及びその前後1コマに対応する停止データのうち、「0桁目」〜「5桁目」の何れかが「1」となる。具体的には、例えば、停止ライン8b(トップライン)に「ベル」を揃える場合、表示窓4L、4C、4Rの上段にそれぞれ「ベル」が停止表示される必要があるので、「ベル」より1コマ小さい停止データのうち、ラインデータ「2」に対応する桁、即ち3桁目が「1」となる。例えば、図8に示す停止テーブル201及び図13に示す停止テーブル102では、図3に示すように、中停止操作位置「3」、「8」、「11」、「15」、「20」が「ベル」に対応するので、これらよりもそれぞれ1コマ小さい停止データ、即ち「2」、「7」、「10」、「14」、「19」の3桁目が「1」となり、右停止操作位置「0」、「4」、「9」、「13」、「18」が「ベル」に対応するので、これらよりもそれぞれ1コマ小さい停止データ、即ち右停止操作位置「20」、「3」、「8」、「12」、「17」の停止データの0桁目が「1」となる。また、停止テーブル201においては、左停止操作位置「2」、「6」、「12」、「18」が「ベル」に対応するので、それよりも1コマ小さい停止データ、即ち左停止操作位置「1」、「5」、「11」、「17」の停止データの0桁目が「1」となる。他の停止ラインについても、同様に設定される。ただし、停止テーブル201のうち、左リール用停止テーブルにおいては、「チェリー」と「ベル」が表示窓4Lに同時に停止表示されると、「チェリー役」を構成する図柄と「ベル役」を構成する図柄とが同時に停止ラインに揃う可能性があるので、「ベル」が表示窓4Lの下段に停止表示されないように、「ベル」より1コマ大きい停止データのうち、ラインデータ「3」、「5」に対応する桁、即ち0桁目及び1桁目が「0」となる。他の内部当選役に対応する停止テーブルについても、同様に設定される。
なお、ラインデータが「1」〜「5」の何れかであっても、内部当選役及び停止ボタン7L、7C、7Rが押下されるタイミングによっては、内部当選役を構成する図柄が停止ライン8a〜8eに揃わない場合がある(例えば、「ボーナス」が内部当選した場合)。ただし、このような場合であっても、ラインデータ、即ちマスクデータがハズレの場合と異なるので、リール3L、3C、3Rの停止位置はハズレの場合と異なる。
図15は、表示役決定テーブルを示す。表示役決定テーブルは、図柄の組み合わせに対応する表示役及び払い出し用メダルの払い出し枚数で構成される。なお、図15に示す表示役決定テーブルは、「ボーナス」を省略している。CPU31は、内部当選役と、図柄カウンタの値とに基づいて、内部当選役を構成する図柄が有効ラインに揃ったという条件を判定し、この条件が満たされる場合にのみ、図柄カウンタの値と、表示役決定テーブルとに基づいて、表示役及び払い出し枚数を決定する。
図16は、加速テーブルを示す。加速テーブルは、加速テーブルカウンタの値に対応する加速タイマの値で構成される。CPU31は、加速テーブルカウンタ(初期値は「0」)をセットし、加速テーブルカウンタの値と、加速テーブルとに基づいて、加速タイマをセットする。CPU31は、加速タイマの値を時間の経過に応じて減算し、加速タイマの値が「0」となる毎に、リール3L、3C、3Rの何れかを1ステップ回転させ、加速テーブルカウンタの値を1増加させる。CPU31は、その後、同様の処理を繰り返す。これにより、CPU31は、リール3L、3C、3Rを回転させる。
図17は、励磁パターンテーブルを示す。励磁パターンテーブルは、励磁パターンカウンタの値に対応する励磁パターンで構成される。励磁パターンは、励磁されるコイルの組を示す。CPU31は、励磁パターンカウンタ(初期値は「−1」)をセットし、励磁パターンカウンタの値を1増加させ、励磁パターンカウンタの値と、励磁パターンテーブルとに基づいて、図4に示すコイルの組のうち、励磁パターンに対応するコイルの組を励磁させる。これにより、CPU31は、リール3L、3C、3Rを1ステップ回転させる。
次に、遊技機1の動作を図18〜図31に示すフローチャートに沿って説明する。遊技機1は、図18〜図23に示す処理(以下、「リセット割込処理」と称する)を行い、1.1173(ms)毎に、図24〜図31に示す処理(以下、「定期的な割込処理」と称する)を行う。遊技機1は、ゲーム開始から終了までに必要な処理のうち、リール3L、3C、3Rの回転、停止を定期的な割込処理で行い、ゲーム開始から終了までに必要な処理のうち、リール3L、3C、3Rの回転、停止以外の処理(例えば、メダルの投入の受付、内部当選役、遊技状態、及び有効ラインの設定、各種テーブルの決定、リール3L、3C、3Rの停止位置の決定、及び払い出し用メダルの払い出し)をリセット割込処理で行う。
図18は、リセット割込処理の手順を示すフローチャートである。ステップST1で、CPU31は、遊技機1の内部データを初期化し、ステップST2で、CPU31は、RAM33に記憶されたデータのうち、前回のゲームで得られたデータ(例えば、内部当選役)を初期化する。ただし、ゲーム監視用タイマの値は保持される。ゲーム監視用タイマは、前回のゲームでリール3L、3C、3Rの回転が開始されてから現在までの時間を計測し、その値は、時間の経過と共に増加し、ステップST7で使用される。
ステップST3で、投入メダルセンサ22Sは、メダル投入口22から投入されたメダルを検出し、メダルを検出する毎にメダル検出信号をI/Oポート38に出力する。CPU31は、I/Oポート38からメダル検出信号が与えられる毎に、投入メダルの枚数を1増加させたり、貯留メダルの枚数を1増加させたりする。
CPU31は、前回のゲームで「リプレイ役」が内部当選し、「リプレイ役」を構成する図柄が有効ラインに揃ったという条件を判定する。この結果、CPU31は、この条件が満たされる場合には、前回の有効ラインをそのまま今回の有効ラインとする。一方、この条件が満たされない場合には、投入メダルセンサ22Sをチェックし、投入メダルの枚数の更新を行い、停止ライン8a〜8eの何れかを有効にする。また、CPU31は、貯留メダルの枚数が1以上である場合に、以下の処理を行う。即ち、CPU31は、ベットスイッチ11Sから1ベット信号が与えられた際に、貯留メダルの枚数を1減少させ、停止ライン8aを有効ラインとする。CPU31は、ベットスイッチ12Sから2ベット信号が与えられた際に、貯留メダルの枚数を2減少させ、停止ライン8a〜8cを有効ラインとする。CPU31は、ベットスイッチ13Sから3ベット信号を与えられた際に、貯留メダルの枚数を3減少させ、停止ライン8a〜8eを有効ラインとする。なお、CPU31は、貯留メダルの枚数が1以上である場合にのみ、1ベット信号を受け付け、貯留メダルの枚数が2以上である場合にのみ、2ベット信号を受け付け、貯留メダルの枚数が3以上である場合にのみ、3ベット信号を受け付ける。
CPU31は、有効ラインを設定した後、スタートスイッチ6Sからゲーム開始操作信号が与えられるまで待機し、ゲーム開始操作信号が与えられた際に、ステップST4に進む。
ここで、CPU31は、前回までのゲームで「ボーナス」が内部当選した場合には、遊技状態をボーナス内部当選状態とし、前回までのゲームで「ボーナス」が内部当選し、「ボーナス」を構成する図柄が有効ラインに揃った場合には、遊技状態をボーナス遊技状態とし、前回までのゲームで、「チェリー役」、「ベル役」、「スイカ役」、「リプレイ役」、または「ハズレ」が内部当選した場合、または、ボーナス遊技状態でのゲームが所定回数行われた場合には、遊技状態を一般遊技状態とし、遊技状態をRAM33に記憶させても良い。
ステップST4で、乱数発生器36は、0〜16383の範囲内の乱数を生成し、サンプリング回路37は、これらの乱数から一つの乱数を特定し、特定された乱数に関する乱数信号をCPU31に出力する。
ステップST5で、CPU31は、遊技状態に対応する確率抽選テーブルと、乱数信号とに基づいて、内部当選役を設定し、RAM33の実行データ領域に記憶させる。
ステップST6で、CPU31は、図19に示す停止テーブル決定処理を行うことで、変則押し用停止テーブルと変則押し用ラインデータとを決定する。なお、ここでは、CPU31は、初期設定として、変則押し用停止テーブルと変則押し用ラインデータとを決定するが、停止ボタン7Lが最初に押下された場合には、左リール第1停止用停止テーブルと中右リール用停止テーブルとに基づいて、リール3L、3C、3Rの停止位置を決定し、停止ボタン7C、7Rが最初に押下された場合には、変則押し用停止テーブルと変則押し用ラインデータとに基づいて、リール3L、3C、3Rの停止位置を決定する。
ステップST6−1で、CPU31は、ゲームが開始されたことを示すスタート演出信号を生成し、I/Oポート38、及び副制御回路通信ポート54を介して副制御回路80に出力し、副制御回路80は、スタート演出信号の内容を表示装置5に表示する。
ステップST7で、CPU31は、ゲーム監視用タイマの値がウエイト時間4.1(s)以上となっているという条件を判定し、この条件が満たされる場合にはステップST9に進み、この条件が満たされない場合(ステップST7でNO)には、ステップST8に進む。
ステップST8で、CPU31は、ゲーム監視用タイマの値が4.1(s)以上となるまで待機する。その後、CPU31は、ステップST9に進む。
ステップST9で、CPU31は、ゲーム監視用タイマを「0」にセットし、自動停止タイマを「0」より大きな値にセットする。ゲーム監視用タイマ及び自動停止タイマは、直ちに時間の計測を開始する。自動停止タイマは、リール3L、3C、3Rの停止に使用され、その値は、時間の経過と共に減少する。
ステップST10で、CPU31は、リール3L、3C、3Rについて、回転開始要求フラグをオンにする。これにより、後述する定期的な割込処理において、リール3L、3C、3Rが回転を開始する。
CPU31は、後述する定期的な割込処理において、定速制御中フラグがオンされ、リール3L、3C、3Rに対応するリール回転リセット信号が与えられた際には、図柄カウンタの値を「0」に初期化し、パルスカウンタの値を「16」に初期化し、リール3L、3C、3Rの回転に応じてパルスカウンタ及び図柄カウンタの値を更新する。これにより、CPU31は、図柄カウンタの値を表示窓4L、4C、4Rの中段に表示される図柄の図柄番号に一致させることができるので、以下の処理において、正確な処理を行うことができる。
ステップST11で、CPU31は、リール3L、3C、3Rについて停止操作を受け付ける旨の演出信号を、I/Oポート38及び副制御回路通信ポート54を介して副制御回路80に出力する。副制御回路80は、演出信号の内容を表示装置5に表示する。これにより、遊技者は、停止ボタン7L、7C、7Rを押下して良いことを認識することができる。
ステップST12で、CPU31は、図20に示す停止制御処理を行うことで、リール3L、3C、3Rを停止させる。
ステップST13で、CPU31は、内部当選役と、図柄カウンタの値とに基づいて、内部当選役を構成する図柄が有効ラインに揃ったという条件を判定し、この条件が満たされる場合にのみ、図柄カウンタの値と、図15に示す表示役決定テーブルとに基づいて、表示役及び払い出し枚数を決定する。
ステップST14で、CPU31は、払い出し枚数を表示装置18に表示し、表示役に関する演出信号を生成して、I/Oポート38及び副制御回路通信ポート54を介して副制御回路80に出力する。副制御回路80は、演出信号に基づいて、表示役を表示装置5に表示する。
ステップST15で、CPU31は、払い出し枚数に関する払い出し命令信号を生成し、I/Oポート38を介してホッパー駆動回路51に出力する。ホッパー駆動回路51は、払い出し命令信号に基づいて、払い出し用メダルを払い出し枚数だけ払い出す。一方、メダル検出装置52Sは、払い出された払い出し用メダルの枚数を検出する。
ステップST16で、払い出し完了信号発生回路53は、メダル検出装置52Sにより検出された払い出し用メダルの枚数が内部当選役に対応する払い出し枚数に一致した際に、払い出し完了信号をI/Oポート38に出力する。CPU31は、I/Oポート38から払い出し完了信号を与えられた際に、払い出し用メダルの払い出しが完了したことを認識し、払い出しが完了した旨の演出信号を生成し、I/Oポート38及び副制御回路通信ポート54を介して副制御回路80に出力し、副制御回路80は、演出信号の内容を表示装置5に表示する。その後、CPU31は、ステップST2に戻る。
図19は、停止テーブル決定処理の手順を示すフローチャートである。ステップST17で、CPU31は、内部当選役と、図7に示す変則押し用停止テーブル決定テーブルとに基づいて、変則押し用停止テーブルと変則押し用ラインデータとを決定する。その後、CPU31は、停止テーブル決定処理を終了する。
図20は、停止制御処理の手順を示すフローチャートである。ステップST18で、CPU31は、リール停止信号回路43から与えられた停止操作信号に基づいて、有効な停止ボタンが押下されたという条件を判定し、この条件が満たされる場合には、ステップST20に進み、この条件が満たされない場合(ステップST18でNO)には、ステップST19に進む。ここで、回転中のリールに対応する停止ボタンが有効となる。
ステップST19で、CPU31は、自動停止タイマの値が「0」であるという条件を判定し、この条件が満たされる場合には、ステップST20に進み、この条件が満たされない場合(ステップST19でNO)には、ステップST18に戻る。CPU31は、ステップST18またはステップST19の条件を満たすリールを停止させる。具体的には、CPU31は、ステップST18またはステップST19の条件を満たすリールに関して、ステップST19−1〜ステップST33の処理を行う。
ステップST19−1で、CPU31は、リール3LがステップST18またはステップST19の条件を満たし、リール3L、3C、3Rが全て回転中である場合(即ち、左リール第1停止の場合)には、リール3Lに対応するパルスカウンタの値をRAM33に一時保存する。即ち、CPU31は、停止ボタン7Lが押下された際に、リール3Lに対応するパルスカウンタの値をRAM33に一時保存する。
ステップST20で、CPU31は、パルスカウンタの値が「14」より小さいという条件を判定し、この条件が満たされる場合には、ステップST21に進み、この条件が満たされない場合(ステップST20にてNO)には、ステップST22に進む。
ステップST21で、CPU31は、図21に示す図柄更新処理を行うことで、図柄カウンタを更新し、ステップST22で、CPU31は、リール停止信号回路43から与えられた停止操作信号に基づいて、リール3L、3C、3Rが全て回転中であるという条件を判定し、この条件が満たされる場合には、ステップST23に進み、この条件が満たされない場合(ステップST22でNO)には、ステップST26に進む。
ステップST23で、CPU31は、リール停止信号回路43から与えられた停止操作信号に基づいて、停止ボタン7Lが最初に押下されたという条件を判定し、この条件が満たされる場合には、ステップST24に進み、この条件が満たされない場合(ステップST23でNO)には、ステップST26に進む。
ステップST24で、CPU31は、内部当選役と、図9に示す左リール第1停止用停止テーブル決定テーブルとに基づいて、左リール第1停止用停止テーブルを決定し、ステップST25で、CPU31は、図柄カウンタの値を左停止操作位置とし、左停止操作位置と、左リール第1停止用停止テーブルと、に基づいて、滑りコマ数を決定し、レジスタにセットする。その後、CPU31は、ステップST27に進む。
ステップST26で、CPU31は、図23に示す停止データ検索処理を行うことで、ステップST18またはステップST19の条件を満たすリールの停止位置を決定する。
ステップST27で、CPU31は、ステップST18またはステップST19の条件を満たすリールが停止される旨の演出信号を副制御回路80に出力し、副制御回路80は、演出信号の内容を表示装置5に表示する。
ステップST28で、CPU31は、滑りコマ数が「0」となるという条件を判定し、この条件が満たされる場合には、ステップST32に進み、この条件が満たされない場合(ステップST28でNO)には、ステップST29に進む。
ステップST29で、CPU31は、図柄更新処理を行うことで、図柄カウンタを更新し、ステップST30で、CPU31は、滑りコマ数を1減算し、ステップST31で、CPU31は、滑りコマ数が「0」となるという条件を判定し、この条件が満たされる場合には、ステップST32に進み、この条件が満たされない場合(ステップST31でNO)には、ステップST29に戻る。
ステップST32で、CPU31は、定速制御中フラグをオフし、回転停止要求フラグをオンする。これにより、後述する定期的な割込処理において、ステップST18またはステップST19の条件を満たすリールが停止する。
ステップST33で、CPU31は、図22に示す制御変更処理を行うことで、停止ボタン7Lが最初に押下された場合にのみ、中右リール用停止テーブルを決定する。
ステップST34で、CPU31は、リール3L、3C、3Rが全て停止したという条件を判定し、この条件が満たされる場合には、停止制御処理を終了し、この条件が満たされない場合(ステップST34でNO)には、ステップST18に戻る。
図21は、図柄更新処理の手順を示すフローチャートである。ステップST35で、CPU31は、図柄カウンタが更新されるまで待機し、図柄カウンタが更新されると、図柄更新処理を終了する。
図22は、制御変更処理の手順を示すフローチャートである。ステップST36で、CPU31は、リール停止信号回路43から与えられた停止操作信号に基づいて、リール3Lのみが停止したという条件を判定し、この条件が満たされる場合には、ステップST37に進み、この条件が満たされない場合(ステップST36でNO)には、制御変更処理を終了する。
ステップST37で、CPU31は、図11に示す制御カウンタ決定テーブルと、ステップST19−1で一時保存されたパルスカウンタの値と、に基づいて、制御カウンタの値を決定し、レジスタにセットする。
ステップST38で、CPU31は、内部当選役と、制御カウンタと、リール3Lに対応する現在の図柄カウンタの値と、図17に示す制御変更テーブルとに基づいて、中右リール用停止テーブル及び中右リール用ラインデータを決定する。なお、この時点で、リール3Lは停止しているので、リール3Lに対応する現在の図柄カウンタの値は、左停止制御位置となる。
図23は、停止データ検索処理の手順を示すフローチャートである。ステップST39で、CPU31は、ラインデータと、図14に示すマスクデータ対応テーブルとに基づいて、マスクデータを決定し、レジスタにセットする。
ステップST40〜ステップST41で、CPU31は、図柄カウンタの値を今回の停止操作位置とし、今回の停止操作位置と、実行データ領域に記憶された停止テーブルとに基づいて、滑りコマ数を決定し、レジスタにセットする。具体的には、CPU31は、決定された停止テーブルのうち、今回の停止操作位置から4コマ滑る範囲内で、マスクデータとの論理積が「0」以外となる停止データを検索し、マスクデータとの論理積が「0」以外となる停止データを停止制御データとして特定し、停止制御データに対応する停止操作位置と、今回の停止操作位置との差分を、滑りコマ数とし、レジスタにセットする。その後、CPU31は、停止データ検索処理を終了する。
図24は、定期的な割込処理の手順を示すフローチャートである。ステップST42で、CPU31は、I/Oポート38のチェックを行い、ステップST43で、CPU31は、割込カウンタ(0〜255)を1加算する。
ステップST44で、CPU31は、割込カウンタの値が偶数であるという条件を判定し、この条件が満たされる場合には、ステップST51に進み、この条件が満たされない場合(ステップST44でNO)には、ステップST45に進む。
ステップST45で、CPU31は、リール3Rに関するデータ(例えば、加速タイマの値、パルスカウンタの値、及び図柄カウンタの値)をレジスタにセットする。
ステップST46で、CPU31は、リール3Rに関するデータに基づいて、図25に示すリール制御処理を行うことで、リール3Rの回転、停止を行う。
ステップST47〜ステップST48で、CPU31は、ステップST45〜ステップST46と同様の処理をリール3Cに関して行い、ステップST49〜ステップST50で、CPU31は、ステップST45〜ステップST46と同様の処理をリール3Lに関して行う。
ステップST51で、CPU31は、貯留メダルの枚数を表示装置19に表示し、ステップST52で、CPU31は、停止ライン8aが有効ラインとなる場合、ランプ9aを点灯させ、停止ライン8a〜8cが有効ラインとなる場合、ランプ9bを点灯させ、停止ライン8a〜8e(全ての停止ライン)が有効ラインとなる場合、ランプ9cを点灯させる。その後、CPU31は、リセット割込処理に戻る。
図25は、リール制御処理の手順を示すフローチャートである。ステップST53で、CPU31は、図18に示すステップST10〜図20に示すステップST33の処理を行っているという条件を判定し、この条件が満たされる場合にはステップST54に進み、この条件が満たされない場合(ステップST53でNO)には、リール制御処理を終了する。
ステップST54で、CPU31は、回転開始要求フラグがオンされているという条件を判定し、この条件が満たされる場合には、ステップST55に進み、この条件が満たされない場合(ステップST54にてNO)には、ステップST56に進む。
ステップST55で、CPU31は、図26に示す回転開始処理を行うことで、リールの回転を開始させる。その後、CPU31は、リール制御処理を終了する。
ステップST56で、CPU31は、加速制御中フラグがオンされているという条件を判定し、この条件が満たされる場合には、ステップST57に進み、この条件が満たされない場合(ステップST56にてNO)には、ステップST58に進む。
ステップST57で、CPU31は、図27に示す加速制御処理を行うことで、リールを加速させる。その後、CPU31は、リール制御処理を終了する。
ステップST58で、CPU31は、回転停止要求フラグがオンされているという条件を判定し、この条件が満たされる場合には、ステップST59に進み、この条件が満たされない場合(ステップST58にてNO)には、ステップST60に進む。
ステップST59で、CPU31は、図30に示す停止要求処理を行うことで、リールを減速させる。その後、CPU31は、リール制御処理を終了する。
ステップST60で、CPU31は、停止制御中フラグがオンされているという条件を判定し、この条件が満たされる場合には、ステップST61に進み、この条件が満たされない場合(ステップST60にてNO)には、ステップST62に進む。なお、CPU31は、回転停止要求フラグ、加速制御中フラグ、回転停止要求フラグ、及び停止制御中フラグがオフされている場合、言い換えれば、後述する定速制御中フラグがオンされている場合に、ステップST62に進む。
ステップST61で、CPU31は、図31に示すリール停止制御処理を行うことで、リールを減速、停止させる。その後、CPU31は、リール制御処理を終了する。
ステップST62で、CPU31は、リール回転リセット信号が与えられたという条件を判定し、この条件が満たされる場合にはステップST63に進み、この条件が満たされない場合(ステップST62でNO)には、ステップST65に進む。
ステップST63〜ステップST64で、CPU31は、パルスカウンタの値を「16」に初期化し、図柄カウンタの値を「0」に初期化する。ステップST65で、CPU31は、図28に示すパルスカウンタ更新処理を行うことで、リール制御処理の対象となっているリールを1ステップ回転させ、この回転に応じてパルスカウンタ及び図柄カウンタの値を更新する。これにより、CPU31は、図柄カウンタの値を表示窓4L、4C、4Rの中段に表示される図柄の図柄番号に一致させることができる。その後、CPU31は、リール制御処理を終了する。
なお、CPU31は、定速制御中フラグがオンである場合、ステップST62〜ステップST65では、リール3L、3C、3Rを(1.1173*2)(ms)毎に1ステップ回転させる。即ち、CPU31は、リール3L、3C、3Rを定速で回転させる。
図26は、回転開始処理の手順を示すフローチャートである。ステップST66で、CPU31は、回転開始要求フラグをオフし、加速制御中フラグをオンする。
ステップST67で、CPU31は、加速テーブルカウンタに「0」をセットし、ステップST68で、CPU31は、加速タイマに「1」をセットする。
ステップST69で、CPU31は、加速制御処理を行うことで、リールの回転を開始させる。その後、CPU31は、回転開始処理を終了する。
図27は、加速制御処理の手順を示すフローチャートである。ステップST70で、CPU31は、加速タイマの値を1減算する。
ステップST71で、CPU31は、加速タイマの値が「0」であるという条件を判定し、この条件が満たされる場合には、ステップST72に進み、この条件が満たされない場合(ステップST71でNO)には、加速制御処理を終了する。
ステップST72で、CPU31は、加速テーブルカウンタの値と、図16に示す加速テーブルとに基づいて、加速タイマの値をセットする。なお、初期状態では、加速テーブルカウンタの値は「0」なので、CPU31は、加速タイマの値を「96」にセットする。
ステップST73で、CPU31は、加速テーブルカウンタの値を1加算し、ステップST74で、CPU31は、加速テーブルカウンタの値が「5」となるという条件を判定し、この条件が満たされる場合には、ステップST75に進み、この条件が満たされない場合(ステップST74でNO)には、ステップST76に進む。
ステップST75で、CPU31は、加速制御中フラグをオフし、定速制御中フラグをオンする。その後、ステップST76に進む。
ステップST76で、CPU31は、パルスカウンタ更新処理を行う。ここで、パルスカウンタ更新処理では、CPU31は、リール制御処理に対応するリールを1ステップ回転させる。また、加速制御処理では、加速タイマの値が「0」となる毎に、加速タイマが更新され、パルスカウンタ更新処理が行われる。また、加速タイマの値は、図26に示すように、更新される毎に小さくなる。したがって、時間の経過と共に、パルスカウンタ更新処理が行われる間隔が小さくなるので、リールは徐々に加速する。
図28は、パルスカウンタ更新処理の手順を示すフローチャートである。ステップST77で、CPU31は、パルスカウンタの値を1減算し、ステップST78で、CPU31は、パルスカウンタの値が「0」であるという条件を判定し、この条件が満たされる場合には、ステップST79に進み、この条件が満たされない場合(ステップST78でNO)には、ステップST83に進む。
ステップST79で、CPU31は、パルスカウンタの値を「16」にセットし、ステップST80で、CPU31は、図柄カウンタの値を1加算し、ステップST81で、CPU31は、図柄カウンタの値が「20」を超えるという条件を判定し、この条件が満たされる場合には、ステップST82に進み、この条件が満たされない場合(ステップST81でNO)には、ステップST83に進む。ステップST82で、CPU31は、図柄カウンタの値を「0」にリセットし、ステップST83に進む。
ステップST83で、CPU31は、パルス出力処理を行うことで、リールを1ステップ回転させる。その後、CPU31は、パルスカウンタ更新処理を終了する。
図29は、パルス出力処理の手順を示すフローチャートである。ステップST84で、CPU31は、リール3L、3C、3Rを駆動させるためのコモン信号をオンとし、ステップST85で、CPU31は、励磁パターンカウンタ(初期値は「−1」)が「3」であるという条件を判定し、この条件が満たされる場合には、ステップST86に進み、この条件が満たされない場合(ステップST85でNO)には、ステップST87に進む。
ステップST87で、CPU31は、励磁パターンカウンタの値を1加算し、ステップST88で、CPU31は、励磁パターンカウンタの値と、図17に示す励磁パターンテーブルとに基づいて、励磁パターン及びパルス出力処理の対象となっているモータに関する励磁信号を生成し、I/Oポート38を介してモータ駆動回路41に出力し、モータ駆動回路41は、励磁信号に基づいて、パルス出力処理の対象となっているモータのうち、励磁パターンに対応するコイルの組を励磁する。これにより、リールが1ステップ回転する。その後、CPU31は、パルス出力処理を終了する。
図30は、停止要求処理の手順を示すフローチャートである。ステップST89で、CPU31は、回転停止要求フラグをオフし、停止制御中フラグをオンする。
ステップST90で、CPU31は、リール停止制御処理を行うことで、リールを減速させる。その後、CPU31は、停止要求処理を終了する。
図31は、リール停止制御処理の手順を示すフローチャートである。ステップST91で、CPU31は、加速タイマを1減算し、ステップST92で、CPU31は、加速タイマが「0」であるという条件を判定し、この条件が満たされる場合には、ステップST93に進み、この条件が満たされない場合(ステップST92でNO)には、リール停止制御処理を終了する。
ステップST93で、加速テーブルカウンタの値が「9」であるという条件を判定し、この条件が満たされる場合には、ステップST97に進み、この条件が満たされない場合(ステップST93にてNO)には、ステップST94に進む。
ステップST94で、CPU31は、図16に示す加速テーブルと、加速テーブルカウンタの値とに基づいて、加速タイマをセットする。
ステップST95で、CPU31は、加速テーブルカウンタの値を1加算し、ステップST96で、CPU31は、図29に示すパルス出力処理を行うことで、リールを1ステップ回転させる。その後、CPU31は、リール停止制御処理を終了する。ここで、リール停止制御処理では、加速タイマの値が「0」となる毎に、加速タイマが更新され、パルス出力処理が行われる。リール停止制御処理は、図27のステップST74〜ステップST75、図25のステップST56、ステップST58〜ステップST61、及び図30に示すように、加速制御処理が終了したリール、即ち加速テーブルカウンタの値が5以上となるリールについてのみ行われる。したがって、加速タイマの値は、図16に示すように、更新される毎に大きくなるので、時間の経過と共に、パルス出力処理が行われる間隔が大きくなる。即ち、リールは徐々に減速する。
ステップST97で、CPU31は、モータが備える全てのコイルの励磁を終了する。これにより、リールが停止する。
ステップST98で、CPU31は、停止制御中フラグをオフし、非制御中フラグをオンする。その後、CPU31は、リール停止制御処理を終了する。
次に、表示窓4L、4C、4Rに停止表示される図柄の具体例を説明する。「ベル役」が内部当選し、停止ボタン7L、7C、7Rが、停止ボタン7L、停止ボタン7C、停止ボタン7Rの順で押下され、リール3L、3C、3Rの停止操作位置が「2」となり、制御カウンタの値が「0」となる場合、図10に示すように、左停止制御位置は「3」となる。図12に示すように、停止テーブル102が中右リール用停止テーブルとなり、中右リール用ラインデータが「3」となり、図14に示すように、マスクデータが「00000010」となるので、図13に示すように、リール3Cの滑りコマ数は「2」となり、リール3Rの滑りコマ数は「3」となる。したがって、図32に示すように、「ベル」の図柄が停止ライン8cに揃う。
「ベル役」が内部当選し、停止ボタン7L、7C、7Rが、停止ボタン7L、停止ボタン7C、停止ボタン7Rの順で押下され、リール3L、3C、3Rの停止操作位置が「2」となり、制御カウンタの値が「1」となる場合、図10に示すように、左停止制御位置は「3」となる。図12に示すように、停止テーブル102が中右リール用停止テーブルとなり、中右リール用ラインデータが「5」となり、図14に示すように、マスクデータが「00000001」となるので、図13に示すように、リール3Cの滑りコマ数は「1」となり、リール3Rの滑りコマ数は「1」となる。したがって、図33に示すように、「ベル」の図柄が停止ライン8eに揃う。
「ベル役」が内部当選し、停止ボタン7L、7C、7Rが、停止ボタン7R、停止ボタン7C、停止ボタン7Lの順で押下され、リール3L、3C、3Rの停止操作位置が「2」となり、制御カウンタの値が「0」となる場合、図7に示すように、停止テーブル201が変則押し用停止テーブルとなり、ラインデータが「2」となり、図14に示すように、マスクデータが「00001000」となる。図8に示すように、リール3Lの滑りコマ数は「3」となり、リール3Cの滑りコマ数は「0」となり、リール3Rの滑りコマ数は「1」となる。したがって、図34に示すように、「ベル」の図柄が停止ライン8bに揃う。
以上により、本実施の形態では、遊技機1は、停止ボタン7Lが押下された際のパルスカウンタの値(具体的には、制御カウンタの値)に基づいて、図12に示す複数の対応テーブルから一の対応テーブルを選択し、当該選択された対応テーブルに基づいて、リール3L、3C、3Rの停止位置を決定するので、図柄を停止表示させる際に、遊技者の技術の介入度を高めることができ、面白味を向上させることができる。
従来はパルスカウンタの値に基づく停止制御を行っていなかったので、遊技機1は、新しい停止制御を提供することができる。
停止テーブルの決定に際して、抽選を行う必要がないので、遊技機1は、抽選に必要なプログラムを省略することができる。即ち、遊技機1は、プログラム容量を低減でき、処理の速度を速めることができ、抽選に必要なプログラムの代わりに、他のプログラムやデータをROM32に記憶させることができる。
遊技者は、自己が所望するパルスカウンタの値をねらって目押しをすることで、内部当選役を構成する図柄が揃う停止ラインを自ら選択することができる。
従来は、内部当選役を構成する図柄が揃う停止ラインを抽選により決定していたので、偶然性が高くなり、射幸性が高くなってしまう恐れがあるが、遊技機1は、パルスカウンタの値に基づいて停止ラインを決定するので、このような問題は生じない。
遊技機1は、リール3Lに関しては、左停止操作位置に基づいて停止位置を決定するので、遊技者は、リール3Lに関しては、図柄のみをねらった目押し、即ち従来と同様の目押しを行うことができる。
内部当選役に応じて対応テーブルが異なるので、遊技機1は、内部当選役に応じて停止位置を決定することができる。言い換えれば、遊技者が同じパルスカウンタの値をねらって目押しをしても、内部当選役に応じて停止位置が異なるので、遊技者は、停止位置に基づいて、内部当選役を推定することができる。例えば、遊技者は、ボーナスが内部当選したことを推定することができる。
遊技機1は、制御カウンタの値に基づいて、図12に示す複数の対応テーブルから一の対応テーブルを選択し、当該選択された対応テーブルに基づいて、内部当選役を構成する図柄が揃う停止ラインを決定するので、内部当選役を構成する図柄を停止ラインに揃える際に、遊技者の技術の介入度を高めることができ、面白味を向上させることができる。また、遊技者は、制御カウンタの値に応じて停止位置が異なる場合よりも、停止位置の変化の様子を明確に把握することができる。
遊技機1は、停止ボタン7C、7Rが最初に押下された場合には、図7に示すように、対応テーブル(具体的には、図8に示す変則押し用停止テーブル)を内部当選役に応じて一つだけ選択するので、内部当選役を構成する図柄を停止ライン8a〜8eのいずれかに揃えつつ、誤入賞(内部当選役を構成する図柄以外の図柄が停止ライン8a〜8eのいずれかに揃うこと)を回避することができる。
次に、遊技機1の変形例を説明する。この変形例では、図20に示すステップST24のみが上記内容と異なる。
ステップST24で、CPU31は、一時保存されたパルスカウンタの値と、図11に示す制御カウンタ決定テーブルとに基づいて、制御カウンタの値を決定し、RAM33の実行データ領域に記憶させる。CPU31は、内部当選役と、制御カウンタの値と、図35に示す左リール用停止テーブル決定テーブルとに基づいて、左リール第1停止用停止テーブルを決定する。左リール用停止テーブル決定テーブルは、内部当選役及び制御カウンタの値に対応する停止テーブルの名称で構成される。
この変形例では、内部当選役が同じであっても、制御カウンタの値に応じて、2種類の停止テーブルのうちから、何れかが左リール第1停止用停止テーブルとして決定される。例えば、「ベル役」が内部当選し、制御カウンタの値が「0」の場合、左リール第1停止用停止テーブルが図36に示す停止テーブル101に決定され、「ベル役」が内部当選し、制御カウンタの値が「1」の場合、左リール第1停止用停止テーブルが図37に示す停止テーブル101aに決定される。停止テーブル101aは、停止テーブル101と同様の構成であるが、滑りコマ数が異なる。
次に、表示窓4L、4C、4Rに停止表示される図柄の具体例を説明する。「ベル役」が内部当選し、停止ボタン7L、7C、7Rが、停止ボタン7L、停止ボタン7C、停止ボタン7Rの順で押下され、リール3L、3C、3Rの停止操作位置が「2」となり、制御カウンタの値が「1」となる場合、図35に示すように、左リール第1停止用停止テーブルは停止テーブル101aとなるので、図37に示すように、リール3Lの滑りコマ数は「0」となる。即ち、左停止制御位置は「2」となる。図12に示すように、停止テーブル102が中右リール用停止テーブルとなり、中右リール用ラインデータが「1」となり、図14に示すように、マスクデータが「00000100」となるので、図13に示すように、リール3Cの滑りコマ数は「1」となり、リール3Rの滑りコマ数は「2」となる。したがって、「ベル」の図柄が停止ライン8aに揃う。
この変形例では、リール3Lの停止位置も、制御カウンタの値に応じて異なるので、図柄を停止表示させる際に、遊技者の技術の介入度をさらに高めることができ、面白味をさらに向上させることができる。
なお、本発明の実施形態の構成は、本発明の趣旨を逸脱しない範囲で変更可能である。例えば、本願では、制御カウンタの値を「0」、「1」としたが、これ以外の値、例えば、「0」〜「4」としてもよい。この場合、例えば、パルスカウンタの値が「0」、「4」、「8」、「12」のときに制御カウンタの値が「0」となり、パルスカウンタの値が「1」、「5」、「9」、「13」のときに制御カウンタの値が「1」となり、パルスカウンタの値が「2」、「6」、「10」、「14」のときに制御カウンタの値が「2」となり、パルスカウンタの値が「3」、「7」、「11」、「15」のときに制御カウンタの値が「0」となり、図12に示す制御変更テーブルは、内部当選役毎に4つの対応テーブルを有することとなる。また、制御変更テーブルは、遊技状態毎に対応テーブルを有しても良い。
また、遊技機1は、停止ボタン7C、7Rが最初に押下された場合(いわゆる、変則押しの場合)であっても、リール3C、3Rに対応するパルスカウンタの値を一時保存し、一時保存されたパルスカウンタの値に基づいて、上述した制御変更処理や変形例の処理と同様の処理を行っても良い。これにより、遊技機1は、変則押しがなされた場合であっても、図柄を停止表示させる際に、遊技者の技術の介入度をさらに高めることができ、面白味をさらに向上させることができる。
また、本実施の形態は、本発明をパチスロ機に適用しているが、他の遊技機、例えばパチンコ機に適用しても良い。