2011年04月03日投稿 / 投稿者 : 名無しさん / タグ : 投稿プログラム MML ドラムマシン 音楽
ゲームへの組み込みに使えるぐらい軽いドラムマシン。
ゲーム内で単純なリズムを演奏させたい場合にご利用下さい。 音程変化、音の長さ等には対応しないことで処理を単純化しています。
ありません。
- ’┌─────────┐
- ’│ミニト゛ラムマシン│
- ’└─────────┘
- CLEAR
- ’---オンショクテイキ゛
- DIM VC(26)
- VC(ASC(”A”)-ASC(”A”))=62
- VC(ASC(”B”)-ASC(”A”))=52
- VC(ASC(”C”)-ASC(”A”))=27
- VC(ASC(”O”)-ASC(”A”))=26
- VC(ASC(”S”)-ASC(”A”))=53
- VC(ASC(”Z”)-ASC(”A”))=55
- ’---
- TRMAX=3:MSTEP=8
- DIM MML$(TRMAX)
- DIM MOFS(TRMAX),MCNT(TRMAX),MLEN(TRMAX)
- ’---エンソウシ゛ョウホウセッテイ
- @BGM1
- DATA ”B S BCBCSCCS”
- DATA ” CO CCC Z ”
- DATA ” A ”
- RESTORE @BGM1
- GOSUB @DRSET
- ’---メインルーフ゜
- @LOOP
- GOSUB @DRPLAY
- VSYNC 1
- GOTO @LOOP
- ’---エンソウ
- @DRPLAY
- FOR I=0 TO TRMAX-1
- MCNT(I)=MCNT(I)-1
- IF MCNT(I)>0 THEN @_NSKIP
- MCNT(I)=MSTEP
- C$=MID$(MML$(I),MOFS(I),1)
- MOFS(I)=MOFS(I)+1
- IF MOFS(I)>=MLEN(I) THEN MOFS(I)=0
- IF C$==” ” THEN @_NSKIP
- BEEP VC(ASC(C$)-ASC(”A”))
- @_NSKIP
- NEXT
- RETURN
- ’---エンソウショキカ
- @DRSET
- FOR I=0 TO TRMAX-1
- READ MML$(I)
- MLEN(I)=LEN(MML$(I))
- MCNT(I)=0:MOFS(I)=0
- NEXT
- RETURN
- ’┌─────────┐
- ’│ミニト゛ラムマシン│
- ’└─────────┘
- CLEAR
- ’---オンショクテイキ゛
- DIM VC(26)
- VC(ASC(”A”)-ASC(”A”))=62
- VC(ASC(”B”)-ASC(”A”))=52
- VC(ASC(”C”)-ASC(”A”))=27
- VC(ASC(”O”)-ASC(”A”))=26
- VC(ASC(”S”)-ASC(”A”))=53
- VC(ASC(”Z”)-ASC(”A”))=55
- ’---
- MSTEP=8
- ’---エンソウシ゛ョウホウセッテイ
- @BGM1
- DATA ”B S BCBCSCCS”
- RESTORE @BGM1
- GOSUB @DRSET
- ’---メインルーフ゜
- @LOOP
- GOSUB @DRPLAY
- VSYNC 1
- GOTO @LOOP
- ’---エンソウ
- @DRPLAY
- MCNT=MCNT-1
- IF MCNT>0 THEN RETURN
- MCNT=MSTEP
- C$=MID$(MML$,MOFS,1)
- MOFS=MOFS+1
- IF MOFS>=MLEN THEN MOFS=0
- IF C$==” ” THEN RETURN
- BEEP VC(ASC(C$)-ASC(”A”))
- RETURN
- ’---エンソウショキカ
- @DRSET
- READ MML$
- MLEN=LEN(MML$)
- MCNT=0:MOFS=0
- RETURN
この作品に対するコメントがあれば一言どうぞ。(作品に直接関係ない質問や雑談は掲示板へ)