所以这就是问题,我有一个2-D字符列表'T'和'F',给定坐标我需要得到它的所有邻居.我有这个:
from itertools import product, starmap
x, y = (5, 5)
cells = starmap(lambda a, b: (x + a, y + b), product((0, -1, +1), (0, -1, +1)))
Run Code Online (Sandbox Code Playgroud)
从确定单元格二维列表的邻居但它只会给我一个协调员列表,所以我仍然获取后面的值.我希望一步完成搜索和检索,所以findNeighbors(5,5)将返回F,T,F,F,...而不是(5,4),(5,6),(4, 5),(4,4)......有这么快的方法吗?solutin可以包括除列表之外的结构以保存初始信息
我正在研究 Conway 的生命游戏 Java 代码,并且我在我的更新方法(也称为下一代创建者)方面遇到了困难。我将发布我到目前为止编写的代码,请让我知道我可以做些什么来修复更新方法。
如果在时间 T 1 没有一个细胞并且它的三个邻居正好活着,那么一个细胞就会诞生。
如果在时间 T 1 有两个或三个邻居,则现有单元格保持活动状态
如果在时间 T 1 的邻居少于两个,则细胞会因孤立而死亡。
如果在时间 T 1 有三个以上的邻居,一个细胞会因过度拥挤而死亡。
public class GameOfLife {
private char [][] grid;
private int rows;
private int columns;
public GameOfLife(int rows, int columns) {
grid=new char[rows][columns];
for(int i=0;i<grid.length;i++)
{
for(int j=0;j<grid[i].length;j++)
grid[i][j]=' ';
}
}
public int numberOfRows() {
int countRows=0;
for(int i=0;i<grid.length;i++){
countRows++;
rows=countRows;
}
return rows;
}
public int numberOfColumns() {
int countColumns=0;
for(int i=0;i<1;i++){
for(int j=0;j<grid[i].length;j++)
countColumns++;
columns=countColumns;
}
return …Run Code Online (Sandbox Code Playgroud)