欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python趣味實例,實現(xiàn)一個簡單的抽獎刮刮卡

 更新時間:2020年07月18日 15:10:02   作者:吃著東西不想停  
這篇文章主要介紹了Python如何實現(xiàn)一個簡單的抽獎刮刮卡,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下

前言

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

作者:黑白之道

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

實現(xiàn)

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

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

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

我們先定義一下常量,如:路徑、圖片類型、顏色等,代碼實現(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)建一個窗口,代碼實現(xiàn)如下:

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

接著從所有底圖中隨機(jī)取出一張綁定到窗口,代碼實現(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))

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

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

最后,我們定義一下鼠標(biāo)事件,在鼠標(biāo)移動經(jīng)過的地方,將圖層置為透明,漏出底圖,代碼實現(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)

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

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

總結(jié)

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

以上就是Python趣味實例,實現(xiàn)一個簡單的抽獎刮刮卡的詳細(xì)內(nèi)容,更多關(guān)于Python 實現(xiàn)抽獎的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 如何在Python中對文件進(jìn)行操作

    如何在Python中對文件進(jìn)行操作

    這篇文章主要介紹了如何在Python中對文件進(jìn)行操作,文章圍繞主題展開內(nèi)容,即使用Python中內(nèi)置的open()函數(shù)來打開文件,返回文件對象,并對文件進(jìn)行處理
    2022-08-08
  • Python os.mkdir()與os.makedirs()的使用區(qū)別

    Python os.mkdir()與os.makedirs()的使用區(qū)別

    這篇文章主要介紹了Python os.mkdir()與os.makedirs()的使用區(qū)別,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • wxPython實現(xiàn)文本框基礎(chǔ)組件

    wxPython實現(xiàn)文本框基礎(chǔ)組件

    這篇文章主要介紹了wxPython實現(xiàn)文本框基礎(chǔ)組件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • Python3.6 + TensorFlow 安裝配置圖文教程(Windows 64 bit)

    Python3.6 + TensorFlow 安裝配置圖文教程(Windows 64 bit)

    這篇文章主要介紹了Python3.6 + TensorFlow 安裝配置的教程(Windows 64 bit),本文通過圖文并茂的形式給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-02-02
  • python圖形界面tkinter的使用技巧

    python圖形界面tkinter的使用技巧

    這篇文章主要介紹了python圖形界面tkinter的使用技巧,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-09-09
  • 基于Python實現(xiàn)身份證信息識別功能

    基于Python實現(xiàn)身份證信息識別功能

    身份證是用于證明個人身份和身份信息的官方證件,在現(xiàn)代社會中,身份證被廣泛應(yīng)用于各種場景,如就業(yè)、教育、醫(yī)療、金融等,它包含了個人的基本信息,本文給大家介紹了如何基于Python實現(xiàn)身份證信息識別功能,感興趣的朋友可以參考下
    2024-01-01
  • 使用python檢查值是否已經(jīng)存在于字典列表中

    使用python檢查值是否已經(jīng)存在于字典列表中

    這篇文章主要介紹了使用python檢查值是否已經(jīng)存在于字典列表中,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • 2020新版本pycharm+anaconda+opencv+pyqt環(huán)境配置學(xué)習(xí)筆記,親測可用

    2020新版本pycharm+anaconda+opencv+pyqt環(huán)境配置學(xué)習(xí)筆記,親測可用

    這篇文章主要介紹了2020新版本pycharm+anaconda+opencv+pyqt環(huán)境配置學(xué)習(xí)筆記,親測可用,特此分享到腳本之家平臺,需要的朋友可以參考下
    2020-03-03
  • python并發(fā)編程多進(jìn)程 模擬搶票實現(xiàn)過程

    python并發(fā)編程多進(jìn)程 模擬搶票實現(xiàn)過程

    這篇文章主要介紹了python并發(fā)編程多進(jìn)程 模擬搶票實現(xiàn)過程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-08-08
  • Python實現(xiàn)switch/case語句

    Python實現(xiàn)switch/case語句

    與Java、C\C++等語言不同,Python中是不提供switch/case語句的,這一點讓我感覺到很奇怪。我們可以通過如下幾種方法來實現(xiàn)switch/case語句
    2021-08-08

最新評論