;  | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄| ;  |  UC-SERVER   | ;  |________| ;    ∧∧ || ;    (゚д゚)|| ;    /  づΦ ; ; 使用言語:HSP ; Last up date 2001/12/24 ; s=cmdline:peek a,s,1 ; コマンドラインの2文字目を取り出す if a='p' : goto *sspre ; プレビュー if a='s' : goto *ssproc ; フルスクリーン if a='c' : goto *sscfg ; コンフィグ ; mes "Unknown switch ["+cmdline+"]" stop *sscfg ; コンフィグ(設定画面) ; tt="UCスクリーンセーバー" title tt:width 320,200:cls 1 pos 0,0:mes "表示の速度" pos 0,24:objsize 64,24,12:listbox mes_bt,48,"速い\n普通\n遅い"; リストボックス表示 pos 8,100 mes tt mes "2000. BY Hideki Hayashi" pos 230,140:button "OK",*ssend ;OKが押された場合 stop *ssend int mhayasa ;速さの値を格納するための変数 if mes_bt=0:mhayasa=5 ;速いが選択された場合 if mes_bt=1:mhayasa=10 ;普通が選択された場合 if mes_bt=2:mhayasa=20 ;遅いが選択された場合 bsave "ucsave.dat",mhayasa ;状態をセーブする。 end *sspre ; プレビュー画面 pgamen=1 ;プレビュー画面のフラグを立てる。 goto *kakunou0 ; :stop ;スクリーンセーバー本体 *ssproc ax=dispx:ay=dispy ; ax,ayに画面サイズ bgscr 2,ax,ay,1,0,0,ax,ay ; ID2にフルスクリーン画面を作成 pgamen=0 ;プレビュー画面のフラグを初期化 *kakunou0 gosub *kakunou ;み言葉を配列変数に格納。 mhayasa=10 ;メッセージの速さをデフォルト値に設定 exist "ucsave.dat" ;ファイルが存在するか調べる。 if strsize=-1:bsave "ucsave.dat",mhayasa ;ファイルが存在しなかったら作成し、初期値を代入。 bload "ucsave.dat",mhayasa ;設定データを読み出す。 *textput ;text命令で文全体を表示してメッセージスピードを調節すると、表示し終わるまで何もできないので、1文字ずつ表示してwait命令でスピードを調節 mm=0 ;み言葉取り出し位置初期化 mesflug1=0 ;み言葉取り出し位置判定フラグ初期化 mesflug2=0 ;み言葉取り出し位置判定フラグ2初期化 cls 4 ;画面クリア randomize: rnd mx,100 ;ランダム初期化 gosub *mesnagasa ;メッセージの長さを取得 if winx=800: gosub *gamen800 ;800*600の画面か、調べる if winx=640: gosub *gamen640 ;640*480の画面か、調べる if winx=1024: gosub *gamen1024 ;1024*7680の画面か、調べる if pgamen=1: gosub *gamenp ;プレビュー画面か、調べる mesichiy2=mesichiy:mesichix2=mesichix ;メッセージ表示位置の初期化(代入) *mesget color 255,255,50 ;テキストカラー設定 strmid putmes,luck.mx,mm,2 ;変数から1文字取り出す。 mesflug1=mesflug1+1:mm=mm+2 ;mesflug1、取り出し位置変化 font "MS ゴシック",fonsize:pos mesichiy2,mesichix2:mes putmes ;表示スピード、メッセージを取り出し表示 mesflug2=mesflug2+1 ;mesflug2に1を足す mesichiy2=mesichiy2+fonsize ;メッセージ表示y位置を足+ wait mhayasa ;割り込みをかける。 if mesflug2>16:mesichix2=mesichix2+fonsize:mesichiy2=mesichiy:mesflug2=0 if mesflug1