2021年1月26日

2021大雜燴-睦月篇


為了在minecraft裡蓋東西而在方格紙上畫的費波鈉契螺旋...

嗨,2021這個部落格第一篇文章,由於網路科技的發達通訊的速度越來越快,人們偏好及時、精簡,這年頭真的有人會想要看部落格嗎?我不禁這麼懷疑。

 

2021年我工作邁入第四個年頭,雖然從事的是軟體、韌體相關的工作,但是實際"寫"程式這件事情卻越來越少做了。在工作的內容大部份都是除錯、問題排解,花在解析問題、複製問題、尋求可能的解決方法幾乎就是全部了。做中學、做中學 ,我可能還處在光是要完成工作就已經拚上了全力的那個階段,並沒有留意到這些都是能夠成為我實力的東西。

2020的年底,在網友的推薦下我開始玩起了FFXIV,史克威爾公司太空戰士的MMORPG,結實已經營運了7年人氣歷久不衰,而且他還曾經因為風評過差整個打掉重啟,可以說是線上遊戲的奇蹟。以前我其實就有點嚮往那種有很多活動可以做的MMORPG,看看以前斷斷續續玩了好幾年的瑪奇就知道,對於這類型的遊戲是沒有伉儷的。當年還是窮學生,面對要越費的遊戲直接封印,但是我係在也是可以用金錢來解決事情的大人了,就順理成章地踏上了艾歐陸澤亞的大地。

只是普通的遊玩這個遊戲我覺得有點太可惜,裡面的風景、劇情、冒險我覺得有必要留下紀錄,讓他不只是我腦還中的回憶和體驗要成為一筆可以看見的實質的紀錄。我在該遊戲裡的角色叫做Hanabi,日文漢字寫作花火,也就是煙火的意思。我開始在艾比索這個平台上以她的視角進行冒險日誌的撰寫,題名為花火之旅(Hanabi no Tabi),一天天的紀錄有上限的時候發生的事情。

前一個月寫得還算勤快,一邊邊跑著2.0的主線穿插一點季節活動,但狂熱期總是會消退,後來德˙更新變成了2天、5天然後是一周,日誌的DAY數也逐漸地變得不太好算了。為此我有了要自己寫一個日期計算器的構想,來方便我未來進行日誌撰寫時的日期。

不知道大家有沒有聽過20秒原則呢?當人類的一個行為在20秒以內被執行時,消耗的能量更小,更容易讓大腦接受,進而變成習慣,反之,執行一個行為超過20秒,往往會動用更多的能量投入,容易讓大腦感到疲勞,甚至選擇放棄。假設我每次都要花個三十秒或是一分鐘來算我系在這篇冒險日誌到底是DAY幾,那麼光算完我可能寫文章的興致就已經消耗殆盡了。

由於自己資訊工程系出生,我很慶幸自己有能力去製作這樣的一個東西。
很久沒有這種讓人充滿期待的感覺了,分析、規劃、實驗、修正、實作。從0開始戳些甚麼的決真的很棒。

雖然不知道有沒有人有興趣知道這些,不過還是稍微來分享一下吧:

計算兩個日期之間到底相隔了幾日這個問題,首先我想到的是閏年的問題。
所謂的閏年是因為地球的公轉騎士比365天要多出一些,所以每四年就會調整,在2月份新增一天。
閏年的定義:
西元年分 可以被4整除 或者 該年能被400整除 或 該年可以被4整除但不被100整除
舉個例子: 2000年是閏年(該年為4以及400以及100的倍數),1900年不為閏年(胎寧能被4以及100整除但不被400整除)

對閏年有點了解之後我們可以知道一年可能是365或是366天,那麼就可以開始來計算了。
來源日期(SD)和目標日期(TD)
假設SD< TD:
年的部分TD - SD(+1) = 可以算出從SD+1年到TD年間總共有幾年(PD),然後利用閏年判斷式 來得知SD+1這一年是否為潤年後,可以知道PD年間有幾年是閏年有幾年是平年。處裡完年差產生的天數後最後再把頭尾的天數加回來就計算完成了。頭的日期計算,判斷是否為閏年,然後用365或是366減去已從該年到SD的月日已經經過幾天;尾的計算,判斷是否為閏年然後累加天數直到TD的月日。

數學部分的分析結束後接下來就是城市演算法的設計了,這個留到明天再繼續吧,上班的空閒時間也能被這種練習城市構築的事情給填充,這應該就不算摸魚吧?(其實也還是摸魚就是了)。

另外TRPG的部分,預計在FF37(2021/02/27-28)要販賣新的劇本集,不過疫情的引響下不知道會不會延期或是取消呢,稿子還沒完成,現在是開啟薛丁格的天窗的時候了。

沒有留言: