Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 03.02.2017, 19:44
Wormhole вне форума Посмотреть профиль Отправить личное сообщение для Wormhole Найти все сообщения от Wormhole
  № 11  
Ответить с цитированием
Wormhole
 
Аватар для Wormhole

Регистрация: Jun 2014
Адрес: Санкт-Петербург
Сообщений: 185
Цитата:
Сообщение от Wolsh Посмотреть сообщение
Классическим паттерном для снаряжения персонажа и юнитов считается Декоратор.
Честно говоря, я не очень понял к чему это относится. В юнитах не стоит проблема добавления/изменения функциональности. Там больше по части генерации предопределенных юнитов и создания игрового юнита по кусочкам из его характеристик в roaming-режиме
Цитата:
Сообщение от Wolsh Посмотреть сообщение
Мне это кажется слишком категоричным. MVC допускает использование нескольких вью, как и нескольких контроллеров, но вовсе не ставит это целью.
Так стоит ли его применять в данном случае, когда целью ставится только отделение модели от представления и централизация логики/комбинирования?

Добавлено через 1 минуту
Цитата:
Сообщение от Tails Посмотреть сообщение
Wolsh предложил отличный вариант, используй его.

Сперва продумываешь структуру всех данных, что вообще есть в игре и как оно друг с другом связанно. (По примеру со способностями и их эффектами) А потом заполняешь её там, где эта структура у тебя будет храниться. (Бд, конфиг файл или прямо так - захардкодить)
Спасибо. А структуру я и старался продумывать, собственно, проблемы, которые я сейчас излагаю - это проблемы, возникшие на стадии планирования.

Добавлено через 2 минуты
Цитата:
Сообщение от Wolsh Посмотреть сообщение
Я тоже думаю, что неясные значения не нужны. Пусть в шаблоне Способность все возможные значения будут представлены явно. Если какие-то свойства бессмысленны для данного конкретного экземпляра, пусть хранят ноль и всё. Допустим, свойство СпособВоздействия — на себя, касанием, на цель, цепная реакция на группу целей, на область. Соответственно, свойство ДальностьВоздействия не имеет смысла для первых двух Способов, а для двух последних нужен еще параметр РадиусВоздействия. Однако сами эти параметры, Дальность и Радиус, вполне могут быть у всех способов воздействия, просто равны нулю там, где не играют никакой роли.
Спасибо
__________________
В прошлом - AS3 программист, в данный момент пишу на Haxe

Старый 03.02.2017, 19:49
Tails вне форума Посмотреть профиль Отправить личное сообщение для Tails Найти все сообщения от Tails
  № 12  
Ответить с цитированием
Tails
 
Аватар для Tails

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
Выделяешь отдельные сущности, мы уже выделили: способности и эффекты способностей. Устанавливаешь между ними связь: способность содержит id эффекта способности. Когда вся структура будет готова, заполняешь (Там где она будет храниться).
Заполняешь способности:
{ id=1, name="Удар по почкам", cd=10, effect=1 }
{ id=2, name="Живительный глоток", cd=70, effect=2 }

Заполняешь эффекты способностей:
{ id=1, damage=10 }
{ id=2, heal=100 }

Вот из этих данных уже видно, что "удар по почкам" наносит 10 урона (effect=1)
Таким образом связываешь все остальные сущности.
__________________
Дети не должны знать о своих родителях

Старый 03.02.2017, 19:50
Wormhole вне форума Посмотреть профиль Отправить личное сообщение для Wormhole Найти все сообщения от Wormhole
  № 13  
Ответить с цитированием
Wormhole
 
Аватар для Wormhole

Регистрация: Jun 2014
Адрес: Санкт-Петербург
Сообщений: 185
Цитата:
Сообщение от Tails Посмотреть сообщение
Способности:
Название, кд, стоимость, необходимый лвл, эффект.

Эффекты способностей:
Тип действия (урон, лечение, воскрешение), значениеА, значениеБ, значениеС ... (Используются под конкретный тип действия. Например, у лечения только значениеА, у урона по местности А и Б, у урона по местности с конкретной шкалой магий 3 значения - дамаг, радиус, шкала)

Далее создаёшь способности простым добавлением новых записей в таблицу. В игре будет всего по одному классу: Ability, AbilityEffect и ещё список, где будет храниться кулдавн по каждой способности у игрока.
И да, я не очень понял, на каком этапе должна происходить обработка полей эффекта (криты, прибавка к урону)?

Добавлено через 3 минуты
Цитата:
Сообщение от Tails Посмотреть сообщение
Заполняешь эффекты способностей:
{ id=1, damage=10 }
{ id=2, heal=100 }
Количество урона назначается на стадии кодинга, так? Но не могу же я делать что-то типа того:
{ id=1, damage=10 }
{ id=2, damage=100 }
{ id=3, damage=75 }
{ id=4, damage=12 }
на каждый вариант.
Да и вообще, урон-то вычисляется по формуле от силы, значит его надо где-то вычислять, а затем передавать каким-то образом
__________________
В прошлом - AS3 программист, в данный момент пишу на Haxe

Старый 03.02.2017, 20:23
Tails вне форума Посмотреть профиль Отправить личное сообщение для Tails Найти все сообщения от Tails
  № 14  
Ответить с цитированием
Tails
 
Аватар для Tails

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
Ты сейчас пытаешься решить всё сразу и поэтому у тебя каша в голове. Разбей задачу на простые:
1. Выделить все сущности и продумать структуру данных.
2. Заполнить структуру тестовыми значениями.
3. Начать программировать.

Раз способность может критовать, значит, добавляешь соответствующие свойства в структуру Эффект способности. (Думаю, крит больше относится к эффекту способности, а не самой способности, но тут на усмотрение геймдизайнера)
Эффекты способностей:
{ id=1, damage=10, criticalChance=0 }
{ id=2, damage=100, criticalChance=1 }
{ id=3, damage=75, criticalChance=0.5 }
{ id=4, damage=12, criticalChance=0 }

Какие то эффекты у нас не критуют, эффект id=2 критует всегда, эффект id=3 критует 50/50. Силу крита можно указать глобально в константе (x2 от базового урона), или так-же прописать для каждого эффекта отдельно.

Цитата:
Да и вообще, урон-то вычисляется по формуле от силы, значит его надо где-то вычислять, а затем передавать каким-то образом
Где-то - это в логике игры, когда способность будет применяться. Будет браться базовый урон способности, браться текущая сила, модифицироваться по нужной формуле и применяться ...
__________________
Дети не должны знать о своих родителях

Старый 03.02.2017, 20:29
Wormhole вне форума Посмотреть профиль Отправить личное сообщение для Wormhole Найти все сообщения от Wormhole
  № 15  
Ответить с цитированием
Wormhole
 
Аватар для Wormhole

Регистрация: Jun 2014
Адрес: Санкт-Петербург
Сообщений: 185
Цитата:
Сообщение от Tails Посмотреть сообщение
Эффекты способностей:
{ id=1, damage=10, criticalChance=0 }
{ id=2, damage=100, criticalChance=1 }
{ id=3, damage=75, criticalChance=0.5 }
{ id=4, damage=12, criticalChance=0 }
{...} - это, как и в синтаксисе языка, объект, я правильно понял? Если да, то не кажется ли вам самоубийством создавать четырехзначное количество объектов в структуре?
__________________
В прошлом - AS3 программист, в данный момент пишу на Haxe

Старый 03.02.2017, 20:37
Tails вне форума Посмотреть профиль Отправить личное сообщение для Tails Найти все сообщения от Tails
  № 16  
Ответить с цитированием
Tails
 
Аватар для Tails

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
Это псевдокод, для удобства восприятия. Тут 4 записи, у каждой из которых есть 3 свойства: id, damage и criticalChance.
В бд это будут 4 записи в таблице, в json файле это объекты, в as3 это будет Vector.<AbilityEffect>.

Это структура данных, как она потом будет реализована в конкретной среде - пункт 3.
Цитата:
1. Выделить все сущности и продумать структуру данных.
2. Заполнить структуру тестовыми значениями.
3. Начать программировать.
__________________
Дети не должны знать о своих родителях

Старый 03.02.2017, 20:41
Wormhole вне форума Посмотреть профиль Отправить личное сообщение для Wormhole Найти все сообщения от Wormhole
  № 17  
Ответить с цитированием
Wormhole
 
Аватар для Wormhole

Регистрация: Jun 2014
Адрес: Санкт-Петербург
Сообщений: 185
Так, ладно, если я правильно понял, то в том, что вы называете эффектом способности, на самом деле хранятся значения исходных характеристик способности, которые могут быть использованы в своих целях, так? Насчет таблицы я вроде понял
__________________
В прошлом - AS3 программист, в данный момент пишу на Haxe

Старый 03.02.2017, 20:42
callme вне форума Посмотреть профиль Отправить личное сообщение для callme Найти все сообщения от callme
  № 18  
Ответить с цитированием
callme
 
Аватар для callme

Регистрация: Dec 2014
Сообщений: 312
Цитата:
Сообщение от Wolsh Посмотреть сообщение
Мне это кажется слишком категоричным. MVC допускает использование нескольких вью, как и нескольких контроллеров, но вовсе не ставит это целью.
Дайте определение/описание паттерна MVC, от которого будем отталкиваться в обсуждении.

Старый 03.02.2017, 20:42
Tails вне форума Посмотреть профиль Отправить личное сообщение для Tails Найти все сообщения от Tails
  № 19  
Ответить с цитированием
Tails
 
Аватар для Tails

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
Цитата:
Сообщение от Wormhole Посмотреть сообщение
Так, ладно, если я правильно понял, то в том, что вы называете эффектом способности, на самом деле хранятся значения исходных характеристик способности, которые могут быть использованы в своих целях, так? Насчет таблицы я вроде понял
Да, это отдельная сущность - эффект способности.
Не только характеристики но и связи. Способность имеет ссылку на эффект по id.
__________________
Дети не должны знать о своих родителях

Старый 03.02.2017, 20:46
Wormhole вне форума Посмотреть профиль Отправить личное сообщение для Wormhole Найти все сообщения от Wormhole
  № 20  
Ответить с цитированием
Wormhole
 
Аватар для Wormhole

Регистрация: Jun 2014
Адрес: Санкт-Петербург
Сообщений: 185
Цитата:
Сообщение от Tails Посмотреть сообщение
Да, это отдельная сущность - эффект способности.
Не только характеристики но и связи. Способность имеет ссылку на эффект по id.
По сути, вы хотите применить здесь хэш-таблицу, так? Способность получает ее эффект из таблицы с помощью хэша

Добавлено через 8 минут
Цитата:
Сообщение от callme Посмотреть сообщение
Дайте определение/описание паттерна MVC, от которого будем отталкиваться в обсуждении.
Схема разделения данных приложения, пользовательского интерфейса и управляющей логики на три отдельных компонента: модель, представление и контроллер - таким образом, что модификация каждого компонента может осуществляться независимо
__________________
В прошлом - AS3 программист, в данный момент пишу на Haxe

Создать новую тему Ответ Часовой пояс GMT +4, время: 03:49.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 03:49.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.