消灭星星找到周围相同星星位置,使用for循环
时间: 2023-07-05 11:32:52 浏览: 143
好的,消灭星星游戏是一个很有趣的小游戏。那么针对你的问题,以下是使用 for 循环找到周围相同星星位置的示例代码:
```python
# 假设有一个 5x5 的星星矩阵,其中 0 表示空格,1-4 表示不同颜色的星星
stars = [
[0, 0, 0, 0, 0],
[0, 1, 2, 3, 0],
[0, 2, 4, 1, 0],
[0, 3, 1, 4, 0],
[0, 0, 0, 0, 0]
]
# 找到 (1, 2) 的周围相同颜色的星星
x, y = 1, 2
color = stars[x][y]
# 定义一个列表来存储相同颜色的星星位置
same_color_stars = []
# 从左到右扫描
for i in range(y+1, len(stars[x])):
if stars[x][i] == color:
same_color_stars.append((x, i))
else:
break
# 从右到左扫描
for i in range(y-1, -1, -1):
if stars[x][i] == color:
same_color_stars.append((x, i))
else:
break
# 从上到下扫描
for i in range(x+1, len(stars)):
if stars[i][y] == color:
same_color_stars.append((i, y))
else:
break
# 从下到上扫描
for i in range(x-1, -1, -1):
if stars[i][y] == color:
same_color_stars.append((i, y))
else:
break
print(same_color_stars)
```
在上面的代码中,我们首先找到需要查找周围相同颜色星星的位置,然后从左到右、从右到左、从上到下、从下到上四个方向进行扫描,如果遇到相同颜色的星星,就将其位置加入到一个列表中。最后输出这个列表即可。
需要注意的是,在扫描的时候,我们需要判断是否超出了矩阵的边界,如果超出了边界,就需要停止扫描。同时,我们也需要判断当前位置是否为相同颜色的星星,如果不是,也需要停止扫描。