Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Теоретические вопросы _ Хм... Тема теоретическая, но по с++...

Автор: renesko1 5.09.2008 22:08

Итак, у меня вопрос, мне надо написать тетрис, широко используя классы. Вот к примеру, у меня класс описывающий пазл(падающую фигуру). Так же класс реализующий матрицу. И мне надо, что бы ти 2 класса
обменивались информацией(координаты пазла отображались на матрице + осуществление взаимодействия).
Как мне лучше и качественее сделать :
**1) Прописать это в функции...
**2) Сделать класс, который принимает в конструкторе 2 других класса...
**3) ?
Т.е. вопрос в целом таков: как осуществить взаимодействие классов в программе используя религию с++?

Автор: volvo 6.09.2008 2:34

Смотря, что имеется в виду под "взаимодействием". Матрица запрашивает данные у Паззла? Паззл у матрицы? А может быть, есть кто-то Посторонний, кто через определенные промежутки времени запрашивает Матрицу о ее состоянии, и в зависимости от полученного ответа производит (или просто дает указание) что-то с Паззлом? Или наоборот, запрашивает Паззл, и, анализируя его ответ, предпринимает какие-то действия с Матрицей...

Непонятно, какой механизм взаимодействия ты себе представляешь.

Автор: renesko1 7.09.2008 1:09

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

У меня просто при написании змейки вышло много функций и сансей) сказал, что надо каждую сущность представить в виде класса - это сравнительно не сложно, но у меня вопрос, как наилучшим образом реализовать их взаимодействие.

Автор: volvo 7.09.2008 15:49

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

Кстати, ты напрасно задал вопрос здесь, кода-то не будет, а что можно сделать без кода? Просто так разговаривать? Неинтересно...

Автор: renesko1 7.09.2008 18:19

Всё я понял, что надо сделать, спасибо.