Tags
Aucun tag

Frequently used words (click to add to your profile)

javaandroidc++linuxc#objective-ccocoa誰得qtrubypythonwindowsphpgamebathyscaphegui翻訳comegattwitterframeworkbtronvb.net計画中(planning stage)testdomarduinodirectxpreviewerゲームエンジン

最近の作業部屋活動履歴

2020-11-11
2020-11-01
2020-10-28

最近のWikiの更新 (Recent Changes)

2020-11-11
2020-11-01
2020-10-28
2020-09-23
2020-09-21
2020-09-20

Wikiガイド(Guide)

サイドバー (Side Bar)

2020年08月24日(月)

ツェラーの公式関連資料

合同など中学・高校数学の知識がごっそり抜けている人にはキツイので、こちらにわかりやすそうなものを載せておきます。色々と派生版はありますが、正攻法のみ。

あなたも数学勉強しなおしたくなります……。

カレンダを生成する上で使う月別の日数、うるう年あたりは各自しらべてください。ちなみに、うるう年バグは発生するとかなり深刻な症状になります。なので、カレンダや曜日判定は再発明せずに、ちゃんとした枯れてバグが出尽くした言語標準ライブラリのものを使ったほうがいいです。

補足

これでもわからないならば Zeller's Congruence で検索するとソースコードや数式など色々と出てきます。カレンダが作れるようになると、その応用でスケジューラも開発できるようになります。興味のある方はどうぞ。

お試し khal のコードリーディング

ナナメ読みした限りでは、指定日の曜日算出にはPythonの標準ライブラリ(isoナニナニ)を使っているようです。悪くはない判断ですが、Luaみたいにそういうのがない処理系では、あまり参考にならないですね。ほか当たってみます。

実機画面解析結果

時計と年月表示を除いて描画先座標の解析は済んだので、これから作業する人向けにメモを。

  • フレームも含めすべてテキストフォントで構成。昔の作り方ですね。
  • カレンダの今月表示において、1~9 までは全角、10~31までは2文字の半角数字です。
  • 座標ズレの発生を抑えるためにレンダリングはタイルパターンを総並べ。真面目につくるなら、ビットマップフォントレンダラー(8×8, 16x16, 16x18)を用意のこと。
  • たぶん、イースターエッグは存在しない。
  • フレームの比率はわずかにズレています。これは罫線処理周りの制限から来るようです。さらに、どういうわけか年月表示部分の座標にズレがある。対策としては、フレームと年月のみプリレンダリングして、数値を当てはめたほうがズレが少ない。
  • デジタル時計部分のフォントは 8x8 の半角です。区切り文字はコロンです。これも罫線処理の制限により、左右の余白に違いがあります。

さて、つぎはキーアサインの解析をしましょうか。マウスカーソルも使えたはずなので、専用マウスひっぱりださないとダメですね。和暦は……別モジュールで構成したほうが不具合は少なそうな印象です。

冗長だからといって、無理矢理まとめると保守が面倒になることもあるので。

再デザイン

結構、デザインとして「汚い」ところがあり直したいところもある。アルゴリズムもわかり、実機からのダンプもできた時点で、デザインしなおするのもありですね。

たとえ話として、沼が浅いからと言って何も考えずそのままバギーで走ったら、いずれ深いところに突っ込んで沈んでしまう。間違っているなら引き返して考え直す勇気を持つのは大切だろうね。

それを除いても暦沼は教養になるくらい深い沼なんだが。

イースターエッグ

カレンダ機能にボードゲーム(オセロ、チェス、将棋、囲碁など)を仕込んだ人は実在するのだろうか? バイオリズムはあるが。世界初のカレンダソフトとカレンダソフトに仕込まれたイースターエッグについて少し調べてみるのも面白そうですね。

2020年9月21日

なんどめかの OASYS Pocket3 カレンダの仕様調査

システム復旧させたので仕様調査。ヨドバシドットコムでCR2025は三個セットは安く買える。

さて、真剣に考えると和暦の処理は面倒くさいんだよなあ。 OASYS Pocket 3 では日付を無視して月でまとめて扱う形式(明治45年/大正元年や大正15年/昭和元年)です。妥協案としては正しいけど厳密には「まちがっている」やりかた。いまならナノ秒単位での改元にも対応できるのだが。

即位したら秒速で退位して改元。

―民明書房・こんな天皇陛下は嫌だ。

いつだよ。昭和改元。

大正天皇の崩御は深夜1時25日。次に悪名高き「光文事件」改元については同日11時頃発表。なんだそのふわっとした午前11時頃ってのがねえ。第二次世界大戦で資料が焼けてしまったのか。正午を以て改元とするならわかるんだけど、その発表を以て改元とするなら正確無比なる記録がないと。宮内庁の広報部に問い合わせれば、はっきりするのかしないかわからない。

平成以降は崩御の翌日や生前退位だから、こんな混乱はない。

たかがカレンダー

だけど、プログラミングに限らず、数学、日本史、JIS規格票、あまつさえ法律まで勉強して作るものなのだねえ。