以下、本発明の一実施形態を図面を参照して説明する。
まず、遊技機の一例であるパチンコ遊技機の全体の構成について説明する。図1はパチンコ遊技機1を正面からみた正面図、図2はパチンコ遊技機1の内部構造を示す全体背面図、図3はパチンコ遊技機1の遊技盤を背面からみた背面図である。なお、ここでは、遊技機の一例としてパチンコ遊技機を示すが、本発明はパチンコ遊技機に限られず、例えばコイン遊技機等であってもよい。
図1に示すように、パチンコ遊技機1は、額縁状に形成されたガラス扉枠2を有する。ガラス扉枠2の下部表面には打球供給皿3がある。打球供給皿3の下部には、打球供給皿3からあふれた景品玉を貯留する余剰玉受皿4と打球を発射する打球操作ハンドル(操作ノブ)5が設けられている。ガラス扉枠2の後方には、遊技盤6が着脱可能に取り付けられている。また、遊技盤6の前面には遊技領域7が設けられている。
遊技領域7の中央付近には、複数種類の図柄を可変表示するためのCRTを用いた画像表示部9と7セグメントLEDによる可変表示器10とを含む可変表示装置8が設けられている。この実施の形態では、画像表示部9には、「左」、「中」、「右」の3つの図柄表示エリアがある。可変表示装置8の側部には、打球を導く通過ゲート11が設けられている。通過ゲート11を通過した打球は、玉出口13を経て始動入賞口14の方に導かれる。通過ゲート11と玉出口13との間の通路には、通過ゲート11を通過した打球を検出するゲートスイッチ12がある。また、始動入賞口14に入った入賞球は、遊技盤6の背面に導かれ、始動口スイッチ17によって検出される。また、始動入賞口14の下部には開閉動作を行う可変入賞球装置15が設けられている。可変入賞球装置15は、ソレノイド16によって開状態とされる。
可変入賞球装置15の下部には、特定遊技状態(大当り状態)においてソレノイド21によって開状態とされる開閉板20が設けられている。この実施の形態では、開閉板20が大入賞口を開閉する手段となる。開閉板20から遊技盤6の背面に導かれた入賞球のうち一方(Vゾーン)に入った入賞球はVカウントスイッチ22で検出される。また、開閉板20からの入賞球はカウントスイッチ23で検出される。可変表示装置8の下部には、始動入賞口14に入った入賞球数を表示する4個の表示部を有する始動入賞記憶表示器18が設けられている。この例では、4個を上限として、始動入賞がある毎に、始動入賞記憶表示器18は点灯している表示部を1つずつ増やす。そして、画像表示部9の可変表示が開始される毎に、点灯している表示部を1つ減らす。
遊技盤6には、複数の入賞口19,24が設けられている。遊技領域7の左右周辺には、遊技中に点滅表示される装飾ランプ25が設けられ、下部には、入賞しなかった打球を吸収するアウト口26がある。また、遊技領域7の外側の左右上部には、効果音を発する2つのスピーカ27が設けられている。遊技領域7の外周には、遊技効果LED28aおよび遊技効果ランプ28b,28cが設けられている。
そして、この例では、一方のスピーカ27の近傍に、景品玉払出時に点灯する賞球ランプ51が設けられ、他方のスピーカ27の近傍に、補給玉が切れたときに点灯する球切れランプ52が設けられている。さらに、図1には、パチンコ遊技台1に隣接して設置され、プリペイドカードが挿入されることによって球貸しを可能にするカードユニット50も示されている。
カードユニット50には、使用可能状態であるか否かを示す使用可表示ランプ151、カード内に記録された残額情報に端数(100円未満の数)が存在する場合にその端数を打球供給皿3の近傍に設けられる度数表示LEDに表示させるための端数表示スイッチ152、カードユニット50がいずれの側のパチンコ遊技機1に対応しているのかを示す連結台方向表示器153、カードユニット50内にカードが投入されていることを示すカード投入表示ランプ154、記録媒体としてのカードが挿入されるカード挿入口155、およびカード挿入口155の裏面に設けられているカードリーダライタの機構を点検する場合にカードユニット50を解放するためのカードユニット錠156が設けられている。
打球発射装置から発射された打球は、打球レールを通って遊技領域7に入り、その後、遊技領域7を下りてくる。打球が通過ゲート11を通ってゲートスイッチ12で検出されると、図柄の変動を開始できる状態であれば、普通図柄を可変表示する可変表示器10の表示数字が連続的に変化する状態になる。普通図柄の変動を開始できる状態でなければ、ゲート通過記憶を1増やす。また、打球が始動入賞口14に入り始動口スイッチ17で検出されると、図柄の変動を開始できる状態であれば、画像表示部9内の特別図柄が回転を始める。特別図柄の変動を開始できる状態でなければ、始動入賞記憶を1増やす。なお、始動入賞記憶については、後で詳しく説明する。
画像表示部9内の画像の回転は、一定時間が経過したときに停止する。停止時の画像の組み合わせが大当り図柄の組み合わせであると、大当り遊技状態に移行する。すなわち、開閉板20が、一定時間経過するまで、または、所定個数(例えば10個)の打球が入賞するまで開放する。そして、開閉板20の開放中に打球が特定入賞領域に入賞しVカウントスイッチ22で検出されると、継続権が発生し開閉板20の開放が再度行われる。継続権の発生は、所定回数(例えば15ラウンド)許容される。
停止時の画像表示部9内の画像の組み合わせが確率変動を伴う大当り図柄の組み合わせである場合には、次に大当りとなる確率が高くなる。すなわち、高確率状態という遊技者にとってさらに有利な状態となる。
また、可変表示器10における停止図柄が所定の図柄(当り図柄)である場合に、可変入賞球装置15が所定時間だけ開状態になる。さらに、高確率状態では、可変表示器10における停止図柄が当り図柄になる確率が高められるとともに、可変入賞球装置15の開放時間と開放回数が高められる。
次に、パチンコ遊技機1の裏面の構造について図2を参照して説明する。
可変表示装置8の背面では、図2に示すように、機構板36の上部に景品玉タンク38が設けられ、パチンコ遊技機1が遊技機設置島に設置された状態でその上方から景品玉が景品玉タンク38に供給される。景品玉タンク38内の景品玉は、誘導樋39を通って玉払出装置に至る。
機構板36には、中継基板30を介して画像表示部9を制御する可変表示制御ユニット29、基板ケース32に覆われ遊技制御用マイクロコンピュータ等が搭載された遊技制御基板(主基板)31、可変表示制御ユニット29と遊技制御基板31との間の信号を中継するための中継基板33、および景品玉の払出制御を行う賞球制御用マイクロコンピュータ等が搭載された賞球制御基板37が設置されている。さらに、機構板36には、モータの回転力を利用して打球を遊技領域7に発射する打球発射装置34と、遊技効果ランプ・LED28a,28b,28c、賞球ランプ51および球切れランプ52に信号を送るためのランプ制御基板35が設置されている。
また、図3はパチンコ遊技機1の遊技盤を背面からみた背面図である。遊技盤6の裏面には、図3に示すように、各入賞口および入賞球装置に入賞した入賞玉を所定の入賞経路に沿って導く入賞玉集合カバー40が設けられている。入賞玉集合カバー40に導かれる入賞玉のうち、開閉板20を経て入賞したものは、玉払出装置(図3において図示せず)が相対的に多い景品玉数(例えば15個)を払い出すように制御される。始動入賞口14を経て入賞したものは、玉払出装置が相対的に少ない景品玉数(例えば6個)を払い出すように制御される。そして、その他の入賞口24および入賞球装置を経て入賞したものは、玉払出装置が相対的に中程度の景品玉数(例えば10個)を払い出すように制御される。なお、図3には、中継基板33が例示されている。
賞球払出制御を行うために、入賞球検出スイッチ99、始動口スイッチ17およびVカウントスイッチ22からの信号が、主基板31に送られる。入賞があったことは入賞球検出スイッチ99で検出されるが、主基板31に入賞球検出スイッチ99のオン信号が送られると、主基板31から賞球制御基板37に賞球制御コマンドが送られる。例えば、始動口スイッチ17のオンに対応して入賞球検出スイッチ99がオンすると、賞球個数「6」を示す賞球制御コマンドが出力され、カウントスイッチ23またはVカウントスイッチ22のオンに対応して入賞球検出スイッチ99がオンすると、賞球個数「15」を示す賞球制御コマンドが出力される。そして、それらのスイッチがオンしない場合に入賞球検出スイッチ99がオンすると、賞球個数「10」を示す賞球制御コマンドが出力される。
図4は、主基板31における回路構成の一例を示すブロック図である。なお、図4には、賞球制御基板37、ランプ制御基板35、音声制御基板70、発射制御基板91および表示制御基板80も示されている。主基板31には、プログラムに従ってパチンコ遊技機1を制御する基本回路53と、ゲートスイッチ12、始動口スイッチ17、Vカウントスイッチ22、カウントスイッチ23および入賞球検出スイッチ99からの信号を基本回路53に与えるスイッチ回路58と、可変入賞球装置15を開閉するソレノイド16および開閉板20を開閉するソレノイド21を基本回路53からの指令に従って駆動するソレノイド回路59と、始動記憶表示器18の点灯および滅灯を行うとともに7セグメントLEDによる可変表示器10と装飾ランプ25とを駆動するランプ・LED回路60とを含む。
また、基本回路53から与えられるデータに従って、大当りの発生を示す大当り情報、画像表示部9の画像表示開始に利用された始動入賞球の個数を示す有効始動情報、確率変動が生じたことを示す確変情報等をホール管理コンピュータ等のホストコンピュータに対して出力する情報出力回路64を含む。
基本回路53は、ゲーム制御用のプログラム等を記憶するROM54、ワークメモリとして使用されるRAM55、制御用のプログラムに従って制御動作を行うCPU56およびI/Oポート部57を含む。なお、ROM54,RAM55はCPU56に内蔵されている場合もある。
さらに、主基板31には、電源投入時に基本回路53をリセットするための初期リセット回路65と、基本回路53から与えられるアドレス信号をデコードしてI/Oポート部57のうちのいずれかのI/Oポートを選択するための信号を出力するアドレスデコード回路67とが設けられている。
なお、玉払出装置97から主基板31に入力されるスイッチ情報もあるが、図4ではそれらは省略されている。
遊技球を打撃して発射する打球発射装置は発射制御基板91上の回路によって制御される駆動モータ94で駆動される。そして、駆動モータ94の駆動力は、操作ノブ5の操作量に従って調整される。すなわち、発射制御基板91上の回路によって、操作ノブ5の操作量に応じた速度で打球が発射されるように制御される。
次に動作について説明する。
図5および図6は、主基板31における基本回路53の動作を示すフローチャートである。図5は基本回路53が実行するメイン処理を示し、図6は割込処理を示す。基本回路53の電源オン時のリセットが解けると、CPU56は、まず、クロックモニタ制御を動作可能状態にするために、CPU56に内蔵されているクロックモニタレジスタをクロックモニタイネーブル状態に設定する(ステップS1)。なお、クロックモニタ制御とは、入力されるクロック信号の低下または停止を検出すると、CPU56の内部で自動的にリセットを発生する制御である。
次いで、CPU56は、スタックポインタの指定アドレスをセットするためのスタックセット処理を行う(ステップS2)。この例では、スタックポインタに00FFHが設定される。そして、システムチェック処理を行う(ステップS3)。システムチェック処理では、CPU56は、RAM55にエラーが含まれているか判定し、エラーが含まれている場合には、RAM55を初期化するなどの処理を行う。電源投入時にはRAM55の内容は不定であるから、結局、RAM55のクリア処理が行われることになる。また、定期的(例えば2ms毎)にタイマ割込がかかるように、CPU内蔵タイマの初期設定を行う。
そして、表示用乱数更新処理を繰り返し実行する(ステップS4)。図7は、遊技機で用いられる各乱数を示す説明図である。各乱数は、以下のように使用される。
(1)ランダム1:大当りを発生させるか否か決定する(大当り判定用)
(2)ランダム2−1〜2−3:左右中のはずれ図柄決定用
(3)ランダム3:大当り時の図柄の組合せを決定する(大当り図柄決定用=特定図柄判定用)
(4)ランダム4:はずれ時にリーチするか否か決定する(リーチ判定用)
(5)ランダム5:リーチ種類を決定する(リーチ動作決定用)
(6)ランダム6:大当り判定値を決定する(大当り判定値決定用)
なお、遊技効果を高めるために、上記(1)〜(6)の乱数以外の乱数も用いられている。例えば、普通図柄を表示する可変表示器10の表示結果にもとづいてあたりとするか否か決定するための乱数や、可変表示器10の停止図柄を決定する乱数等がある。
ステップS4の処理では、(2)のはずれ図柄決定用の乱数、(4)のリーチ判定用の乱数、(5)のリーチ動作用および(6)大当り判定値決定用の乱数を生成するカウンタのカウントアップ(1加算)が行われる。ただし、ランダム2−2は、ランダム2−1の桁上げが生ずるときに、すなわち、ランダム2−1の値が「15」になって「0」に戻されるときにカウントアップされる。また、ランダム2−3は、ランダム2−2の桁上げが生ずるときに、すなわち、ランダム2−2の値が「15」になって「0」に戻されるときにカウントアップされる。
図6に示された処理は、CPU56内部のタイマ割込によって起動される。割込処理において、CPU56は、表示制御基板80に送出される表示制御コマンドをRAM55の所定の領域に設定する処理を行った後に(表示制御データ設定処理:ステップS11)、表示制御コマンドを出力する処理を行う(表示制御データ伝送処理:ステップS12)。
次いで、各種出力データの格納領域の内容を各出力ポートに出力する処理を行う(データ出力処理:ステップS13)。また、遊技領域7の周囲に設けられているランプ・LEDの点灯/滅灯パターン変更タイミングを決定するためのタイマを更新する処理を行う(ステップS14)。さらに、各種出力データの格納領域の出力データを設定するとともに、ホール管理用コンピュータに出力される大当り情報、始動情報、確率変動情報などの出力データを格納領域に設定する出力データ設定処理を行う(ステップS15)。さらに、パチンコ遊技機1の内部に備えられている自己診断機能によって種々の異常診断処理が行われ、その結果に応じて必要ならば警報が発せられる(エラー処理:ステップS16)。
次に、遊技制御に用いられる大当り判定用の乱数等の各判定用乱数を生成するための各カウンタを更新する処理を行う(ステップS17)。この実施の形態では、図7に示された各乱数を生成するための各カウンタのうち、(1)の大当り判定用乱数および(3)の大当り図柄決定用乱数を生成するためのカウンタのカウントアップ(1加算)を行う。
次に、CPU56は、特別図柄プロセス処理を行う(ステップS18)。特別図柄プロセス制御では、遊技状態に応じてパチンコ遊技機1を所定の順序で制御するための特別図柄プロセスフラグに従って該当する処理が選び出されて実行される。そして、特別図柄プロセスフラグの値は、遊技状態に応じて各処理中に更新される。また、普通図柄プロセス処理を行う(ステップS19)。普通図柄プロセス処理では、7セグメントLEDによる可変表示器10を所定の順序で制御するための普通図柄プロセスフラグに従って該当する処理が選び出されて実行される。そして、普通図柄プロセスフラグの値は、遊技状態に応じて各処理中に更新される。
さらに、CPU56は、スイッチ回路58を介して、ゲートスイッチ12、始動口スイッチ17およびカウントスイッチ23の状態を入力し、各入賞口や入賞装置に対する入賞があったか否か判定する(スイッチ処理:ステップS20)。また、遊技の進行に応じてスピーカ27から所定音が発せられるように、音声制御基板70に信号を送出する制御を行う(ステップS21)。
CPU56は、ここで、ステップS4の処理と同様の表示用乱数を生成するための各カウンタを更新する処理を行う(ステップS22)。具体的には、(2)のはずれ図柄決定用の乱数、(4)のリーチ判定用の乱数、(5)のリーチ動作用および(6)の大当り判定値決定用の乱数を生成するカウンタのカウントアップ(1加算)を行う。
また、CPU56は、賞球制御基板37との間の入賞球信号処理を行う(ステップS23)。すなわち、所定の条件が成立すると賞球制御基板37に賞球個数信号を出力する。賞球制御基板37に搭載されている賞球制御用CPUは、賞球個数信号に応じて玉払出装置97を駆動する。
ステップS11〜S23間での処理が完了すると、割込処理を終了し、メイン処理における割込発生時点で行われていた処理に戻る。図5に示されたように、割込発生時点で実行されている処理は、ステップS4の表示用乱数更新処理である。
図8は、図5および図6に示された表示用乱数更新処理(ステップS4,S22)の具体的処理を示すフローチャートである。表示用乱数更新処理において、CPU56は、まず、はずれ図柄決定用乱数(ランダム2−1,2−2,2−3)を更新する処理を行う(ステップS31)。すなわち、ランダム2−1をカウントアップ(1加算)するとともに、ランダム2−1の桁上げが生ずるとランダム2−2のカウントアップを行い、ランダム2−2の桁上げが生ずるとランダム2−3のカウントアップを行う。
また、リーチ判定用乱数(ランダム4)を生成するするためのカウンタおよびリーチ動作用乱数(ランダム5)を生成するするためのカウンタをカウントアップする(ステップS32,S33)。そして、大当り判定値決定用乱数(ランダム6)を生成するするためのカウンタ(大当り判定値決定用カウンタ)をカウントアップする(ステップS34)。
なお、図5および図6に示された処理では、ステップS4とステップS22とにおいて、大当り判定値決定用カウンタの更新処理(ステップS34)が行われたが、図9および図10に示すように、メイン処理における無限ループ期間においてのみ大当り判定値決定用カウンタの更新処理を行ってもよい(ステップS5)。図9に示されたメイン処理および図10に示された割込処理では、ステップS4A,S2Aにおいて、大当り判定値決定用カウンタの更新処理は行われない。
また、図5および図9に示された処理では、大当り判定値決定用カウンタの更新処理は常時実行されることになるが、所定の期間においてのみ更新されるように構成してもよい。所定の期間とは、大当り判定用乱数と大当り判定値との比較を行わない期間中であり、例えば、大当り遊技中である。
図11は、メイン処理と割込処理との関係の一例を示すタイミング図である。図11に示すように、電源がオンすると、まず、メイン処理におけるステップS1〜S3の処理が行われ、その後、ステップS4の処理(またはS4およびS5の処理)が繰り返し実行される。割込発生用タイマがタイムアップすると、タイマ割込が発生する。そして、その割込処理において、ステップS11〜S23の処理が実行される。実行完了すると、ステップS4の処理(またはS4およびS5の処理)に戻り、表示用乱数更新処理(または表示用乱数更新処理(ランダム6更新せず)+大当り判定値決定用乱数更新処理)が行われる。
図11において、表示用乱数更新処理(または表示用乱数更新処理(ランダム6更新せず)+大当り判定値決定用乱数更新処理)は斜線部分で示されている。また、割込が発生したときに表示用乱数更新処理(または表示用乱数更新処理(ランダム6更新せず)+大当り判定値決定用乱数更新処理)で扱われるカウンタのカウント値が「n」であれば、割込処理から復帰したときには、カウント値は「n」から始まる。すなわち、カウント値は連続する。
なお、遊技進行状況に応じてステップS11〜S23に要する時間は変わるので、図11において斜線で示された部分の期間は一定ではなくランダムである。
このように、乱数を抽出するためのカウンタのカウント値は割込前後において連続してカウントアップされ、かつ、表示用乱数更新処理(または表示用乱数更新処理(ランダム6更新せず)+大当り判定値決定用乱数更新処理)にかけられる時間が、従来の場合よりも延長されている。なぜなら、図11に示された制御ではメイン処理におけるイニシャライズ処理等に相当する白矩形部分は電源投入時にしか現れないが、従来の制御では、表示用乱数更新処理(または表示用乱数更新処理(ランダム6更新せず)+大当り判定値決定用乱数更新処理)を示す各斜線部分の前で常にイニシャライズ処理等が行われていたからである。
従って、従来の遊技機に比べて、乱数を抽出するためのカウンタのカウント値の連続性がとぎれたりすることはなく、また、カウンタのカウントアップ処理にかけられる時間が多くなって、乱数を抽出するためのカウンタのカウント値のランダム性をより向上させることができる。
次に、始動入賞口14への入賞(始動入賞)にもとづいて画像表示部9に可変表示される図柄の決定方法について図12〜図14のフローチャートを参照して説明する。図12は打球が始動入賞口14に入賞したことを判定する処理を示し、図13は大当り判定の処理を示す。また、図14は、画像表示部9における可変表示の停止図柄を決定する処理を示すフローチャートである。
打球が遊技盤6に設けられている始動入賞口14に入賞すると、始動口スイッチ17がオンする。割込処理におけるステップS20のスイッチ処理において、基本回路53は、スイッチ回路58を介して始動口スイッチ17がオンしたことを判定する(ステップS41)。オンしたことを検出した場合には、CPU56は、判定値変更フラグがセットされているか否か確認する(ステップS46)。セットされていなければ、大当り判定値決定用カウンタのそのときのカウント値を抽出し、大当り判定値とする(ステップS47)。また、判定値変更フラグをセットする(ステップS48)。
そして、CPU56は、始動入賞記憶数が始動記憶上限値である4に達しているかどうか確認する(ステップS42)。始動入賞記憶数が始動記憶上限値に達していなければ、始動入賞記憶数を1増やし(ステップS43)、大当り判定用乱数の値を抽出する。そして、各始動入賞記憶数n(n=1,2,3,4)に対応して設けられている乱数値格納エリアに抽出した乱数を格納する(ステップS44)。始動入賞記憶数が始動記憶上限値に達している場合には、ステップS43,S44の処理を行わない。
CPU56は、画像表示部9の可変表示を開始できる状態になると図14のフローチャートに示す処理を行う。
まず、始動入賞記憶数の値を確認する(ステップS50)。始動入賞記憶数が0でなければ、始動入賞記憶数=1に対応する乱数値格納エリアに格納されている値を読み出すとともに(ステップS51)、始動入賞記憶数の値を1減らし、かつ、各乱数値格納エリアの値をシフトする(ステップS52)。すなわち、始動入賞記憶数=n(n=2,3,4)に対応する乱数値格納エリアに格納されている値を、始動入賞記憶数=n−1に対応する乱数値格納エリアに格納する。
そして、CPU56は、ステップS51で読み出した値、すなわち抽出されている大当り判定用乱数値にもとづいて当たり/はずれを決定する(ステップS53)。この実施の形態では、大当り判定用乱数は0〜249の範囲の値をとることにする。そして、図13に示すように、始動入賞時に抽出されている大当り判定用乱数(ランダム1)の値を大当り判定値と比較する。そして、ランダム1の値が大当り判定値と一致すれば、大当りと決定し、それ以外の値である場合にははずれと決定する。
なお、画像表示部9における停止図柄の組合せが特定図柄の揃ったものである場合には、大当りが発生するとともに高確率の状態となる。高確率の状態では、次に大当りが発生する確率が高められるとともに、可変表示器10が可変表示開始後図柄が確定するまでの時間が短縮されるとともに、可変表示器10による当り発生時に可変入賞球装置15の開放状態が長く設定される。すなわち、高確率時には、遊技者にとって極めて有利な状態となる。低確率時(通常時)には大当り判定値は例えば1個とされるが、高確率時には、大当り判定値は複数個とされ、抽出されているランダム1の値がいずれかの大当り判定値と一致すると大当りと決定される。
大当りと判定されたときには、CPU56は、大当り図柄判定用乱数(ランダム3)の値にもとづいて停止図柄を決定する。ここで、リミッタが作動している場合には、高確率状態を引き起こす確変図柄を含まないテーブルから停止図柄を決定する(ステップS54,S56)。リミッタは、連続して確変図柄による大当りが発生すること、すなわち連続して高確率状態が継続することを制限するためのものである。例えば、4回連続して高確率状態が継続するとリミッタが作動状態になる。従って、リミッタ作動状態では、確率変動が行われる特定図柄を含まないテーブルから停止図柄が決定される。
リミッタが作動中でないならば、全図柄を含むテーブルから停止図柄を決定する(ステップS54,S55)。
さらに、CPU56は、ランダム5の値に従ってリーチ種類を決定し(ステップS74)、大当りとするか否か、大当りの場合の図柄、およびリーチ種類を所定の格納エリアに設定する(ステップS75)。なお、格納エリアは、基本回路53におけるRAM55に設けられる。
ステップS53においてはずれと判定されていた場合には、CPU56は、リーチとするか否か判定する(ステップS59)。例えば、図7に示すリーチ判定用乱数の値が0〜104のいずれかである場合にはリーチすることに決定する。リーチすることに決定したときには、基本回路は、停止図柄の決定を行う。この実施の形態では、ランダム2−1の値に従って左右図柄を決定する(ステップS60)。また、ランダム2−2の値に従って中図柄を決定する(ステップS61)。ここで、決定された中図柄が左右図柄と一致した場合には、中図柄に対応した乱数の値に1加算した値に対応する図柄を中図柄の確定図柄として、大当り図柄と一致しないようにする。
さらに、CPU56は、ランダム5の値に従ってリーチ種類を決定する(ステップS62)。そして、所定の格納エリアに「リーチ」、リーチ図柄、およびリーチ種類を設定する(ステップS63)。
ステップS59における抽選結果がはずれである場合には、所定の格納エリアにはずれであることを設定する(ステップS64)。
図15は特別図柄プロセス処理のプログラムの一例を示すフローチャートである。図15に示す特別図柄プロセス処理は、図6および図10のフローチャートにおけるステップS18の具体的な処理である。基本回路53のCPU56は、特別図柄プロセス処理を行う際に、その内部状態に応じて、図15に示すステップS300〜S309のうちのいずれかの処理を行う。各処理において、以下のような処理が実行される。
特別図柄変動待ち処理(ステップS300):始動入賞口14(この実施の形態では可変入賞球装置15の入賞口)に打球入賞して始動口スイッチ17がオンするのを待つ。始動口スイッチ17のオンが検出されたら、図12に示された処理を行う。
特別図柄判定処理(ステップS301):特別図柄の可変表示が開始できる状態になると、始動入賞記憶数を確認する。始動入賞記憶数が0でなければ、既に抽出されているランダム1の値に応じて大当たりとするかはずれとするか決定する。
停止図柄設定処理(ステップS302):ランダム2またはランダム3の値に応じて左右中図柄の停止図柄を決定する。
リーチ動作設定処理(ステップS303):リーチ判定用乱数(ランダム4)の値に応じてリーチ動作するか否か決定するとともに、リーチ動作用乱数(ランダム5)の値に応じてリーチ動作の変動態様を決定する。
全図柄変動開始処理(ステップS304):画像表示部9において全図柄が変動開始されるように制御する。また、画像表示部9に背景やキャラクタも表示される場合には、それに応じた表示制御コマンドデータが表示制御基板80に送出されるように制御する。
全図柄停止待ち処理(ステップS305):所定時間が経過すると、画像表示部9において表示される全図柄が停止されるように制御する。また、全図柄停止のタイミングまで、所定のタイミングで左右図柄が停止されるように制御するとともに、適宜、画像表示部9において表示される背景やキャラクタに応じた表示制御コマンドデータが表示制御基板80に送出されるように制御する。
大当たり表示処理(ステップS306):停止図柄が大当たり図柄の組み合わせである場合には、大当たり表示の表示制御コマンドデータが表示制御基板80に送出されるように制御するとともに内部状態(プロセスフラグ)をステップS307に移行するように更新する。そうでない場合には、内部状態をステップS309に移行するように更新する。なお、大当たり図柄の組み合わせは、左右中図柄が揃った組み合わせである。また、遊技制御基板80の回路は表示制御コマンドデータに従って、画像表示部9に大当り表示を行う。大当り表示は遊技者に大当りの発生を報知するためになされるものである。
大入賞口開放開始処理(ステップS307):大入賞口を開放する制御を開始する。具体的には、カウンタやフラグを初期化するとともに、ソレノイド21を駆動して大入賞口を開放する。
大入賞口開放中処理(ステップS308):大入賞口ラウンド表示の表示制御コマンドデータが表示制御基板80に送出する制御や大入賞口の閉成条件の成立を確認する処理等を行う。大入賞口の閉成条件が成立したら、大当り遊技状態の終了条件が成立していなければ内部状態をステップS307に移行するように更新する。大当り遊技状態の終了条件が成立していれば、内部状態をステップS309に移行するように更新する。
大当たり終了処理(ステップS309):大当たり遊技状態が終了したことを遊技者に報知するための表示を行う。その表示が終了したら、内部フラグ等を初期状態に戻し、内部状態をステップS300に移行するように更新する。
上記の各ステップの処理に応じて、遊技制御プログラム中の表示制御コマンドデータを送出する処理を行うモジュールは、対応する表示制御コマンドデータを出力ポートに出力するとともに、ストローブ信号を出力ポートに出力する。
なお、この実施の形態では、大当り遊技状態における各ラウンド毎に、ステップS307の大入賞口開放開始処理とステップS308の大入賞口開放中処理とが実行される。
図12のフローチャートに示されたように、この実施の形態では、始動入賞口への最初の入賞があると、大当り判定値決定用カウンタの値が抽出され、大当り判定値が更新された(ステップS46〜S48)。判定値変更フラグは電源投入時に実行されるイニシャライズ処理でクリアされているので、図16のタイミング図に示すように、遊技機の電源投入後、最初に始動入賞があると、大当り判定値が変更されることになる。
最初の始動入賞に変えて、電源投入後の最初の普通図柄変動開始の条件が成立すると大当り判定値の変更を行うようにしてもよい。図17は、そのような処理を示すフローチャートである。なお、この実施の形態では、普通図柄変動開始の条件は通過ゲート11の遊技球通過である。
打球が遊技盤6に設けられている通過ゲート11を通過すると、ゲートスイッチ12がオンする。割込処理におけるステップS20のスイッチ処理において、基本回路53は、スイッチ回路58を介してゲートスイッチ12がオンしたことを判定する(ステップS71)。オンしたことを検出した場合には、CPU56は、判定値変更フラグがセットされているか否か確認する(ステップS76)。セットされていなければ、大当り判定値決定用カウンタのそのときのカウント値を抽出し、大当り判定値とする(ステップS77)。また、判定値変更フラグをセットする(ステップS78)。
そして、CPU56は、ゲート通過記憶数が上限値である4に達しているかどうか確認する(ステップS72)。ゲート通過記憶数が上限値に達していなければ、ゲート通過記憶数を1増やし(ステップS73)、普通図柄による当り判定用乱数の値を抽出する。そして、各ゲート通過記憶数n(n=1,2,3,4)に対応して設けられている乱数値格納エリアに抽出した乱数を格納する(ステップS74)。ゲート通過記憶数が上限値に達している場合には、ステップS73,S74の処理を行わない。なお、乱数値格納エリアに格納された乱数は、図6および図10に示された割込処理のステップS19の普通図柄プロセス処理における判定を実行する処理において参照される。
以上のような処理によって、図18のタイミング図に示すように、遊技機の電源投入後、最初に普通図柄を変動させるための条件が成立すると、大当り判定値が変更されることになる。
そして、この実施の形態では、図19のタイミング図に示すように、大当り遊技状態が開始され、大入賞口が最初に開放し、そのラウンドにおいて大入賞口への最初の入賞があると、すなわち、カウントスイッチ23がオンしたら、そのときの大当り判定値決定用カウンタのカウント値を抽出し、大当り判定値を変更する。
図20は、図19に示されたような制御を行う大入賞口開放中処理(図15におけるステップS308)の処理を示すフローチャートである。
大入賞口開放中処理において、CPU56は、まず、タイマがタイムアウトしているか否か確認する(ステップS381)。このタイマは、例えば29.5秒を計時するものであって、1ラウンドの大入賞口開放許容時間を計測する。従って、タイムアウトしていれば、ソレノイド21の駆動を停止するように制御して大入賞口を閉成し(ステップS395)、プロセスフラグを大当り終了処理に応じた値にセットする(ステップS396)。
タイマがタイムアウトしていない場合には、カウントスイッチ23がオンしたかどうかチェックする(ステップS385)。カウントスイッチ23がオンしたときには、入賞数カウンタを+1する(ステップS386)。そして、入賞数カウンタがmであれば、そのときのランダム6の値を抽出する(ステップS387,S388,S389)。具体的には、大当り判定値決定用カウンタのそのときのカウント値を抽出する。抽出されたランダム6の値は、次回の大当り判定値として使用される。なお、図19に示された例は、m=1の例である。
入賞数カウンタの値が10であれば、CPU56は、ソレノイド21の駆動を停止するように制御して大入賞口を閉成し(ステップS391)、そのラウンドが最終ラウンドであるか否か確認する(ステップS391,S392)。最終ラウンドであるか否かは、開放回数カウンタの値によって判断される。最終ラウンドであれば、ステップS396の処理に移行する。また、最終ラウンドでなければ、そのラウンドにおけるVカウントスイッチ有効期間中にVカウントスイッチ22がオンしたかどうか確認する(ステップS393)。Vカウントスイッチ22がオンしていれば、次のラウンドを開始するためにプロセスフラグを大入賞口開放開始処理に応じた値にセットする(ステップS394)。Vカウントスイッチ22がオンしていなければ、ステップS396の処理に移行する。
図19に示された例は、大入賞口が最初に開放したときのラウンドにおいて大入賞口への最初の入賞があると、そのときの大当り判定値決定用カウンタの値を抽出する例であったが、任意のラウンド中に、大当り判定値決定用カウンタ値の抽出を行ってもよい。図21は、大当り遊技状態における任意のラウンドにおいて、大入賞口への最初の入賞があると、そのときの大当り判定値決定用カウンタの値を抽出する例を示す。
また、任意のラウンドにおいて、任意の個数目の大入賞口への入賞があったときに大当り判定値決定用カウンタの抽出を行ってもよい。図22は、大当り遊技中において、あるラウンドにおいて、所定の個数の大入賞口への入賞があると大当り判定値決定用乱数値を抽出して大当り判定値を切り換える例を示すタイミング図である。図22では、大当り判定値決定用乱数値を抽出するための所定個がsと表現されている。
図23は、図22に示されたような制御を行う大入賞口開放中処理(ステップS308)の処理を示すフローチャートである。
大入賞口開放中処理において、CPU56は、まず、タイマがタイムアウトしているか否か確認する(ステップS381)。タイムアウトしていれば、大入賞口を閉成し(ステップS395)、プロセスフラグを大当り終了処理に応じた値にセットする(ステップS396)。
タイマがタイムアウトしていない場合には、開放回数カウンタを+1する(ステップS382)。カウントスイッチ23がオンしたときには、入賞数カウンタを+1する(ステップS385,S386)。そして、開放回数カウンタの値がNであるか否か確認する(ステップS401)。開放回数カウンタの値がNであれば、大当り判定値を切り換えるためのステップS402以降の処理を行う。なお、Nは1〜15のうちの任意の値である。
ステップS402において、CPU56は、入賞数カウンタがsであれば、そのときのランダム6の値を抽出する(ステップS389)。抽出されたランダム6の値は、次回の大当り判定値として使用される。
その後、図20に示されたステップS390以降の処理と同様の処理を行う。
以上のように、大当り判定値決定用カウンタを無限ループ(図5におけるステップS4または図9におけるステップS5)で歩進させ、所定のタイミングで大当り判定値決定用カウンタのカウント値を抽出することによって大当り判定値決定用乱数を抽出し、大当り判定値の切換を行った。大当り判定値の切換契機は、遊技者が発射した遊技球の大入賞口への入賞にもとづくものであって、ランダムに発生する。すなわち、ランダムに大当り判定値の切換が行われるので、外部から切換契機を特定することは不可能である。従って、不正基板を取り付けても、大当りを狙い撃つことはできなくなる。
なお、ここでは大当り判定値決定用カウンタを例にとって説明を進めたが、遊技制御に用いられる他のカウンタを無限ループで歩進させるようにしてもよい。
また、上記の各実施の形態において、大当り判定値の切り換えは、カウントスイッチ23のオンを契機に行われている。例えばVカウントスイッチ22のオンを契機に判定値を切り換えるように構成すると、Vカウントスイッチ22がオンせず、判定値切り換えが行われない可能性がある。しかし、一般に、Vカウントスイッチ22よりもカウントスイッチ23はオンしやすいので、カウントスイッチ23のオンを契機に判定値を切り換えるように構成すれば、そのような不都合が生ずる可能性が低減される。また、一般に、遊技機は、特定遊技状態中においてカウントスイッチ23が1回もオンしない場合にはエラーとされ遊技が中断される。
さらに、遊技機の電源投入後の最初の特別図柄または普通図柄の変動開始の条件が成立すると、大当り判定値に変更を行った。そのような条件にもとづく大当り判定値の変更が行われない場合には、遊技機の電源投入後、1回目の大当り遊技状態に入るまで大当り判定値の変更が行われないので、長期間にわたって大当り判定値が一定値に保持される可能性がある。すると、その長期間の間に何らかの不正手段によって大当り判定用乱数の値が大当り判定値に一致するタイミングが認識されてしまうおそれもある。しかし、遊技機の電源投入後の最初の特別図柄または普通図柄の変動開始の条件が成立すると大当り判定値の変更を行うように構成すれば、不正手段によるタイミングの認識の可能性を低減することができる。
なお、上述した例では、遊技機の電源投入後の最初の特別図柄または普通図柄の変動開始の条件が成立すると、大当り判定値の変更を行った。しかし、大当り判定値の変更タイミングは1回目に限らず、電源投入後の所定回目であってもよい。図24は、電源投入後M回目の始動入賞で大当り判定値決定用カウンタの値を抽出し、抽出値を大当り判定値とする処理を示すフローチャートである。
図24に示すように、CPU56は、始動口センサ17がオンしたことを検出すると(ステップS41)、始動入賞カウンタを+1する(ステップS95)。そして、始動入賞カウンタがMになると(ステップS96)、大当り判定値決定用乱数(ランダム6)の値を抽出する(ステップS97)。そして、ここで抽出した乱数値を大当り判定値とする。また、始動入賞カウンタをクリアしておく(ステップS98)。
次いで、始動入賞記憶数が始動記憶上限値である4に達しているかどうか確認する(ステップS42)。始動入賞記憶数が始動記憶上限値に達していなければ、始動入賞記憶数を1増やし(ステップS43)、大当り判定用乱数の値を抽出する。そして、各始動入賞記憶数n(n=1,2,3,4)に対応して設けられている乱数値格納エリアに抽出した乱数を格納する(ステップS44)。始動入賞記憶数が始動記憶上限値に達している場合には、ステップS43,S44の処理を行わない。
なお、所定回数Mとして、電源投入後大当り判定値が変更されない期間が長くならないように、小さい値が採用される。また、図24には、電源投入後所定回目の始動入賞があると大当り判定値を変更するようにしたが、電源投入後所定回目の通過ゲートの球通過があると大当り判定値を変更するようにしてもよい。
上記の例では、遊技者の遊技にもとづいてランダムに生ずる入賞口への入賞を大当り判定値の切換契機として、切換契機のランダム性(=外部からの特定が不可能)を確保したが、入賞口への入賞に応じて行われる遊技状態を切換契機としても、遊技者の遊技にもとづく入賞口への入賞にもとづくものであるから切換契機のランダム性を確保できる。
例えば、始動入賞にもとづく特別図柄の可変表示の開始時、大当りの確定時、リーチの確定時などに大当り判定値を切り換えるようにしてもよい。つまり、大当り判定値と大当り判定用乱数値との比較を行ってから、大当り遊技状態に移行するまでの適当なタイミングで大当り判定値を切り換えるようにしてもよい。その際、大当りやリーチが所定回生ずると大当り判定値を切り換えるようにしてもよい。さらに、所定回の確変大当りが発生したり、所定回の非確変大当りが発生すると大当り判定値を切り換えるようにしてもよい。また、スーパリーチ等の特定のリーチが所定回発生すると大当り判定値を切り換えるようにしてもよい。
また、複数種類の球検出装置による球検出等の条件を種々組み合わせた所定個目の条件成立によって大当り判定値を切り換えるようにしてもよい。
この実施の形態では、低確率時には大当り判定値は例えば1個とされるが、高確率時には、大当り判定値は複数個とされる。すると、大当り判定値の切換契機では、複数個の大当り判定値を切り換える必要がある。その場合、複数個のそれぞれの大当り判定値に応じた大当り判定値決定用乱数を使用してもよいが、1つの大当り判定値決定用乱数を使用して、抽出された大当り判定値決定用乱数値に所定値を加算することによって、各大当り判定値を決定するようにしてもよい。
なお、各例において、大当り判定用乱数(ランダム1)がとる値の範囲と大当り判定値決定用乱数(ランダム6)がとる値の範囲とは一致していたが、必ずしも一致している必要はなく、大当り判定値決定用乱数がとる値の範囲を、大当り判定用乱数がとる値の範囲よりも小さくしてもよい。また、大当り判定値決定用乱数の更新時に+1するのではなく、+n(n>1)するようにしてもよい。
また、1つの大当り判定値決定用乱数を使用して、抽出された大当り判定値決定用乱数値をもとにテーブルを検索して、各大当り判定値を決定するようにしてもよい。図25は、そのようなテーブルの一例を示す説明図である。この例では、大当り判定値決定用乱数は0〜4の範囲の値をとるものとする。そして、テーブルには、0〜4の各値に応じた通常時(低確率時)の大当り判定値と確変時(高確率時)の大当り判定値(この例では5種類)とが設定されている。そして、CPU56は、そのようなテーブルから、切換契機において抽出された大当り判定値決定用乱数値に応じた低確率時の大当り判定値と高確率時の大当り判定値とを新たな大当り判定値とする。
このようなテーブルを用いれば、高確率時の大当り判定値が何種類あっても、また、低確率時の大当り判定値が複数種類あったとしても、1つの大当り判定値決定用乱数で容易に大当り判定値の切換を行うことができる。
なお、図25に示されている判定値は全て素数であって、他の値の倍数とはなっていない。従って、各大当り判定値は他の値との関連性がなくなり、主基板31の外部において大当り判定値を予測することはより困難になる。また、この例では、大当り判定値決定用乱数は0〜4の範囲の値をとるものとしたが、その範囲は任意であり、さらに多くてもよい。
また、図25に示された例では、大当り判定値決定用乱数値をそのまま大当り判定値を決定するための数値として用いているが、抽出された大当り判定値決定用乱数値を現在の大当り判定値決定用乱数値に加算して、加算値を新たな大当り判定値を決定するための数値としてもよい。
そして、テーブルにもとづく大当り判定値の決定は、カウントスイッチ23のオンを条件とした大当り判定値の変更時に用いてもよいし、電源投入後最初の始動口スイッチ17のオンやゲートスイッチ12のオンを条件とした大当り判定値の変更時に用いてもよい。さらに、それら双方の変更時に用いてもよい。
上記の各実施の形態では、複数種類の図柄を可変表示するためのCRTによる画像表示部9を用いた場合について説明したが、LCDによる可変表示装置を用いた場合であってもよく、また、ドラム式やベルト式の可変表示装置を用いた場合であってもよい。さらに、盤面が全て映像で構成される映像式のパチンコ遊技機に適用することもできる。
また、上記の各実施の形態の遊技機、すなわち図1の正面図に示されたパチンコ遊技機は、始動入賞にもとづいて画像表示部9に可変表示される特別図柄の停止図柄が所定の図柄の組み合わせになると所定の遊技価値が遊技者に付与可能になる第1種パチンコ遊技機であったが、始動入賞にもとづいて開放する電動役物の所定領域への入賞があると所定の遊技価値が遊技者に付与可能になる第2種パチンコ遊技機や、始動入賞にもとづいて可変表示される図柄の停止図柄が所定の図柄の組み合わせになると開放する所定の電動役物への入賞があると所定の権利が発生または継続する第3種パチンコ遊技機であっても、本発明を適用できる。
なお、上記の各実施の形態では、割込処理は、CPU56の内部タイマ割込によって起動される割込処理であったが、遊技機がCPU56の外部から所定時間毎に割り込み発生のための信号を供給するように構成されている場合でも、数値を更新する処理を繰り返し実行するメインルーチンと、メインルーチン実行中の所定時間毎に起動されて遊技制御を含むルーチンを実行する割込処理とを含む遊技進行制御手段の構成を適用することができる。