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

准备工作开发环境

Python版本:3.7.8

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

效果预览
开始界面

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

 

游戏规则

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

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

 

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

 

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

 

 

 代码实现

导入模块

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

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

 

 

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:【pygame游戏】用Python实现一个蔡徐坤大战篮球的小游戏,可还行?【附源码】 - Python技术站

(0)
上一篇 2023年4月2日 下午4:09
下一篇 2023年4月2日

相关文章

  • Python 迭代器Iterator详情

    1. 什么是迭代器? 迭代器是一个表示数据流的对象,当我们调用next()方法时会返回容器中的下一个值 迭代器中包含__iter__和__next__()方法。通过__iter__方法可以返回迭代器对象本身的方法。__next__()方法会使cur指针始终指向当前位置,即返回容器中的下一个值,如果容器中没有更多元素了,则会抛出StopIteration异常。…

    Python开发 2023年3月31日
    00
  • 你写过哪些实用的Python代码?

    Python这门语言很适合用来写些实用的小脚本,跑个自动化、爬虫、算法什么的,非常方便。   这也是很多人学习Python的乐趣所在,可能只需要花个礼拜入门语法,就能用第三方库去解决实际问题。我在Github上就看到过不少Python代码的项目,几十行代码就能实现一个场景功能,非常实用。   比方说仓库Python-master里的几个简单例子:   1、创…

    2023年4月2日
    00
  • Python+matplotlib实现折线图的美化

    1. 导入包 import pandas as pd import matplotlib.pyplot as plt import matplotlib.ticker as ticker import matplotlib.gridspec as gridspec 2. 获得数据 file_id = ‘1yM_F93NY4QkxjlKL3GzdcCQEnBi…

    2023年3月31日
    00
  • python常见报错以及解决方案,,以下是Python常见的报错以及解决方法,快进入收藏…

    AttribteError: ‘module’ object has no attribute xxx’ 描述:模块没有相关属性。可能出现的原因:1.命名.py文件时,使用了Python保留字或者与模块名等相同。解决:修改文件名2…pyc文件中缓存了没有更新的代码。解决:删除该库的.pyc 文件   AttributeError: ‘Obj’ object …

    Python开发 2023年4月2日
    00
  • 这个Python读取文件的方法,堪称天花板级别…

    1、方法介绍基本用法 先来看一下fileinput的基本功能: fileinput.filename():返回当前被读取的文件名。—>在第一行被读取之前,返回 None。 fileinput.fileno():返回以整数表示的当前文件“文件描述符”。—>当未打开文件时(处在第一行和文件之间),返回 -1。 fileinput.lineno():返…

    2023年4月2日
    00
  • python烟花代码

    python烟花代码   如下 # -*- coding: utf-8 -*- import math, random,time import threading import tkinter as tk import re #import uuid Fireworks=[] maxFireworks=8 height,width=600,600 class…

    2023年4月2日
    00
  • python的time库详解

    time库的使用:Python中内置了一些与时间处理相关的库,如time、datatime和calendar库。 其中time库是Python中处理时间的标准库,是最基础的时间处理库。 time库的功能如下: (1)计算机时间的表达 (2)提供获取系统时间并格式化输出功能 (3)提供系统级精确计时功能,用于程序性能分析 格式如下: import time t…

    2023年4月2日
    00
  • Python基础语法:函数

    1 函数定义   1.1 函数概述 在程序设计中,函数的使用可以提升代码的复用率和可维护性。 提升代码的复用率: 程序设计中,一些代码的功能是相同的,操作是一样的,只不过针对的数据不一样。此种情况下,可以将这种功能写成一个函数模块,要使用此功能时只需调用这个函数模块就可以了。提升代码的可维护性: 使用函数后,实现了代码的复用,某个功能需要核查或修改时,只需要…

    2023年4月2日
    00
合作推广
合作推广
分享本页
返回顶部