当前位置 : 主页 > 编程语言 > python >

Python实战项目刮刮乐的实现详解流程

来源:互联网 收集:自由互联 发布时间:2021-11-19
目录 导语 正文 1)环境安装 2)正式敲代码 2.1定义必要常量 2.2设置随机读取图片 2.3主程序 3)效果图展示 3.1 part 随机图一 3.2 part 随机图二 3.3 part 随机图三 总结 导语 在CSDN学习的过程
目录
  • 导语
  • 正文
    • 1)环境安装
    • 2)正式敲代码
      • 2.1定义必要常量
      • 2.2设置随机读取图片
      • 2.3主程序
    • 3)效果图展示
      • 3.1 part 随机图一
      • 3.2 part 随机图二
      • 3.3 part 随机图三
  • 总结

    导语

    在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从入门到实战之数据结构篇
    下一篇:没有了
    网友评论