プチコンにプリセットで入っているBGMPLAY文とBEEP文のサウンドだけど、実際に聴いてみないとどんな音なのかなかなかわからない。コンソールで数字を1つずつ変えて鳴らしてみるのもけっこうタイヘンかもしれない。
そこで登場するこのプログラムだけど、これはそんなプリセットサウンドの試聴にUI(ユーザーインターフェース)を付けて簡単にしたもの。ゲームのサウンドテスト風に作ってあるのが遊びゴコロだね。
すもろでぃ
BASICというのはまともに触るのはコレが始めて、というか、プログラムを組むことも殆ど無く生活してきたので、初心者でも頑張ればやれるってのを伝えられたらなぁと思います。
説明書のBGMとSEを文字で見て、「わからん!」と思ったので作ってみました。
PRINTとIF THENを主軸として、必要そうなら他の命令を探す形で作っていきました。
プログラムのスマートさは無いかもしれないけれど、少ない命令でもどうにかできる!
PRINT
文を繰り返して改行にしてある所はLOCATE
文1つにまとめられそうだよ。
- ’-+- サウント゛テスト -+-
- ’- ショキカ -
- CLEAR
- VISIBLE 1,1,0,0,1,1
- CLS:COLOR 0
- GPAGE 0:GCOLOR 0:GCLS 0
- SPPAGE 0:SPCLR
- BGPAGE 1
- BGOFS 0,0,0
- PX=123
- PY=95
- ’-- カ-ソルク゛ラフィック --
- SPSET 0,100,2,0,0,PR
- SPANIM 0,2,10,0
- SPOFS 0,PX,PY
- ’-- N=10ノクライ - M=1ノクライ --
- N=0
- M=0
- ’-- モ-ト゛ --
- MODE=1
- ’-- カ゛メンヒョウシ゛ --
- @PRI
- CLS:COLOR 0
- VSYNC 1
- PRINT ” ”
- PRINT ” ”
- PRINT ” ”
- PRINT ” ”
- PRINT ” ”
- PRINT ” ”
- PRINT ” ”
- IF MODE==2 THEN PRINT ” SE TEST ”
- IF MODE==1 THEN PRINT ” BGM TEST ”
- PRINT ” ”
- PRINT ” ”
- PRINT ” ”N,””M
- PRINT ” ”
- PRINT ” ”
- PRINT ” ”
- PRINT ” ”
- PRINT ” ”
- PRINT ” -------------------”
- PRINT ” -+:ハ゛ンコ゛ウセンタク -”
- PRINT ” -A:サイセイ B:テイシ -”
- PRINT ” -X:モ-ト゛ Y:シュウリョウ -”
- PRINT ” -------------------”
- @SEL
- BUT=BUTTON()
- IF BUT==16 THEN IF MODE==2 THEN BEEP (N*10+M)
- IF BUT==16 THEN IF MODE==1 THEN BGMPLAY (N*10+M)
- IF BUT==32 THEN BGMSTOP
- IF BUT==64 THEN IF MODE==2 THEN MODE=1 VSYNC 10 M=0 N=0 GOTO @PRI
- IF BUT==64 THEN IF MODE==1 THEN MODE=2 VSYNC 10 M=0 N=0 GOTO @PRI
- IF BUT==128 GOTO @EN
- VSYNC 10
- ’-- カ-ソル←→ --
- IF PX==107 THEN IF BUT==8 THEN PX=123
- SPOFS 0,PX,PY
- IF PX==123 THEN IF BUT==4 THEN PX=107
- ’-- カ-ソル↑↓ --
- SPOFS 0,PX,PY
- ’- 10ノクライ -
- IF MODE==2 THEN IF PX==107 THEN IF N==6 THEN IF BUT==1 THEN N=0 GOTO @PRI
- IF MODE==1 THEN IF PX==107 THEN IF N==2 THEN IF BUT==1 THEN N=0 GOTO @PRI
- IF PX==107 THEN IF BUT==1 THEN N=N+1 GOTO @PRI
- IF MODE==2 THEN IF PX==107 THEN IF N==0 THEN IF BUT==2 THEN N=6 GOTO @PRI
- IF MODE==1 THEN IF PX==107 THEN IF N==0 THEN IF BUT==2 THEN N=2 GOTO @PRI
- IF PX==107 THEN IF BUT==2 THEN N=N-1 GOTO @PRI
- ’- 1ノクライ -
- IF PX==123 THEN IF M==9 THEN IF BUT==1 THEN M=0 GOTO @PRI
- IF PX==123 THEN IF BUT==1 THEN M=M+1 GOTO @PRI
- IF PX==123 THEN IF M==0 THEN IF BUT==2 THEN M=9 GOTO @PRI
- IF PX==123 THEN IF BUT==2 THEN M=M-1 GOTO @PRI
- GOTO @SEL
- @EN
- CLEAR
- BGMSTOP
- END