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

news2025/1/19 14:23:12

Python制作坤坤打篮球小游戏

  • 序言
  • 准备工作
      • 开发环境
  • 效果预览
      • 开始界面
      • 游戏规则
      • 结束游戏
  • 代码实现

序言

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

我是超级大黑子😏

表弟大周末的跑来我家,没事干天天骚扰我,搞得我都不能跟小姐姐好好聊天了,于是为了打发表弟,我决定用Python做一个小游戏来消耗一下他的精力,我思来想去,决定把他变成小黑子,于是做了一个坤坤打篮球的游戏,没想到他还挺爱玩的~

终于解放了,于是我把游戏写下来,也给大家分享一下吧~


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

准备工作

开发环境

Python版本:3.7.8

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

效果预览

开始界面

游戏规则

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

结束游戏

兄弟们学习python,有时候不知道怎么学,从哪里开始学。掌握了基本的一些语法或者做了两个案例后,不知道下一步怎么走,不知道如何去学习更加高深的知识。
那么对于这些大兄弟们,我准备了大量的免费视频教程,PDF电子书籍,以及源代码!直接在文末名片自取即可!

代码实现

导入模块

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.coloradmin.cn/o/44267.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【813. 最大平均值和的分组】

来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 描述&#xff1a; 给定数组 nums 和一个整数 k 。我们将给定的数组 nums 分成 最多 k 个相邻的非空子数组 。 分数 由每个子数组内的平均值的总和构成。 注意我们必须使用 nums 数组中的每一个数进行分组&#xff0c;…

3DMAX森林树木植物插Forest Pack Pro 预设库安装教程

Forest Pack是世界上最流行的3dMax森林树木植物散布插件。它提供了一个完整的解决方案来创建广阔的物体区域&#xff0c;从树木和植物到建筑物、人群、骨料、地面覆盖物、岩石等等。模拟大型场景总是非常困难&#xff0c;但这个插件可以帮助您以较少的难度进行模拟。 Forest P…

最近面试 Java 开发的感受:就以平时项目经验面试,通过估计很难

在上周&#xff0c;我密集面试了若干位 Java 后端的候选人&#xff0c;工作经验在 3 到 5 年间。我的标准其实不复杂&#xff1a;第一能干活&#xff0c;第二 Java 基础要好&#xff0c;第三最好熟悉些分布式框架&#xff0c;我相信其它公司招初级开发时&#xff0c;应该也照着…

CountDownLatch

目录 1 前言 2 常用方法 3 示例 4 解析 4.1 countDown() 4.2 await() 源码 1 前言 countDownLatch&#xff08; 门阀、 计数器&#xff09;是多线程控制的一种工具 &#xff0c;它用来协调各个线程之间的同步。 countDownLatch相当于一个计数器&#xff0c;能够使…

51单片机学习笔记3 C51数据类型及最小系统

51单片机学习笔记3 C51数据类型一、 C51数据类型1. 基本类型2. C51扩充数据类型3. C51运算量&#xff08;1&#xff09;常量&#xff08;2&#xff09;变量&#xff08;3&#xff09;位运算符&#xff08;4&#xff09;逗号运算符4. 数组二、51 最小系统构成1. 晶振电路2. 复位…

EIGRP_协议知识点

EIGRP协议一、汇总1.配置(接口下)2.修改AD值(全局下)二、Stub特性2.1实验配置:三、路由泄露四、控制路由更新工具-Distribute-list(分发列表)一、汇总 EIGRP的自动汇总&#xff1a;EIGRP自动汇总只能汇总本地产生的路由&#xff0c;不能汇总从邻居学习的路由&#xff0c;会自动…

聊聊雪花算法?

随便聊聊 哈喽&#xff0c;大家好&#xff0c;最近换了份工作&#xff0c;虽然后端技术栈是老了点&#xff0c;但是呢&#xff0c;这边的前端技术确是现在市面上最新的那一套技术&#xff1a;Vue3ViteTSXPinaElement-PlusNativeUI。我本人主要是学后端的&#xff0c;确被拉去做…

2022王道OS 1.2 操作系统的发展与分类

2022 王道OS 操作系统的发展与分类 文章目录2022 王道OS 操作系统的发展与分类知识总览OS的发展与分类手工操作阶段批处理阶段--单道批处理系统批处理阶段--多道批处理系统分时操作系统实时操作系统其他几种OS知识回顾与重要考点文章目录2022 王道OS 操作系统的发展与分类知识总…

【Android App】勾勒出三维立方体和球体以及它们的转动图形讲解及实战(附源码和演示视频 超详细)

需要源码或运行有问题请点赞关注收藏后评论区留言~~~ 一、轮廓勾勒 勾勒三维物体轮廓线条的步骤如下&#xff1a; &#xff08;1&#xff09;调用glEnableClientState方法启用顶点开关 &#xff08;2&#xff09;调用glVertexPointer方法指定三维物体的顶点坐标集合 &#…

单体分层应用架构剖析

分层单体架构风格是分层思想在单体架构中的应用&#xff0c;其关注于技术视角的职责分层。同时&#xff0c;基于不同层变化速率的不同&#xff0c;在一定程度上控制变化在系统内的传播&#xff0c;有助于提升系统的稳定性。但这种技术视角而非业务视角的关注点隔离&#xff0c;…

Unity-2D游戏-打击感与敌人AI

前言 最近快搞毕设了&#xff0c;学一些Unity2D游戏开发的知识&#xff0c;发现b站宝藏up主奥飒姆Awesome的两个蛮不错的教程&#xff0c;我想简单记录一下它这个游戏设计的方法。 我不一点点实现了&#xff0c;就是分析一下大致框架&#xff08;方便以后套用&#xff09; 资…

广东电子MES系统在电子厂实施的功能和流程

1、电子行业特点电子行业为典型的离散性加工企业&#xff0c;其管理核心的问题在于SN号的管理和物料追溯&#xff0c;即产品、半成品、关键部件都有SN号&#xff0c;且需要实现物料追溯。2、电子行业MES解决方案针对行业需求&#xff0c;我们提供了如下的解决方案&#xff1a;采…

【Python模块】日期时间

在平时开发工作中&#xff0c;我们经常需要用到日期时间&#xff0c;比如日志记录、日期时间的计算、时间字段的赋值等。Python 提供了 time 模块、datatime 模块及子模块、calendar 模块等内置模块&#xff0c;可实现对日期时间的设置、获取、转换等常见操作。 一、日期时间的…

基于STM32G431嵌入式学习笔记——七、定时器定时

一、题目引入 上述为第13届蓝桥杯省赛节选内容&#xff0c;为了研究定时器的机理并独立书写计时函数&#xff0c;上述内容简化为以下要求&#xff1a; ①按下B4按键&#xff0c;LD1点亮5s后熄灭 ②按下B3按键&#xff0c;LD2以0.1秒为间隔切换亮灭状态 二、基础知识 定时器相…

请问各位程序员,是我的思维方式有错误吗?

你好呀&#xff0c;我是歪歪。 前几天知乎给我推送了一个问题&#xff0c;我点进去一看&#xff0c;好家伙&#xff0c;竟然把我血压都看上来了是怎么回事。 我先把问题复述一遍&#xff0c;聊天记录比较长&#xff0c;但是看的过程中容易冲动&#xff0c;注意控制情绪&#…

麦芽糖-聚乙二醇-人血清白蛋白,HAS-PEG-maltose

中文名称&#xff1a;麦芽糖-人血清白蛋白 英文名称&#xff1a;maltose-HAS 别称&#xff1a;人血清白蛋白修饰麦芽糖&#xff0c;HAS-麦芽糖 PEG接枝修饰麦芽糖 麦芽糖-聚乙二醇-人血清白蛋白 HAS-PEG-maltose 人血清白蛋白-PEG-麦芽糖 纯度&#xff1a;95% 存储条件…

物料搬运装置及控制系统设计(CAD+PLC)

目 录 1 绪论 1 1.1 物料搬运装置的概述 1 1.2 物料搬运装置的发展史 1 1.3 气动技术及气动物料搬运装置的发展过程 2 1.4 物料搬运装置未来的发展趋势 3 1.5 本课题研究内容 6 1.6 课题研究的意义 6 2 物料搬运装置的总体设计方案 7 2.1 物料搬运装置的工作原理及系统组成 7 2…

动态规划 DP专题

跟着ygg的dp题单刷的dp 1.代码源每日一题 Div1 连续子序列 分析&#xff1a; dp数组开成map&#xff0c;则状态转移式dp[i] max(dp[i - 1] 1, dp[i]) AC代码&#xff1a; #include <bits/stdc.h>using namespace std; typedef long long ll; #define int ll #define …

Day814.电商系统表设计优化案例分析 -Java 性能调优实战

电商系统表设计优化案例分析 Hi&#xff0c;我是阿昌&#xff0c;今天学习记录的是关于电商系统表设计优化案例分析。 如果在业务架构设计初期&#xff0c;表结构没有设计好&#xff0c;那么后期随着业务以及数据量的增多&#xff0c;系统就很容易出现瓶颈。 如果表结构扩展…

CentOS7.9 安装配置MySQL5.7.30

1.下载mysql安装包&#xff1a;mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz 2. 卸载自带的mariadb和mysql 检查是否安装了mariadb和mysql&#xff0c;有时候默认安装了 rpm -qa | grep mariadb rpm -qa | grep mysql 如果没有&#xff0c;就可以安装mysql&#xff0c;如果有&a…