Python實(shí)戰(zhàn)項(xiàng)目刮刮樂的實(shí)現(xiàn)詳解流程
導(dǎo)語(yǔ)
在CSDN學(xué)習(xí)的過程中,遇到了爆火的文章是關(guān)于刮刮卡的!
大家猜猜看是誰(shuí)寫的?

我看這文章都特別火,我也感覺挺好玩的,那就尋思用 Python肯定也能做呀!
這不?今天還有時(shí)間,那就帶大家寫一款刮刮樂的小程序吧~
正文
1)環(huán)境安裝
準(zhǔn)備好Python3、Pycharm、Pygame模塊還有一些自帶的。
模塊安裝:pip install pygame
圖片素材音樂背景可自選?!緝H展示部分素材】


2)正式敲代碼
2.1定義必要常量
BGMPATH = 'music/bgm.mp3' IMAGEDIR = 'pictures' SUPPORTEXTS = ['jpg', 'png', 'bmp'] SCREENSIZE = (800, 600) WHITE = (255, 255, 255, 27) GRAY = (192, 192, 192)
2.2設(shè)置隨機(jī)讀取圖片
設(shè)置隨機(jī)讀取,更有趣味性,每張圖片都特別好看哦~
def readImageRandomly():
filenames = os.listdir(IMAGEDIR)
filenames = [f for f in filenames if f.split('.')[-1] in SUPPORTEXTS]
imgpath = os.path.join(IMAGEDIR, random.choice(filenames))
return pygame.transform.scale(pygame.image.load(imgpath), SCREENSIZE)
2.3主程序
def main():
pygame.init()
pygame.mixer.init()
pygame.mixer.music.load(BGMPATH)
pygame.mixer.music.play(-1, 0.0)
pygame.mouse.set_cursor(*pygame.cursors.diamond)
screen = pygame.display.set_mode(SCREENSIZE)
pygame.display.set_caption('小程序——唯美古風(fēng)')
surface = pygame.Surface(SCREENSIZE).convert_alpha()
surface.fill(GRAY)
image_used = readImageRandomly()
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit(-1)
mouse_event_flags = pygame.mouse.get_pressed()
if mouse_event_flags[0]:
pygame.draw.circle(surface, WHITE, pygame.mouse.get_pos(), 40)
elif mouse_event_flags[-1]:
surface.fill(GRAY)
image_used = readImageRandomly()
screen.blit(image_used, (0, 0))
screen.blit(surface, (0, 0))
pygame.display.update()
3)效果圖展示
3.1 part 隨機(jī)圖一

3.2 part 隨機(jī)圖二

3.3 part 隨機(jī)圖三

總結(jié)
好啦!一款簡(jiǎn)單的刮刮卡小程序就寫完了,想自己試試嘛?
好啦!本次文章就到這里了~如有想跟著小編一起學(xué)習(xí)交流的,歡迎大家!記得三連哦

到此這篇關(guān)于Python實(shí)戰(zhàn)項(xiàng)目刮刮樂的實(shí)現(xiàn)詳解流程的文章就介紹到這了,更多相關(guān)Python 刮刮樂內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 十個(gè)Python練手的實(shí)戰(zhàn)項(xiàng)目,學(xué)會(huì)這些Python就基本沒問題了(推薦)
- 分享7個(gè) Python 實(shí)戰(zhàn)項(xiàng)目練習(xí)
- Python實(shí)戰(zhàn)項(xiàng)目之MySQL tkinter pyinstaller實(shí)現(xiàn)學(xué)生管理系統(tǒng)
- python實(shí)戰(zhàn)項(xiàng)目scrapy管道學(xué)習(xí)爬取在行高手?jǐn)?shù)據(jù)
- python游戲?qū)崙?zhàn)項(xiàng)目之童年經(jīng)典超級(jí)瑪麗
- python游戲的魅力之冒險(xiǎn)島實(shí)戰(zhàn)項(xiàng)目
- Python實(shí)戰(zhàn)項(xiàng)目用PyQt5制作漫畫臉GUI界面
- Python PyQt5實(shí)戰(zhàn)項(xiàng)目之網(wǎng)速監(jiān)控器的實(shí)現(xiàn)
- python爬蟲實(shí)戰(zhàn)項(xiàng)目之爬取pixiv圖片
- 使用python來玩一次股票代碼詳解
相關(guān)文章
python實(shí)現(xiàn)圖片加文字水印OPenCV和PIL庫(kù)
本文來為大家介紹一下,使用python中的庫(kù)實(shí)現(xiàn)給圖片添加文字水印,openCV可以給圖片添加水印,如果要添加漢字水印那就要使用PIL庫(kù)2021-09-09
Python實(shí)現(xiàn)讀取文件最后n行的方法
這篇文章主要介紹了Python實(shí)現(xiàn)讀取文件最后n行的方法,涉及Python針對(duì)文件的讀取、遍歷與運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下2017-02-02
解決python3插入mysql時(shí)內(nèi)容帶有引號(hào)的問題
今天小編就為大家分享一篇解決python3插入mysql時(shí)內(nèi)容帶有引號(hào)的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-03-03
Python中的裝飾器鏈(decorator chain)詳解
在Python中,裝飾器是一種高級(jí)功能,它允許你在不修改函數(shù)或類代碼的情況下,為它們添加額外的功能,裝飾器通常用于日志記錄、性能測(cè)量、權(quán)限檢查等場(chǎng)景,當(dāng)多個(gè)裝飾器應(yīng)用于同一個(gè)函數(shù)或類時(shí),形成裝飾器鏈,這篇文章主要介紹了Python中的裝飾器鏈詳解,需要的朋友可以參考下2024-06-06
如何基于python實(shí)現(xiàn)年會(huì)抽獎(jiǎng)工具
這篇文章主要介紹了如何基于python實(shí)現(xiàn)年會(huì)抽獎(jiǎng)工具,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10

