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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.89
Ilyaa
20 / 20 / 3
Регистрация: 29.04.2012
Сообщений: 214
#1

Hashlife Игра Жизнь, быстрый алгоритм - C++

18.01.2013, 04:16. Просмотров 2354. Ответов 0
Метки нет (Все метки)

Доброго времени.
Наткнулся на быстрый алгоритм по скорости оптимизации игры Жизнь с помощью хэш-таблиц. Ранее с ними не сталкивался. Почитал теорию, что хэширование используется для нахождения по ключу одинаковых данных.
И я не понимаю как это использовать при написании игры?
То есть суть такова, что мы разбиваем на мелкие участки наше поле и хэшируем. А потом типа все быстро и ура-ура.
Но вот как раз что дальше мне и непонятно.
То есть вот я разбил на 16 блоков поле. Изучил наличие жизни в следующем поколении в каждом блоке и на стыках.
Получается дальше каждый маленький блок я хэширую неким ключом и заношу в таблицу. А потом просто эти блоки вывожу на экран. Это будет первое поколение.
Следующее поколение я нахожу таким же образом: рассматриваю отдельные маленькие блоки, изменяю следующее поколение, хэширую, вывожу на экран.
Зачем я вообще хэш-функцию использую? Как она мне может пригодиться?
То есть я понимаю, что я должен при каждом последующем хэшировании сравнивать нынешний ключ с уже имеющимися в таблице. Но вот что дальше?
Ну нашел я ключ, и что теперь? Мне все равно осталось только вывести на экран готовый массив. что измениться, выведу я то, что нашел в хэш таблице и расхэшировал или выведу то, что искал в таблице и в принципе у меня есть этот участок массива уже.
не понимаю.
Объясните, пожалуйста.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.01.2013, 04:16
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Hashlife Игра Жизнь, быстрый алгоритм (C++):

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

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

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

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

Игра ( Жизнь Конвея) - C++
Написал код - но во время запуска игра вылетает! Вот исходники, подскажите, что не так?

Самый быстрый алгоритм Факториала - C++
Всем привет ! Как можно реализовать факториал за log(n) . Помогите плиз ! Знаю ,что можно рекурсией . Но этот алгоритм не быстрый. Помогите...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.01.2013, 04:16
Привет! Вот еще темы с ответами:

Как на с++ организовать БЫСТРЫЙ алгоритм умножения матриц? - C++
Как на с++ организовать БЫСТРЫЙ алгоритм умножения матриц? Нужна именно быстрая сортировка а не обычный алгоритм умножения

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

Игра "Жизнь" с самым простым кодом - C++
Здравствуйте, нужна помощь по написанию кода для игры "Жизнь" только на простом уровне, так как еще очень мало разбираюсь в...

Быстрый алгоритм для подсчета количества делителей числа - C++
Быстрый алгоритм для подсчета количества делителей натурального числа 1 <= x <= 1018. Помогите реализовать такой. Дело в том, что должно...


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

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

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