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

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

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

Регистрация: Feb 2012
Сообщений: 36
По умолчанию Различные насадки для руки робота и их использование по назначению. как реализовать?

Допустим у нас есть робот В.А.С.Я. К его двум его рукам можно прицепить различные инструменты такие как пушка, клешня, щит, в общем, что угодно). Нужно сделать так, что бы он мог использовать эти инструменты по назначению, вопрос как? Да, можно назначить всем инструментам интерфейс с методом use(), но, но, но... В.А.С.Я. должен знать, что у него есть пушка, а значит он может убить своих врагов, для чего ему нужно направить пушку в сторону врага и использовать ее, то бишь выстрелить/use(). Если в руке клешня, то ему нужно подумать, что ей подобрать и собственно подобрать/use() это. Если в сторону Васи летит снаряды, а в руке у него щит, то он может закрыться от них. Вот только я без понятия как все это реализовать.

Старый 02.04.2012, 19:37
anmelegov вне форума Посмотреть профиль Отправить личное сообщение для anmelegov Найти все сообщения от anmelegov
  № 2  
Ответить с цитированием
anmelegov
[+4 07.04.12]
[+1 20.01.12]

Регистрация: Nov 2009
Адрес: Украина, Славутич
Сообщений: 263
при чем тут as3 ?

Старый 02.04.2012, 19:37
DaFive вне форума Посмотреть профиль Отправить личное сообщение для DaFive Посетить домашнюю страницу DaFive Найти все сообщения от DaFive
  № 3  
Ответить с цитированием
DaFive
 
Аватар для DaFive

Регистрация: May 2008
Адрес: {0,0}
Сообщений: 754
Записей в блоге: 1
Отправить сообщение для DaFive с помощью ICQ
В методе use пропишите то, что должен делать предмет в зависимости от того, что это за предмет.
__________________
Кодинг, багинг, алгоритминг. me @

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

Регистрация: Feb 2012
Сообщений: 36
Цитата:
Сообщение от anmelegov Посмотреть сообщение
при чем тут as3 ?
Ну а куда еще?
Цитата:
Сообщение от DaFive Посмотреть сообщение
В методе use пропишите то, что должен делать предмет в зависимости от того, что это за предмет.
Либо вы не поняли либо я. Хорошо, пушка может стрелять, но Васи мало просто выстрелить, ему ведь нужно еще и прицелится, да рассчитать упреждение на основании особенностей пушки. К тому же Васи еще нужно понять, что у него в руке пушка или скавородка. Вася не может просто слепо использовать инструменты. Он должен знать как их можно использовать и как это делать правильно.


Последний раз редактировалось Den_root; 02.04.2012 в 20:22.
Старый 02.04.2012, 20:42
FlashRus вне форума Посмотреть профиль Отправить личное сообщение для FlashRus Найти все сообщения от FlashRus
  № 5  
Ответить с цитированием
FlashRus
 
Аватар для FlashRus

Регистрация: Nov 2006
Адрес: СПб
Сообщений: 920
Отправить сообщение для FlashRus с помощью ICQ Отправить сообщение для FlashRus с помощью Skype™
вы сами ответили на свой вопрос.
Цитата:
Он должен знать как их можно использовать и как это делать правильно.
вот и пусть знает. А у каждого предмета будет идентификатор что ли.... хз как у вас там всё устроено.

P.S. MVC в помощь.
__________________
ЛОДКИ

Старый 02.04.2012, 20:44
Aquahawk вне форума Посмотреть профиль Отправить личное сообщение для Aquahawk Посетить домашнюю страницу Aquahawk Найти все сообщения от Aquahawk
  № 6  
Ответить с цитированием
Aquahawk
 
Аватар для Aquahawk

Регистрация: Nov 2010
Адрес: Москва
Сообщений: 915
Записей в блоге: 4
Отправить сообщение для Aquahawk с помощью ICQ Отправить сообщение для Aquahawk с помощью Skype™
Это называется полиморфизм. Как раз позволяет описать интерфейс некой хреновины которая надевается на руку и используется. У хреновины есть метод - пользовать хреновину. А она сама уже знает как ей пользуются, может стрелять, если пушка, а может жарить, если сковородка.
__________________
:)

Старый 02.04.2012, 21:10
Den_root вне форума Посмотреть профиль Отправить личное сообщение для Den_root Найти все сообщения от Den_root
  № 7  
Ответить с цитированием
Den_root

Регистрация: Feb 2012
Сообщений: 36
FlashRus
То есть предлагаете роботу прописать как использовать тот или иной девайс?
Aquahawk
См. выше, ничто не помешает роботу попытатся выстрелить из сковородки и поджарить что нибудь пушкой

Еще вопрос:
Код AS3:
public class Vasja {
 
	public var leftHand:Device;
}
Код AS3:
public interface Device {
 
	public function use();
}
Код AS3:
public class Gun implements Device{
 
	public var bulletSpeed:int = 50;
	public var dammage:int = 50;
 
	public function use():void {
		//Shoot
	}
 
}
Код AS3:
public class Magnet implements Device{
 
	public var radius:int = 5;
 
	public function use():void {
		//Drag in metal
	}
}
Если мы поместим что то в руку Васе ему нужно будет узнать характеристики предметов, что бы нормально их использовать. Подойти на расстояние действия магнита, или выстрелить на упреждение на основании скорости пули. Как в таком случае достать эти свойства? В Device они не определены.

Старый 02.04.2012, 21:42
Inet_PC вне форума Посмотреть профиль Отправить личное сообщение для Inet_PC Посетить домашнюю страницу Inet_PC Найти все сообщения от Inet_PC
  № 8  
Ответить с цитированием
Inet_PC
 
Аватар для Inet_PC

Регистрация: Feb 2009
Адрес: Гы...поди, найди!
Сообщений: 853
Записей в блоге: 1
Цитата:
Как в таком случае достать эти свойства? В Device они не определены.
Ну видимо if/switch:
Код AS3:
 
if (device is Magnet)
{
      //Делаем что-то с магнитом или роботом
      //Подойти на расстояние действия магнита например, а затем use();
}
else
if (device is Gun)
{
    //Делаем что-то с оружием
}
//...
device.use();
Получается робот должен знать как пользоваться основными типами девайсов, а не девайс знающий как заюзать робота.
__________________
http://www.chessmax.ru


Последний раз редактировалось Inet_PC; 02.04.2012 в 21:44.
Старый 02.04.2012, 21:50
Silicium вне форума Посмотреть профиль Отправить личное сообщение для Silicium Найти все сообщения от Silicium
  № 9  
Ответить с цитированием
Silicium
 
Аватар для Silicium

Регистрация: Sep 2010
Адрес: Ростов-на-Дону
Сообщений: 369
Вот и Вот (продолжение), авось поможет

Старый 02.04.2012, 22:03
PlutDem вне форума Посмотреть профиль Отправить личное сообщение для PlutDem Найти все сообщения от PlutDem
  № 10  
Ответить с цитированием
PlutDem
 
Аватар для PlutDem

Регистрация: Feb 2012
Сообщений: 212
Inet_PC
Вы показали как использовать, тот или иной девайс, но не как достать его свойства.

Можно держать в девайсе все возможные свойства и брать их в зависимости от того, что это за девайс.

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

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

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


 


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


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