Гольф код: игра "Жизнь" Джона Конвея



Задача: напишите самую короткую программу, которая реализует Джона Х. Конвея игры клеточный автомат. [ссылке]

EDIT: примерно через неделю соревнований я выбрал победителя: pdehaan, за управление, чтобы победить решением по Матлаб один символ с perl.

для тех, кто не слышал об игре жизни, вы берете сетку (в идеале бесконечную) квадрата ячейки. Клетки могут быть живыми (заполненными) или мертвыми (пустыми). Мы определяем, какие клетки живы на следующем этапе времени, применяя следующие правила:

  1. любая живая клетка с менее чем двумя жить соседям умирает, как будто вызваны под-населения.
  2. любая живая клетка с более чем тремя жить соседям умирает, как бы переполненности.
  3. любая живая клетка с двумя или тремя соседями выживает в следующем поколении.
  4. любая мертвая клетка с ровно три живых соседей становится живой клетки, как бы воспроизводства.

ваша программа будет читать в 40X80 символов ASCII текстовый файл, указанный в качестве аргумента командной строки, а также количество итераций (N) для выполнения. Наконец, он будет выводиться в файл ASCII.txt состояние системы после N итераций.

вот пример выполнения с соответствующими файлами:

in.txt:

................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
..................................XX............................................
..................................X.............................................
.......................................X........................................
................................XXXXXX.X........................................
................................X...............................................
.................................XX.XX...XX.....................................
..................................X.X....X.X....................................
..................................X.X......X....................................
...................................X.......XX...................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................

повторить 100 раз:

Q:>life in.txt 100

результирующий выход (out.txt)

................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
..................................XX............................................
..................................X.X...........................................
....................................X...........................................
................................XXXXX.XX........................................
................................X.....X.........................................
.................................XX.XX...XX.....................................
..................................X.X....X.X....................................
..................................X.X......X....................................
...................................X.......XX...................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................

Правила:

  • вы должны использовать файл ввода/вывода для чтения/записи файлов.
  • вы должны принять входной файл и число итераций в качестве аргументов
  • вам нужно сгенерировать.тхт (перезаписать, если он существует) в указанном формате
  • вы не нужно иметь дело с краями доски (wraparound, бесконечные сетки .и т. д.)
  • редактировать: вы do нужно иметь новые строки в выходном файле.

победитель будет определен по количеству символов.

удачи!

152   0  
    Ничего не найдено.

Добавить ответ:
Отменить.