プレイ日記
MP3 tomonari1227
ヒマだから作った1~9までの数字を表示したあと、また1~9までの数字を高速で繰り返す謎のプログラムw
6そうだね
プレイ済み
返信[1]
親投稿
MP3 tomonari1227
うるさいw
1そうだね
プレイ済み
返信[2]
親投稿
そら YuSo1709
謎過ぎw
1そうだね
プレイ済み
返信[3]
親投稿
MP3 tomonari1227
数字を表示し、さらにうるさいプログラム(謎過ぎw)
1そうだね
プレイ済み
返信[4]
親投稿
そら YuSo1709
BGM追加したぁー↑
1そうだね
プレイ済み
返信[5]
親投稿
MP3 tomonari1227
そらさんもダウンロードして、うるささを体験してみては? 公開キー[EXV3N3D4]
0そうだね
プレイ済み
返信[6]
親投稿
say sayer.exe
while 1 if !i then bgmplay 0:beep 2 print str$(i) beep 2 i=(i+1) mod 10 wend
1そうだね
プレイ済み
返信[7]
親投稿
MP3 tomonari1227
↑sayさん、どーゆー意味? 何せ3日前にプチコン買ったばかりなんで…
0そうだね
プレイ済み
返信[8]
親投稿
say sayer.exe
同じ意味ですよ 例外もなく綺麗に書いてあったので、思わずまとめてみました
1そうだね
プレイ済み
返信[9]
親投稿
MP3 tomonari1227
ありがとうございます!
0そうだね
プレイ済み
返信[10]
親投稿
say sayer.exe
while 1 bgmplay 0:beep 2 for i=0 to 9 print str$(i) beep 2 next wend このようにも書けます
1そうだね
プレイ済み
返信[11]
親投稿
MP3 tomonari1227
へぇ、参考になります。
0そうだね
プレイ済み
返信[12]
親投稿
だにえる haru2016nen
プチコンでは「PRINT」を 「?」と略すことが可能なので、、、 @L:FOR M=0TO 9?M:?:NEXT:GOTO@L で、0~9の表示は可能です。 また、PRINTは表示する命令ですが、 改行する命令でもあります。
2そうだね
プレイ済み
返信[13]
親投稿
MP3 tomonari1227
こんなに簡単なプログラムで出来るんですか!
0そうだね
プレイ済み
返信[14]
親投稿
だにえる haru2016nen
【PRINTに関係する命令】 LOCATE TABSTEP COLOR CLS
1そうだね
プレイ済み
返信[15]
親投稿
だにえる haru2016nen
数値を表示するときは""を使う必要 はありません。 なので 「?"1"」と 「?1」 は同じ結果になります。 sayさんのプログラムのほうが長いのは ""を使っているからです。
1そうだね
プレイ済み
返信[16]
親投稿
だにえる haru2016nen
@L~GOTO@L などのループをするときに スピードを調整したい場合は ループの中のテキトーなところ に「VSYNC 12」 とかを入れてみてください
1そうだね
プレイ済み
返信[17]
親投稿
MP3 tomonari1227
とりあえず PRINTを?に、数字の""を省きました。
0そうだね
プレイ済み
返信[18]
親投稿
MP3 tomonari1227
このプログラムはどのような仕組みで0~9の数列を表示しているのでしょうか。 暇だったら教えてください。
0そうだね
プレイ済み
返信[19]
親投稿
だにえる haru2016nen
まず、FORという命令、これは ループ専用の命令で、 必ずTOやNEXTとセットで使う @L:GOTO@L はループにも使えるが、ループ専用ではない FOR 変数名=数値 TO 数値 [STEP 数値] (繰り返す命令) NEXT これが基本の形、[]の部分は省略出来る
1そうだね
プレイ済み
返信[20]
親投稿
MP3 tomonari1227
なるほど!分かりやすい説明ありがとうございます!
0そうだね
プレイ済み
返信[21]
親投稿
MP3 tomonari1227
ところで、文字表示のスピード調整のプログラムはこの場合どこに置けばいいのでしょうか。
0そうだね
プレイ済み
返信[22]
親投稿
だにえる haru2016nen
変数名というのは上のプログラムでいう「M」。 この変数は “ループ回数を記録する”ためのもの。 FOR M=0 TO 9 の場合、 ループの最初に変数Mに0が代入される
1そうだね
プレイ済み
返信[23]
親投稿
MP3 tomonari1227
なるほど。(初歩的な質問ばかりですみません。)
0そうだね
プレイ済み
返信[24]
親投稿
だにえる haru2016nen
VSYNCは 簡単に説明するとプログラムを止める命令 なので(厳密には違う) 自分で考えて入れてみて下さい
1そうだね
プレイ済み
返信[25]
親投稿
MP3 tomonari1227
ありがとうございます
0そうだね
プレイ済み
返信[26]
親投稿
だにえる haru2016nen
@L が GOTO@L までの命令を繰り返すように、 FOR も NEXT までの命令を繰り返す。 Mは繰り返した回数なので PRINT M で それを表示させている
1そうだね
プレイ済み
返信[27]
親投稿
だにえる haru2016nen
FOR M=3 TO 7 の場合、 初めにMに3が入り 1回のループが終わるとMが1つふえて4になる。同様に2回目のループが終わると5になっている。 5回目のループが終わると8になるが 「TO 7」となっているので Mが7よりも大きくなっているので ループは終了する。
1そうだね
プレイ済み
返信[28]
親投稿
だにえる haru2016nen
@L FOR M=0 (略) NEXT GOTO@L のようにFORを繰り返すとそのたびに Mには0が入れられて繰り返す。
1そうだね
プレイ済み
返信[29]
親投稿
MP3 tomonari1227
なるほど…
0そうだね
プレイ済み