Python實(shí)戰(zhàn)項(xiàng)目刮刮樂(lè)的實(shí)現(xiàn)詳解流程
導(dǎo)語(yǔ)
在CSDN學(xué)習(xí)的過(guò)程中,遇到了爆火的文章是關(guān)于刮刮卡的!
大家猜猜看是誰(shuí)寫(xiě)的?
我看這文章都特別火,我也感覺(jué)挺好玩的,那就尋思用 Python肯定也能做呀!
這不?今天還有時(shí)間,那就帶大家寫(xiě)一款刮刮樂(lè)的小程序吧~
正文
1)環(huán)境安裝
準(zhǔn)備好Python3、Pycharm、Pygame模塊還有一些自帶的。
模塊安裝:pip installpygame
圖片素材音樂(lè)背景可自選。【僅展示部分素材】
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)單的刮刮卡小程序就寫(xiě)完了,想自己試試嘛?
好啦!本次文章就到這里了~如有想跟著小編一起學(xué)習(xí)交流的,歡迎大家!記得三連哦
到此這篇關(guān)于Python實(shí)戰(zhàn)項(xiàng)目刮刮樂(lè)的實(shí)現(xiàn)詳解流程的文章就介紹到這了,更多相關(guān)Python 刮刮樂(lè)內(nèi)容請(qǐng)搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。