Помощь - Поиск - Пользователи - Календарь
Полная версия: Хм... Тема теоретическая, но по с++...
Форум «Всё о Паскале» > Pascal, Object Pascal > Теоретические вопросы
renesko1
Итак, у меня вопрос, мне надо написать тетрис, широко используя классы. Вот к примеру, у меня класс описывающий пазл(падающую фигуру). Так же класс реализующий матрицу. И мне надо, что бы ти 2 класса
обменивались информацией(координаты пазла отображались на матрице + осуществление взаимодействия).
Как мне лучше и качественее сделать :
**1) Прописать это в функции...
**2) Сделать класс, который принимает в конструкторе 2 других класса...
**3) ?
Т.е. вопрос в целом таков: как осуществить взаимодействие классов в программе используя религию с++?
volvo
Смотря, что имеется в виду под "взаимодействием". Матрица запрашивает данные у Паззла? Паззл у матрицы? А может быть, есть кто-то Посторонний, кто через определенные промежутки времени запрашивает Матрицу о ее состоянии, и в зависимости от полученного ответа производит (или просто дает указание) что-то с Паззлом? Или наоборот, запрашивает Паззл, и, анализируя его ответ, предпринимает какие-то действия с Матрицей...

Непонятно, какой механизм взаимодействия ты себе представляешь.
renesko1
К примеру в пазле хранятся его координаты. Мне надо в матрице отображать эти координаты(заданную координатами клетку занимать каким то значением n). У пазла есть методы getx(), gety(). Каким способом это грамотнее сделать. Те. через фуекцию или через 3класс ?

У меня просто при написании змейки вышло много функций и сансей) сказал, что надо каждую сущность представить в виде класса - это сравнительно не сложно, но у меня вопрос, как наилучшим образом реализовать их взаимодействие.
volvo
Когда матрице понадобится обновиться, пускай запрашивает у Паззла его координаты одним из своих методов... Вопрос в другом: как именно меняются координаты Паззла? Он сам это делает? Откуда он знает, что пришло время обновить координаты? Еще вопрос: откуда Матрица знает, что ей понадобилось обновиться? Ты ж ничего конкретного не сказал, как же можно тебе что-то советовать?

Кстати, ты напрасно задал вопрос здесь, кода-то не будет, а что можно сделать без кода? Просто так разговаривать? Неинтересно...
renesko1
Всё я понял, что надо сделать, спасибо.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.