馬上就要到2023年瞭,於是用python語言寫瞭一個跨年倒計時代碼,附代碼效果截圖,祝大傢在新的一年裡:所念的人平安喜樂,所想的事順心如意,同時添加瞭一段愛你千百回的背景音樂,你也可以換上個好的背景圖片,這個頁面配上音樂才有新年的氣氛。
import datetime
import math
import arcade
# 設置
SCREEN_WIDTH = 600
SCREEN_HEIGHT = 300
SCREEN_TITLE = "元旦倒計時"
class MyGame(arcade.Window):
def __init__(self):
super().__init__(SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_TITLE)
arcade.set_background_color(arcade.csscolor.CORNFLOWER_BLUE)
def setup(self):
self.yd = datetime.datetime(2023, 1, 1, 0, 0, 0) # 新的一年的日期
self.sound = arcade.load_sound("img/ybh.mp3")
# 初始化場景
self.background = arcade.Sprite("img/newyear.png", 1.0)
self.background.center_x = SCREEN_WIDTH / 2
self.background.center_y = SCREEN_HEIGHT / 2
def on_key_press(self, key, modifiers):
if key == arcade.key.F:
arcade.sound.play_sound(self.sound)
def getstr(self,yuandan):
today = datetime.datetime.now() # 獲取當前的日期
day = (yuandan - today).days # 新年日期減去當前日期
second = (yuandan - today).seconds # 得到秒數
sec = second % 60
minute = second / 60 % 60
hour = second / 60 / 60
if hour > 24:
hour = hour - 24
hour = math.floor(hour) # 去掉小數點,向下取整
minute = math.floor(minute) # 去掉小數點,向下取整
return str(day) + "天" + str(hour) + "小時" + str(minute) + "分鐘" + str(sec) + "秒"
def on_draw(self):
"""Render the screen."""
self.clear()
self.background.draw()
arcade.draw_text(
"離今年元旦還有:",
30,
50,
arcade.csscolor.BLACK,
18,
)
timetext = self.getstr(self.yd)
arcade.draw_text(
timetext,
30,
20,
arcade.csscolor.BLACK,
18,
)
arcade.draw_text(
"按F鍵播放背景音樂",
30,
280,
arcade.csscolor.BLACK,
18,
)
def main():
"""Main function"""
window = MyGame()
window.setup()
arcade.run()
if __name__ == "__main__":
main()