基于pygame实现童年掌机打砖块游戏
作者:NeverTooLateToTurn 时间:2023-09-18 20:41:28
本文为大家分享了童年掌机游戏,基于pygame实现打砖块的具体代码,供大家参考,具体内容如下
项目背景:
小时候有过一个掌机游戏机,里面有俄罗斯方块,打方块等游戏,玩的那叫一个废寝忘食,只是后来玩坏了就没再玩过。今日想学习以下python,就从游戏入手,写一个打方块的游戏,顺便回忆以下童年的乐趣。
此作完全是我学习python和游戏制作的练手作品,用到的python语法和pygame插件的api不会写的很详细,主要记录学习遇到的问题和思路。
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()
通过上面的代码就可以简单的把图片加载到画面中了
接下来还要让小球和板子动起来,下次再写。
来源:https://blog.csdn.net/NeverTooLateToTurn/article/details/78927328
标签:pygame,游戏机,打砖块
0
投稿
猜你喜欢
Appium自动化测试中获取Toast信息操作
2022-05-12 07:10:48
layer 刷新某个页面的实现方法
2024-04-10 10:46:39
vue实现引入本地json的方法分析
2023-07-02 16:32:14
Python实现的径向基(RBF)神经网络示例
2022-03-06 23:44:35
定位后无法选择容器内容解决方案
2008-07-28 13:14:00
tensorflow实现简单的卷积神经网络
2021-07-15 21:13:02
Python Opencv图像处理基本操作代码详解
2023-06-08 08:08:05
Python 操作 MySQL数据库
2024-01-17 17:46:17
如何判断JavaScript变量的类型
2009-02-25 12:28:00
配置 Pycharm 默认 Test runner 的图文教程
2023-12-06 09:03:32
Python 列表映射后的平均值
2021-12-25 19:02:39
asp下查询xml的实现代码
2011-04-19 10:37:00
动态给表添加删除字段并同时修改它的插入更新存储过程
2011-12-01 10:18:28
CSS 几条经典的 CSS Tips
2008-08-20 18:40:00
使用Python操作FTP实现上传和下载的方法
2023-03-09 20:49:51
将有安全问题的SQL过程删除,比较全面
2007-08-06 14:46:00
django迁移文件migrations的实现
2022-10-27 02:48:44
PHP数据类型之布尔型的介绍
2023-11-14 21:56:00
tensorflow如何继续训练之前保存的模型实例
2023-05-22 22:54:57
基于Python检测动态物体颜色过程解析
2022-03-20 09:07:30