• ベストアンサー

タイマーについて

又お世話になります。 ルーレットをプログラムした際、ストップボタンを押すと止まりますが、パチスロのように直ぐに止まらずに、パチンコのリーチがかかったような止まり方をしたいのですが、タイマー?を使ってプログラムすると出来るそうですが、よくわからないので・・。 すみませんがよろしくお願いします。

noname#10506
noname#10506

質問者が選んだベストアンサー

  • ベストアンサー
  • MovingWalk
  • ベストアンサー率43% (2233/5098)
回答No.3

countの意味を理解されていないようですね。 countはSTOPのあとに「Doループ」を何回繰り返すかを数えるカウンタです。 この行  If stop_flag = True Then count = count - 1 をDoループの中のForループに入れるのはおかしいですよね。 下記の部分もおかしいですね。 count = 5 Do a = 1 count = 5  ←こんなところに入れてはいけません。この行は削除。 ・・・・ 次のように修正してください。 ・上記の後のほうのcount = 5を削除 ・Forループ内にある下記の行を変更  If stop_flag = True Then count = count - 1  ↓  If stop_flag = True Then Exit For ・下記の部分を修正  If count = 0 Then Exit Do  Next b  Loop  ↓  Next b  If count < 0 Then Exit Do  ← Loop の直前です。 「<」の修正も  Loop  

その他の回答 (2)

  • MovingWalk
  • ベストアンサー率43% (2233/5098)
回答No.2

QNo.673135ですね。 >押した後で直ぐに止まらずに数回まわってから止まらないか ループ(DO)の手前で、count=○ ←ご希望の値にします。 if stop_flag=true then count=count-1 に変更します。 Loop の手前の行に、if count=0 then exit do をいれます。 これでいかがでしょうか?

noname#10506
質問者

お礼

すみません。お礼の欄に書かせていただきました。 補足がおかしいのに気づいて書き直しました。 ループする内容がよくわからない内容ですみませんでした。 a1で0~8まで表示して8が出たら、b1で8~0まで出ます。そしてa1で・・。というLOOPで、ストップすると、少しまわって終わる(押してから、2~3個後に止まる)内容にしたいのですが・・。 For i = 0 To 7 Range("a1") = a If stop_flag = True Then count = count - 1 For n = 0 To 2000 DoEvents Next n a = a + 1 If count = 0 Then Exit Do Next i a = 7 For b = 0 To 7 Range("b1") = a If stop_flag = True Then count = count - 1 For n = 0 To 2000 DoEvents Next n a = a - 1 If count = 0 Then Exit Do Next b Loop すみませんがよろしくお願いします。

noname#10506
質問者

補足

いつも回答有難うございます。 早速入力してみましたが・・駄目でした・・。 動くのですが、LOOPからぬけてくれません。 Private Sub CommandButton1_Click() Dim i As Integer, n As Integer, b As Integer, a As Integer, m As Integer, count As Integer Static f As Boolean stop_flag = False count = 5 Do a = 1 count = 5 For i = 0 To 7 Range("a1") = a If stop_flag = True Then count = count - 1 For n = 0 To 500 DoEvents Next n a = a + 1 If count = 0 Then Exit Do Next i a = 2 For b = 0 To 7 Range("b1") = a If stop_flag = True Then count = count - 1 For n = 0 To 500 DoEvents Next n a = a * 2 If count = 0 Then Exit Do Next b Loop End Sub 使いまわしですが、これでよかったのでしょうか?

  • gatyan
  • ベストアンサー率41% (160/385)
回答No.1

ルーレットが回っているように見せるために何らかの方法でループさせていると思います。 ストップボタンを押す=ループ終了の場合、すぐにとまりますが、ストップボタンを押したときにあと何コマ回して終了するかを決めてそのコマ数分進んだらループを終了するようにすればいいのでは? たとえば、あと何コマ変数<0は回り続ける,=0なら終了,>0ならー1してループ継続とか。 タイマーは適当なタイミングを取ってループさせる手段の1つと思います。(ロジックでループさせるよりプログラムがすっきりすると思います。)

noname#10506
質問者

補足

回答有難うございます。DO~LOOPで回転させてます。ストップボタンを押して抜けていたのですが、そのままSTOP!なので・・。どうしたら、押した後で直ぐに止まらずに数回まわってから止まらないか・・。私の質問の内容がきちんとしていなくてすみませんでした。 if stop_flag=true then exit do でLOOPから抜けているのですが・・。

関連するQ&A

  • Javascriptでタイマーを作成したい

    お世話になります。 Javascriptでタイマーみたいなことを作成したいのですができますか? つまり、ホームページに開始ボタンと停止ボタンを作成して 開始ボタンを押したら0:00:00を時間がアップしていく感じです。1秒から順に 停止を押したらタイマーがストップするみたいなのです。 簡単にJavascriptでできないか探しているのですが見つかりません。 教えてください。 JavascriptでできないのであればCGIでもできればと思っています。 よろしくお願いします。

  • パチスロの打ち方の技術

    パチンコは玉が入って画面のルーレットが回りだし自動的に止まるのを待つだけですが、パチスロはなかなか同じ図柄が揃わないようにはしてあるでしょうが、自分でボタンを押して止める訳ですから、その点では遠隔はあまり関係ないと思うのですが、どうなのでしょうか。イベントが発生するしないないは遠隔はあるかも知れませんが。教えてください。

  • このようなタイマーを探しています

    お世話になります。 就寝時のフロアスタンド切り忘れ防止に使用するタイマーを探しています。 http://ctlg.national.jp/product/info.do?pg=04&hb=WH3101BP このようなものを見つけましたが、これだと例えば翌朝照明をつける際には、タイマーのダイヤルを適当な所まで回す必要があるかと思います(コンセントをつけかえるのはより面倒かと)。 現実的には11時間以上連続して点灯させておく機会はあまりないので、いきなり照明が消えて一瞬驚く、などはあまりなさそうですが、もしボタンのワンプッシュで連続点灯できる状態にできるなどの機能があるものがあれば、ぜひご紹介いただければと思います。 よろしくお願いします。

  • VBAでのタイマー使用例

    お世話になります。 Office2003のエクセルVBAでの質問です。 シートにボタンがあり、ボタンをクリックしたらタイマーが動き出してセル内の数字のカウントアップが始まるってような事を行いたいと考えております。 ボタンを押したらタイマーが動きだし、そのタイマーイベントの中でセル内の数字をカウントアップすると考えたのですが、タイマーの使い方がわかりません。 タイマーを使った簡単なサンプルを教えていただけないでしょうか?

  • デジタルタイマーを直してくれるところありますか

    デジタルのプログラムタイマーですが、液晶の表示は(ーー:ーー)という状態のままで、ボタンを押してもかわりません。中古なら4000円ぐらいで手にはいるのですが、2000円ぐらいとか何とか安く直せるところ、お助けマンみたいなところあるでしょうか。

  • パチスロ初心者です

    いつもパチンコをしていますが、最近パチスロもやってみたくなりました。 でもパチスロは目押しやリーチ目など覚える事が多くて難しそうです。 店員や知人の助けを借りずにできそうなパチスロの機種・攻略法をおしえてください。

  • タイマーがうまくできません

    VisualBasicにてタイマーを作ろうと思っています。(キッチンタイマーみたいなもの) プロパティの初期値としては「Timer2.Interval = 100」 別に作成したボタンで「Timer2.Enabled = True」にするプログラムをした上で Private Sub Timer2_Tick(。。。省略  hyaku = Int((hyaku - 0.1) * 10) / 10  If hyaku >= 0 Then    Label5.Text = hyaku  Else    Timer2.Enabled = False  End if End Sub というプログラムを作成しました。 しかしプログラムを実行させると通常の約2倍の速さで秒数を刻んでいきます。 だからといって上の hyaku = Int((hyaku - 0.1) * 10) / 10 を hyaku = hyaku - 0.1 にすると小数点1位未満の数字も表示されてしまいます。 もしプログラムにミスがあるなら指摘をお願いします。 またExcelの関数にある「Round」みたいなものがあれば教えてください。 よろしくお願いします。

  • 回転寿司のオマケはパチンコと同じか?

    回転寿司で5皿食べる度にルーレットが回り、当たると景品が貰えるサービスがあります。子供はそれが大好きで、よく行ってます。あのシステム、良く見るとパチンコと同じですよね?ルーレットを回すために食べろタベロと急かされ、100%運だけで一喜一憂してます。ゲームの方がまだマシに思えて来ました。パチンコは射幸心を煽ると規制が厳しいです。子供にも良くないのか?と心配してます。将来のパチスロ養成? 控えた方がいいでしょうか?

  • パチンコ釣り吉三平の遊び方

    最近、パチンコで釣り吉三平をしたのですが、パチンコ初心者ということもあり、遊び方がいまいち判っていなく、リーチの際にチンプンカンプンです。 そこで色々と調べたのですが、判らない事があり質問しました。 1.リーチになった時に台の左下の当たりに普段は白いボタンが、赤くなるのですがあの時はどうするのでしょうか? リーチが終るまで何回も押し続けるのでしょうか? もしくは、タイミングのいいところで1度押せばよいのでしょうか? 2.1の時に赤いボタンを1度だけ押す場合は適当に押せば良いのでしょうか? きちんとしたタイミングで押さなければならないのでしょうか? 3.リーチの種類で当たる確率の高いリーチはどのようなものでしょうか? 4.三平の遊び方、リーチの種類などを詳しく説明しているサイトがあれば教えてください。 長文ですが何卒よろしくお願い致します。

  • H8マイコンでルーレットゲーム

    H8/3052Fを使って押しボタンスイッチ2個とLED6個を用いたルーレットを作りたいのですが、参考になるプログラムやHPがあれば教えてください。 簡単な動作としては (1)スタートボタンを押して6箇所のLEDがランダムに高速で点灯しだす (2)ストップボタンを押すと、スピードが落ちランダムな箇所にLEDが止まる。 分かりづらいかもしれませんが、ゲームセンターにあるようなルーレットゲームに近いものを考えています。 特にランダムに動かしたりランダムな場所に止めるというような「ランダム」の動作がまったく分かりません。