新型コロナの自粛でパチンコ屋が休業要請に応じないとか、県外にまで遠征して通う人がいるとかやってましたが、わたしも「依存症か」というくらいハマったことがありました。20年以上前の話ですけどね。

で、「どうしてもやりたいけど店がやっていないのでできない!」(私の地元は100%休業)という人はVBAで大当たりを感じてみては?とコードを書いてみた。


以下は「パチンコってたしかこんな感じで大当たりが発生する」という、昔読んだパチンコ雑誌の記憶を元にしていて正確なゲーム内容ではありませんので悪しからず。

Option Explicit
Dim 回転数 As Long

Sub パチンコ()
  Dim i As Integer
  cells.Delete
  
  For i = 1 To 30
    Call 大当たり
    cells(i, 1).Value = i & "回目:" & 回転数 & "回転"
  Next
  
End Sub

Sub 大当たり()
  Dim あたり1 As Integer, あたり2 As Integer
  Dim 番号 As Integer
  
  あたり1 = 10
  あたり2 = 211
  回転数 = 0
  
  Randomize
  Do
    番号 = Int(Rnd() * 662) + 1
    回転数 = 回転数 + 1
  Loop Until 番号 = あたり1 Or 番号 = あたり2
  
End Sub

大当たりプロシージャの内容ですが、まずあたり番号2つを任意に設定します。なお、ここでは1〜662までの数字で2つ当たり(当たり確率331)にしていますのでその範囲内の数字になります。

Do~Loop Untilで「番号」が「あたり1」か「あたり2」の数字になるまでひたすら乱数を取得しその回数を「回転数」としてカウントしています。

で、パチンコプロシージャを実行すると

pachi
1回目の大当たりまで171回転(スタートチャッカーに入った)、という見方になります。ここでは確率変動はありません。なんかリアルな回転数でないですか?

開店から閉店までビッシリやっても30回大当たりを引くというのはなかなか無いと思います。ま、いまのパチンコ台の状況知らないので、換金率低い代わりに大当たり出やすいとかあるかもしれませんが。

これに確変とか回転率とか出玉率とか加味したらより実機に・・・。それよりこの大当たりの確率と設定との差異を計算すればよかったな。興味のある人追加してください。

「リーチ」がかかって大当たりで止まるかどうかの場面で、台を叩いたり変な仕草で大当たりにしようとしていた人がいましたが、スタートチャッカーに入った時点で抽選で当たり、ハズレが決まっていて台上のリーチアクションはあくまで演出なんですよね。

ハズレだけどお客さんを楽しませるためにスーパーリーチで期待をもたせる、みたいな。ま、あのリーチ、スーパーリーチを経ての大当たりが熱くさせてくれるのですが。いくら負けたんだろうな・・・



前回の座席表づくりからひどく俗な内容で申し訳ない。今回はヒマな(のにパチンコできない)おっさん用ということでお許しください。

パチンコって運が良い(たまたま大当たりの周期が短い)ときに当たれば勝てるけど、長くやればやるほど勝てない遊戯と思います。

それでなきゃ商売にならんでしょ?