当前位置:首页 > 新闻动态 > 网站文章

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

来源: 浏览:124 时间:2023-08-10

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

实现思路


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

素材准备


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

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

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

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

万事俱备只欠撸码


按功能块大概说说:

  1. 由于数据存在excel中,所以需要将excel的数据解析,并导入内存。我是用tuple的list来保存的。数据模型,[(工号,名字)],用到的库 import xlrd;
  2. UI界面就用了游戏编程使用的pygame包,import pygame即可(前提是已经安装了pygame);
  3. 背景音乐和鼠标替换都使用pygame的接口:
  4. 音乐:
  5. pygame.mixer.init()
  6. pygame.mixer.music.load('9224.wav')
  7. pygame.mixer.music.play()
  8. pygame.mixer.music.stop()
  9. 鼠标替换:
  10. 思路就是隐藏鼠标,然后在鼠标的位置绘制图片即可。
  11. x, y = pygame.mouse.get_pos()
  12. x -= m.get_width() / 2
  13. y -= m.get_height() / 2
  14. pygame.mouse.set_visible(False)
  15. screen.blit(m, (x, y))
  16. 打包为exe,让其在任何一台windows电脑都能飞起来:
  17. 一直用的pyinstaller,还是比较方便好用,依赖的数据文件别忘记copy到exe目录下即可。
  18. os.system("pyinstaller -F Annual_awards_main.py")
  19. os.system("copy 9224.wav dist\")
  20. os.system("copy bg_1366x768.png dist\")

效果预览


完整源码


完整源码可以私信提供,如果需要也可以量身修改

2019年换个背景图片就能用


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

地址 · ADDRESS

地址:建邺区新城科技园嘉陵江东街18号2层

邮箱:309474043@qq.Com

点击查看更多案例

联系 · CALL TEL

400-8793-956

售后专线:025-65016872

业务QQ:309474043    售后QQ:1850555641

©南京安优网络科技有限公司 版权所有   苏ICP备12071769号-4  网站地图