//選択可能かどうか取得 public static bool IsPutEnable(int[,] banData, int komaType, Vector2Int pos) { if (!IsContainRange(banData, pos) || banData[pos.x, pos.y] != 0) { return(false); } foreach (Vector2Int vec in EightVector.GetVec()) { if (IsSand(banData, komaType, pos, vec)) { return(true); } } return(false); }
//反転 public static int[,] Reverse(int[,] banData, Vector2Int pos) { var komaType = banData[pos.x, pos.y]; int[,] result = banData; foreach (Vector2Int vec in EightVector.GetVec()) { if (IsSand(banData, komaType, pos, vec)) { SandAction(banData, komaType, pos, vec, (x, y) => { var check = banData[x, y]; if (check != komaType) { result[x, y] = GetReverseNum(check); } }); } } return(result); }