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

相关文件

想学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日志
需要源码的小伙伴可以在公众号回复推箱子小游戏

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/252006.html

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

相关文章

小学生python游戏编程3----拼图游戏-准备

小学生python游戏编程3---拼图游戏-准备 主要设计1、背景2、图片分隔3、把小图片打乱顺序组装成拼图 应用知识点1、python知识点1.1 Pillow(PIL)库的用法介绍1.2 PIL安装1.3 Image属性1.4 image方法 功能截图代码实现总结源码获取 主要设计 1、背景 早在1760年,法…

基于Python的贪吃蛇游戏设计

摘要 本次论文设计的主题是贪吃蛇游戏。游戏的主要内容大致分为游戏界面设计和游戏功能设计两大部分,其中游戏界面设计是以满足用户的视觉体验为主,游戏功能设计是在满足原有的贪吃蛇游戏基本功能的基础上添加一些其他的功能。本次的实现代码也较为简洁&…

Python游戏汇总:三十个pygame游戏代码

提示:爱学习哦,不要沉迷游戏,平时打发一下无聊时间最好啦 正文 欢迎阅读: 1.python21点小游戏。2.Python笨鸟先飞小游戏。3.python绘制满天星小游戏。4.吃豆豆小游戏项目。 5.python忍者奔跑小游戏。6.python迷宫小游戏。7.pyt…

猜拳游戏-python

今天在网上发现很多人都用python语言写出了一个猜拳游戏,看着效果还真不错。于是我在网上看了一个大佬写的,有了灵感,写出了下面的程序。 首先,大家知道,在python中,random函数可以做出随机数的程序&#…

python一行代码制作20款经典游戏

今天分享一个有趣的Python游戏库freegames,它包含20余款经典小游戏,像贪吃蛇、吃豆人、乒乓、数字华容道等等,依托于标准库Turtle。 我们不仅可以通过1行代码进行重温这些童年小游戏,还可以查看源码自己学习下游戏编写&#xff0…

迈入python游戏编程的大门,超详细的python环境搭建教程

0. 前言 Hello,大家好!欢迎来到python教程入门学习公众号,我是带你们一起写游戏的猫姐! 经常有朋友问梦想:梦想,我现在上小学(初中),我想学习Python游戏编程&#xff0c…

Python游戏-实现键盘控制功能

要想实现键盘控制作用&#xff0c;就需要给游戏键盘监听事件 利用pygame模块的key.get_pressed()方法&#xff0c;来检测按键是否按下 key_press pygame.key.get_pressed()if not key_press[K_UP] and ball.rect.bottom < height:ball.movedown()elif key_press[K_UP] and …

Python实现迷宫游戏

项目&#xff1a;迷宫游戏 摘要1.引言1.1研究的背景及意义1.2研究的内容 2.系统结构2.1系统的结构2.2基本思路 3.实现代码3.1Maze类3.2Player类3.3Controller类3.4主函数 4.实验5.总结和展望参考文献 摘要 本次实验设计了一款迷宫小游戏&#xff0c;采用用Python开发技术实现。…

苹果iOS 16如何显示WiFi密码【操作教程】

在以往的iOS系统上包括iOS 15&#xff0c;iPhone用户是无法在手机上直接查看WiFi密码。对于经常忘记WiFi密码或者想向他人分享WiFi密码的用户来说非常不友好。 不过&#xff0c;最新发布的iOS 16更新包含了一系列的的细节改进&#xff0c;其中一项就是终于支持查看当前连接的Wi…

iphone显示不了wifi已连接服务器,苹果手机显示已经连接wifi但是不能上网如何解决...

iPhone每次推出新款,必然引起消费市场的订购热潮&#xff0c;人们对iphone手机的热捧,塑造了独特的消费风格群体&#xff0c;纵然iphone的使用者这么多&#xff0c;还是有很多人不清楚iPhone显示已经连接wifi但是不能上网的情况如何解决&#xff0c;下面就由学习啦小编跟大家分…

iphone开蓝牙wifi上网慢_苹果iphone 7手机连接wifi网速很慢怎么办?

最近小编听到很多使用iPhone7手机用户反映iphone 7连接wifi网速很慢&#xff0c;浏览网页都打不开&#xff0c;图片要加载半天&#xff0c;那遇到iphone 7连接wifi网速很慢怎么办?下面丢锋网给大家分享三个解决iphone7网速慢的方法&#xff0c;希望可以帮到大家!出现苹果手机w…

解决苹果手机连接了wifi,依旧无法更新系统的问题

解决苹果手机连接了wifi&#xff0c;依旧无法更新系统的问题 解决苹果手机连接了wifi&#xff0c;依旧无法更新系统的问题 起因&#xff1a;买了iWatch&#xff0c;要用手机给表更新系统&#xff0c;只能是手机连接wifi&#xff0c;但是手机连接了wifi&#xff0c;页面依旧提…

苹果 iPhone 再现 Wi-Fi 漏洞

本文转载自IT之家 IT之家 7 月 5 日消息 上个月底&#xff0c;安全人员 Carl Schou 发现了一个苹果 iPhone 的奇特 Bug&#xff0c;连接特定 SSID“% p% s% s% s% s% n”的 WiFi 后会使手机无线连接功能作废&#xff0c;需要在设置中重置网络才能恢复。 现在他又发现了一个更严…

苹果手机怎么查看已连接的wifi密码_WIFI密码忘了?教你查看手机已连接WIFI的密码...

大家好,现在的手机都有保存wifi密码的功能&#xff0c;在我们第一次连接这个wifi的时候它就会自动的把密码保存到手机里面&#xff0c;我们第二次连接的时候就不需要输入手机密码了&#xff0c;但是时间长了以后可能你连自己家里wifi密码都忘记了&#xff0c;如果说哪一天你家里…

iPhone查看WiFi密码(篇章一)

2019独角兽企业重金招聘Python工程师标准>>> 第一章&#xff1a;iPhone查看那些曾经手动连接过的WiFi密码 1. 找到 iCloud &#xff08;不同系统版本位置不同&#xff0c;但都在设置里&#xff09; 进入“设置”里面&#xff0c;找到“iCloud” 确保“钥匙串”开启 …

苹果手机无法连接wifi_手机信号太差?一键查看连接的WIFI离我们多少米

手机已经使我们出行必备的工具&#xff0c;流量够用还好。如果和我一样出门都要蹭无线网那就有点不开心了&#xff0c;因为有无免费的WIFI或者信号强弱都说不准。 今天&#xff0c;给大家分享一个技巧&#xff0c;如何查看我们连接的WIFI离我们有多远&#xff1f;以及信号的强弱…

苹果手机如何分享wifi密码_怎样用手机改wifi密码

路由器是我们日常生活常用的东西&#xff0c;路由器可以发射WiFi供手机连接上网&#xff0c;但是有时候密码过于简单则会造成很多人连接导致网速变慢。那么&#xff0c;怎样用手机改wifi密码呢&#xff1f;下面将会为大家介绍。 怎样用手机改wifi密码 步骤1、手机连接Wi-Fi信号…

苹果手机如何投屏到电脑【无线有线】

现如今&#xff0c;有很多人喜欢将他们的iPhone手机屏幕投射到电脑&#xff0c;玩游戏&#xff0c;做直播&#xff0c;共享文件&#xff0c;等等。苹果手机本身也有内置airplay&#xff0c;那么如何将苹果手机投射到电脑呢&#xff1f;接下来给大家介绍2种方法。 傲软投屏 首先…

如何从 iPhone、iPad 和 Mac 共享 Wi-Fi 密码

可能很多朋友连接上家里的Wi-Fi 后不会特意记住Wi-Fi密码&#xff0c;如果有其他Apple产品想连接一下WiFi却忘记了密码怎么办&#xff1f;如果您遇到这种情况&#xff0c;采用以下办法您可以轻松地在 iPhone、iPad 和 Mac 之间共享您的 Wi-Fi 密码。 共享 Wi-Fi 密码的要求 解锁…

苹果怎么修改wifi代理服务器,苹果手机怎么修改wifi名称?

请问大家&#xff1a;怎么用苹果手机修改wifi名称&#xff1f; 答&#xff1a;用你的苹果手机&#xff0c;登录到路由器的设置页面&#xff0c;然后打开 无线设置 或者 Wi-Fi设置 这个选项&#xff0c;在打开的页面中&#xff0c;就可以修改wifi名称了&#xff0c;详细的操作步…