private int CalculateTileValue(Tile tile)
{
int value = 0;
Tile target = null;
// upper left
target = GetNeighbor(tile, Neighbors.UpperLeft);
if (target != null) {
if (target.isMine()) {
value++;
}
}
// above
target = GetNeighbor(tile, Neighbors.Above);
if (target != null) {
if (target.isMine()) {
value++;
}
}
// upper right
target = GetNeighbor(tile, Neighbors.UpperRight);
if (target != null) {
if (target.isMine()) {
value++;
}
}
// left
target = GetNeighbor(tile, Neighbors.Left);
if (target != null) {
if (target.isMine()) {
value++;
}
}
// right
target = GetNeighbor(tile, Neighbors.Right);
if (target != null) {
if (target.isMine()) {
value++;
}
}
// lower left
target = GetNeighbor(tile, Neighbors.LowerLeft);
if (target != null) {
if (target.isMine()) {
value++;
}
}
// below
target = GetNeighbor(tile, Neighbors.Below);
if (target != null) {
if (target.isMine()) {
value++;
}
}
// lower right
target = GetNeighbor(tile, Neighbors.LowerRight);
if (target != null) {
if (target.isMine()) {
value++;
}
}
return value;
}