Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.89/18: Рейтинг темы: голосов - 18, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 20.09.2012
Сообщений: 35

Игра «Жизнь» Конвея(обратная)

12.06.2017, 13:04. Показов 4655. Ответов 31
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите реализовать игру "Жизнь", но не прямую, а обратную, то-есть что бы из текущего поля получалось предшествующее ему. Я знаю что может быть много предшествующих полей, можно тупенькую программу хотя бы. Пожалуйста помогите...
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.06.2017, 13:04
Ответы с готовыми решениями:

игра жизнь
содержимое life.cpp// Life.cpp: определяет точку входа для консольного приложения. // #include <iostream> #include...

Игра Жизнь
Написал вот такую реализацию: #include "stdafx.h" #include "iostream" #include "clocale" using namespace std; int...

Игра Жизнь
Ну, правила игры таковы: - если клетка пустая но имеет ровно 3 соседа (вообще их 8), там появляется жизнь. - если клетка полная, но там...

31
4949 / 2289 / 287
Регистрация: 01.03.2013
Сообщений: 5,991
Записей в блоге: 32
27.07.2019, 23:47
Студворк — интернет-сервис помощи студентам
Байт, собственно, как и жизнь. Что Конвээвская, что реальная....
0
 Аватар для Ovederax
604 / 404 / 212
Регистрация: 30.04.2017
Сообщений: 744
Записей в блоге: 1
28.07.2019, 13:29
Сделаю то, что автор должен был предоставить первым постом, если он хочет двигаться к умной версии - тупая реализация алгоритма перебора 2^(4*4) => 65536 вариантов для поля завернутого в тор на Qt.
На экран выводится первый вариант поля из рассчитанных.

P.S. Код не стоит принимать всерьез тк он написан левой ногой
Миниатюры
Игра «Жизнь» Конвея(обратная)   Игра «Жизнь» Конвея(обратная)  
Вложения
Тип файла: 7z Life.7z (5.5 Кб, 4 просмотров)
1
 Аватар для COKPOWEHEU
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,101
28.07.2019, 15:49
Цитата Сообщение от _Ivana Посмотреть сообщение
зацикливанием в тор (хотя почему у меня осталось эта ассоциация, когда там имхо больше подходит сфера?)
Потому что перескок по независимым осям это именно тор. Например, вы сначала сворачиваете пространство в цилиндр (замыкаете -maxX на +maxX), а потом соединяете концы цилиндра в тор (замыкаете -maxY на +maxY).
Преобразование в сферу делается несколько сложнее, с ходу даже не придумаю как. Разве что "сложить" пространство пополам и "сшить" полученные края. Что-то в таком роде:
C
1
2
3
4
5
//x=0 - линия сгиба. -X..+X - диапазон значений по X, -Y..+Y - диапазон по Y
if( x < -X ) x = +X; //по оси Х пространство зациклено
if( x > +X ) x = -X; //то же
if( y < -Y ){ y=-Y; x=-x; } //координата y не меняется (но ограничивается диапазоном), а координата х отзеркаливается относительно "линии сгиба"
if( y > +Y ){ y=+Y; x=-x; } //то же самое
2
 Аватар для bedvit
1210 / 261 / 22
Регистрация: 20.05.2016
Сообщений: 1,147
Записей в блоге: 22
28.07.2019, 17:16
Цитата Сообщение от Байт Посмотреть сообщение
Увы! Вся машинная арифметика, сколь бы она не была изощренной, вынужденно зацикливается просто на окружности. А чего вы еще хотите от конечного автомата?
Для одной движущейся фигуры (космического корабля) можно довольно долго рассчитывать координаты, не закольцовывая. Через длинную арифметику. Пока хватит оперативки, а это на небольшом количестве клеток, очень долго
В конечном итоге все имеет конец, настоящих физических бесконечностей нет - не поспоришь.
0
4949 / 2289 / 287
Регистрация: 01.03.2013
Сообщений: 5,991
Записей в блоге: 32
28.07.2019, 20:19
COKPOWEHEU, интересно, действительно получается тор - хотя его ориентация и зависит по какой оси первой сворачивать
0
Фрилансер
 Аватар для Black Fregat
3709 / 2083 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
28.07.2019, 22:07
Цитата Сообщение от _Ivana Посмотреть сообщение
хотя его ориентация и зависит
А топология не зависит - с точки зрения топологии у тора равноправны параллели и меридианы
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
28.07.2019, 22:12
Я считал, что для преобразования конечного прямоугольного поля в сферу можно просто добавить одну клеточку, и считать ее соседями всех, кто на краях.

Добавлено через 2 минуты
Цитата Сообщение от Black Fregat Посмотреть сообщение
А топология
Да, понятие соседства - вещь сугубо топологическая (то есть - резиновая)
0
 Аватар для COKPOWEHEU
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,101
29.07.2019, 00:03
Цитата Сообщение от Байт Посмотреть сообщение
Я считал, что для преобразования конечного прямоугольного поля в сферу можно просто добавить одну клеточку, и считать ее соседями всех, кто на краях.
Что-то больно много у нее соседей выходит, а ведь сфера - штука предельно симметричная и все точки у нее одинаковые.
1
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
29.07.2019, 09:29
COKPOWEHEU, Да, вы правы. Попутал
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
29.07.2019, 22:12
Да, из одной доски сфера не получается. Придется взять парочку и склеить по краям.
0
4949 / 2289 / 287
Регистрация: 01.03.2013
Сообщений: 5,991
Записей в блоге: 32
29.07.2019, 22:18
Ну если в такие игры играть, то можно и одну доску согнуть пополам и склеить края в сферу
0
 Аватар для COKPOWEHEU
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,101
30.07.2019, 12:57
Собственно, именно это я и предлагал. Кстати, складывать можно и по диагонали, тогда формула будет немного другой. Интереса ради написал визуализацию обоих вариантов
Вложения
Тип файла: zip sphere_space.zip (536.1 Кб, 5 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.07.2019, 12:57

Игра жизнь
Нужно написать игру &quot;Жизнь&quot; простым кодом. Только начал изучать c++

Игра в жизнь Конвей
Чего то я намудрил помогите разобраться пожалуйста #include&lt;math.h&gt; #include &lt;time.h&gt; #include &lt;stdio.h&gt; #include...

Игра жизнь (бесконечное пространство)
Надо сделать бесконечное пространство для игры &quot;жизнь&quot;, примерно понимаю как это сделать, но что то не получается,надо в подпрограмму rules...

Игра "жизнь" - глайдер ведет себя не так, как надо
Добрый вечер. Нужно написать игру &quot;жизнь&quot;. Реализовал,однако глайдер ведет себя не так,как надо. Уже который час бьюсь,но ошибку найти не...

Игра "Жизнь"; Нужно, чтобы первое поколение задавалось оператором (с клавиатуры)
Нужна помощь с решением задачи &quot;Жизнь&quot; на с++ Есть код программы, которая задает первое поколение колонии случайным образом. Но мне...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
32
Ответ Создать тему
Новые блоги и статьи
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version 1. 2003 - 06 - Designing Virtual Worlds (1st Edition) Автор: Richard A. Bartle | Объем: 768 стр. Ссылки: Amazon . . .
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров". Задача: Запрет инициалов. Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . . Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг. Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует. В процессе разработки. . .
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru