前言
“圣誕季如期而至,圣誕快樂· 倒計時開啟啦,一起期待它的到來吧~”
——Python是世界上最好的語言

圣誕節馬上就來了,冬日里多一抹溫暖總是好的,
那這樣一個節日的Python可以怎么去書寫呢?💨💨
小編依舊整理了系列精選圣誕節文案+Python小案例
分享給大家
希望能給你帶來寒冷冬季的一絲溫暖💖💖

正文
一、環境安裝
本文需要的環境如下👇
Python、Pycharm 安裝包:我用的是3.7的Python跟2019年的社區版Pycharm,這個可以看大家的
基本上都是可以用的,代碼兼容都可以運行的,
Pygame游戲模塊、tkinter界面化模塊、turtle繪圖模塊以及部分自帶的模塊就不說了,
環境安裝不會的可以找我拿安裝包跟安裝的視頻、相應的Pycharm專業版的永久激活碼這邊也是有
的但是有版本限制有的不能激活的哈,
第三方庫的安裝通常是:
pip install +模塊名
或者是感覺安裝速度太慢可以添加鏡像源檔案的,這邊我通常用的是豆瓣的鏡像源:
pip install -i https://pypi.douban.com/simple/ +模塊名
二、圣誕有你 不必有禮
實作本文效果的整體思路是:選擇背景圖片和音樂—設定動態效果—播放音樂,
(下雪了+圣誕的背景就很完美了)
代碼演示:
pygame.init() #初始化pygame
SIZE = (790, 430) #設定螢屏寬長,根據背景圖片調整(或者調整圖片)
bg_size = width, height = 300, 200 #設定開始和關閉界面視窗
bg_rgb = (255, 255, 255)
screen = pygame.display.set_mode(bg_size)
screen = pygame.display.set_mode(SIZE)
screen1 = pygame.display.set_mode(SIZE)
pygame.display.set_caption("圣誕節快樂")
ori_bg = Image.open(bgpath)
new_bg = ori_bg.resize((790, 430))
new_bg.save(Folderpath + '/new_bg.gif')
bg = pygame.image.load(Folderpath + '/new_bg.gif')
snow_list = [] #雪花串列
for i in range(300):
x_site = random.randrange(0, SIZE[0]) #雪花圓心位置
y_site = random.randrange(0, SIZE[1]) #雪花圓心位置
X_shift = random.randint(-1, 1) #x軸偏移量
radius = random.randint(4, 6) #半徑和y周下降量
snow_list.append([x_site, y_site, X_shift, radius])
clock = pygame.time.Clock() #創建設定幀率物件
track = pygame.mixer.music.load(mucpath) # 加載音樂檔案
pygame.mixer.music.play() # 開始播放音樂流
pygame.mixer.music.fadeout(600000) #設定音樂多久慢慢淡出結束
play_image = pygame.image.load(bgpath).convert_alpha() # 創建播放圖片surface物件
pause_image = pygame.image.load(bgpath).convert_alpha() # 創建暫停圖片surface物件
pause_rect = pause_image.get_rect() #獲取播放矩形框
print(pause_rect.width,pause_rect.height) #獲取暫停矩形框
pause_rect.left, pause_rect.top = (width - pause_rect.width) // 2, (height - pause_rect.height) // 2
pause = False # 定義播放標志位
while True:
# 查找佇列事件
for event in pygame.event.get():
# 查找點擊關閉視窗事件
if event.type == pygame.QUIT:
sys.exit()
# 查找滑鼠左右擊事件
if event.type == MOUSEBUTTONDOWN:
# 檢測滑鼠左擊是否按下
if event.button == 1:
pause = not pause
# 檢測滑鼠右擊是否按下
if event.button == 3:
pause = not pause
# 檢測鍵是否按下
if event.type == KEYDOWN:
# 檢測是否為空格鍵按下
if event.key == K_SPACE:
pause = not pause
# 填充界面背景
screen.fill(bg_rgb)
# 空格控制播放和暫停,并顯示相應的圖片
if pause:
pygame.mixer.music.pause()
screen.blit(pause_image, pause_rect)
else:
pygame.mixer.music.unpause()
screen.blit(play_image, pause_rect)
screen1.blit(bg, (0, 0)) #圖片背景
j = 0
for i in range(len(snow_list)):
j += 1
if j<10:
pygame.draw.circle(screen1, (255, 255, 255), snow_list[i][:2], snow_list[i][3]-3)
elif j<20:
pygame.draw.circle(screen1, (random.randint(200, 255), random.randint(200, 255), random.randint(200, 255)), snow_list[i][:2], snow_list[i][3]-3)
elif j<30:
pygame.draw.circle(screen1, (random.randint(100, 200), random.randint(100, 200), random.randint(100, 200)), snow_list[i][:2], snow_list[i][3]-3)
elif j<40:
pygame.draw.circle(screen1, (random.randint(0, 100), random.randint(0, 100), random.randint(0, 100)), snow_list[i][:2], snow_list[i][3]-3)
else:
pygame.draw.circle(screen1, (random.randint(0, 255), random.randint(0, 255), random.randint(0, 255)), snow_list[i][:2], snow_list[i][3]-3)
# 移動雪花位置(下一次回圈起效)
snow_list[i][0] += snow_list[i][2]
snow_list[i][1] += snow_list[i][3]
if snow_list[i][1] > SIZE[1]: #判斷雪花位置是否超出螢屏,是的話重設位置
snow_list[i][0] = random.randrange(0, SIZE[0])
snow_list[i][1] = random.randrange(0, SIZE[1])
?
pygame.display.flip() #重繪螢屏
clock.tick(20)
pygame.quit() #退出
三、效果展示

背景的圖片都是可以自己修改的哈: 完整專案原始碼點這里

總結
圣誕節即將來臨,歡快的樂曲燃起圣誕的激情,璀璨的燈火迎來圣誕的歡快,周圍,充滿了圣誕浪
漫的氣氛,還有最后10來天時間,一起迎接🎄圣誕吧~
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/389278.html
標籤:其他
上一篇:井字棋游戲C++
下一篇:五子棋等級考試軟體的開發(二)
