Python实战项目刮刮乐的实现详解流程
导语
在CSDN学习的过程中,遇到了爆火的文章是关于刮刮卡的!
大家猜猜看是谁写的?
我看这文章都特别火,我也感觉挺好玩的,那就寻思用 Python肯定也能做呀!
这不?今天还有时间,那就带大家写一款刮刮乐的小程序吧~
正文
1)环境安装
准备好Python3、Pycharm、Pygame模块还有一些自带的。
模块安装:pip install pygame
图片素材音乐背景可自选。【仅展示部分素材】
2)正式敲代码
2.1定义必要常量
BGMPATH = 'music/bgm.mp3' IMAGEDIR = 'pictures' SUPPORTEXTS = ['jpg', 'png', 'bmp'] SCREENSIZE = (800, 600) WHITE = (255, 255, 255, 27) GRAY = (192, 192, 192)
2.2设置随机读取图片
设置随机读取,更有趣味性,每张图片都特别好看哦~
def readImageRandomly(): filenames = os.listdir(IMAGEDIR) filenames = [f for f in filenames if f.split('.')[-1] in SUPPORTEXTS] imgpath = os.path.join(IMAGEDIR, random.choice(filenames)) return pygame.transform.scale(pygame.image.load(imgpath), SCREENSIZE)
2.3主程序
def main(): pygame.init() pygame.mixer.init() pygame.mixer.music.load(BGMPATH) pygame.mixer.music.play(-1, 0.0) pygame.mouse.set_cursor(*pygame.cursors.diamond) screen = pygame.display.set_mode(SCREENSIZE) pygame.display.set_caption('小程序——唯美古风') surface = pygame.Surface(SCREENSIZE).convert_alpha() surface.fill(GRAY) image_used = readImageRandomly() while True: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit(-1) mouse_event_flags = pygame.mouse.get_pressed() if mouse_event_flags[0]: pygame.draw.circle(surface, WHITE, pygame.mouse.get_pos(), 40) elif mouse_event_flags[-1]: surface.fill(GRAY) image_used = readImageRandomly() screen.blit(image_used, (0, 0)) screen.blit(surface, (0, 0)) pygame.display.update()
3)效果图展示
3.1 part 随机图一
3.2 part 随机图二
3.3 part 随机图三
总结
好啦!一款简单的刮刮卡小程序就写完了,想自己试试嘛?
好啦!本次文章就到这里了~如有想跟着小编一起学习交流的,欢迎大家!记得三连哦
到此这篇关于Python实战项目刮刮乐的实现详解流程的文章就介绍到这了,更多相关Python 刮刮乐内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
关于Python ImportError: No module named&nb
最近多个小伙伴儿问“ImportError: No module named xxx“,应该怎么样解决,下面小编给大家带来了关于Python ImportError: No module named 通用解决方法,感兴趣的朋友一起看看吧2022-11-11Python2和Python3中@abstractmethod使用方法
这篇文章主要介绍了Python2和Python3中@abstractmethod使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2020-02-02
最新评论