養(yǎng)成游戲制作教程 日程安排
日程安排其實(shí)有很多種做法。
最簡(jiǎn)單的就是每天一安排,這樣就不用存很復(fù)雜的信息,只要知道是去哪里就可以了。
第二種就是按照周來(lái)安排,安排單位是每天?;具壿嬍谴嬉粋€(gè)選的是這周的哪一天,日期的槽位是從0到6,七個(gè)位置。剛開(kāi)始的初始數(shù)值為0,安排一個(gè)日程,數(shù)值增加1,6再加1,就又回到0. 只安排一周的,只需要存一周的數(shù)據(jù),比第一種稍微復(fù)雜,但是只要依靠python自帶的datetime,就可以輕松判斷出星期。
第三種就是下面寫(xiě)的這種,可以按照月來(lái)安排,顯示整個(gè)月的日期,按一次安排是安排一周。
這種實(shí)現(xiàn)起來(lái)最為復(fù)雜。首先顯示出月歷就比顯示一周的周歷要難不少,再次整周可能和上個(gè)月以及下個(gè)月有交叉,有很多邊界情況需要處理。以及以周為單位來(lái)設(shè)置活動(dòng),也有額外的代碼要去計(jì)算。比較建議還是第一種或者第二種。再說(shuō)儲(chǔ)存上,因?yàn)楹蜕显孪聜€(gè)月有交叉,所以儲(chǔ)存只能選擇用年月日完整的做鍵,否則需要手動(dòng)清理儲(chǔ)存空間。像第二種,只要在日程安排前刪掉周一到周日的儲(chǔ)蓄空間即可。但是像第三種,只能清理上上個(gè)月的,因?yàn)樯蟼€(gè)月有一部分可能出現(xiàn)在這個(gè)月。為了避免麻煩,可以直接在鍵值上加上年份。
請(qǐng)看下面代碼??
界面部分代碼
界面部分代碼有schedule_view=False 這個(gè)變量,如果schedule_view是False,就不現(xiàn)實(shí)可以修改的部分,這部分是為了除了周一也可以查看日歷。后面也可以把一些特殊日期做進(jìn)來(lái)。
星期一的判斷和調(diào)用日程安排界面,在每天開(kāi)始的時(shí)候,判斷是不是周一。