![]() |
Модераторы: Rickert |
![]() ![]() ![]() |
|
Rpahut |
|
|||
![]() 0xdeadbeef ![]() Профиль Группа: Участник Сообщений: 243 Регистрация: 9.4.2006 Репутация: 5 Всего: 7 |
На данный момент стоит уделить внимание именно структуре классов и тому, как они будут взаимодействовать. Когда дойдете до ГУИ и графики, можно будет сделать окошко, меню и отрисовку игрового поля. Ну и ввод естественно. Уже можно будет поиграть, но поиск контура все равно писать придется
![]() А документацию Javadoc поможет написать. --------------------
C/C++ GameDevRSS Раздела программирования игрOpenGL - уроки от NeHeКак продать идею? |
|||
|
||||
Qawra |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 188 Регистрация: 6.3.2007 Репутация: 3 Всего: 4 |
Сегодня нам показали что такое абстрактый класс и полиморфизм .
Учитель наш с гордостью заметил что теперь мы умеем почти всё что нам надо уметь для написания игры .. А ведь это не чувствуется ! |
|||
|
||||
Rpahut |
|
||||||||||
![]() 0xdeadbeef ![]() Профиль Группа: Участник Сообщений: 243 Регистрация: 9.4.2006 Репутация: 5 Всего: 7 |
Графический интерфейс учили? Или он с консоли играть хочет
![]() Короче, вот подробнее структура классов: Самый простой класс, сам ничего не делает и другие классы не использует.
По сути основной класс. Тут будет немного расчетов - точка определяет, можно ли ее поставить или соединить с другой точкой. Потом, рисовать себя на экране она тоже будет сама. Иногда пользуется методами(вернее методом) класса Игрок.
Создает и расставляет на экране необходимое количество точек. Фильтрует обращения к методам Точки - другие классы напрямую с точками не работают, а используют методы класса Поле. Здесь нет метода ЗахватитьТочку, потому что Поле само будет обращаться к этому методу Точки, когда найдет замкнутый контур и все точки внутри него. Использует оба предыдущих класса.
Самый Главный Класс, создает поле, игроков, и рулит всем. Тут же будет создаваться основное окно, обрабатываться мышка и прочая лабуда. Много текста, но ничего сложного. С метода main() этого класса начинается выполнение всей программы(или даже немного раньше).
Вот. Всего четыре три с половиной класса. Ну, еще понадобится класс-диалог для настроек размера поля/количества игроков, но там надо будет олько расставить кнопки и отловить когда пользователь их нажимает. И работать игра будет и без него. ЗЫ Дальше можно набивать эти пустые классы кодом. Начать стоит с конструкторов. В конструкторе Игрока нужно только записать цвет в соответствующее поле класса. У точки нужно записать x и y, запихнуть null в поля поставилТочку и захватилТочку(или как там в яве, само обнуляется?), создать пустые массивы. Конструктор Поля просто вызывает метод УстановитьРазмер(). А в нем уже нужно создавать массив Точек соответственно размерам поля. Точкам кстати при создании нужно посылать их координаты на экране, но пока отрисовки нет можно туда просто нули закинуть. В конструкторе класса Игра создается Поле(можно размерами 0*0, запихиваем в соответствующую переменную класса) и вызывается метод НоваяИгра() с указанием желаемого размера поля и количества игроков. НоваяИгра() в свою очередь создает нужное количество Игроков, назначая каждому свой цвет, сбрасывает номерТекущегоИгрока в ноль и вызывает поле.УстановитьРазмер() чтобы пересоздать точки. Можно еще в конструкторы вставить строчку
, скомпилировать и запустить, посмотреть как создаются объекты ![]() Это сообщение отредактировал(а) Rpahut - 28.11.2008, 01:39 --------------------
C/C++ GameDevRSS Раздела программирования игрOpenGL - уроки от NeHeКак продать идею? |
||||||||||
|
|||||||||||
Qawra |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 188 Регистрация: 6.3.2007 Репутация: 3 Всего: 4 |
Спасибо вам за обьяснение .Графический интерфейс мы пока не учили но предполагается что мы о нём узнаем к католическому рождеству .Через неделю у нас стартует зачётная неделя . Занятия будут продолжаться на фоне зачётов потому что по программе не успеваем .Если бы не занятия математикой я бы уже попробовала написать классы .Но подготовка к тесту по математике требует сейчас очень много времени . Какие классы , библиотеки , ... , Java нужно применять для этого проекта ? Может мне пока лучше поискать о них информацию в интернете ...
|
|||
|
||||
Rpahut |
|
|||
![]() 0xdeadbeef ![]() Профиль Группа: Участник Сообщений: 243 Регистрация: 9.4.2006 Репутация: 5 Всего: 7 |
А как же, это все нужно переписать на яве. BlueJ у вас установлен?
Из стандартных классов в описании фигурирует только класс Color, обо всем остальном в интернете информации не будет. Это самодельные классы. Хотя, может в яве и на случай игры в точки есть стандартные классы? ![]() --------------------
C/C++ GameDevRSS Раздела программирования игрOpenGL - уроки от NeHeКак продать идею? |
|||
|
||||
Qawra |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 188 Регистрация: 6.3.2007 Репутация: 3 Всего: 4 |
BlueJ у меня установлен .Сейчас буду повторять тот Java синтакс который уже учили ." Не густо" однако у нас с синтаксом
![]() |
|||
|
||||
Qawra |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 188 Регистрация: 6.3.2007 Репутация: 3 Всего: 4 |
Все !!! экзамены и зачёты сданы
![]() Вчера при свечах повторяла к экзамену Java на бумажке (электричество по случаю мощной грозы просто отсутствовало). В принципе всё понятно : packages , abstract classes , inheritance , encapsylation , polymorphysm , interfaces ...Практически это пока всё . Хорошая вещь обьектно- ориентированное программирование ! За время моего короткого знакомства с Java мне встречался : java.util* ....JoptionPane ... String ..Math..Кажется это всё . Что мне надо почитать из tutorials в интернете ? Пробелов у меня сейчас значительно больше чем знаний . |
|||
|
||||
Rpahut |
|
|||
![]() 0xdeadbeef ![]() Профиль Группа: Участник Сообщений: 243 Регистрация: 9.4.2006 Репутация: 5 Всего: 7 |
Пока можно обойтись одним синтаксисом. Вообще должен сказать что мои познания в яве меньше ваших, так что читать туториалы наверное придется мне.
--------------------
C/C++ GameDevRSS Раздела программирования игрOpenGL - уроки от NeHeКак продать идею? |
|||
|
||||
Qawra |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 188 Регистрация: 6.3.2007 Репутация: 3 Всего: 4 |
Если принимать во внимание что обьектно-ориентированное программирование имеет " Bottom-Up " дизайн , мне надо определить самую элементарную часть проекта и начать с неё...
Или лучше всё таки начать с создания поля ? Чего-то мне пока не хватает...Наверно графического интерфайса ![]() Это нормально что его пока нет ? |
|||
|
||||
Rpahut |
|
|||
![]() 0xdeadbeef ![]() Профиль Группа: Участник Сообщений: 243 Регистрация: 9.4.2006 Репутация: 5 Всего: 7 |
Начинать можно с любого места. Просто если начать с класса Поле, он не скомпилируется пока не будут написаны классы Точка и Игрок. Вопрос удобства.
Графический интерфейс будет позже, когда будет что выводить на экран. --------------------
C/C++ GameDevRSS Раздела программирования игрOpenGL - уроки от NeHeКак продать идею? |
|||
|
||||
Qawra |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 188 Регистрация: 6.3.2007 Репутация: 3 Всего: 4 |
Учитель сказкал графический интерфасе надо писать параллельно с основными классами но храниться он будет отдельно .
Скачала с торрента 70 книг по Java . Там есть книга по программированию игр , книги по алгоритмам и две книги по SWING .. Вчера всё открывалось (формат файла - UIF ) а сегодня ни MagicISO ни UltraISO их не открывают .Что-то сбилось в настройках ...или антивирус ...но в принципе не должен он был... В общем проведя два часа в попытках это снова открыть я пока отложила это в сторону . Что-бы рисовать поле нужен будет Photoshop ? У меня в Word есть замечательный template который выводит листочек в клеточку ![]() |
|||
|
||||
arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 6 Всего: 61 |
Qawra, а в чем проблема нарисовать поле самой? два цикла и всё
![]()
|
|||
|
||||
Qawra |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 188 Регистрация: 6.3.2007 Репутация: 3 Всего: 4 |
У меня в голове пока не всё уложилось .Команда
мы делали когда квадрат рисовали . (два nested loop и команда напечатать * ) Что надо импортировать что-бы использовать DrawCell ? И что там можно модифицировать ? Размер , цвет и фон клетки могут быть разными ? Я нашла и скачала аналогичную игру написанную на каком-то другом языке ![]() Если графический интерфасе переделать на свой лад а код игры перевести на Java и модифицировать его на захват территории (когда замыкания контура происходит в не зависимости от нахождения внутри точек противника ), будет ли это более простой вариант или более сложный с точки зрения кода ? C первого взгляда он мне такой вариант кажется проще ..Но в принципе он ведь не избавляет от применения основного рекурсивного волнового алгоритма ? |
|||
|
||||
arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 6 Всего: 61 |
||||
|
||||
Qawra |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 188 Регистрация: 6.3.2007 Репутация: 3 Всего: 4 |
А можно установить карту древнего мира как фон и на него как-нибудь ненавязчиво для восприятия нанести клетки ? Задача эта выполнимая ?
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Программирование игр, графики и искуственного интеллекта" | |
|
НА ЗЛОБУ ДНЯ: Дорогие посетители, прошу обратить внимание что новые темы касающиеся новых вопросов создаются кнопкой "Новая тема" а не "Ответить"! Любые оффтопиковые вопросы, заданные в текущих тематических темах будут удалены а их авторы, при рецедиве, забанены.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rickert. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Программирование игр, графики и искусственного интеллекта | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |