国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

Python趣味實(shí)例,實(shí)現(xiàn)一個(gè)簡單的抽獎(jiǎng)刮刮卡

瀏覽:138日期:2022-07-17 09:07:11

前言

本文的文字及圖片來源于網(wǎng)絡(luò),僅供學(xué)習(xí)、交流使用,不具有任何商業(yè)用途,版權(quán)歸原作者所有,如有問題請及時(shí)聯(lián)系我們以作處理。

作者:黑白之道

刮刮卡通常指卡上的一種覆蓋數(shù)字和字母密碼等的涂層,通常包括紙質(zhì)和電子兩種類型,刮刮卡在市場上有著比較廣泛的應(yīng)用,我們見到最多的應(yīng)該是各類抽獎(jiǎng)活動(dòng)了,本文我們使用 Python 來做一個(gè)簡單的抽獎(jiǎng)刮刮卡。

實(shí)現(xiàn)

首先,我們弄幾張圖片做底板,如下所示:

Python趣味實(shí)例,實(shí)現(xiàn)一個(gè)簡單的抽獎(jiǎng)刮刮卡

從圖中我們可以看到底圖包括:一等獎(jiǎng)、二等獎(jiǎng)、謝謝惠顧三種,如果我們參與過刮刮卡抽獎(jiǎng)的話,會(huì)發(fā)現(xiàn)幾乎刮開都是謝謝惠顧之類的,也就是有個(gè)概率的問題,這里我們也簡單設(shè)置一下,一等獎(jiǎng)放一張、二等獎(jiǎng)放兩張、謝謝惠顧放三張,生成刮刮卡時(shí)隨機(jī)使用底圖就可以了。

實(shí)現(xiàn)刮刮卡,我們主要用到是 pygame 模塊,之前做小游戲時(shí)已經(jīng)用到過幾次了,大家應(yīng)該都比較熟悉,下面看一下具體實(shí)現(xiàn)。

我們先定義一下常量,如:路徑、圖片類型、顏色等,代碼實(shí)現(xiàn)如下:

path = ’prize’ptype = [’jpg’, ’png’, ’bmp’, ’JPG’, ’PNG’, ’BMP’]# 窗口大小screen_size = (600, 400)white = (255, 255, 255, 20)gray = (192, 192, 192)

然后創(chuàng)建一個(gè)窗口,代碼實(shí)現(xiàn)如下:

pygame.init()pygame.mouse.set_cursor(*pygame.cursors.diamond)screen = pygame.display.set_mode(screen_size)pygame.display.set_caption(’刮一刮抽獎(jiǎng)’)

接著從所有底圖中隨機(jī)取出一張綁定到窗口,代碼實(shí)現(xiàn)如下:

filenames = os.listdir(path)filenames = [f for f in filenames if f.split(’.’)[-1] in ptype]imgpath = os.path.join(path, random.choice(filenames))image_used = pygame.transform.scale(pygame.image.load(imgpath), screen_size)screen.blit(image_used, (0, 0))

再接著做一個(gè)灰色的圖層覆蓋到底圖上,代碼實(shí)現(xiàn)如下:

surface = pygame.Surface(screen_size).convert_alpha()surface.fill(gray)screen.blit(surface, (0, 0))

最后,我們定義一下鼠標(biāo)事件,在鼠標(biāo)移動(dòng)經(jīng)過的地方,將圖層置為透明,漏出底圖,代碼實(shí)現(xiàn)如下:

mouse_event = pygame.mouse.get_pressed()if mouse_event[0]: pygame.draw.circle(surface, white, pygame.mouse.get_pos(), 40)elif mouse_event[-1]: surface.fill(gray) image_used = pygame.transform.scale(pygame.image.load(imgpath), screen_size)

一起來看一下實(shí)現(xiàn)效果:

Python趣味實(shí)例,實(shí)現(xiàn)一個(gè)簡單的抽獎(jiǎng)刮刮卡

是不是有內(nèi)味了

總結(jié)

本文我們使用 Python 實(shí)現(xiàn)了一個(gè)簡單的刮刮卡,有興趣的話,可以對一些實(shí)現(xiàn)細(xì)節(jié)、效果等做進(jìn)一步完善。

以上就是Python趣味實(shí)例,實(shí)現(xiàn)一個(gè)簡單的抽獎(jiǎng)刮刮卡的詳細(xì)內(nèi)容,更多關(guān)于Python 實(shí)現(xiàn)抽獎(jiǎng)的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python 編程
主站蜘蛛池模板: 航空| 睢宁县| 龙游县| 德化县| 南涧| 绥芬河市| 白沙| 十堰市| 沐川县| 崇信县| 盘锦市| 金乡县| 鞍山市| 贺州市| 白河县| 普宁市| 大竹县| 濉溪县| 巧家县| 东乡县| 宿松县| 西盟| 肥西县| 东兰县| 象山县| 梁河县| 屏南县| 黄陵县| 南阳市| 泽州县| 常山县| 五原县| 安庆市| 莲花县| 克东县| 泌阳县| 龙海市| 松阳县| 克什克腾旗| 炎陵县| 金乡县|