code: def build_mine_matrix(self, w, h, minenum):
          
          self.minecount = 0
          matrix = [[Cell(30, 30, x, y, self) for x in range(w)] for y in range(h)]
          for i in range(0, minenum):
              x = random.randint(0, w - 1)
              y = random.randint(0, h - 1)
              if matrix[y][x].has_mine:
                  continue
  
              self.minecount += 1
              matrix[y][x].has_mine = True
              for coord in [[-1, -1], [-1, 0], [-1, 1], [0, -1], [0, 1], [1, -1], [1, 0], [1, 1]]:
                  _x, _y = coord
                  if not self.coord_in_map(x + _x, y + _y, w, h):
                      continue
                  matrix[y + _y][x + _x].add_nearest_mine()
          return matrix
docs: random fill cells with mines and increments nearest mines num in adiacent cells