private unsafe int FinalScoreForGrid(byte *grid) { //Console.WriteLine("\tEmpty: " + GridFunctions.CountEmptySquares(grid)); //Console.WriteLine("\tsum values: " + GridFunctions.SumValuesInGrid(grid)); //return (ulong)GridFunctions.CountEmptySquares(grid); //return (ulong)(GridFunctions.CountEmptySquares(grid) + GridFunctions.SumValuesInGrid(grid)); return(GridFunctions.SquareSum(grid)); //int[] snake = new int[] //{ // 0, 1, 2, 3, 7, 6, 5, 4, 8, 9, 10, 11 //}; //ulong score = 0; //for (int i = 0; i < snake.Length - 1; i++) //{ // if (grid[snake[i]] < grid[snake[i + 1]]) // { // return score; // } // score += (ulong)(1 << grid[snake[i]]) * (ulong)(1 << grid[snake[i]]); //} //return score; }
private unsafe int FinalScoreForGrid(byte *grid) { //Console.WriteLine("\tEmpty: " + GridFunctions.CountEmptySquares(grid)); //Console.WriteLine("\tsum values: " + GridFunctions.SumValuesInGrid(grid)); //return GridFunctions.CountEmptySquares(grid); //return GridFunctions.CountEmptySquares(grid) + GridFunctions.SumValuesInGrid(grid); return(GridFunctions.SquareSum(grid)); }