基于pygame实现童年掌机打砖块游戏


Posted in Python onFebruary 25, 2020

本文为大家分享了童年掌机游戏,基于pygame实现打砖块的具体代码,供大家参考,具体内容如下

项目背景:

小时候有过一个掌机游戏机,里面有俄罗斯方块,打方块等游戏,玩的那叫一个废寝忘食,只是后来玩坏了就没再玩过。今日想学习以下python,就从游戏入手,写一个打方块的游戏,顺便回忆以下童年的乐趣。
此作完全是我学习python和游戏制作的练手作品,用到的python语法和pygame插件的api不会写的很详细,主要记录学习遇到的问题和思路。

基于pygame实现童年掌机打砖块游戏

1、环境准备

1.1.安装python,这里我安装的是3.6.3。(安装教程请自行搜索)
1.2.安装pygame,这里我安装的是1.9.3。(安装教程请自行搜索)
1.3.安装pycharm
1.4.准备素材,打开画图工具,做出一个砖块图片,一个小球图片,一个板子图片。

2、思路整理

回忆游戏流程,整个游戏大致有以下几个步骤
2.1.游戏初始化,载入三种图片。
2.2.点击启动按钮,小球移动,也可以增加暂停功能。
2.3.小球与砖块、板子,左右和上方墙壁的碰撞
2.4.板子与左右墙壁的碰撞(不可超越墙壁)
2.5.小球的落地,游戏结束
2.6.砖块被打完,游戏结束
2.7.计分功能
2.8.音乐~~

3、开整

先从载入图片做起。废话不多说,直接上代码

import pygame
from pygame.locals import *
from sys import exit

# pygame初始化,必须要的
pygame.init()

# 创建窗口
# pygame.display是访问了显示设备
# set_mode方法会返回一个Surface对象,即本程序运行时出现的窗口画面
screen = pygame.display.set_mode((360, 480))
# 设置窗口的名字
pygame.display.set_caption('打砖块')

# 加载图像
# 球
ball = pygame.image.load('img/ball.png')
# 砖块
block = pygame.image.load('img/block.png')
# 板子
board = pygame.image.load('img/board.png')

# 游戏程序一般都需要一个死循环,通过某些条件才可以退出
while True:
 for event in pygame.event.get():
 # 接受退出时间后退出程序
 if event.type == QUIT:
 exit()
 # 把画面背景设置为白色
 screen.fill((255, 255, 255))
 #把上面加载的图片放入到画面中
 # 把球放进去,并设置坐标
 screen.blit(ball, (180, 430))
 # 把砖块放进去,并设置坐标
 # 这里仅放了一个砖块,以后可以做个循环放好多砖块
 screen.blit(block, (20, 20))
 # 把板子放进去,并设置坐标
 screen.blit(board, (150, 450))
 # 刷新画面
 pygame.display.update()

通过上面的代码就可以简单的把图片加载到画面中了

基于pygame实现童年掌机打砖块游戏

接下来还要让小球和板子动起来,下次再写。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python GAE、Django导出Excel的方法
Nov 24 Python
Python处理json字符串转化为字典的简单实现
Jul 07 Python
Python如何快速实现分布式任务
Jul 06 Python
对tensorflow 的模型保存和调用实例讲解
Jul 28 Python
python3 自动识别usb连接状态,即对usb重连的判断方法
Jul 03 Python
django数据库自动重连的方法实例
Jul 21 Python
Python绘制三角函数图(sin\cos\tan)并标注特定范围的例子
Dec 04 Python
django框架中间件原理与用法详解
Dec 10 Python
tensorflow模型保存、加载之变量重命名实例
Jan 21 Python
如何使用pycharm连接Databricks的步骤详解
Sep 23 Python
python使用XPath解析数据爬取起点小说网数据
Apr 22 Python
Python Pandas pandas.read_sql函数实例用法
Jun 21 Python
python GUI库图形界面开发之PyQt5拖放控件实例详解
Feb 25 #Python
python GUI库图形界面开发之PyQt5美化窗体与控件(异形窗体)实例
Feb 25 #Python
Python对wav文件的重采样实例
Feb 25 #Python
python实现打砖块游戏
Feb 25 #Python
Python实现企业微信机器人每天定时发消息实例
Feb 25 #Python
Django 设置多环境配置文件载入问题
Feb 25 #Python
python中resample函数实现重采样和降采样代码
Feb 25 #Python
You might like
php版小黄鸡simsimi聊天机器人接口分享
2014/01/26 PHP
php图片上传类 附调用方法
2016/05/15 PHP
php数据结构之顺序链表与链式线性表示例
2018/01/22 PHP
thinkphp3.2.0 setInc方法 源码全面解析
2018/01/29 PHP
jquery高级编程的最佳实践详解
2014/03/23 Javascript
js由下向上不断上升冒气泡效果实例
2015/05/07 Javascript
JavaScript AOP编程实例
2015/06/16 Javascript
jQuery的Ajax用户认证和注册技术实例教程(附demo源码)
2015/12/08 Javascript
javascript创建cookie、读取cookie
2016/03/31 Javascript
mvvm双向绑定机制的原理和实现代码(推荐)
2016/06/07 Javascript
实例解析jQuery工具函数
2016/12/01 Javascript
jQuery实现的动态文字变化输出效果示例【附演示与demo源码下载】
2017/03/24 jQuery
JavaScript+Html5实现按钮复制文字到剪切板功能(手机网页兼容)
2017/03/30 Javascript
利用node.js实现反向代理的方法详解
2017/07/24 Javascript
node文件批量重命名的方法示例
2017/10/23 Javascript
vue+vuex+axios实现登录、注册页权限拦截
2018/03/09 Javascript
基于Vue2x实现响应式自适应轮播组件插件VueSliderShow功能
2018/05/16 Javascript
react中实现搜索结果中关键词高亮显示
2018/07/31 Javascript
解决使用layui的时候form表单中的select等不能渲染的问题
2019/09/18 Javascript
Vue实现兄弟组件间的联动效果
2020/01/21 Javascript
解决vue项目运行提示Warnings while compiling.警告的问题
2020/09/18 Javascript
[03:04]2018年国际邀请赛典藏宝瓶&莱恩声望物品展示 片尾有彩蛋
2018/06/04 DOTA
Python内置的字符串处理函数整理
2013/01/29 Python
在Python中处理字符串之isdecimal()方法的使用
2015/05/20 Python
pandas.DataFrame 根据条件新建列并赋值的方法
2018/04/08 Python
git查看、创建、删除、本地、远程分支方法详解
2020/02/18 Python
python 解决selenium 中的 .clear()方法失效问题
2020/09/01 Python
django使用多个数据库的方法实例
2021/03/04 Python
使用CSS3制作一个简单的Chrome模拟器
2015/07/15 HTML / CSS
Myprotein俄罗斯官网:欧洲第一运动营养品牌
2019/05/05 全球购物
常务副总经理岗位职责
2014/04/12 职场文书
技术比武方案
2014/05/19 职场文书
乡镇计划生育工作汇报
2014/10/28 职场文书
《改造我们的学习》心得体会
2014/11/07 职场文书
限期整改通知书
2015/04/22 职场文书
2016年心理学教育培训学习心得体会
2016/01/12 职场文书