Exemple #1
0
        public bool isTspin(ref board field)
        {
            if (name != "T")
            {
                return(false);
            }
            if (!spinlast)
            {
                return(false);
            }
            int cnt = (field.checkfield(minopos.x, minopos.y) ? 1 : 0) +
                      (field.checkfield(minopos.x + 2, minopos.y) ? 1 : 0) +
                      (field.checkfield(minopos.x, minopos.y + 2) ? 1 : 0) +
                      (field.checkfield(minopos.x + 2, minopos.y + 2) ? 1 : 0);

            return(cnt >= 3);
        }
Exemple #2
0
 public bool check_mino_ok(ref board field, pos p, int[,] minofield)
 {
     for (int i = 0; i < height; ++i)
     {
         for (int j = 0; j < weight; ++j)
         {
             if (field.checkfield(i + p.x, j + p.y) &&
                 minofield[i, j] != 0)
             {
                 return(false);
             }
         }
     }
     return(true);
 }
Exemple #3
0
 public bool ismin(ref board field)
 {
     if (name != "T")
     {
         return(false);
     }
     if (stat == 1)
     {
         return(field.checkfield(minopos.x, minopos.y) &&
                field.checkfield(minopos.x + 1, minopos.y) &&
                field.checkfield(minopos.x + 2, minopos.y));
     }
     if (stat == 2)
     {
         return(field.checkfield(minopos.x + 2, minopos.y) &&
                field.checkfield(minopos.x + 2, minopos.y + 1) &&
                field.checkfield(minopos.x + 2, minopos.y + 2));
     }
     if (stat == 3)
     {
         return(field.checkfield(minopos.x, minopos.y + 2) &&
                field.checkfield(minopos.x + 1, minopos.y + 2) &&
                field.checkfield(minopos.x + 2, minopos.y + 2));
     }
     if (stat == 0)
     {
         return(field.checkfield(minopos.x, minopos.y) &&
                field.checkfield(minopos.x, minopos.y + 1) &&
                field.checkfield(minopos.x, minopos.y + 2));
     }
     return(false);
 }