using System;
namespace day0608
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
int[,] array = new int[3, 6];
array[0, 0] = 0;
array[0, 1] = 0;
array[0, 2] = 2;
array[0, 3] = 2;
array[0, 4] = 4;
array[0, 5] = 4;
array[1, 0] = 0;
array[1, 1] = 0;
array[1, 2] = 2;
array[1, 3] = 2;
array[1, 4] = 0;
array[1, 5] = 0;
array[2, 0] = 0;
array[2, 1] = 0;
array[2, 2] = 4;
array[2, 3] = 4;
array[2, 4] = 8;
array[2, 5] = 0;
// foreach (var item in array) { Console.WriteLine(item);}
array = Left(array);
OutPutArray(array);
Console.ReadLine();
}
private static int[,] ZeroGoToBack(int[,] array,int i)
{
Console.WriteLine("0开始后移");
for (int j = 0; j < array.GetLength(1); j++)
{
if (array[ i,j] == 0)
{
for (int m = j; m < array.GetLength(1)-1; m++)
{
array[ i,m] = array[i,m + 1];
}
array[i, array.GetLength(1) - 1] = 0;
//j--;
}
}
Console.WriteLine("0后移结束");
return array;
}
private static int[,] Left(int[,] array)
{
for (int i = 0; i < array.GetLength(0); i++)
{
int j = 0;
if (array[i,j]==0)
{
array= ZeroGoToBack(array,i);
}
for (; j < array.GetLength(1)-1; j++)
{
if ((array[i, j] == array[i, j + 1])&&(array[i, j] !=0))
{
Console.WriteLine("相加开始了");
array[i, j + 1] *= 2;
array[i, j] = 0;
array = ZeroGoToBack(array, i);
Console.WriteLine("相加结束了");
j--;
}
}
array = ZeroGoToBack(array, i);
}
return array;
}
private static void OutPutArray(int[,] array)
{
for (int i = 0; i < array.GetLength(0); i++)
{
for (int j = 0; j < array.GetLength(1); j++)
{
Console.Write(array[i, j] + "\t");
}
Console.WriteLine();
}
//return;
}
}
}
C#入门11——2048游戏(1)
最新推荐文章于 2022-03-14 19:56:18 发布