Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.11.2013, 20:41   #1
IDejA
 
Регистрация: 12.03.2013
Сообщений: 8
Смущение QBasic игра помогите

задали создать игру по правилам :

Каждая клетка на плоскости может находиться в двух состояниях: быть живой или быть мёртвой. Клетка имеет восемь соседей. Распределение живых клеток в начале игры называется первым поколением. Каждое следующее поколение рассчитывается на основе предыдущего по таким правилам:
пустая (мёртвая) клетка, рядом с которой ровно три живые клетки, оживает;
если у живой клетки есть две или три живые соседки, то эта клетка продолжает жить; в противном случае (если соседей меньше двух или больше трёх) клетка умирает (от «одиночества» или от «перенаселённости»).
Игрок не принимает прямого участия в игре, а лишь расставляет начальную конфигурацию «живых» клеток, которые затем взаимодействуют согласно правилам уже без его участия."


Что от меня требуют понимаю прекрасно,но не знаю как организовать, с чего начать. Помогите пожалуйста.
IDejA вне форума Ответить с цитированием
Старый 30.11.2013, 20:52   #2
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,504
По умолчанию

Нужен будет 2-мерный массив или матрица иными словами. Элементы массива могут принимать одно из 2-х значений. Например 0 - мертв, 1 - жив.
Начальное заполнение - с помощью генератора случайных чисел.
А вообще, поищите, может кто уже реализовал. Правда, Basic - не самый модный язык сейчас.
http://ru.wikipedia.org/wiki/Игра_жизнь
type_Oleg вне форума Ответить с цитированием
Старый 30.11.2013, 21:04   #3
IDejA
 
Регистрация: 12.03.2013
Сообщений: 8
По умолчанию

Да я понимаю,что нужен массив или матрица. Проблема именно в том, что я не понимаю как его записать, причем должны получиться клетки, как мне эта матрица с 1 и 0 выведет на экран сетку??

Я искала в интернете эту задачу или похожую, нашла, но либо на языке который я не знаю вообще, либо слишком заумно реализованные и не рабочие. Basic действительно не самый модный язык сейчас, но преподаватель сказал писать на нем.
IDejA вне форума Ответить с цитированием
Старый 30.11.2013, 21:19   #4
Son Of Pain
Участник клуба
 
Регистрация: 23.12.2010
Сообщений: 1,129
По умолчанию

Объявляешь двухмерный массив (значения могут быть true или false, или 1 и 0).
Пишешь функцию, которая рисует на экране сетку.
Показываешь пользователю форму заполнения. Клетки, в которых он щелкнет мышкой, помечаешь как живые (в массиве пишешь значение 1), все остальные должны быть заполнены нулями.
И дальше в цикле на каждом ходу обходишь все клетки массива, проверяешь описанные условия, выводишь изменения в нарисованную на форме сетку.


Что из этого не получается? )
Son Of Pain вне форума Ответить с цитированием
Старый 30.11.2013, 21:29   #5
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,378
По умолчанию

http://ru.wikipedia.org/wiki/Жизнь_(игра)

Так представляю, что вначале надо описать два двумерных массива основной и вспомагательный (простая версия).
Все элементы основного массива инициируются нулем.
Пользователь вводит координаты некоторых полей для основного массива, в которые записывается 1.

I) Массив выводится на экран. Если элемент больше нуля, то рисуем, например, в символьном виде - *, а если в графическом - точку или квадратик определенного цвета.

II) Делается временная задержка.

III) Массив просматривается. Во вспомогательный массив переносятся все те значения, которые удовлетворяют услови. задачи.

IV) Вспомогательный массов копируется в основной.

V) Выполняем п.I или, если нажата любая клавиша - завершение программы.


Как-то так, ...
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 30.11.2013, 21:34   #6
IDejA
 
Регистрация: 12.03.2013
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Son Of Pain Посмотреть сообщение

Что из этого не получается? )
хах,ничего не получается

basic изучала очень давно, в этом наверное проблема, не помню элементарных вещей, еще и путаница с другими языками. Как связать щелчок мышки и запись в массив 1 ?
IDejA вне форума Ответить с цитированием
Старый 30.11.2013, 21:44   #7
Son Of Pain
Участник клуба
 
Регистрация: 23.12.2010
Сообщений: 1,129
По умолчанию

Нарисовать на экране сетку. Поймать координаты щелчка. По ним вычислить, в какой ячейке щелкнули. Координаты ячейки и будут индексами нужного значения в массиве
Son Of Pain вне форума Ответить с цитированием
Старый 30.11.2013, 21:52   #8
IDejA
 
Регистрация: 12.03.2013
Сообщений: 8
По умолчанию

Спасибо за объяснения.
IDejA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите по 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