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

作者:NeverTooLateToTurn 时间:2023-09-18 20:41:28 

本文为大家分享了童年掌机游戏,基于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实现童年掌机打砖块游戏

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

来源: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
  • asp之家 网络编程 m.aspxhome.com