トピック
HMF gunsofthemy

ストップウォッチ

そのとおりストップウォッチみたいなのを作りたいのですが、写真のようなヤツだと面倒なんで、毎秒1がプラスされるにはどのようなプログラムを組めばいいですか?
2そうだね
プレイ済み
返信[1]
親投稿
簡単なのは、 @LOOP A=A+1 ?A WAIT 60 GOTO @LOOP
2そうだね
プレイ済み
返信[2]
親投稿
nobu divine-creator
基本的には、上のコメントで良いと思うのだけど、それだと前の表示が残ったままですよね? ?Aの上にCLS:LOCATE X,Yを追加して、前の数字を消してから指定した位置に数字を表示するほうが、ストップウォッチらしくて良いんじゃない?
2そうだね
プレイ済み
返信[3]
親投稿
まげ MAGE_LOVEMARINE
たぶん、「A=A+1」という書き方が、納得できないのではありませんか? これは、「Aと、A+1は、イコールだよ」って意味ではなく、「変数Aの中 に入っている数字に、1を足した数字を、またAの中に戻す」という意味なのです。 まず「A=1」として、Aの中身を1にしますね。次に「A=A+1」とすると、Aの中身である1に1を足した、つまり2を、Aの中に戻すので、Aの中身は2になります。こういう仕組みなので、数字を足すごとに別の変数を用意する必要がないわけです。
0そうだね
プレイ済み
返信[4]
親投稿
TTcreation TTSOFT
A=A+0.1 にしてもそれっぽくない?
0そうだね
プレイ済み
返信[5]
親投稿
TTcreation TTSOFT
1/10の数字が出ると ストップウォッチ的な感じになる。
0そうだね
プレイ済み
返信[6]
親投稿
かおなし SYO-YU-KOTO
私なら ACLS WHILE 1  SEC=SEC+1  FOR I=0 TO 60   VSYNC  NEXT WEND こうすると何がいいかというと、FORループ内でボタンの操作など検出する事が出来ます 補足 WHILE~WEND命令:@LOOP~GOTO @LOOPと大体同じ FOR I=0 TO 60~NEXT:この場合60回繰り返すという意味
0そうだね
プレイ済み
返信[7]
親投稿
かおなし SYO-YU-KOTO
表示する命令が抜けていました…
0そうだね
プレイ済み
返信[8]
親投稿
HMF gunsofthemy
結局1/100の数まで出そうとしましたが、0.5とかにしたら全然表示してくれません。1/2とかじゃないと受け付けないのかな?
0そうだね
プレイ済み
返信[9]
親投稿
HMF gunsofthemy
ん? どうやらCLSが表示に追い付いてなかったっぽいです。CLSを除くと行けましたが・・・。別の方法を使うか・・・。
0そうだね
プレイ済み
返信[10]
親投稿
ナツキ natukin1978
出遅れた感があるけど、1/100秒まで表示できるストップウォッチ。
1そうだね
プレイ済み
返信[11]
親投稿
ナツキ natukin1978
さらに分の表示対応。
0そうだね
プレイ済み
返信[12]
親投稿
かおなし SYO-YU-KOTO
これはどうです?なんちゃってストップウォッチですが小数点以下もおおよそ図れます
0そうだね
プレイ済み
返信[13]
親投稿
かおなし SYO-YU-KOTO
↑測れます
0そうだね
プレイ済み
返信[14]
親投稿
おちゃめ ochame_nako
システム変数MILLISECを使えば(VSYNCを使ってない場合は)1000分の1単位で表示が可能ですが、「ボタンで押して止める」という動作をすれば必然的に計測は1フレーム(60分の1秒)単位になります。 私はMILLISECが用意される以前に1000分の1秒単位で計測可能なストップウォッチを作りましたが、人間の手による計測である以上は1000分の1秒単位は完全にオーバースペックですね。
1そうだね
プレイ済み
返信[15]
親投稿
かおなし SYO-YU-KOTO
»ナツキさん MILLISECなんて便利なものがあったとは…
0そうだね
プレイ済み
返信[16]
親投稿
ナツキ natukin1978
MILLISECは便利なんですが、本体のスリープ時にも進むので、その点は注意です。
0そうだね
プレイ済み
返信[17]
親投稿
おちゃめ ochame_nako
MILLISECはスリープ中もカウントが進むためスリープしている時間を1ミリ秒(1000分の1秒)単位で取得することも可能になります。 詳しくは以前作ったSLEEPTIME関数を見てください。 https://miiverse.nintendo.net/posts/AYMHAAADAAADV0aIdRVieQ
0そうだね
プレイ済み
返信[18]
親投稿
ショー syo0918syo
,
0そうだね
プレイ済み
返信[19]
親投稿
みむ*mim hidemimtp
ストップウォッチというのはいつの時代も、初心者から上級者まで交えて議論になる、本当にいい題材ですねぇ。
3そうだね
プレイ済み
返信[20]
親投稿
HMF gunsofthemy
とりまAボタンで測定を開始し、Aボタンで測定を終了させるプログラム(BUTTON命令を使用)を組み込みましたが・・・ @Aの場合 0.1から進まない。 @Bの場合 Aボタンを押している間だけ停止する。
0そうだね
プレイ済み
返信[21]
親投稿
HMF gunsofthemy
@Cの場合 Aボタンを押しても停止せず @Dの場合 上に同じ。また、1,000になると0,000に戻ってしまう。
0そうだね
プレイ済み
返信[22]
親投稿
HMF gunsofthemy
@Eの場合 今のところは問題なし。 ってな訳で@Eを使用するつもりなんですが、3つを併用(同時には使わない)したいと思っているんです。で、3種類のプログラムを一気に使うことは可能ですか?
0そうだね
プレイ済み
返信[23]
親投稿
HMF gunsofthemy
簡単に言うと@Eの複製を3つ作ったのですが、これを同時に動かしたいのです。どうしたらいいですか?
0そうだね
プレイ済み
返信[24]
親投稿
プログラムは上から順番に命令を見て行ってから実行していくので同時は無理だと思います。
0そうだね
プレイ済み
返信[25]
親投稿
ショー syo0918syo
んー 'SSにMILLISEC入れるのは省略ね @E WHILE BUTTON(2)==0 CLS LOCATE 00,1:?(MILLISEC-SS )/1000 LOCATE 15,1:?(MILLISEC-SSS )/1000 LOCATE 30,1:?(MILLISEC-SSSS)/1000 VSYNC WEND
0そうだね
プレイ済み
返信[26]
親投稿
ショー syo0918syo
同時実行の基本 ・基本的に並べる ・VSYNC・WAITは最後・最初にまとめる ・2以上のVSYNC・WAITがある場合はフレーム数を数えてVSYNC数で割り切れるときだけ実行、という形をとる
0そうだね
プレイ済み
返信[27]
親投稿
HMF gunsofthemy
おお!! できるんですね、やって来ます!!!!
0そうだね
プレイ済み