// IMW版 スクリーンセーバー // 四字熟語を表示します // コンパイルして、拡張子を .exe → .scr に変更すれば // スクリーンセーバーとして使えます // キーが押されたりクリックされたら終了させる KEYDOWN { end ; } LBUTTONDOWN { end ; } RBUTTONDOWN { end ; } // マウスが動いたら終了させる MOUSEMOVE { // ms_move の値が 10 までは終了させない // こうしないといきなり終了してしまう ms_move = ms_move + 1 ; if(ms_move > 10){ end ; } } TIMER { // リストから文字列を取得 if(count <= 20){ SetListPos("ID_list",pos) ; AllClearEdit("ID_edit") ; GetListText("ID_list","ID_edit") ; } SetPal(7,count*8,count*8,count*8) ; // 色を設定 Print(px,py,r,16,32,7,"ID_edit") ; count = count + 1 ; if(count > 20){ FullPaint(0) ; // 全消去 px = rand(SEC)*(SCR_X-16*8)/100 ; // 次の表示座標 py = rand(px)*(SCR_Y-32*4)/100 ; // 次のリスト内の位置 n = pos ; pos = rand(py) % max ; if(n == pos){ pos = (pos + 1) % max ; } r = r * (-1) ; // 傾きを反転(-30 か 30) count = 0 ; } } CREATE { SetWinStyle(4) ; SetWinSize(SCR_X,SCR_Y) ; SetWinPos(0,0,0) ; SetWinColor(0) ; SetTimer(200) ; // タイマー時間の設定 0.2 秒 CreateControl(41,"","ID_list",0,0,0,0) ; // リスト作成 CreateControl(101,"","ID_edit",0,0,0,0) ; px = SCR_X/2+SEC ; py = SCR_Y/2+MIN ; // 表示座標 pos = MIN % 30 ; // リスト内の位置 r = 30 ; // 文字表示の傾き count = 0 ; ms_move = 0 ; } INIT { max = 30 ; // セットする数 // リストに文字列をセット SetListText("ID_list","馬耳東風") ; SetListText("ID_list","一石二鳥") ; SetListText("ID_list","疑心暗鬼") ; SetListText("ID_list","心機一転") ; SetListText("ID_list","一心不乱") ; SetListText("ID_list","以心伝心") ; SetListText("ID_list","一心同体") ; SetListText("ID_list","異口同音") ; SetListText("ID_list","一目瞭然") ; SetListText("ID_list","岡目八目") ; SetListText("ID_list","四面楚歌") ; SetListText("ID_list","危機一髪") ; SetListText("ID_list","頭寒足熱") ; SetListText("ID_list","猪突猛進") ; SetListText("ID_list","一期一会") ; SetListText("ID_list","初志貫徹") ; SetListText("ID_list","支離滅裂") ; SetListText("ID_list","良妻賢母") ; SetListText("ID_list","才色兼備") ; SetListText("ID_list","切磋琢磨") ; SetListText("ID_list","質実剛健") ; SetListText("ID_list","絶体絶命") ; SetListText("ID_list","千差万別") ; SetListText("ID_list","全知全能") ; SetListText("ID_list","前途多難") ; SetListText("ID_list","前途洋洋") ; SetListText("ID_list","前人未到") ; SetListText("ID_list","前代未聞") ; SetListText("ID_list","言語道断") ; SetListText("ID_list","起承転結") ; }