|
29 / 1 / 0
Регистрация: 25.02.2020
Сообщений: 82
|
||||||
Игра "Жизнь"01.09.2020, 07:01. Показов 16228. Ответов 4
Метки нет (Все метки)
Доброго времени суток!
Не могу найти ошибку, игра работает неверно! Нужно эмитировать жизнь клеток в чаше. т.е. пользователь задает некоторое количество клеток (отмечает их на поле 10 на 10 клеток, они подсвечиваются черным цветом) затем нажимаем на кнопку начать, и клетки размножаются и умирают таким образом эмитируя жизнь настоящих клеток. Правила: пустая (мертвая) клетка с ровно тремя живыми клетками-соседями оживает; если у живой клетки есть две или три живые соседки, то эта клетка продолжает жить; в противном случае (если соседок меньше двух или больше трех) клетка умирает (от «одиночества» или от «перенаселенности»). при запуске игры, на следующие сутки умирают все клетки (т.е. все поле заполнено белыми квадратами)
т.е. визуально должно выглядеть вот так: https://commons.wikimedia.org/... emblem.gif Но у меня, после первого шага исчезают все черные клетки и все...а продолжается выполняться программа или нет, я понять не могу, может быть просто не подсвечиваются другие (новые клетки) черным цветом, а может быть они все умирают и по этому не подсвечиваются... Добавлено через 5 минут Программа не прекращает свою работу, но новые клетки не отображаются...либо они умирают, либо не подсвечиваются...
0
|
||||||
| 01.09.2020, 07:01 | |
|
Ответы с готовыми решениями:
4
Игра Жизнь на C#(game of life) Игра "Борьба за жизнь": доработать проект CSharp и Игра "Жизнь" |
|
Фрилансер
3709 / 2083 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
|
||||||
| 01.09.2020, 07:29 | ||||||
|
В конец ShowToGrid добавьте
0
|
||||||
|
29 / 1 / 0
Регистрация: 25.02.2020
Сообщений: 82
|
|||||||
| 01.09.2020, 11:19 [ТС] | |||||||
0
|
|||||||
|
311 / 271 / 118
Регистрация: 05.06.2013
Сообщений: 868
|
|||||||||||
| 01.09.2020, 13:57 | |||||||||||
Сообщение было отмечено m054 как решение
Решение
Главные ошибки:
0. Обнуление переменной lifeCount из 71й строки перенести на место перед 95й строкой, перед подсчётом. 1. В строках с 95 по 102 использовать "+=", а не просто "=". Второстепенные: 2. dataGridView1.Refresh(); в конец showToGrid() всё же лучше добавить. 3. В "начатьToolStripMenuItem_Click" добавить параметры для таймера и его запуск.
Улучшения: 5. Что бы понимать идёт процесс или нет можно добавить Label на форму и завести переменную "int day = 0;". В timer1_Tick добавить:
В логику особо не всматривался, сами проверите не ошиблись ли в расчётах и правильно ли там все "живёт".
1
|
|||||||||||
|
29 / 1 / 0
Регистрация: 25.02.2020
Сообщений: 82
|
||||||
| 02.09.2020, 08:03 [ТС] | ||||||
|
Спасибо большое, процесс пошел. И про логику верное замечание, работает не корректно, буду править, спасибо!
Добавлено через 1 час 7 минут Допилил программу! Может кому пригодится...: Еще раз спасибо а подсказки ![]()
1
|
||||||
| 02.09.2020, 08:03 | |
|
Помогаю со студенческими работами здесь
5
Жизнь студента Определение состояния соседей в игре в жизнь Сколько времени за всю жизнь человек тратит на прием пищи Написать программу, которая считает сколько спит человек за всю жизнь Игра «Жизнь» Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|