最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

前言

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

作者:黑白之道

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

實(shí)現(xiàn)

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

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

實(shí)現(xiàn)刮刮卡,我們主要用到是 pygame 模塊,之前做小游戲時(shí)已經(jīng)用到過(guò)幾次了,大家應(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)過(guò)的地方,將圖層置為透明,漏出底圖,代碼實(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)

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

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

總結(jié)

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

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

相關(guān)文章

  • Python的in,is和id函數(shù)代碼實(shí)例

    Python的in,is和id函數(shù)代碼實(shí)例

    這篇文章主要介紹了python的in,is和id函數(shù)代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • Numpy的np.random隨機(jī)模塊詳解

    Numpy的np.random隨機(jī)模塊詳解

    這篇文章主要介紹了Numpy的np.random隨機(jī)模塊詳解,平時(shí)都會(huì)使用到隨機(jī)模塊,一般是torch.random或者是numpy.random,有或者是直接使用ramdom這個(gè)python內(nèi)置的工具包,那么下面就簡(jiǎn)單記錄一下numpy.random常用的函數(shù),需要的朋友可以參考下
    2023-08-08
  • 30分鐘搭建Python的Flask框架并在上面編寫(xiě)第一個(gè)應(yīng)用

    30分鐘搭建Python的Flask框架并在上面編寫(xiě)第一個(gè)應(yīng)用

    這篇文章主要介紹了如何搭建Python的Flask框架并在上面編寫(xiě)一個(gè)簡(jiǎn)單的登錄模版應(yīng)用,代碼數(shù)量少、充分體現(xiàn)了Flask框架的輕量與開(kāi)發(fā)高效的特點(diǎn),需要的朋友可以參考下
    2015-03-03
  • python單向鏈表的基本實(shí)現(xiàn)與使用方法【定義、遍歷、添加、刪除、查找等】

    python單向鏈表的基本實(shí)現(xiàn)與使用方法【定義、遍歷、添加、刪除、查找等】

    這篇文章主要介紹了python單向鏈表的基本實(shí)現(xiàn)與使用方法,結(jié)合實(shí)例形式分析了Python單向鏈表的定義、遍歷、添加、刪除、查找等相關(guān)操作技巧,需要的朋友可以參考下
    2019-10-10
  • Python中賦值運(yùn)算符的含義與使用方法

    Python中賦值運(yùn)算符的含義與使用方法

    賦值運(yùn)算符主要用來(lái)為變量(或常量)賦值,在使用時(shí),既可以直接用基本賦值運(yùn)算符“=”將右側(cè)的值賦給左側(cè)的變量,右側(cè)也可以在進(jìn)行某些運(yùn)算后再賦值給左側(cè)的變量,下面這篇文章主要給大家介紹了關(guān)于Python中賦值運(yùn)算符的含義與使用方法的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • itchat和matplotlib的結(jié)合使用爬取微信信息的實(shí)例

    itchat和matplotlib的結(jié)合使用爬取微信信息的實(shí)例

    下面小編就為大家?guī)?lái)一篇itchat和matplotlib的結(jié)合使用爬取微信信息的實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-08-08
  • Python中生成Epoch的方法

    Python中生成Epoch的方法

    下面小編就為大家?guī)?lái)一篇Python中生成Epoch的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-04-04
  • Python wxPython庫(kù)Core組件BoxSizer用法示例

    Python wxPython庫(kù)Core組件BoxSizer用法示例

    這篇文章主要介紹了Python wxPython庫(kù)Core組件BoxSizer用法,結(jié)合實(shí)例形式分析了wxPython BoxSizer布局管理相關(guān)使用方法及操作注意事項(xiàng),需要的朋友可以參考下
    2018-09-09
  • Python函數(shù)式編程實(shí)例詳解

    Python函數(shù)式編程實(shí)例詳解

    這篇文章主要介紹了Python函數(shù)式編程,結(jié)合實(shí)例形式詳細(xì)分析了Python函數(shù)式編程高階函數(shù)、匿名函數(shù)、閉包及函數(shù)裝飾器等相關(guān)概念、原理與使用技巧,需要的朋友可以參考下
    2020-01-01
  • python實(shí)現(xiàn)21點(diǎn)小游戲

    python實(shí)現(xiàn)21點(diǎn)小游戲

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)21點(diǎn)小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-04-04

最新評(píng)論

格尔木市| 黑龙江省| 通海县| 孟津县| 印江| 方山县| 建宁县| 甘南县| 依兰县| 西乌| 宜君县| 南陵县| 禄劝| 乳源| 大方县| 资阳市| 蕲春县| 中方县| 富裕县| 盐源县| 新郑市| 阿合奇县| 贵南县| 健康| 交城县| 永城市| 大同县| 昌乐县| 长顺县| 陵川县| 普宁市| 万全县| 丽水市| 罗甸县| 家居| 调兵山市| 栾城县| 金山区| 夏津县| 汝阳县| 舞钢市|