-
打砖游戏,详解每一行代码,历经三个小时解析,初学可看(2)
self.point += self.point#分数加一
# 设置游戏失败条件
if self.ball_y > 520: #窗顶到球心距离大于520,那就说明已经不在挡板上了。窗顶到球心距离等于520才是一直在挡板上。
self.gameover = self.over_font.render("Game Over", False, (0, 0, 0))#定义一个游戏结束,False就表示失败,
self.game_window.blit(self.gameover, (100, 130))
self.over_sign = 1 #游戏结束标识
class Rect(object):
'''创建球拍类'''
def __init__(self, *args, **kw): #初始化 def __init__()这种都代表是初始化
# 设置球拍颜色参数
self.rect_color = (255, 0, 0)#RGB控制挡板(球拍)颜色
self.rect_length = 100#球拍的长度为100
self.rect_wide = 10#球拍高度(宽度)
def rectmove(self):
# 获取鼠标位置参数
self.mouse_x, self.mouse_y = pygame.mouse.get_pos()#获取鼠标横纵坐标
# 绘制球拍,限定横向边界
if self.mouse_x >= self.window_length - self.rect_length // 2:#如果鼠标横坐标大于了球拍最两侧中心位置
self.mouse_x = self.window_length - self.rect_length // 2#那么就回归到球心最右侧位置 窗口宽度减去球拍一半的距离
if self.mouse_x <= self.rect_length // 2:#如果鼠标横坐标小于了球拍最两侧中心位置
self.mouse_x = self.rect_length // 2#那么鼠标横坐标位置就是球拍位置的一半
pygame.draw.rect(self.game_window, self.rect_color, (
(self.mouse_x - self.rect_length // 2), (self.window_wide - self.rect_wide), self.rect_length, self.rect_wide))#调用上面的参数
class Brick(object): #定义砖块这个类
def __init__(self, *args, **kw): #初始化
# 设置砖块颜色参数
self.brick_color = (139, 126, 102)#RGB控制砖块颜色
self.brick_list = [[1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1],
[1, 1, 1
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
SQL Server -- 解决存储过程传入参数作为s
JavaScript判断两个数组相等的四类方法
js如何操作video标签
React实战--利用甘特图和看板,强化Paas平
【记录】正则替换的偏方
前端下载 Blob 类型整理
抽象语法树AST必知必会
关于JS定时器的整理
JS中使用Promise.all控制所有的异步请求都完
js中字符串的方法
import-local执行流程与node模块路径解析流程