![]() |
![]() |
Aljona |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 2 Пол: Женский Реальное имя: Aljona Репутация: ![]() ![]() ![]() |
Существует простая и интересная игра Жизнь. Помогите написать простую реализацию с использованием двух массивов, всю ночь сидела, ничего не вышло.
Напомним правила игры "Жизнь". На клетчатом листе стоит несколько фишек. Их расположение во всех клетках одновременно меняется следующим образом. Если в клетках, соседних с данной (по стороне или углу), стоит ровно 3 фишки, то в данную клетку ставится фишка (если ее не было). Если в соседних клетках более 3 или менее 2 фишек, то фишка снимается (если она была). Если в соседних клетках ровно 2 фишки, то состояние клетки не меняется. |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Цитата В чем ошибка? Range-Check отключен? Вот результат... Был выход за пределы матрицы, и не пойман...У тебя матрица A описана как [1 .. size, 1 .. size] или [0 .. size-1, 0 .. size-1]? Я к тому, почему ты в одном случае от нуля избавляешься: if im=0 then im:=m; { <--- Здесь, например } а в другом - приравниваешь к нулю: if ip=m then ip:=0; { <--- Вот тут } ? Лучше бы вот так делать (для случая, если матрица индексирована от ЕДИНИЦЫ): im:=m-1; |
Clerick |
![]()
Сообщение
#3
|
![]() студент.. ![]() ![]() ![]() Группа: Пользователи Сообщений: 287 Пол: Мужской Реальное имя: Дмитрий Репутация: ![]() ![]() ![]() |
Все, я разобрался! Матрица была от единицы. Теперь все нормально работает. Спасибо!
![]() Добавлено через 5 мин. Еще вопрос! А как реализовать эту игру графически? Совсем не знаю как работает графика в Паскале. ![]() -------------------- После дождя обязательно выглянет солнце)
|
![]() ![]() |
![]() |
Текстовая версия | 27.07.2025 8:26 |