相关文件

想学Python的小伙伴可以关注小编的公众号【Python日志】
有很多的资源可以白嫖的哈,不定时会更新一下Python的小知识的哈!!
需要源码的小伙伴可以在公众号回复推箱子小游戏
Python源码、问题解答学习交流群:773162165

开发环境

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

环境搭建

安装Python并添加到环境变量,pip安装需要的相关模块即可。

效果展示


代码实现

模块导入

import pygame
import sys
from os import path
from map import list
from pygame import mixer
import math

关卡

class GameApp:level = 0 # 第一关map = Nonebackground = Nonewall = Noneball = Nonebox = Nonedown_people = Noneleft_people = Noneright_people = Noneup_people = Nonedirection = 'down'levelFont = NoneballNum = 0def __init__(self):self.loadFile()icon = pygame.image.load(self.resolve('img/down.png'))pygame.display.set_icon(icon)mixer.music.load(self.resolve('img/background.wav'))self.levelFont = pygame.font.Font(self.resolve('img/msyh.ttc'), 20)mixer.music.play(-1)self.runGame()def loadFile(self):self.background = pygame.image.load(self.resolve('img/bg.jpg'))self.wall = pygame.image.load(self.resolve('img/wall.png'))self.ball = pygame.image.load(self.resolve('img/ball.png'))self.box = pygame.image.load(self.resolve('img/box.png'))self.down_people = pygame.image.load(self.resolve('img/down.png'))self.left_people = pygame.image.load(self.resolve('img/left.png'))self.right_people = pygame.image.load(self.resolve('img/right.png'))self.up_people = pygame.image.load(self.resolve('img/up.png'))def resolve(self, filename):dirName = path.dirname(__file__)return dirName + '/' + filenamedef renderLevel(self):levelText = self.levelFont.render('第'+str(self.level+1)+'关', True, (0, 0, 0))screen.blit(levelText, (490, 5))def renderPeople(self, i, j):if self.direction == 'down':screen.blit(self.down_people, (j*35-7, i*35-27))if self.direction == 'left':screen.blit(self.left_people, (j*35-7, i*35-27))if self.direction == 'right':screen.blit(self.right_people, (j*35-7, i*35-27))if self.direction == 'up':screen.blit(self.up_people, (j*35-7, i*35-27))

人物移动

  def hasGo(self, preItem, nextItem, preIndex, nextIndex, x, y):if preItem == 0 or preItem == 2:peopleDir['x'] = xpeopleDir['y'] = yreturn Trueif preItem == 3: # 推箱子走路if nextItem == 0 or nextItem == 2:boxList[preIndex] = 0boxList[nextIndex] = 3peopleDir['x'] = xpeopleDir['y'] = yself.checkGameover(nextIndex)self.checkWin()return Truereturn Falsedef checkGameover(self, nextIndex):y = math.floor(nextIndex/16)x = nextIndex%16preItem = 0if ballList[nextIndex] != 2:checkList = [wallList[(y-1)*16 + x],wallList[y*16 + x-1],wallList[(y+1)*16 + x],wallList[y*16 + x+1],wallList[(y-1)*16 + x]]for item in checkList:if item == 0:preItem = 0elif item == 1 and preItem == 0:preItem = 1elif item == 1 and preItem == 1: # 如果相邻是两面墙及失败了self.level = 0initData(self.level)break

代码可能有点长,就不全部展示出来啦

公众号:Python日志
需要源码的小伙伴可以在公众号回复推箱子小游戏

【Python游戏】Python实现一个推箱子小游戏 | 附带源码相关推荐

  1. python推箱子小游戏_小伙利用Python自制一个推箱子小游戏!

    原标题:小伙利用Python自制一个推箱子小游戏! 导语 月初更波python制作小游戏系列吧用python写了个推箱子小游戏,在这里分享给大家,让我们愉快地开始吧 小伙利用Python自制一个推箱子 ...

  2. python推箱子小游戏源代码_Python制作推箱子小游戏

    开发工具 Python版本:3.6.4 相关模块: pygame模块: 以及一些Python自带的模块. 环境搭建 安装Python并添加到环境变量,pip安装需要的相关模块即可. 原理简介 游戏简介 ...

  3. c#推箱子小游戏代码_推箱子小游戏V1.0制作

    小游戏实践 推箱子简易版 大家好,我是努力学习争取成为优秀的Game Producer的路人猿,今天来一起做一个推箱子的简易版本V1.0!下面跟我一起做吧~ 我们用到的软件如下: 编辑类 Visual ...

  4. 移动平台开发项目(推箱子小游戏)

    项目目的:实现一个推箱子小游戏 项目架构:使用三个活动类 项目功能: 能在touch中的Action_down动作下,实现小人推着箱子走的效果,全部箱子到达旗帜为过关. 能使用底部Button键来前后 ...

  5. 怀念童年,推箱子小游戏(vue版本)

    前言 最近都没有怎么写过文章,都断更很久了吧.学习前端一年多,快两年了,学习的热情相比一开始,自我感觉没有变化多少,但是 学习的动力却好像时有时无.就好像是没了目标一样,不知道自己现在应该学些什么,从 ...

  6. 控制台推箱子小游戏C语言

    自己开发的C语言控制台推箱子小游戏,基于二维数组实现,功能不多但是游戏整体较为完整,因为技术有限,所以代码暂未优化且整体显得较为臃肿,整体架构简单,代码全自主设计编写,仅作交流学习,还望大佬多多指点. ...

  7. Python【小游戏合集】之自己做一个简单又好玩的推箱子小游戏

    导语:哈喽铁汁们~今日游戏之旅开始! 想领取完整源码跟python学习资料可私信我或点击这行字体 这期就是带大家使用当前主流且易用的Python语言做一个简单的推箱子小游戏 现在小编的快乐源泉就是玩自 ...

  8. 手把手教你使用Python实现推箱子小游戏(附完整源码)

    文章目录 项目介绍 项目规则 项目接口文档 项目实现过程 前置方法编写 move核心方法编写 项目收尾 项目完善 项目整体源码 项目缺陷分析 项目收获与反思 项目介绍 我们这个项目是一个基于Pytho ...

  9. python写推箱子_python写的推箱子小游戏

    原标题:python写的推箱子小游戏 导语 Python 功能强大,可以写爬虫.服务器.数据分析.AI--当然,也可以写游戏. 用python写了个推箱子小游戏,在这里分享给大家,让我们愉快地开始吧~ ...

  10. python写的推箱子小游戏

    作者:白露未晞me 来源:Charles的皮卡丘 导语 Python 功能强大,可以写爬虫.服务器.数据分析.AI--当然,也可以写游戏. 用python写了个推箱子小游戏,在这里分享给大家,让我们愉 ...

最新文章

  1. 网络营销前夕怎样确定网站定位?这是网络营销开展的基础!
  2. [分享]学历与学习力
  3. php 文件夹里有多少,计算目录php中有多少个文件
  4. SQL笛卡尔积结合前后行数据的统计案例
  5. react学习(6)----react样式多用内联
  6. 和阿里同年创办,为何当当却走向了“卖身”的结局?
  7. 15.Linux 高性能服务器编程 --- 进程池和线程池
  8. python统计word页码_使用Python(win32com)在MS Word表中插入带页码的字段
  9. 类型多样的建筑场景unity3d模型素材,速来收藏
  10. aida64怎么测试cpu稳定性_怎么测试电脑CPU稳定性
  11. 分享Win10虚拟机VMware安装黑苹果MacOS Sierra图文教程
  12. Adobe Audition 2020 for Mac安装不了怎么办?Au下载安装教程来啦 内附系统要求
  13. Shiro在线刷新权限
  14. Oracle analytics server(OAS) 支持 mysql 社区版配置
  15. 群论基础速成(6):五大著名群族
  16. RabbitMQ(6)-Spring AMQP,Spring集成RabbitMQ
  17. python方差膨胀因子_讲讲共线性问题
  18. 影响100年的营销启示 24个故事
  19. 阿里云centos7安装图形界面
  20. C语言——矩阵的上三角化

热门文章

  1. 瑞星搜狐畅游合作 “云安全”首次嵌入网游客户端
  2. 解决VB6控件对象库未注册的问题
  3. 如何在百度收录平台注册账号获取Token
  4. pc套件 无法连接pc CDC Comms Interface
  5. linux ac97声卡驱动下载,《声卡驱动》AC97声卡/创新/主板集成
  6. python教程百度云盘-Python 模拟登陆百度云盘实战教程
  7. php用空格分隔字符串,分割字符串空格
  8. 武忠祥<高等数学辅导讲义> 第一章
  9. 如何生成网站地图(Sitemap)
  10. GD32 startup.s