今ひとつ、どのような要望・提案なのかがわかりかねます。
(作ったものを紹介するだけなら宣伝や雑談ではないでしょうか?)
>SqOcさん
>あと一つ質問ですが、冒頭のincludeはなんですか?
初期付属のasファイルを使って、音を鳴らすのにビープ音を用いているのです。
ビープ音を使うとヘッドフォンを使用していても、スピーカーから音が出る場合があるので
、使用は控えた方が良いと思います。
また、タイマーということですが、コンパイルすると時間が設定できないのでは
用をなさないのではないでしょうか?
拙作で申し訳ないですが、昔作ったタイマーのスクリプトを載せておきますので
お友達ともども参考にして下されば幸いです。
(別途pipipi.wavという名のファイルが必要になります。)
;###################################################################################################
;ヘッダ
;###################################################################################################
;=================================================
;マクロ
;=================================================
#pack "pipipi.wav"
#define MODE_TIMER -1
#define MODE_COUNT 0
#define MODE_WATCH 1
#define MODE_STOP 2
#define NOW (3600 * gettime(4) + 60 * gettime(5) + gettime(6))
;================================================
;変数初期化
;================================================
sdim v_temp ;一時的利用用変数
mmload "pipipi.wav", 0, 1
;=================================================
;画面初期化
;=================================================
;------------------------
;表示画面初期化
;------------------------
screen 0, 400, 240
;{
title "タイマー"
gsel 0, 2
font msgothic, 30
pos 0, 0
objmode 2
objsize 160, 50
button "START", *MODE_SET
pos 335, 0
objmode 1
objsize 65, 25
button "RESET", *RESET_TIME
objsize 25, 25
repeat 8
pos cnt * 25 + (cnt / 2) * 30 + 15 + (cnt / 4) * 80, 210
if cnt \ 2 : button "-", *SET_TIME : else : button "+", *SET_TIME
loop
font msgothic, 160
;}
goto *RESET_TIME
stop
;###################################################################################################
;サブルーチン
;###################################################################################################
;=================================================
;設定
;=================================================
;------------------------
;時間リセット
;------------------------
*RESET_TIME
dim v_MODE
v_MODE = MODE_WATCH
dim v_START
v_START = 0
dim v_TIME
v_TIME = 0
gosub *sub_WRITE_TIME
objenable 0, 1
objenable 1, 1
stop
;------------------------
;モード切替
;------------------------
*MODE_SET
if abs(v_MODE) = 1 { ;計測開始
v_temp = v_MODE
v_MODE = MODE_COUNT
repeat 5,1
objenable cnt, 0
loop
objprm 0, "STOP"
if v_temp = MODE_TIMER : goto *TIMER_START : else : goto *WATCH_START
} else { ;計測停止
if v_MODE = MODE_STOP : mmstop
v_MODE = MODE_WATCH
repeat 5, 1
objenable cnt, 1
loop
objprm 0, "START"
stop
}
stop
;=================================================
;タイマー部
;=================================================
;------------------------
;時間設定
;------------------------
*SET_TIME
v_MODE = MODE_TIMER
v_temp = stat - 2
if v_temp \ 2 { v_TIME -= 600 * ((v_TEMP / 2) = 0) + 60 * ((v_TEMP / 2) = 1) + 10 * ((v_TEMP / 2) = 2) + ((v_TEMP / 2) = 3)
} else { v_TIME += 600 * ((v_TEMP / 2) = 0) + 60 * ((v_TEMP / 2) = 1) + 10 * ((v_TEMP / 2) = 2) + ((v_TEMP / 2) = 3) }
v_TIME \= 3600
if v_TIME < 0 : v_TIME = 0 ;マイナスは無し
gosub *sub_WRITE_TIME
stop
;------------------------
;計測開始
;------------------------
*TIMER_start
v_START = NOW + v_TIME
;------------------------
;計測ループ
;------------------------
*TIMER_loop
v_TIME = v_START - NOW
gosub *sub_WRITE_TIME
await 0
if 0 < v_TIME : goto *TIMER_loop : else { mmplay 0 : v_MODE = MODE_STOP }
stop
;=================================================
;ストップウォッチ部
;=================================================
;------------------------
;計測開始
;------------------------
*WATCH_start
v_START = NOW - v_TIME
;------------------------
;計測ループ
;------------------------
*WATCH_loop
v_TIME = NOW - v_START
gosub *sub_WRITE_TIME
await 0
goto *WATCH_loop
stop
;=================================================
;表示
;=================================================
;------------------------
;表示
;------------------------
*sub_WRITE_TIME
redraw 2
color $FF, $FF, $FF : boxf
pos 0, 50
color
mes "" + strf("%02d", v_TIME / 60) + ":" + strf("%02d", v_TIME \ 60)
redraw 1
return