Python黑科技系列06 - 项目实战-刮刮卡小游戏

简介: 最快的成功方法就是,保持对一件事情专注,不停地重复,不停地深钻,只要看透时间的复利效应,每一个人都可以是一个小领域的佼佼者,怕的就是你在各个领域之间徘徊游荡。”想成功,就要舍去某些东西,

开始之前,捋一下思路:

1、需要一个方形界面,这里选用pygame模块,搭建游戏窗口

2、窗口需要设置一张背景图片作为展示,可以添加个BGM音乐。

3、可以设置一个灰色的背景图层把图片覆盖起来,起到一个可以刮的效果。

image.png

准备素材:

1、安装模块;指令:pip install pygame
2、一首mp3歌曲
3、1张或者多张图片

第一步:搭建游戏窗口

import sys
import pygame

# 初始化 预加载
pygame.init()
# 窗口的大小
pygame.display.set_mode((800,500))

while True:
    # 获得 当前的事件  列表
    events = pygame.event.get()
    #
    for events in events:
       if events.type == pygame.QUIT:
           # 退出当前的窗口界面
           pygame.quit()
           sys.exit()
    pygame.display.update()

image.png

第二步:设置游戏背景音乐

#  加载音乐
pygame.mixer.music.load(r'500miles.mp3')
# 播放音乐
pygame.mixer.music.play()

image.png

第三步:随机窗口背景图片展示

file_name = os.listdir('pic')

print(file_name)
print(random.choice(file_name)) 
# 拼接
image_path = os.path.join('pic',random.choice(file_name))
image_used = pygame.transform.scale(pygame.image.load(image_path), (800,500))

image_used = screen.blit(image_used, (0, 0))

image.png

image.png

第四步:添加背景图层

从上往下堆代码的话,总感觉不太好 ,接下来我会把前面的代码重新 通过函数封装一下。作为一名程序员代码逼格得上去不是。

import os
import sys
import random
import pygame


# 定义常量
BGMPATH = 'music/500miles.mp3'
IMAGEDIR = 'pictures'
SUPPORTEXTS = ['jpg', 'png']
SCREENSIZE = (800, 600)
WHITE = (255, 255, 255, 27)
GRAY = (192, 192, 192)

# 随机读取一张图片
def readImage():
    file_names = os.listdir(IMAGEDIR)
    file_names = [f for f in file_names if f.split('.')[-1] in SUPPORTEXTS]
    img_path = os.path.join(IMAGEDIR, random.choice(file_names))
    return pygame.transform.scale(pygame.image.load(img_path), SCREENSIZE)


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('普门教育Tony老师-定制-纸质版-刮刮卡游戏')
    surface = pygame.Surface(SCREENSIZE).convert_alpha()
    surface.fill(GRAY)
    image_used = readImage()
    while True:
        #  这里要 添加获得 当前的事件  列表
        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 = readImage()
        screen.blit(image_used, (0, 0))
        screen.blit(surface, (0, 0))
        pygame.display.update()


if __name__ == '__main__':
    main()

这里的图片我设置了8张,可随机更换。
image.png

第五步:效果展示

image.png

image.png

在这个浮躁的时代;竟然还有人能坚持篇篇原创;

如果本文对你学习有所帮助-可以点赞👍+ 关注!将持续更新更多新的文章。

支持原创。感谢!

相关文章
|
3月前
|
机器学习/深度学习 数据采集 数据可视化
Python 数据分析:从零开始构建你的数据科学项目
【10月更文挑战第9天】Python 数据分析:从零开始构建你的数据科学项目
66 2
|
4月前
|
机器学习/深度学习 算法 TensorFlow
动物识别系统Python+卷积神经网络算法+TensorFlow+人工智能+图像识别+计算机毕业设计项目
动物识别系统。本项目以Python作为主要编程语言,并基于TensorFlow搭建ResNet50卷积神经网络算法模型,通过收集4种常见的动物图像数据集(猫、狗、鸡、马)然后进行模型训练,得到一个识别精度较高的模型文件,然后保存为本地格式的H5格式文件。再基于Django开发Web网页端操作界面,实现用户上传一张动物图片,识别其名称。
121 1
动物识别系统Python+卷积神经网络算法+TensorFlow+人工智能+图像识别+计算机毕业设计项目
|
2天前
|
Python
课程设计项目之基于Python实现围棋游戏代码
游戏进去默认为九路玩法,当然也可以选择十三路或是十九路玩法 使用pycharam打开项目,pip安装模块并引用,然后运行即可, 代码每行都有详细的注释,可以做课程设计或者毕业设计项目参考
46 33
|
2月前
|
存储 数据可视化 数据挖掘
Python数据分析项目:抖音短视频达人粉丝增长趋势
Python数据分析项目:抖音短视频达人粉丝增长趋势
|
2月前
|
监控 安全 测试技术
如何在实际项目中应用Python Web开发的安全测试知识?
如何在实际项目中应用Python Web开发的安全测试知识?
34 4
|
2月前
|
弹性计算 Linux iOS开发
Python 虚拟环境全解:轻松管理项目依赖
本文详细介绍了 Python 虚拟环境的概念、创建和使用方法,包括 `virtualenv` 和 `venv` 的使用,以及最佳实践和注意事项。通过虚拟环境,你可以轻松管理不同项目的依赖关系,避免版本冲突,提升开发效率。
116 3
|
4月前
|
机器学习/深度学习 人工智能 算法
植物病害识别系统Python+卷积神经网络算法+图像识别+人工智能项目+深度学习项目+计算机课设项目+Django网页界面
植物病害识别系统。本系统使用Python作为主要编程语言,通过收集水稻常见的四种叶片病害图片('细菌性叶枯病', '稻瘟病', '褐斑病', '稻瘟条纹病毒病')作为后面模型训练用到的数据集。然后使用TensorFlow搭建卷积神经网络算法模型,并进行多轮迭代训练,最后得到一个识别精度较高的算法模型,然后将其保存为h5格式的本地模型文件。再使用Django搭建Web网页平台操作界面,实现用户上传一张测试图片识别其名称。
152 22
植物病害识别系统Python+卷积神经网络算法+图像识别+人工智能项目+深度学习项目+计算机课设项目+Django网页界面
|
3月前
|
JSON 搜索推荐 API
Python的web框架有哪些?小项目比较推荐哪个?
【10月更文挑战第15天】Python的web框架有哪些?小项目比较推荐哪个?
80 1
|
4月前
|
机器学习/深度学习 算法 TensorFlow
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
交通标志识别系统。本系统使用Python作为主要编程语言,在交通标志图像识别功能实现中,基于TensorFlow搭建卷积神经网络算法模型,通过对收集到的58种常见的交通标志图像作为数据集,进行迭代训练最后得到一个识别精度较高的模型文件,然后保存为本地的h5格式文件。再使用Django开发Web网页端操作界面,实现用户上传一张交通标志图片,识别其名称。
151 6
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
|
3月前
|
机器学习/深度学习 人工智能 算法
【玉米病害识别】Python+卷积神经网络算法+人工智能+深度学习+计算机课设项目+TensorFlow+模型训练
玉米病害识别系统,本系统使用Python作为主要开发语言,通过收集了8种常见的玉米叶部病害图片数据集('矮花叶病', '健康', '灰斑病一般', '灰斑病严重', '锈病一般', '锈病严重', '叶斑病一般', '叶斑病严重'),然后基于TensorFlow搭建卷积神经网络算法模型,通过对数据集进行多轮迭代训练,最后得到一个识别精度较高的模型文件。再使用Django搭建Web网页操作平台,实现用户上传一张玉米病害图片识别其名称。
81 0
【玉米病害识别】Python+卷积神经网络算法+人工智能+深度学习+计算机课设项目+TensorFlow+模型训练