Ejemplo n.º 1
0
 public GameProcess()
 {
     //初始化
     baseshape = CreateShape.Create();
     ArraySum  = baseshape.ArrayBox;
     temp      = baseshape;
 }
Ejemplo n.º 2
0
 //自动下降
 private void AutoDown()
 {
     //当图形到低,重新赋值
     for (int i = 18; i > 0; i--)
     {
         for (int j = 1; j < 19; j++)
         {
             if (f)
             {
                 temp = CreateShape.Create();
                 f    = false;
             }
             if (ArraySum[i, j] == 1 && ArraySum[i + 1, j] == 3 ||
                 ArraySum[i, j] == 1 && ArraySum[i + 1, j] == 2
                 )
             {
                 for (int ii = 1; ii < 19; ii++)
                 {
                     for (int jj = 1; jj < 19; jj++)
                     {
                         if (ii >= i && ArraySum[ii, jj] == 1)
                         {
                             ArraySum[ii, jj] = 2;
                         }
                     }
                 }
                 //产生图形
                 if (Judge())
                 {
                     f         = true;
                     baseshape = temp;
                     Flag      = 1;
                 }
             }
         }
     }
     for (int i = 18; i > 0; i--)
     {
         for (int j = 1; j < 19; j++)
         {
             if (ArraySum[i, j] == 1 && ArraySum[i + 1, j] == 2 ||
                 ArraySum[i, j] == 1 && ArraySum[i + 1, j] == 3
                 )
             {
                 return;
             }
         }
     }
     for (int i = 18; i > 0; i--)
     {
         for (int j = 1; j < 19; j++)
         {
             if (ArraySum[i, j] == 1)
             {
                 ArraySum[i + 1, j] = 1;
                 ArraySum[i, j]     = 0;
             }
         }
     }
 }
Ejemplo n.º 3
0
 //重置游戏
 private void ResetArray()
 {
     Score = 0;
     for (int i = 1; i < 19; i++)
     {
         for (int j = 1; j < 30; j++)
         {
             if (ArraySum[i, j] == 1 || ArraySum[i, j] == 2)
             {
                 ArraySum[i, j] = 0;
             }
         }
     }
     baseshape = CreateShape.Create();
     ArraySum  = baseshape.ArrayBox;
 }