arduinoに詳しい方に質問です。

ベストアンサー

0

単に、コインを1回カウントしたらゲームが始まり、2枚目以降の投入を見ていないからです。 ※コイン投入を常に監視するのは必須だと思います。 その投入機が、ゲーム中は受け付けない機能が機能があるのなら別ですけど、 何時であろうと、コインが中に入ったのにカウントしないのは機能として不十分です。 クレーンゲーム程度なら、loop関数内で、常にコイン投入を見張りながら平行してゲームを行う事も 可能ですけど、大幅な改変(delayを使わないスケッチ)になります。また、その力量も無さそうに思います。 で、現状、一番簡単な手法はタイマー割り込みを使う事です。 まず、MsTimer2ライブラリをインストールします。スケッチ→ライブラリをインクルード→ライブラリの管理で ライブラリマネージャを出して、「MsTimer2」で検索→「インストール」ボタンです。

ThanksImg質問者からのお礼コメント

様々なご回答ありがとうございました。 分かりやすくて、なおかつ私ができそうなものをBAにさせていただきました。

お礼日時:1/20 18:58

その他の回答(2件)

0

マイコンはaをいつまでカウントすればいいかわかりません。 なので、ゲームスタートのSWを増設する。 a>0とゲームスタートSWが押されたでゲーム開始 sw1・・・・カウント sw2・・・・ゲームスタート プログラムの形は以下のようになるのでは? #define ON 0 // 押したら”0”になる回路とする #define OFF 1 int a = 0; int game_st; loop{ if(sw1 == ON) a += 1; delay(10); // 10mS チャタリング防止 if(sw2 == ON) game_st = 1; else game_st = 0; while(a != 0 && game_st == 1){ クレーンゲームの動作; a--; } } 上の例だとaのカウントがうまく行かない可能性があるから注意してね。

ご返信ありがとうございます。 スイッチを増設することは難しいので、横移動ボタンとスタートボタンを兼ねても大丈夫ですか? 初歩的な質問をしていまいすみません...

0

ID非公開

2021/1/19 8:36

そりゃ、aを減算しても、その値の判定を行うif文のところまで戻らないなら、1回で終わるのは当然です。

この返信は削除されました