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

4131 5
小明Python 2022-12-7 14:45:22 | 显示全部楼层 |阅读模式
本帖最后由 小明Python 于 2022-12-7 22:54 编辑

准备工作开发环境

Python版本:3.7.8

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

效果预览
开始界面


游戏规则

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

结束游戏



代码实现

导入模块

  1. import pygame
  2. import sys
  3. import traceback
  4. import os
  5. import CXK
  6. import enemy
  7. import bullet
  8. import supply
  9. from pygame.locals import *
  10. from random import *
复制代码

游戏主界面


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

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

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

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

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

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

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

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

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

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

  41.             #检测用户的鼠标操作
  42.             #如果用户按下鼠标左键
  43.             if pygame.mouse.get_pressed()[0]:
  44.                 #获取鼠标坐标
  45.                 pos = pygame.mouse.get_pos()
  46.                 #如果用户点击”开始游戏“
  47.                 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:
  48.                     #调用主函数
  49.                     main()
  50.                 #如果用户点击”退出游戏“
  51.                 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:
  52.                     pygame.quit()
  53.                     sys.exit()
  54.                 #如果用户点击”游戏规则“
  55.                 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:
  56.                     #离开主界面
  57.                     is_ui = False
复制代码



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






木之成渊 2022-12-13 18:40:44 | 显示全部楼层
逛了这么多板块,厉害!

点评

彳亍  详情 回复 发表于 2022-12-15 15:45
小明Python 2022-12-15 15:45:26 | 显示全部楼层
木之成渊 发表于 2022-12-13 18:40
逛了这么多板块,厉害!

彳亍
zhuyuchen4588 2022-12-21 19:56:56 | 显示全部楼层
可以复个下载链接bu
小明Python 2022-12-24 20:01:51 | 显示全部楼层

我可是ikun 你可别乱说
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2025 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行