3 / 3 / 2
Регистрация: 15.03.2009
Сообщений: 347
|
||||||
1 | ||||||
Игра "жизнь" - разобраться в коде16.05.2014, 19:49. Показов 6105. Ответов 31
Метки нет (Все метки)
помогите разобраться в коде
0
|
16.05.2014, 19:49 | |
Ответы с готовыми решениями:
31
игра жизнь Игра жизнь Игра жизнь Игра Жизнь Игра Жизнь |
272 / 266 / 146
Регистрация: 02.08.2012
Сообщений: 609
|
|
16.05.2014, 20:38 | 2 |
Сообщение было отмечено sektor2009 как решение
Решение
Создаются две матрицы 20х20 (a и b).
Матрица a рандомно заполняется 1 и 0. И выводится на печать. Потом каждую секунду запускается сначала цикл в котором вызывается функция chk(i, j), которая в свою очередь нехитрым способом проверяет если по данным координатом матрицы а на столбце по i и строке по j имеется 3 единицы то в ту же ячейку матрицы b приписывается 1. Если 2 единицы то значение ячейки матрицы a приписывается матрице b. В любом другом случае приписывается 0. Далее цикл печати. Для печати используется функция gotoxy(i, j), которая проходит по матрице, если наталкивается на 1 печатает #, если на 0 то пробел ' '. В конечном итоге вся матрица заполнится пробелами.
1
|
3 / 3 / 2
Регистрация: 15.03.2009
Сообщений: 347
|
|
16.05.2014, 21:22 [ТС] | 3 |
случайным образом заполняется??? 1 ??
srand(time(NULL)); или a[i][j]=rand()%2; что означает 2 ??
0
|
272 / 266 / 146
Регистрация: 02.08.2012
Сообщений: 609
|
|
16.05.2014, 21:44 | 4 |
Сообщение было отмечено sektor2009 как решение
Решение
a[i][j]=rand()%2; рандомное число по модулю делится на 2. Результатом будет число 0 < 2, т.е. или 0 или 1.
1
|
3 / 3 / 2
Регистрация: 15.03.2009
Сообщений: 347
|
||||||
17.05.2014, 06:58 [ТС] | 5 | |||||
каким образом она проверяет ? КАЖДАЯ СТРОЧКА ЧТО ДЕЛАЕТ
0
|
272 / 266 / 146
Регистрация: 02.08.2012
Сообщений: 609
|
||||||
18.05.2014, 18:40 | 6 | |||||
1
|
3 / 3 / 2
Регистрация: 15.03.2009
Сообщений: 347
|
||||||
18.05.2014, 20:53 [ТС] | 7 | |||||
вопрос такой, как словами описать это
0
|
272 / 266 / 146
Регистрация: 02.08.2012
Сообщений: 609
|
||||||
18.05.2014, 22:00 | 8 | |||||
sektor2009, цикл в цикле (вложенный цикл).
Чтобы обойти все элементы матрицы, запускается цикл с индексом строки и вложенный цикл с индексом столбца, который обходит все элементы строки по индексу главного цикла. В вашем случае а[i][j], i - индекс строки, j - индекс столбца. После обхода всех элементов строки, вложенный цикл останавливается, инкрементируется i и вложенный цикл начинает обход элементов следующей строки и.т.д. Кликните здесь для просмотра всего текста
1
|
3 / 3 / 2
Регистрация: 15.03.2009
Сообщений: 347
|
||||||
20.05.2014, 19:41 [ТС] | 9 | |||||
Программа немного не правильно работает
возможно в этом ошибка
если 3 соседа и она пустая то поевляется новая если 2 то она такаяж остается как это реализовать?? если больше 3 или меньше 2 то она исчезает
0
|
272 / 266 / 146
Регистрация: 02.08.2012
Сообщений: 609
|
||||||
20.05.2014, 19:56 | 10 | |||||
1
|
3 / 3 / 2
Регистрация: 15.03.2009
Сообщений: 347
|
||||||
20.05.2014, 21:13 [ТС] | 11 | |||||
нет.. все правильно было так
проблема с границами т.е вот такую фигуру программа видит как вторую т.е не подвижную.. а должно из нее получиться квадрат +++++8++8++++ +++++8++8++++ ++++++88+++++ +++++++++++++ +++++++++++++ ++++++88+++++ как ++++++88+++++ +++++8++8++++ +++++8++8++++ ++++++88++++++ +++++++++++++ ++++++++++++ Добавлено через 1 минуту GuGo1991, помоги
0
|
272 / 266 / 146
Регистрация: 02.08.2012
Сообщений: 609
|
||||||
20.05.2014, 21:43 | 12 | |||||
sektor2009, вот такой вывод, что не так?
Кликните здесь для просмотра всего текста
1
|
3 / 3 / 2
Регистрация: 15.03.2009
Сообщений: 347
|
|
20.05.2014, 22:13 [ТС] | 13 |
но тут не видно и границы не пересекаются
http://life.written.ru/ это онлайн игра жизнь Добавлено через 13 минут через несколько шагов я получаю такую штуку +++++8++8++++ +++++8++8++++ ++++++88+++++ +++++++++++++ +++++++++++++ ++++++88+++++ из нее должно получиться квадрат но программа ее видет как не подвижную фигуру (если визуально представить то нижнии грани касаются основной фигуры) типо так как ++++++88+++++ +++++8++8++++ +++++8++8++++ ++++++88++++++ +++++++++++++ ++++++++++++ Добавлено через 13 минут надо сделать что бы программа не соединяла границы
0
|
3 / 3 / 2
Регистрация: 15.03.2009
Сообщений: 347
|
||||||
20.05.2014, 22:35 [ТС] | 14 | |||||
+++++8++8++++ +++++8++8++++ ++++++88+++++ +++++++++++++ +++++++++++++ ++++++88+++++ как ++++++88+++++ +++++8++8++++ +++++8++8++++ ++++++88++++++ +++++++++++++ ++++++++++++ Добавлено через 53 минуты как сделать что бы границы не граничили??? Добавлено через 40 секунд т.е убрать тороедальную систему
0
|
272 / 266 / 146
Регистрация: 02.08.2012
Сообщений: 609
|
||||||||||||||||
20.05.2014, 23:02 | 15 | |||||||||||||||
sektor2009, понятно, попробую исправить
Добавлено через 26 минут Меняем условия, границы не должны "склеиваться":
Кликните здесь для просмотра всего текста
1
|
gromo
|
20.05.2014, 23:03
#16
|
Не по теме: сделайте меня развидеть это...
0
|
GuGo1991
|
20.05.2014, 23:07
#17
|
Не по теме: gromo, в чём проблема?
0
|
3 / 3 / 2
Регистрация: 15.03.2009
Сообщений: 347
|
|
20.05.2014, 23:28 [ТС] | 18 |
к сожалению это не верное решение (((((
всеровно программа глючит с краницами .. теперь еще за рамки массива уходит
0
|
gromo
|
20.05.2014, 23:32
#19
|
Не по теме: я просто читаю вопросы ТС
0
|
272 / 266 / 146
Регистрация: 02.08.2012
Сообщений: 609
|
||||||
20.05.2014, 23:54 | 20 | |||||
sektor2009, должно сработать.
Учитывая предыдущий пост поменяйте значение i на 0. Если результат будет не удовлетворительным поменяйте и условия.
Не по теме: gromo, ну надо же как-то помочь человеку )
1
|
20.05.2014, 23:54 | |
20.05.2014, 23:54 | |
Помогаю со студенческими работами здесь
20
Игра жизнь Игра на C#, разобраться в коде Игра "жизнь" - найти и исправить ошибки в коде Игра «Жизнь» Игра 'Жизнь' Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |