x, y = centre for i, j in active: background[x + i][y + j] = 1 l = [] for i in range(1, 20): if 0 not in background[i]: l.append(i)
时间: 2024-02-14 17:22:53 浏览: 58
这段代码是将当前方块加入到已经存在的方块中,形成新的堆积。首先获取当前方块的中心点坐标。然后遍历当前方块中的每个方块,将它们的坐标加上中心点坐标,并将这些坐标在背景矩阵中标记为已经存在的方块。接着遍历整个背景矩阵,查找哪些行已经被填满,将这些行的索引添加到一个列表中。最后返回这个列表,表示哪些行已经被填满。
相关问题
def move_LR(n): """n=-1代表向左,n=1代表向右""" x, y = centre y += n for i, j in active: i += x j += y if j < 0 or j > 9 or background[i][j]: break else: centre.clear() centre.extend([x, y])
这是一个Python函数,根据传入的参数n的不同值,将当前方块向左或向右移动一格。其中centre是当前方块的中心位置,active是当前方块包含的所有小方块的相对位置,background是游戏背景的状态,其中0表示空,1表示已有方块。函数首先根据n的值计算出新的中心位置y,然后遍历当前方块包含的所有小方块,计算它们在新位置上的坐标,如果任意一个小方块的新位置已经超出了边界或者新位置已经有方块存在,那么就说明当前方块不能再向左或向右移动了。否则,就更新中心点的坐标并返回。
for i in l: background.pop(i) background.append([0 for j in range(10)]) # 随删随补 score[0] += len(l) pygame.display.set_caption("分数:%d" % (score[0])) active.clear() active.extend(list(random.choice(all_block))) # all_block保存7种形状的信息,手打出来的 centre.clear() centre.extend([20, 4]) x, y = centre for i, j in active: i += x j += y if background[i][j]: break else: return alive.append(1)
这是一个用于更新游戏状态的函数。首先,使用循环遍历变量`l`中的所有行,将其从背景中删除并添加一行全0的新行。这个过程中,使用`score`变量来更新玩家的分数。然后,生成一个新的活动方块,并将其添加到活动方块列表和中心位置列表中。接下来,使用`x`和`y`变量来确定当前活动方块的中心位置,并对每个方块进行偏移,然后使用循环和条件判断语句来检查是否有方块已经到达底部或者下面已经有方块。如果有,则将游戏状态设置为结束状态,否则返回。最后,将一个新的元素添加到`alive`列表中,用于记录当前游戏状态。
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![](https://img-home.csdnimg.cn/images/20250102104920.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![application/pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)