private boolean collision() {
      int[][] ff = form[pc_num][pc_rot];
      for (int a = 0; a<4; a++) {
         for (int b = 0; b<4; b++) {
            if (ff[a][b] == pad)
               continue;
            int x = pc_xx + b;
            if (x < 0 || x >= 10)
               return true;
            int y = pc_yy + a;
            if (y < 0 || y >= 20)
               return true;
            if (grid[y][x] != pad)
               return true;
         }
      }
      return false;
   }