![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 12.03.2013
Сообщений: 8
|
![]()
задали создать игру по правилам :
Каждая клетка на плоскости может находиться в двух состояниях: быть живой или быть мёртвой. Клетка имеет восемь соседей. Распределение живых клеток в начале игры называется первым поколением. Каждое следующее поколение рассчитывается на основе предыдущего по таким правилам: пустая (мёртвая) клетка, рядом с которой ровно три живые клетки, оживает; если у живой клетки есть две или три живые соседки, то эта клетка продолжает жить; в противном случае (если соседей меньше двух или больше трёх) клетка умирает (от «одиночества» или от «перенаселённости»). Игрок не принимает прямого участия в игре, а лишь расставляет начальную конфигурацию «живых» клеток, которые затем взаимодействуют согласно правилам уже без его участия." Что от меня требуют понимаю прекрасно,но не знаю как организовать, с чего начать. ![]() |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 02.03.2008
Сообщений: 2,504
|
![]()
Нужен будет 2-мерный массив или матрица иными словами. Элементы массива могут принимать одно из 2-х значений. Например 0 - мертв, 1 - жив.
Начальное заполнение - с помощью генератора случайных чисел. А вообще, поищите, может кто уже реализовал. Правда, Basic - не самый модный язык сейчас. http://ru.wikipedia.org/wiki/Игра_жизнь |
![]() |
![]() |
![]() |
#3 |
Регистрация: 12.03.2013
Сообщений: 8
|
![]()
Да я понимаю,что нужен массив или матрица. Проблема именно в том, что я не понимаю как его записать, причем должны получиться клетки, как мне эта матрица с 1 и 0 выведет на экран сетку??
![]() Я искала в интернете эту задачу или похожую, нашла, но либо на языке который я не знаю вообще, либо слишком заумно реализованные и не рабочие. Basic действительно не самый модный язык сейчас, но преподаватель сказал писать на нем. |
![]() |
![]() |
![]() |
#4 |
Участник клуба
Регистрация: 23.12.2010
Сообщений: 1,129
|
![]()
Объявляешь двухмерный массив (значения могут быть true или false, или 1 и 0).
Пишешь функцию, которая рисует на экране сетку. Показываешь пользователю форму заполнения. Клетки, в которых он щелкнет мышкой, помечаешь как живые (в массиве пишешь значение 1), все остальные должны быть заполнены нулями. И дальше в цикле на каждом ходу обходишь все клетки массива, проверяешь описанные условия, выводишь изменения в нарисованную на форме сетку. Что из этого не получается? ) |
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 23.10.2010
Сообщений: 2,378
|
![]()
http://ru.wikipedia.org/wiki/Жизнь_(игра)
Так представляю, что вначале надо описать два двумерных массива основной и вспомагательный (простая версия). Все элементы основного массива инициируются нулем. Пользователь вводит координаты некоторых полей для основного массива, в которые записывается 1. I) Массив выводится на экран. Если элемент больше нуля, то рисуем, например, в символьном виде - *, а если в графическом - точку или квадратик определенного цвета. II) Делается временная задержка. III) Массив просматривается. Во вспомогательный массив переносятся все те значения, которые удовлетворяют услови. задачи. IV) Вспомогательный массов копируется в основной. V) Выполняем п.I или, если нажата любая клавиша - завершение программы. Как-то так, ...
Как-то так, ...
|
![]() |
![]() |
![]() |
#6 |
Регистрация: 12.03.2013
Сообщений: 8
|
![]() |
![]() |
![]() |
![]() |
#7 |
Участник клуба
Регистрация: 23.12.2010
Сообщений: 1,129
|
![]()
Нарисовать на экране сетку. Поймать координаты щелчка. По ним вычислить, в какой ячейке щелкнули. Координаты ячейки и будут индексами нужного значения в массиве
|
![]() |
![]() |
![]() |
#8 |
Регистрация: 12.03.2013
Сообщений: 8
|
![]()
Спасибо за объяснения.
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите по QBasic | Free style | Помощь студентам | 0 | 08.06.2009 13:42 |
помогите в QBasic | abik94 | Общие вопросы C/C++ | 1 | 24.05.2009 21:09 |
Помогите с задачками на QBasic | igoreha | Помощь студентам | 8 | 25.01.2009 20:39 |