時計(P)


時計(P)

SPALMPforPCを作って頂いた記念に、SPALMPの時刻系組み込み変数をフルに使ったアナログ時計を投下してみる。

hl=10ml=15sl=15d=20@(strweek,"日","月","火","水","木","金","土")origin(width>>1,height>>1)soft1("終了")while(scan!=131072){lock()clear(-(width>>1),-(height>>1),width,height)col(0xC00000)arc(-(100*ml/d)-8,-(100*ml/d)-8,2*(100*ml/d)+16,2*(100*ml/d)+16)col(0xC0C0C0)for(i=0;i<60;++i){point(cos(i*6)*ml/d,sin(i*6)*ml/d)}col(0)for(i=1;i<=12;i++){text(i,(cos( (i*30)-90)*(ml-1))/d,( (sin( (i*30)-90)*(ml-1))/d)-5,HCENTER|TOP)}line(0,0,(cos( ( (hour*30)-90)+(minute>>1))*hl)/d,(sin( ( (hour*30)-90)+(minute>>1))*hl)/d)

line(0,0,(cos( (minute*6)-90+(second/10))*ml)/d,(sin( (minute*6)-90+(second/10))*ml)/d)col(0xA0A0A0)line(0,0,(cos( ( (second*6)-90)+(millisecond/166))*sl)/d,(sin( ( (second*6)-90)+(millisecond/117))*sl)/d)text(year."年".month."月".day."日(".strweek[week-1].")",0,height>>1,HCENTER|BOTTOM)unlock(1)}

改行したところまでコピって2分割すれば、auのクリップボード制限の範囲内に収まる(はず)。
針の動きが少しぶれるのは、三角関数の精度が良くないからだと思って我慢してくれ(^^;