カレンダーモジュールは、汎用に使えますので、バイオリズム以外でも有効に使えると思います。(注意:カレンダーの曜日が、Ver1.17では、一日ずれているようです。)
今回は、実用でお笑いではありません。ちょっとブラックですが。
{---プログラム掲示板投稿フォーム--- 【ソフト名】バイオリズム Ver1.00 【作 成 者】北神 陽太 (連絡先:y-kitagami@nifty.ne.jp) http://homepage1.nifty.com/kitagami/index.htm 【種 別】フリーソフトウェア 【ひまわりのバージョン】ver.1.17 【転 件】可(転載条件:自由。ご連絡があるといいですね) 【ひまわり本体への梱包】可 【実行時に利用作成するファイル】無 【コメント】 あなたの身体、感情、知性のリズムをグラフで表示します。 リズムがゼロと交差する注意日を知ることで、いろいろな問題を 回避することができるでしょう。 おまけとして、日本人の平均寿命から、あなたの寿命も計算。
カレンダーなど、本格的にビジネスでも応用できるように モジュール化してあります。 ---投稿フォームここまで---}
'初期設定 母艦の、サイズは、(188,152,728,533)。 その、タイトルは、「バイオリズム Ver1.00 Y.KITAGAMI 2002(C)」。 その、背景色=黒色。
文字色=白色。
ラベル0を、ラベルとして、作成。 その、サイズは、(10,0,100,20) その、テキストは、「誕生日」。
ラベル1を、ラベルとして、作成。 その、サイズは、(110,0,300,20) その、テキストは、「計算日」。
エディタ0を、エディタとして、作成。 その、サイズは、(0,20,100,50) その、テキストは、「1960/01/01」。
エディタ1を、エディタとして、作成。 その、サイズは、(100,20,200,50) その、テキストは、「{今日}」。
ボタン0を、ボタンとして、作成。 その、サイズは、(200,20,250,50) その、テキストは、「計算」 その、イベントを、メインに、設定。'●イベントの開始
'日付をチェックする命令がないため、例外処理で対応 日付エラーに、エラー処理設定。
中心座標=210'グラフ中心座標 エディタ0に、注目。 待機
*メイン 黒色で、画面クリア。描画処理反映。 文字サイズ=10
'入力日付チェック 誕生日=エディタ0の、テキストを、得る。 もし、誕生日<「1900/01/01」なら、( 「誕生日が正しくありません。\n」& 「1900/01/01以降で入力してください。」と、言う。 エディタ0に、注目。 待機。 )。
計算日=エディタ1の、テキストを、得る。 もし、(計算日<誕生日 or 計算日>「2039/12/31」)なら、( 「計算日が正しくありません。\n」& 「誕生日より後か、2039/12/31までで入力してください。」と、言う。 エディタ1に、注目。 待機。 )。
'モジュール呼び出し 日付解析を、呼ぶ。 カレンダー作成を、呼ぶ。 バイオリズム計算を、呼ぶ。
(10,中心座標+100)へ、移動。 文字色=緑色。「●身体P」と、表示。 文字色=水色。「●感情S」と、表示。 文字色=赤色。「●知性I」と、表示。 文字色=白色。 「グラフがゼロ(水平線)と交差する時期が、注意日です。」と、表示。
エディタ0に、注目。 待機
*日付解析 '誕生日から寿命を計算 日付=誕生日。 日付分解を、呼ぶ。
計算日と、誕生日の、日数差。経過日数=それ。 寿命=年+80 死亡推定日=「{寿命}/{月}/{日}」 死亡推定日と、誕生日の、日数差。余命=それ。 余命=余命-経過日数。 (0、60)へ、移動。 「生まれてから {経過日数} 日経過しました。\n」& 「日本人の平均寿命を80歳とすると、死亡推定日:{死亡推定日} 余命:{余命} 日です。」を、表示。
'カレンダー用の日付を設定 日付=計算日。 日付分解を、呼ぶ。 「{年}年{月}月のバイオリズム」を、表示。
'当月の開始日を設定 月初=「{年}/{月}/01」 月初と、誕生日の、日数差。開始日数=それ。 戻る
*日付分解 日付の中で、1から、4つ、切り出す。年=それ。 日付の中で、6から、2つ、切り出す。月=それ。 日付の中で、9から、2つ、切り出す。日=それ。 戻る
*日付エラー エラーメッセージの中で、「日時の指定が不正」が、何文字目。 もし、それ<>0なら 「誕生日、または計算日の日付が正しくありません。\n」& 「<yyyy/mm/dd 形式>で、入力してください。」と、言う。 待機。 エラーから復帰。
*カレンダー作成 月末配列=「31 28 31 30 31 30 31 31 30 31 30 31」 月数値=月-1'配列はゼロから始まるため「0を1月」とします 'うるう年判定 もし、月数値=1なら、( もし、年%400=0ならば、月末配列#1=「29」。 違えば( もし、年%100=0ならば、月末配列#1=「28」。 違えば( もし、年%4=0ならば、月末配列#1=「29」。 違えば、月末配列#1=「28」。 )。 )。 )。
当月末=(月末配列#月数値)。 もし、月末配列#1=29なら、((260,30)へ、移動。「●計算年月は、うるう年です」と、表示。)
'日付を表示(注意:Ver1.17では、曜日取得がずれています) 当月末回( 文字色=白色。 「{年}/{月}/{回数}」の、曜日。 もし、それ=「日」なら、文字色=紫色。 もし、それ=「土」なら、文字色=水色。 ((回数*16)-8,中心座標-100)へ、移動。回数を、表示。 )。 戻る
*バイオリズム計算 PAI=3.1415926 ペン太さ=5。 ペン色=白色。 'グラフの中心(ゼロ) (0,中心座標)へ、移動。(32*16,中心座標)へ、線。
'グラフを描画 (当月末*4)回( 分割=回数*0.25'グラフを細かく表示するため1日を4分割 身体P = SIN((開始日数+分割)/23*PAI*2) 感情S = SIN((開始日数+分割)/28*PAI*2) 知性I = SIN((開始日数+分割)/33*PAI*2)
'グラフ座標へ移動、倍率設定 x=INT((分割*16))+8'16ドット単位で右へ描く yP=中心座標-INT(身体P*60) yS=中心座標-INT(感情S*60) yI=中心座標-INT(知性I*60) ペン色=緑色。(x,yP)から、(x+2,yP+2)へ、円形。 ペン色=水色。(x,yS)から、(x+2,yS+2)へ、円形。 ペン色=赤色。(x,yI)から、(x+2,yI+2)へ、円形。
'今日の日にちをマーク もし、分割=日なら、( ペン色=白色。 (x-12,中心座標-80)へ、移動。 (x-12,中心座標+80)へ、線。 ) )。
戻る
|