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

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

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

Помогите реализовать игру "Жизнь", но не прямую, а обратную, то-есть что бы из текущего поля получалось предшествующее ему. Я знаю что может быть много предшествующих полей, можно тупенькую программу хотя бы. Пожалуйста помогите...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.06.2017, 13:04
Ответы с готовыми решениями:

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

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

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

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

31
77 / 31 / 9
Регистрация: 14.06.2019
Сообщений: 506
25.07.2019, 14:20 2
И мне помогите!
0
330 / 145 / 56
Регистрация: 17.10.2015
Сообщений: 580
25.07.2019, 17:25 3
Цитата Сообщение от lex1133 Посмотреть сообщение
Пожалуйста помогите...
Цитата Сообщение от ProMix0 Посмотреть сообщение
И мне помогите!
lex1133, ProMix0, неа. Сами сначала поднапрягитесь, а мы уж ошибки подправим.
0
Эксперт C
24910 / 15432 / 3266
Регистрация: 24.12.2010
Сообщений: 33,265
25.07.2019, 23:01 4
Цитата Сообщение от lex1133 Посмотреть сообщение
можно тупенькую программу
Тупенькая, это перебор 2m*n .вариантов. Скушно...
0
Фрилансер
3443 / 2042 / 565
Регистрация: 31.05.2009
Сообщений: 6,684
25.07.2019, 23:38 5
Это очень неоднозначная задача
0
4453 / 2072 / 263
Регистрация: 01.03.2013
Сообщений: 5,508
Записей в блоге: 22
26.07.2019, 03:16 6
Ну если надо...
Исходники https://github.com/Ivana-/game-of-life
Демка https://codepen.io/Ivana-/full/YoXgQm
0
Эксперт C
24910 / 15432 / 3266
Регистрация: 24.12.2010
Сообщений: 33,265
26.07.2019, 10:01 7
_Ivana, привет!
Не понял из твоей демки, как задав позицию, получить хотя бы 1 вариант исходной, из которой можно ее получить

Добавлено через 1 минуту
Кстати, существуют еще так называемые "Сады Эдема", которые в течении игры получить невозможно...
0
4453 / 2072 / 263
Регистрация: 01.03.2013
Сообщений: 5,508
Записей в блоге: 22
26.07.2019, 10:52 8
Байт, привет!
Задаешь позицию, шагаешь на сколько надо шагов вперед (по одному шагу, или задав номер шага на который надо прыгнуть, или включив авто анимацию - муви режим), оно за кадром помнит историю последних 100 по-моему состояний, и можно сделать анду как в текстовом редакторе (либо по кнопке либо указав напрямую номер шага).
Понимаю, что это не получение полного дерева возможных предыдущих состояний, но я не уверен, что от ТС требуется именно все дерево
0
77 / 31 / 9
Регистрация: 14.06.2019
Сообщений: 506
26.07.2019, 11:00 9
Цитата Сообщение от _Ivana Посмотреть сообщение
Ну если надо...
Исходники https://github.com/Ivana-/game-of-life
Демка https://codepen.io/Ivana-/full/YoXgQm
Спасибо, но симулятор игры и самому сделать не сложно, а вопрос был про то, как получить ПРЕДЫДУЩУЮ перед этой фигурой!

Добавлено через 1 минуту
Лично мне требуется всё дерево. Если не программа, то хотя бы алгоритм.
0
4453 / 2072 / 263
Регистрация: 01.03.2013
Сообщений: 5,508
Записей в блоге: 22
26.07.2019, 11:05 10
Эммм.... Как бы сказать помягче. За время моего пребывания на этом форуме я привык, что вопрошающие зачастую вообще не понимают, что от них требуется (за редким исключением). Поэтому у меня вызывает недоверие факт того, что это действительно нужно. В данной постановке нет ПРЕДЫДУЩЕЙ позиции, есть ДОХРЕНА ПРЕДЫДУЩИХ позиций, и это только на одном шаге. Я не исключаю, что вам действително надо их все найти, но тогда надо конкретизировать - за один шаг или за любое количество заданных. Впрочем, и то и другое не сложно

Добавлено через 1 минуту
Если вам не сложно сделать получение следующей позиции по предыдущей, то наивный алгоритм тривиален - перебираем все возможные на доске позиции, получаем из них следующие и если эта следующая совпадает с той, которая требуется, то записываем исходную в мешок. Профит.
0
77 / 31 / 9
Регистрация: 14.06.2019
Сообщений: 506
26.07.2019, 11:28 11
Ну, это я и сам могу сделать - я спрашивал, знает ли кто более эффективный алгоритм?
0
329 / 220 / 63
Регистрация: 11.01.2019
Сообщений: 881
26.07.2019, 11:41 12
Это обратно-неоднозначное преобразование. Можно сделать обратную вероятностную игру "Жизнь".
0
Эксперт C
24910 / 15432 / 3266
Регистрация: 24.12.2010
Сообщений: 33,265
26.07.2019, 14:08 13
Цитата Сообщение от _Ivana Посмотреть сообщение
Задаешь позицию, шагаешь на сколько надо шагов вперед...
Да, это я понял. Чтож, неплохая интерактивная реализация "Жизни", доступная тем, кто перестал себя чувствовать совсем уж начинающим
Кстати, поле у тебя конечно, или потенциально бесконечно? Второе интереснее, так как существуют такие фигурки как "планеры" и "корабли".
Но, конечно, это не решение поставленной задачи.
ProMix0, Не думаю, что ваша задача проста. А что говорит литература и интернет? "Жизни" посвящено довольно много исследований, вдруг уже было что-то на эту тему?
Ну и первое, что приходит в голову - исключить из рассмотрения "умирающие" подконфигурации, изолированные одно- и двух- клеточные. То есть свести исследование к "каноническим" формам.
0
4453 / 2072 / 263
Регистрация: 01.03.2013
Сообщений: 5,508
Записей в блоге: 22
26.07.2019, 14:13 14
Байт, поле бесконечное (зацикленное в тор), планеры летают вечно (можно проверить в муви режиме). Это вообще мое тестовое задание в фирму куда я сейчас пытаюсь устроиться, а эта тема просто на глаза попалась и напомнила

А в правильном понимании поставленной задачи ТС-ом я до сих пор не уверен
0
77 / 31 / 9
Регистрация: 14.06.2019
Сообщений: 506
26.07.2019, 14:19 15
Цитата Сообщение от Байт Посмотреть сообщение
А что говорит литература и интернет?
Молчит. Сколько ни искал - не нашёл. Только упоминание на Википедии про эту задачу.
0
Фрилансер
3443 / 2042 / 565
Регистрация: 31.05.2009
Сообщений: 6,684
27.07.2019, 01:33 16
Если уж подходить к вопросу серьёзно, я начал бы таки с тупого перебора.
Построить небольшое дерево для нескольких конфигураций, потом медитировать и искать закономерности
0
Эксперт C
24910 / 15432 / 3266
Регистрация: 24.12.2010
Сообщений: 33,265
27.07.2019, 09:44 17
Цитата Сообщение от _Ivana Посмотреть сообщение
поле бесконечное (зацикленное в тор),
На торе это уже совсем другая игра. Может быть, не менее интересная.
0
4453 / 2072 / 263
Регистрация: 01.03.2013
Сообщений: 5,508
Записей в блоге: 22
27.07.2019, 11:37 18
Насколько я понимаю, бесконечное поле можно сделать 2 путями - автоматическим расширением размеров при необходимости и зацикливанием в тор (хотя почему у меня осталось эта ассоциация, когда там имхо больше подходит сфера?). Но в любом случае везде при упоминании этого термина встречал именно второй вариант.
0
650 / 210 / 20
Регистрация: 20.05.2016
Сообщений: 871
Записей в блоге: 15
27.07.2019, 12:07 19
Цитата Сообщение от Байт Посмотреть сообщение
На торе это уже совсем другая игра. Может быть, не менее интересная.
А если тор размером 2^32 на +2^32 клеток (рамка примерно 4,3*4,3 млрд. клеток)?
т.е. что бы вернутся в изначальное положение, самый быстрым космическим кораблем Lightweight_spaceship (скорость - половина от световой) нужно 8,6 млрд. ходов.
Как считать этот вариант игры, игра на торе, или игра в бесконечность?
Хотя если посчитать: при фактическом расчете 500 тыс. поколений в секунду, это 250 тыс.клеток в секунду, это всего лишь 4,77 часа
0
Эксперт C
24910 / 15432 / 3266
Регистрация: 24.12.2010
Сообщений: 33,265
27.07.2019, 23:29 20
Цитата Сообщение от _Ivana Посмотреть сообщение
зацикливанием в тор
Увы! Вся машинная арифметика, сколь бы она не была изощренной, вынужденно зацикливается просто на окружности. А чего вы еще хотите от конечного автомата?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.07.2019, 23:29

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.