导语
嘿!前不久刚刚给大家✍过一款反弹球的小游戏嘛!
不知道大家还记得不?不记得可以看下往期的内容呢,在上一期的基础上升级了这款大转款的小游
戏,界面的话也挺简单的,经典配色原汁原味哈哈哈。
大家好,我是梦雅,一个上的编程下的厅堂的女码农!今天带大家编写一款经典的打砖块儿小游戏!
小科普:
打砖块最早是由雅达利公司开发的一款独立游戏,也是无数人的童年记忆。
在谷歌图片中搜索“atari breakout”(雅利达打砖块游戏),搜索结果就会变成这款游戏。把所有砖
块都清除后,还能继续进入下一轮挑战。
大家也可以试试 哈哈哈~希望给大家介绍更多编程方各种知识!
正文
一、准备中
1)游戏规则:
把所有砖块都清除后,还能继续进入下一轮挑战
初始化每个玩家2次机会,打完所有砖块儿即可胜利,否则失败游戏不过关!
(关卡素材、背景音乐等比较少也不展示了需要的主页源码基地见哈)
2)环境安装
本文用到的环境:Python3、Pycharm、Pygame模块以及部分自带。
环境安装:pip install -i https://pypi.douban.com/simple/ +模块名
二、开始敲代码
1)配置文件
import os'''游戏界面一些数值'''SCREENWIDTH = 640SCREENHEIGHT = 480BRICKWIDTH = 10BRICKHEIGHT = 10PADDLEWIDTH = 60PADDLEHEIGHT = 12BALLRADIUS = 8'''游戏素材路径'''FONTPATH = os.path.join(os.getcwd(), 'resources/font/font.TTF')HITSOUNDPATH = os.path.join(os.getcwd(), 'resources/audios/hit.wav')BGMPATH = os.path.join(os.getcwd(), 'resources/audios/bgm.mp3')LEVELROOTPATH = os.path.join(os.getcwd(), 'resources/levels')
LEVELPATHS = [os.path.join(LEVELROOTPATH, '%s.level' % str(i+1))
for i in range(len(os.listdir(LEVELROOTPATH)))]'''一些颜色'''
BLACK = (0, 0, 0)
WHITE = (255, 255, 255)
PINK = (212, 149, 174)
PURPLE = (168, 152, 191)
YELLOW = (245, 237, 162)
BLUE = (51, 170, 230)
AQUA = (182, 225, 225)
2)定义一些类
import randomimport pygame'''板子'''class Paddle(pygame.sprite.Sprite):
def __init__(self, x, y, width, height, SCREENWIDTH, SCREENHEIGHT, **kwargs): pygame.sprite.Sprite.__init__(self)
self.init_state = [x, y, width, height]
self.rect = pygame.Rect(x, y, width, height)
self.base_speed = 10
self.SCREENWIDTH = SCREENWIDTH self.SCREENHEIGHT = SCREENHEIGHT '''移动板子'''
def move(self, direction):
if direction == 'left':
self.rect.left = max(0, self.rect.left-self.base_speed)
elif direction == 'right