基于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字符转换
Sep 06 Python
python实现百度关键词排名查询
Mar 30 Python
Python中文编码那些事
Jun 25 Python
让Python代码更快运行的5种方法
Jun 21 Python
OpenCV+Python识别车牌和字符分割的实现
Jan 31 Python
python3+selenium自动化测试框架详解
Mar 17 Python
Python操作rabbitMQ的示例代码
Mar 19 Python
详解python 模拟豆瓣登录(豆瓣6.0)
Apr 18 Python
Python3多线程版TCP端口扫描器
Aug 31 Python
pygame实现成语填空游戏
Oct 29 Python
python实现ftp文件传输系统(案例分析)
Mar 20 Python
python脚本框架webpy的url映射详解
Nov 20 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
中东人咖啡哲学
2021/03/03 咖啡文化
PHP游戏编程25个脚本代码
2011/02/08 PHP
php实现paypal 授权登录
2015/05/28 PHP
详解php中反射的应用
2016/03/15 PHP
php面试中关于面向对象的相关问题
2019/02/13 PHP
在Firefox下js select标签点击无法弹出
2014/03/06 Javascript
一个获取第n个元素节点的js函数
2014/09/02 Javascript
jQuery-1.9.1源码分析系列(十)事件系统之事件包装
2015/11/20 Javascript
浅谈JQ中mouseover和mouseenter的区别
2016/09/13 Javascript
使用纯JS代码判断字符串中有多少汉字的实现方法(超简单实用)
2016/11/12 Javascript
js实现打地鼠小游戏
2017/02/13 Javascript
jQuery实现动态删除LI的方法
2017/05/30 jQuery
vue2.0项目中使用Ueditor富文本编辑器示例代码
2017/08/14 Javascript
thinkjs 文件上传功能实例代码
2017/11/08 Javascript
详解node Async/Await 更好的异步编程解决方案
2018/05/10 Javascript
axios简单实现小程序延时loading指示
2018/07/30 Javascript
react配置antd按需加载的使用
2019/02/11 Javascript
vue路由权限校验功能的实现代码
2020/06/07 Javascript
python实现ipsec开权限实例
2014/11/11 Python
Python与Java间Socket通信实例代码
2017/03/06 Python
Python 实现引用其他.py文件中的类和类的方法
2018/04/29 Python
python scp 批量同步文件的实现方法
2019/01/03 Python
Python标准库使用OrderedDict类的实例讲解
2019/02/14 Python
Python Django切换MySQL数据库实例详解
2019/07/16 Python
2020版Python学习路线图(附学习资料)
2020/09/15 Python
椰子猫砂:CatSpot
2018/08/27 全球购物
什么是会话Bean
2015/05/14 面试题
岗位聘任书范文
2014/03/29 职场文书
实习协议书范本
2014/04/22 职场文书
企业标语大全
2014/07/01 职场文书
2015年秘书个人工作总结
2015/04/25 职场文书
创业计划书之水果店
2019/07/18 职场文书
Python实现照片卡通化
2021/12/06 Python
Vue如何清空对象
2022/03/03 Vue.js
十大最强电系宝可梦,阿尔宙斯电系之一,第七被称为雷神
2022/03/18 日漫
Python数据处理的三个实用技巧分享
2022/04/01 Python