public static Point GetSource(byte current, int age, int max, int x, int y, int id, bool isDark) { bool[] cddd = new bool[4]; if (current == 1) { if (age < 1) { return(new Point(768, 736)); } if (age >= 1) { for (var i = 0; i < _neighbors.Length; i++) { var nX = x + _neighbors[i].Item1; var nY = y + _neighbors[i].Item2; if (!GamePlayScreen.InBounds(nX, nY)) { cddd[i] = false; } else { if (id == _gamePlayScreen.BoardCells[nY * GamePlayScreen.Width + nX].CurrentID) { cddd[i] = true; } else { cddd[i] = false; } } } var index = 0; for (var i = 0; i < _sides.Length; i++) { if (cddd[0] == _sides[i].Item1 && cddd[1] == _sides[i].Item2 && cddd[2] == _sides[i].Item3 && cddd[3] == _sides[i].Item4) { index = i; } } var pointy = new Point(); return(pointy = GetIndexStart(index, age, isDark)); } } else { if (age < (current - 1) * 4) { return(new Point(1216, 1696)); } else { bool[] tips = new bool[4]; for (var i = 0; i < _neighbors.Length; i++) { var nX = x + _neighbors[i].Item1; var nY = y + _neighbors[i].Item2; if (!GamePlayScreen.InBounds(nX, nY)) { cddd[i] = false; } else { if (_gamePlayScreen.BoardCells[nY * GamePlayScreen.Width + nX].CurrentID != id) { cddd[i] = false; tips[i] = false; } else { if (current < _gamePlayScreen.BoardCells[nY * GamePlayScreen.Width + nX].CurrentNumber) { cddd[i] = false; tips[i] = false; } else { cddd[i] = true; tips[i] = true; } if (age >= (current - 1) * 4 + 4) { cddd[i] = true; } } } } var index = 0; var plopper = 0; for (var i = 0; i < _sides.Length; i++) { if (cddd[0] == _sides[i].Item1 && cddd[1] == _sides[i].Item2 && cddd[2] == _sides[i].Item3 && cddd[3] == _sides[i].Item4) { index = i; } } for (var i = 0; i < 4; i++) { if (tips[i]) { plopper = i; } } var pointy = new Point(); return(pointy = GetIndexEnd(index, age, plopper, current, isDark)); } } return(Point.Zero); }