![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Kannby |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 5.4.2012 Репутация: нет Всего: нет |
Уверен, что вы слышали про игру "Жизнь" Конвея.
В гугле нашёл только два варианта построения приложения: 1. класс для модели, класс для панели(JPanel) и фрейм(JFrame) 2. создаются классы для клетки, фишки, поля, окна, ивентов... Подскажите, пожалуйста, как бы вы построили это приложение? Какие бы классы использовали. Заставила задуматься эта статья:http://habrahabr.ru/post/140581/ (в самом конце).
Заранее спасибо! |
|||
|
||||
GZep |
|
|||
![]() участник Винграда ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1528 Регистрация: 7.7.2006 Где: Москва Репутация: нет Всего: 32 |
Не совсем понял вопрос. Имеется ввиду View "игровое поле"?
-------------------- ![]() ![]() |
|||
|
||||
Kannby |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 5.4.2012 Репутация: нет Всего: нет |
Не совсем понял, что вы не поняли.
|
|||
|
||||
GZep |
|
|||
![]() участник Винграда ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1528 Регистрация: 7.7.2006 Где: Москва Репутация: нет Всего: 32 |
В таком случае, может перефразируете искомый вопрос.
-------------------- ![]() ![]() |
|||
|
||||
Kannby |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 5.4.2012 Репутация: нет Всего: нет |
Я написал эту игру в трёх файлах:
Model.java - здесь находится алгоритмы смены поколений, нахождения количества соседей и тп. Panel.java - класс extends JPanel. Здесь прорисовывается сама сетка, и клетки. Main.java - здесь слушаются события(если например пользователь поставил клетку, или удалил, или очистил поле,...) Потом я подумал, что это не совсем по принципам ООП. И лучше было бы создать много классов пример приведен здесь http://www.bitstorm.org/gameoflife/code/ Каким способом корректнее(с точки зрения ООП) построить приложение? |
|||
|
||||
GZep |
|
|||
![]() участник Винграда ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1528 Регистрация: 7.7.2006 Где: Москва Репутация: нет Всего: 32 |
Kannby, а здесь точка зрения ООП подразумевает различные варианты архитектуры. Если в лоб, то да, нужен класс Cell.java, но создание класса для каждого объекта слишком дорого и не рационально.
Для примера такой вопрос: нужен-ли отдельный класс для ячейки? Все зависит от того, нужны-ли отдельные методы, логика для этого класса? Быть может уровни абстракции, наследники? Если всего этого не нужно то и создавать "пустышку" смысла нет. Вполне подойдет один класс Panel.java (который у Вас, видимо, View) и все. -------------------- ![]() ![]() |
|||
|
||||
Stolzen |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1041 Регистрация: 17.10.2005 Репутация: 23 Всего: 48 |
К java это мало относится, функции здесь - не объекты первого порядка, и каррирование делать тут нельзя. Так что приходится создавать классы. Это сообщение отредактировал(а) Stolzen - 14.4.2012, 14:24 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |