当前位置: 首页 > article >正文

【pygame游戏】Python实现蔡徐坤大战篮球游戏【附源码】

前言

话说在前面,我不是小黑子~😏

本文章纯属技术交流~娱乐

前几天我获得了一个坤坤打篮球的游戏,也给大家分享一下吧~

好吧,其实并不是这样的游戏,往下慢慢看吧。

准备工作

开发环境

Python版本:3.7.8

相关模块:

requests模块;

tqdm模块;

pyfreeproxy模块;

pyecharts模块;

以及一些python自带的模块。


完整源码等直接加V:python5180 免费领


效果预览

开始界面

游戏规则

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

结束游戏

代码实现

( 代码有点多,就没有全部粘贴出来,完整源码等直接加V:python5180 免费领找小姐姐领取呀~ )

导入模块

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

尾语

感谢你观看我的文章呐~本次航班到这里就结束啦 🛬

希望本篇文章有对你带来帮助 🎉,有学习到一点知识~

躲起来的星星🍥也在努力发光,你也要努力加油(让我们一起努力叭)。

最后,宣传一下呀~👇👇👇更多源码、资料、素材、解答、交流皆点击下方名片获取呀👇👇👇


http://www.kler.cn/a/501.html

相关文章:

  • 17.电话号码的字母组合(深度递归遍历解决经典老题)
  • Python的30个编程技巧
  • 软测面试了一个00后,绝对能称为是内卷届的天花板
  • 数据结构One——绪论
  • ChatGPT是如何训练得到的?通俗讲解
  • 程序员必会技能—— 使用日志
  • 【IoT】嵌入式驱动开发:IIC子系统
  • Qt浏览器开发:关于QCef以及qcefview开发原理
  • 做技术,最忌讳东张西望
  • ChatGPT解答:python大批量读写ini文件时,性能很低,有什么解决方法吗,给出具体的思路和实例
  • Spring学习——MyBatisPlus入门
  • 极智AI | GPT4来了,ChatGPT又该升级了
  • JS学习第11天——函数进阶(this指向、严格模式、高阶函数、闭包、递归)
  • 一个nginx的小项目,不写代码,实现在局域网内访问其他电脑的网页
  • 裸辞3个月,面试了25家公司,终于找到心仪的工作了
  • C#基础之面向对象编程(二)
  • MySQL:JDBC
  • 快速测试两台服务器间的网速(ChatGPT回复)
  • 2022年全国职业院校技能大赛(中职组)网络安全竞赛试题——MYSQL安全测试解析(详细)
  • 【linux】:进程概念