投稿
時間制限を入れようと思って、WAITでやったら、他の動作も止まってしまいました、WAITと違って、次のプログラムを止めずに、時間を計る方法って、ないですかね?教えてくだされば幸いです。
4そうだね
プレイ済み
返信[1]
親投稿
こうやま kouyama1967
WAIT 1(60分の1秒)をかけながら、条件を満たすまでループを続け(IFとGOTO、またはREPEAT、WHILEなどで作る)、条件を満たしたら抜ける、という方法があります。同時に変数をカウントしておけば、変数が60たまると1秒として計れます。プログラミングの技術としては、初級の上ぐらいの難しさです。
1そうだね
プレイ済み
返信[2]
親投稿
ありがとうございました! やってみます!
0そうだね
プレイ済み
返信[3]
親投稿
すいません… 説明が足りてませんでした… このゲームに、時間制限を入れたいんです、Key『KK3EJZS』このゲームは、UFOGAMEというゲームで、UFOを十字ボタンで操作して、人を回収していくゲームです。 もしお時間が有りましたら、プログラムして頂けませんか?説明でも全然大丈夫ですが、僕、初心者なので説明ではわからないかもしれません… できればで良いですので、お願い致します。
0そうだね
プレイ済み
返信[4]
親投稿
printf printf
色々方法はありますが、例えばこんなのはどうでしょう?
1そうだね
プレイ済み
返信[5]
親投稿
printf printf
MAINCNTというのはひたすら延々と数字が一定の速度で勝手に増えていく変数です この「一定の速度」というのは1/60秒なので、60で割れば秒単位に変換できます この性質を利用して、プログラムの最初でMAINCNTを変数STに保存しておき、プログラム開始次点からどのくらい時間が経過したかをループ処理の中で、MAINCNTとプログラムの最初に保存したSTとの差分(つまりは経過時間)を計算し、決まった時間が過ぎたかを何度も何度も繰り返し判定しています : このサンプルの場合は、5秒経過すると@ENDラベルにジャンプしてプログラムが終了します
2そうだね
プレイ済み
返信[6]
親投稿
こうやま kouyama1967
これまさ(是政?)さん  printfさんのプログラムの、「IF ET>=5」を書き換えると、どんな時間でも計れます。例えば@LOOPをゲーム処理に組み込んで、「IF ET>=180」にすると、3分たったらゲームが終わります。
1そうだね
プレイ済み
返信[7]
親投稿
printfさんの言っていることをこれまささんのプログラムに合わせて組み込んでみました。 60秒経つとゲームが終わる仕組みになってます。 公開キー:[NK38EJZX]
1そうだね
プレイ済み
返信[8]
親投稿
MAINCNTを使ったプログラムが私が公開しているゲーム「Six Rock Sixty」で使っています。公開キーNKENYXDX 0.1秒を6カウントで計っています。
1そうだね
プレイ済み
返信[9]
親投稿
皆さんのコメントを参考にして、完成しました!完全版、UFOGAME! Key『2BN43EAE』 皆さん、ありがとうございました!
1そうだね
プレイ済み