Last active
January 30, 2023 08:25
-
-
Save Nia-TN1012/b0442bf1521cdd36290364ebd49d7eb0 to your computer and use it in GitHub Desktop.
ドリトルでカレンダーを出力するソースコードです。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 名前 : Nia Tomonaka | |
// Twitter : https://twitter.com/nia_tn1012 | |
// 現在の日付と曜日を取得します。 | |
現在年 = ( システム ! 年? ). 現在月 = ( システム ! 月? ). 現在日 = ( システム ! 日? ). | |
現在曜日 = ( システム ! 曜日? ). | |
// 曜日を文字から数値( 日曜 : 0、月曜 : 1、・・・、土曜 : 6 )に変換します。 | |
「現在曜日 == "日"」 ! なら「現在曜日 = "0"」 | |
そうでなければ「「現在曜日 == "月"」 ! なら「現在曜日 = "1"」 | |
そうでなければ「「現在曜日 == "火"」 ! なら「現在曜日 = "2"」 | |
そうでなければ「「現在曜日 == "水"」 ! なら「現在曜日 = "3"」 | |
そうでなければ「「現在曜日 == "木"」 ! なら「現在曜日 = "4"」 | |
そうでなければ「「現在曜日 == "金"」 ! なら「現在曜日 = "5"」 | |
そうでなければ「現在曜日 = "6"」実行.」実行.」実行.」実行.」実行.」実行. | |
// 当月1日の曜日を求めます。 | |
当月1日の曜日 = ( 現在曜日 + 7 - ( 現在日 - 1 ) % 7 ) % 7. | |
// 当月末日を求めます。 | |
「現在月 == 2」 ! なら「 | |
「( 現在年 % 4 ) == 0」 ! なら「当月末日 = 29」 | |
そうでなければ「当月末日 = 28」実行. | |
」そうでなければ「 | |
「どれか ! | |
( ぜんぶ ! ( 現在月 <= 7 ) ( 現在月 % 2 == 1 ) 本当 ) | |
( ぜんぶ ! ( 現在月 >= 8 ) ( 現在月 % 2 == 0 ) 本当 ) | |
本当」 ! なら「当月末日 = 31」 | |
そうでなければ「当月末日 = 30」実行. | |
」実行. | |
XSIZE = 40. YSIZE = 30. // 1日分の表示エリアのサイズです。 | |
SDOFF = 10. // 1~9ではX座標をさらに10px右にずらします。 | |
XOFF = -300. YOFF = 200. // 原点の左上に表示されるように調整します。 | |
SEQ = 当月1日の曜日. DAY = 1. | |
// カレンダーを出力します。なお、列 : SEQ mod 7、行 : floor( SEQ / 7 )です。 | |
「DAY <= 当月末日」 ! の間「 | |
「DAY < 10」 ! なら「 | |
ラベル ! ( DAY ) 作る | |
( ( SEQ % 7 ) * XSIZE + SDOFF + XOFF ) | |
( floor( SEQ / 7 ) * ( -1 * YSIZE ) + YOFF ) 位置. | |
」そうでなければ「 | |
ラベル ! ( DAY ) 作る | |
( ( SEQ % 7 ) * XSIZE + XOFF ) | |
( floor( SEQ / 7 ) * ( -1 * YSIZE ) + YOFF ) 位置. | |
」実行. | |
SEQ = SEQ + 1. DAY = DAY + 1. | |
」実行. | |
// Calendar.dtl | |
// Copyright (c) 2014-2023 Nia T.N. Tech Lab. / Chronoir.net. | |
// This software is released under the MIT License. | |
// http://opensource.org/licenses/mit-license.php |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
GitHubのアカウント統合のため、Myoga1012→Nia-TN1012に移行しました。
旧URL: https://gist.github.com/Myoga1012/a7fcf1341d35982f82af