首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

用Python做个年会抽奖小程序吧

又到了每年一度的年会,最期盼的可能就是抽奖环节了。如果大家都吐槽抽奖不公,那不如用程序来抽吧。

实现思路

在屏幕上不断滚动名字,然后点击停止后停止滚动。名单是保存在excel中,所以需要从excel解析出名单。有思路了,那就开始吧。

素材准备

先找一张背景图吧,有鼓,那么就把鼠标变成鼓槌,敲一下鼓开始滚动,再敲一下鼓就停止滚动,依次循环。思想不错,那就这么实现吧。

还需要一个鼓槌的图片,如下图片。但是该图背景是白色的,在红色背景图片

上的绘制出来会是白色图片,所以需要将图片白色背景修改为透明。只能自己动手,装个Photoshop来修改了。具体方法百度一下就可以了很简单。

没有背景音乐有点乏味,那就加个背景音乐吧,网上找了一个鼓声的短音乐。

万事俱备只欠撸码

按功能块大概说说:

由于数据存在excel中,所以需要将excel的数据解析,并导入内存。我是用tuple的list来保存的。数据模型,[(工号,名字)],用到的库 import xlrd;

UI界面就用了游戏编程使用的pygame包,import pygame即可(前提是已经安装了pygame);

背景音乐和鼠标替换都使用pygame的接口:

音乐:

pygame.mixer.init()

pygame.mixer.music.load('9224.wav')

pygame.mixer.music.play()

pygame.mixer.music.stop()

鼠标替换:

思路就是隐藏鼠标,然后在鼠标的位置绘制图片即可。

x, y = pygame.mouse.get_pos()

x -= m.get_width() / 2

y -= m.get_height() / 2

pygame.mouse.set_visible(False)

screen.blit(m, (x, y))

打包为exe,让其在任何一台windows电脑都能飞起来:

一直用的pyinstaller,还是比较方便好用,依赖的数据文件别忘记copy到exe目录下即可。

os.system("pyinstaller -F Annual_awards_main.py")

os.system("copy 9224.wav dist\\")

os.system("copy bg_1366x768.png dist\\")

完整源码

https://github.com/ggangliu/Annual-meeting-lottery.git

2019年换个背景图片还能接着用

编程有时候能够带给我们乐趣

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180127G0BWNZ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券