首页 > 编程语言 >【pygame游戏】用Python实现一个蔡徐坤大战篮球的小游戏,可还行?【附源码】

【pygame游戏】用Python实现一个蔡徐坤大战篮球的小游戏,可还行?【附源码】

时间:2022-12-25 14:01:01浏览次数:52  
标签:quit Python image rules game 小游戏 pygame 源码 rect

准备工作开发环境

Python版本:3.7.8

相关模块:
requests模块;
tqdm模块;
pyfreeproxy模块;
pyechats模块;
以及一些python自带的模块。

效果预览
开始界面

 

游戏规则

wasd 控制人物的移动,空格启动律师函炸毁全部篮球。

 

 

 

 

 

 代码实现

导入模块

import pygame
import sys
import traceback
import os
import CXK
import enemy
import bullet
import supply
from pygame.locals import *
from random import *

 

 游戏主界面

#游戏主界面
def ui():
    #循环播放背景音乐
    pygame.mixer.music.play(-1)

    #初始化界面按键图片并获取图片的矩形位置
    start_game_image = pygame.image.load("images/start_game.png").convert_alpha()
    start_game_image_rect = start_game_image.get_rect()
    game_rules_image = pygame.image.load("images/game_rules.png").convert_alpha()
    game_rules_image_rect = game_rules_image.get_rect()
    game_quit_image = pygame.image.load("images/game_quit.png").convert_alpha()
    game_quit_image_rect = game_quit_image.get_rect()

    #初始化游戏规则图片并获取图片的矩形位置
    rules_image = pygame.image.load("images/游戏玩法.png").convert_alpha()
    back_image = pygame.image.load("images/back.png").convert_alpha()
    back_image_rect =  back_image.get_rect()

    #标志是否在主界面
    is_ui = True

    #帧率
    clock = pygame.time.Clock()

    #主界面循环
    while True:
        #获取事件信息
        for event in pygame.event.get():
            #如果点击右上角退出
            if event.type == QUIT:
                #退出程序
                pygame.quit()
                sys.exit()

        #如果是主界面
        if is_ui:
            #绘制背景
            screen.blit(background,(0,0))

            #更改主界面按键图片的矩形位置并绘制主界面按键
            start_game_image_rect.left,start_game_image_rect.top = (width - start_game_image_rect.width)//2,height - 500
            screen.blit(start_game_image,start_game_image_rect)

            game_rules_image_rect = game_rules_image.get_rect()
            game_rules_image_rect.left,game_rules_image_rect.top = (width - game_rules_image_rect.width)//2,start_game_image_rect.bottom+50
            screen.blit(game_rules_image,game_rules_image_rect)

            game_quit_image_rect.left,game_quit_image_rect.top = (width - game_quit_image_rect.width)//2, game_rules_image_rect.bottom+50
            screen.blit(game_quit_image,game_quit_image_rect)

            #检测用户的鼠标操作
            #如果用户按下鼠标左键
            if pygame.mouse.get_pressed()[0]:
                #获取鼠标坐标
                pos = pygame.mouse.get_pos()
                #如果用户点击”开始游戏“
                if start_game_image_rect.left < pos[0] < start_game_image_rect.right and start_game_image_rect.top < pos[1] < start_game_image_rect.bottom:
                    #调用主函数
                    main()
                #如果用户点击”退出游戏“
                if game_quit_image_rect.left < pos[0] < game_quit_image_rect.right and game_quit_image_rect.top < pos[1] < game_quit_image_rect.bottom:
                    pygame.quit()
                    sys.exit()
                #如果用户点击”游戏规则“
                if game_rules_image_rect.left < pos[0] < game_rules_image_rect.right and game_rules_image_rect.top < pos[1] < game_rules_image_rect.bottom:
                    #离开主界面
                    is_ui = False

 

 

标签:quit,Python,image,rules,game,小游戏,pygame,源码,rect
From: https://www.cnblogs.com/liuliumei/p/17003961.html

相关文章

  • python之路55 cookie与session 操作 把模块变成字符串进行导入
    django中间件三个了解的方法1.process_view 路由匹配成功之后执行视图函数/类之前自动触发(顺序同process_request)2.process_exception 视图函数/类执行报错自动触发(......
  • python-数据库
    python使用内置SQLite3模块,支持SQLite3数据库的访问和相关的数据库操作。python3操作SQLite3数据库的基本流程如下:1)导入相关库或模块(SQLite3)2)使用connect()连接数据库并......
  • 基于OpenVINO的端到端DL网络-Tesseract5+VS2017+win10源码编译攻略
    一,记录我目前在win10X64和VS2017的环境下成功编译Tesseract5.0的方式;二,记录在VS2017C++工程中调用Tesseract4.0的方法;三,记录编译和调用Tesseract4.0过程中踩到的坑和相......
  • python中使用马尔可夫决策过程(MDP)动态编程来解决最短路径强化学习问题|附代码数据
    最近我们被客户要求撰写关于MDP的研究报告,包括一些图形和统计输出。在强化学习中,我们有兴趣确定一种最大化获取奖励的策略。假设环境是马尔可夫决策过程(MDP)的理想模型,我们......
  • 段力辉版本《OpenCV-Python 中文教程》学习
          此书极好,值得借鉴学习,并且开源开放。Python在实现过程中,体现出来了非常强的优势,特别是结合Numpy来进行矩阵计算,有很多简化方法。这里将学习过程代码进行增编......
  • pythonav资源分享登录流程:
    版一:importtimefromseleniumimportwebdriverfromaipimportAipOcrdefinitial():"""初始化连接"""APP_ID='16611607'API_KEY='wAIXfXOUS8ztLa4FrK3......
  • 广播 goAsync 源码分析,为什么 Google 大佬都在使用它
    hi大家好,我是DHL。公众号:ByteCode,专注有用、有趣的硬核原创内容,Kotlin、Jetpack、性能优化、系统源码、算法及数据结构、大厂面经。近期在分析问题过程中,需要反编译Goog......
  • (二)elasticsearch 源码目录
    在阅读源码之前,我们先来看看整个项目的结构:(同(一)elasticsearch编译和启动,我们使用版本7.4.0作为示例).ci,持续集成配置.github,里面有PULL_REQUEST_TEMPLATE.md,是关于pr......
  • [python]第三方库ColorThief的使用
    介绍了python第三方库ColorThief的使用方法并配有简单代码。目录目录什么是ColorThief?如何安装ColorThief?如何使用ColorThief?导入实例化ColorThief提取图片......
  • Python - pytest:
    快速入门 pytest是Python的单元测试框架,同自带的unittest框架类似,但pytest框架使用起来更简洁,效率更高。pytest特点入门简单易上手,文档支持较好。支持单元测试和功能测试。......