Форум программистов, компьютерный форум CyberForum.ru

Игра "Жизнь" и торообразный массив - C++

Восстановить пароль Регистрация
 
jon_illien
2 / 2 / 1
Регистрация: 14.08.2012
Сообщений: 78
22.01.2013, 19:17     Игра "Жизнь" и торообразный массив #1
Подскажите, как можно реализовать торообразный (круговой) массив для игры "Жизнь".

есть только примитивный алгоритм, без учета перехода границ:
проверка клетки:
C++
1
2
3
4
5
6
7
8
                if(universe[x-1][y]) count++;
                if(universe[x+1][y]) count++;
                if(universe[x][y+1]) count++;
                ifuniverse[x][y-1]) count++;
                if(universe[x+1][y+1]) count++;
                if(universe[x+1][y-1]) count++;
                if(universe[x-1][y+1]) count++;
                if(universe[x-1][y-1]) count++;
Вот на питоне легче, т.к. индекс -1 равен последнему элементу:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
>>> a = [1, 2, 3]
>>> a[-1]
3
 
def life_count(area, x, y, len_x, len_y):
    return area[x-1][y-1]+\
            area[x-1][y]+\
            area[x][y-1]+\
            area[(x+1)%len_x][(y+1)%len_y]+\
            area[x][(y+1)%len_y]+\
            area[(x+1)%len_x][y]+\
            area[x-1][(y+1)%len_y]+\
            area[(x+1)%len_x][y-1]
тогда, как можно сделать на си
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.01.2013, 19:17     Игра "Жизнь" и торообразный массив
Посмотрите здесь:

Игра "Жизнь" C++
C++ игра "жизнь"
C++ Игра "Жизнь"
игра "жизнь." C++
C++ Игра "Борьба за жизнь". Цель игры – убрать с доски все шашки противника
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
22.01.2013, 19:39     Игра "Жизнь" и торообразный массив #2
jon_illien, там, где можно получить отрицательный индекс, добавляешь длину, потом берёшь остаток от деления.
C++
1
area[(x + len_x - 1) % len_x][(y + y_len - 1) % y_len]
jon_illien
2 / 2 / 1
Регистрация: 14.08.2012
Сообщений: 78
22.01.2013, 19:54  [ТС]     Игра "Жизнь" и торообразный массив #3
понятно, а, если не отрицательный: size+1 ?
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
22.01.2013, 19:57     Игра "Жизнь" и торообразный массив #4
jon_illien, (size + 1) % size, иначе будет выход за пределы массива.
jon_illien
2 / 2 / 1
Регистрация: 14.08.2012
Сообщений: 78
23.01.2013, 02:09  [ТС]     Игра "Жизнь" и торообразный массив #5
спасибо, gray_fox. вроде вышло неплохо)) только работает медленно)
Yandex
Объявления
23.01.2013, 02:09     Игра "Жизнь" и торообразный массив
Ответ Создать тему
Опции темы

Текущее время: 06:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru