а как расстояние считать между элементами в массиве?) одна ячейка, две? ну можно наверное, но вроде вам надо было индексы именно соседние, не диагональные?
просто проверять каждый раз заражена ли ячейка, потом рандомно разыгрывать вероятность что одна из 4-х соседних заразится