基于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列表切片用法示例
Apr 19 Python
matplotlib作图添加表格实例代码
Jan 23 Python
Python使用requests发送POST请求实例代码
Jan 25 Python
python实现媒体播放器功能
Feb 11 Python
Linux下python制作名片示例
Jul 20 Python
Django给admin添加Action的步骤详解
May 01 Python
Python的log日志功能及设置方法
Jul 11 Python
python搜索包的路径的实现方法
Jul 19 Python
通过实例了解python property属性
Nov 01 Python
Python3的unicode编码转换成中文的问题及解决方案
Dec 10 Python
Django框架models使用group by详解
Mar 11 Python
python中翻译功能translate模块实现方法
Dec 17 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传输数据的代码
2007/11/13 PHP
高性能PHP框架Symfony2经典入门教程
2014/07/08 PHP
msn上的tab功能Firefox对childNodes处理的一个BUG
2008/01/21 Javascript
JSON 编辑器实现代码
2009/12/06 Javascript
Jquery调用webService远程访问出错的解决方法
2010/05/21 Javascript
Javascript Function对象扩展之延时执行函数
2010/07/06 Javascript
jQuery学习笔记(1)--用jQuery实现异步通信(用json传值)具体思路
2013/04/08 Javascript
jQuery中innerWidth()方法用法实例
2015/01/19 Javascript
js选项卡的实现方法
2015/02/09 Javascript
JavaScript的类型、值和变量小结
2015/07/09 Javascript
Ajax与服务器(JSON)通信实例代码
2016/11/05 Javascript
利用node.js写一个爬取知乎妹纸图的小爬虫
2017/05/03 Javascript
原生JS+Canvas实现五子棋游戏
2020/05/28 Javascript
微信小程序loading组件显示载入动画用法示例【附源码下载】
2017/12/09 Javascript
JS中Map和ForEach的区别
2018/02/05 Javascript
js实现图片3D轮播效果
2019/09/21 Javascript
vue实现PC端分辨率适配操作
2020/08/03 Javascript
jQuery实现简单评论功能
2020/08/19 jQuery
[01:00]一分钟回顾2018DOTA2亚洲邀请赛现场活动
2018/04/07 DOTA
Python 实现在文件中的每一行添加一个逗号
2018/04/29 Python
Python实现的连接mssql数据库操作示例
2018/08/17 Python
django session完成状态保持的方法
2018/11/27 Python
使用Python的SymPy库解决数学运算问题的方法
2019/03/27 Python
Python使用ElementTree美化XML格式的操作
2020/03/06 Python
Python 在局部变量域中执行代码
2020/08/07 Python
Booking.com亚太地区:Booking.com APAC
2020/02/07 全球购物
Sunglass Hut巴西网上商店:男女太阳镜
2020/10/04 全球购物
新电JAVA笔试题目
2014/08/31 面试题
写给女朋友的道歉信
2014/01/08 职场文书
婚礼父母致辞
2015/07/28 职场文书
创业不要错过,这4种餐饮新模式
2019/07/18 职场文书
maven依赖的version声明控制方式
2022/01/18 Java/Android
详解nginx安装过程并代理下载服务器文件
2022/02/12 Servers
Python实现自动玩连连看的脚本分享
2022/04/04 Python
APP界面设计技巧和注意事项
2022/04/29 杂记
Java实现扫雷游戏详细代码讲解
2022/05/25 Java/Android