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

 更新时间:2021年11月04日 14:35:49   作者:嗨!程序媛  
读万卷书不如行万里路,只学书上的理论是远远不够的,只有在实战中才能获得能力的提升,本篇文章手把手带你用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装饰器以及装饰器模式

    浅析Python装饰器以及装饰器模式

    本篇文章给大家分享了关于Python装饰器以及装饰器模式的相关知识点,一起跟着小编学习下吧。
    2018-05-05
  • Python正则表达式匹配日期与时间的方法

    Python正则表达式匹配日期与时间的方法

    这篇文章主要介绍了Python正则表达式匹配日期与时间的方法,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-07-07
  • Django密码存储策略分析

    Django密码存储策略分析

    这篇文章主要介绍了Django密码存储策略分析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • 关于Python ImportError: No module named 通用解决方法

    关于Python ImportError: No module named&nb

    最近多个小伙伴儿问“ImportError: No module named xxx“,应该怎么样解决,下面小编给大家带来了关于Python ImportError: No module named 通用解决方法,感兴趣的朋友一起看看吧
    2022-11-11
  • 用Python画一个LinkinPark的logo代码实例

    用Python画一个LinkinPark的logo代码实例

    这篇文章主要介绍了用Python画一个LinkinPark的logo代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • Python2和Python3中@abstractmethod使用方法

    Python2和Python3中@abstractmethod使用方法

    这篇文章主要介绍了Python2和Python3中@abstractmethod使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • Pycharm中配置Anaconda解释器的完整步骤

    Pycharm中配置Anaconda解释器的完整步骤

    Anaconda是Python的一个发行版本,集成了大量插件,在用PyCharm进行开发时,可以选用Anaconda执行环境,下面这篇文章主要给大家介绍了关于Pycharm中配置Anaconda解释器的完整步骤,需要的朋友可以参考下
    2022-11-11
  • python文件编写好后如何实践

    python文件编写好后如何实践

    在本篇文章里小编给大家分享了关于python文件编写好后如何实践的相关内容,需要的朋友们可以参考下。
    2020-07-07
  • 超实用的 30 段 Python 案例

    超实用的 30 段 Python 案例

    Python是目前最流行的语言之一,它在数据科学、机器学习、web开发、脚本编写、自动化方面被许多人广泛使用。这篇文章主要介绍了超实用的 30 段 Python 案例,需要的朋友可以参考下
    2019-10-10
  • Python学习之sys模块使用教程详解

    Python学习之sys模块使用教程详解

    sys模块 与 os包一样,也是对系统资源进行调用。功能同样也是非常丰富。本文将对sys模块的一些简单且常用的函数进行介绍,感兴趣的可以学习一下
    2022-03-03

最新评论