• Почему не работает правильный подсчет мин в моей игре?

    @The_Revenant
    В циклах for, выполняющих обход по полю, при создании объектов range() от длины и ширины не нужно отнимать единицу, т. к. это приводит к тому, что проверка клеток на соседство с "миной" в последней колонке и последнем столбце поля попросту не выполняется.

    Исправленный вариант:
    for string in range(dlina):
      for stolb in range(shirina):
        if pole[string][stolb] != -1:
          for i in range(-1, 2):
            for b in range(-1, 2):
              new_string = string + i
              new_stolb = stolb +b
              if 0 <= new_string <= dlina - 1 \
                      and 0 <= new_stolb <= shirina - 1 \
                      and pole[new_string][new_stolb] == -1:
                pole[string][stolb] += 1
    Ответ написан
    Комментировать