コミュニティアイコン プチコン 非公式コミュニティ トピック

アバター
小学生の父 ◆maw1zv/RAy.b
2019/5/29 17:54
質問
キー入力について質問があります。
プチコン4でプログラム始めました。
サンプルにあるシューティングゲームをちょこちょこ改造しながら学んでいるのですが、キー入力について質問があります。

ゲームオーバーになった後、下記のようにして
 input "もう一度やりますか?(y/n)";inp$
キー入力させようとしたのですが、勝手にリターンが入力されてしまいます。
恐らくゲーム中のキー操作だと思われるのですが、こちらを回避する方法はありませんか?

いまは、下記のようにしているのですが、なんかしっくりきません。
もっとスマートなやり方無いでしょうか?
 @GAMEOVER
 input "もう一度やりますか?(y/n)";inp$
 if inp$ == "" then goto @GAMEOVER

コメント

アバター
ほしけん 2019/5/29 18:38 ◆BJ4kbE35MkgI
本来なら
WHILE INKEY$()!="":WEND
(INKEY$() でたまっているキー入力を全部なくなるまで吐き出す)
でキー入力をなくすようにできるのですが、現時点では少しバグがあって上手くいかないことがあるそうです。具体的には、まだたまっているのに、1回だけ、なくなったときと同じ挙動をすることがあります。

そこで、内部的にはスマートさに欠けますが、以下のように、「全部なくなるまで吐き出す」を30回ぐらいチェックすれば、ほぼ確実にたまっているキー入力をなくせます。
FOR I=0 TO 30 : WHILE INKEY$()!="":WEND : NEXT
アバター
あきと 2019/5/29 19:12 ◆qGd5dQw2g3a2
INPUTじゃなくてもいいのであればDIALOG命令を使うのも手ですよ。
アバター
RU-RA 2019/5/29 19:49 ◆WXDJqyOv9yBK
ボタンを使うのも手です。
アバター
でんぺん 2019/5/29 19:59 ◆HfSy5ayxtyTa
ボタンアップを待つような事はした事あるけど、連打系のゲームだとどちらにしても勢いで押しちゃいそう。
というか自分で書いた判定もアリかなと思いますよ。ただそのままだと下にズレていくと思うのでLOCATEで表示場所を固定するとキレイだと思います。
アバター
小学生の父 2019/5/30 6:23 ◆maw1zv/RAy.b
みなさん回答ありがとうございます。
でんぺんさんの通り、下にズレていって嫌でした。
教えてもらった方法で色々試してみます。

コメントを書く

  • こちらは「プチコン3号」「プチコンBIG」など、プチコンシリーズに関する話題を扱ったコミュニティです
  • プチコンシリーズにまったく関係ない書き込みはご遠慮下さい。削除の対象となります
  • こちらにはその他のゲームや雑談のコミュニティはなく、作る予定もありません (ひとりで管理できないため)。ごめんなさい
  • ユーザー登録なしで書き込みができます
  • 秘密の合い言葉は成りすましの防止 (トリップ機能)、書き込みの編集時の本人認証に使用します
  • 秘密の合い言葉に他人に推測されやすい言葉、他サービスと同じパスワードは入力しないでください。
  • 書き込むと、投稿時に入力したお名前と秘密の暗号が記憶され、ログイン状態になります

- WEB PATIO -