IPB
ЛогинПароль:

> реализация игры жизнь.
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 2
Пол: Женский
Реальное имя: Aljona

Репутация: -  0  +


Существует простая и интересная игра Жизнь. Помогите написать простую реализацию с использованием двух массивов, всю ночь сидела, ничего не вышло.
Напомним правила игры "Жизнь". На клетчатом листе стоит несколько фишек. Их расположение во всех клетках одновременно меняется следующим образом. Если в клетках, соседних с данной (по стороне или углу), стоит ровно 3 фишки, то в данную клетку ставится фишка (если ее не было). Если в соседних клетках более 3 или менее 2 фишек, то фишка снимается (если она была). Если в соседних клетках ровно 2 фишки, то состояние клетки не меняется.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #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;
if im=0 then im:=m;
ip:=m+1;
if ip>size then ip:=1; { <--- size - размер матрицы }
jm:=n-1;
if jm=0 then jm:=size; { <--- size - размер матрицы }
jp:=n+1;
if jp>size then jp:=1;
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.04.2024 5:32
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name