www.open-tager.ru
http://www.open-tager.ru/forum/

"Аскет" - пульт
http://www.open-tager.ru/forum/viewtopic.php?f=5&t=2058
Страница 6 из 33

Автор:  iranklim [ 19 окт 2013, 22:01 ]
Заголовок сообщения:  Re: "Аскет" - пульт

В горячих думаю нужно:
1) пауза
2) оживить
3) убить
4) сменить цвет команды
5) сменить режим (в помещении)
6) сменить режим (улица)

Автор:  Sabbah [ 20 окт 2013, 04:58 ]
Заголовок сообщения:  Re: "Аскет" - пульт

В альтернативных думаю нужно:
1) снять с паузы
2) разоружить
3) восстановить патроны
4) удвоить жизни
5) прибавить жизнь
6) отнять жизнь

Автор:  tayatlas [ 20 окт 2013, 11:04 ]
Заголовок сообщения:  Re: "Аскет" - пульт

Скажу по собственному опыту.

Фактически на играх я пользуюсь на пульте всего двумя кнопками: рестарт и сменить цвет. ВСЁ !

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

Автор:  mail_robot [ 21 окт 2013, 04:06 ]
Заголовок сообщения:  Re: "Аскет" - пульт

tayatlas писал(а):
Скажу по собственному опыту.

Фактически на играх я пользуюсь на пульте всего двумя кнопками: рестарт и сменить цвет. ВСЁ !

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


у нас удвоение жизни и смена мощности выстрела частенько используется для сценариев типа заложник и ВИП. В остальном все как описано. Только две кнопки - новая игра и смена цвета

Автор:  mail_robot [ 21 окт 2013, 04:13 ]
Заголовок сообщения:  Re: "Аскет" - пульт

а еще у меня созрела пословица (или поговорка, не силен в терминологии)

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

философское начало проекта потеряно в дебрях мелочей. Я бы сделал платку пульта, сделал на ней 5-6 кнопок, сделал бы на этих кнопках базовые функции (самые самые прям вот нужные) и выложил бы прошивку. А там дальше пускай колхоз светлый путь сам идет туда куда где ему померещится комунизм. Кто какие себе захочет функции, тот те пусть и шьет под себя. Главное просто иметь железяку с шаблоном прошивки. А прошивку сделать с конфигурируемым хидером, чтобы просто ченить раскомментить и кнопка стала с нужным атрибутом. То есть минимальное кодокопание.

Автор:  Pingvin [ 21 окт 2013, 05:54 ]
Заголовок сообщения:  Re: "Аскет" - пульт

mail_robot писал(а):
а еще у меня созрела пословица (или поговорка, не силен в терминологии)

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

философское начало проекта потеряно в дебрях мелочей. Я бы сделал платку пульта, сделал на ней 5-6 кнопок, сделал бы на этих кнопках базовые функции (самые самые прям вот нужные) и выложил бы прошивку. А там дальше пускай колхоз светлый путь сам идет туда куда где ему померещится комунизм. Кто какие себе захочет функции, тот те пусть и шьет под себя. Главное просто иметь железяку с шаблоном прошивки. А прошивку сделать с конфигурируемым хидером, чтобы просто ченить раскомментить и кнопка стала с нужным атрибутом. То есть минимальное кодокопание.

Всё это уже есть.
Есть функция (написал на днях) send_message(ID, DATA);
Есть обработчики нажатий кнопок джойстика.
Вставляй в нужный обработчик кнопок "UD","DOWN","LEFT","RIGHT","CENTRAL" отправку нужного сообщения, и все.
Так всем же готовое на блюде надо, вот и спрашиваю - чего изволите?

Автор:  mail_robot [ 21 окт 2013, 06:16 ]
Заголовок сообщения:  Re: "Аскет" - пульт

а нафига спрашивать то? прошивай по минимуму и айда. Дальше сами допилят

Автор:  Pingvin [ 21 окт 2013, 07:59 ]
Заголовок сообщения:  Re: "Аскет" - пульт

Вот шаблон

Код:
   
   switch(joystick_event)
   {
      case key_up_pressing:
         {
         
         
            if (fire_mode()==queues)//если "Shift" нажат
            {

            }
            else //"Shift" не нажат
            {
               send_message(ID_Command, Command_ImmediateNewGame);
            }

      
      
         joystick_event = no_pressing;
         }
   
      break;
      case key_right_pressing:
         {

   
            if (fire_mode()==queues)//если "Shift" нажат
            {

            }
            else //"Shift" не нажат
            {
                        
            }
   
         joystick_event = no_pressing;
         }
      break;
      case key_down_pressing:
         {

            if (fire_mode()==queues)//если "Shift" нажат
            {

            }
            else //"Shift" не нажат
            {
                        
            }
   
         joystick_event = no_pressing;
         }
      break;
      case key_left_pressing:
         {
            if (fire_mode()==queues)//если "Shift" нажат
            {

            }
            else //"Shift" не нажат
            {
                        
            }
   
         joystick_event = no_pressing;
         }
      break;
      case key_central_pressing:
         {
            if (fire_mode()==queues)//если "Shift" нажат
            {

            }
            else //"Shift" не нажат
            {
               send_message(ID_Add_Health, 10);      
            }
            


            joystick_event = no_pressing;

         }
      break;
      default: joystick_event = no_pressing;
   
   
      }
   


У меня определено

Код:
#define ID_Add_Health 0x80 //сообщение добавить жизни
#define ID_Add_Rounds 0x81 //сообщение добавить патронов
#define ID_Command 0x83 //сообщение-команда
#define Control_Byte 0xE8 //корректное значение контрольного байта сообщения

#define  Command_ImmediateNewGame 0x05 //командв "новая игра"



Поэтому

Код:
send_message(ID_Command, Command_ImmediateNewGame);


равносильно

Код:
send_message(0x83, 0x05 );



Все коды команд описаны в протоколе.

Изображение




http://www.open-tag.ru/forum/download/file.php?id=2300

Вложения:
Ascet_pult_3_1_blue.zip [302.86 KiB]
Скачиваний: 364

Автор:  Pingvin [ 21 окт 2013, 08:49 ]
Заголовок сообщения:  Re: "Аскет" - пульт

Не понял суть команды
Код:
New game (ready): Prepares taggers for the 0x02 start game command.


В чем заключается эта подготовка?

И заметил - плата LW часто на команду ImmediateNewGame срабатывает только со второго раза.
Что это?
У меня где то косяк или особенности работы платы LW?

Может, сначала нужно "приготовиться" к команде "новая игра немедленно"?

А в чем разница между "новой игрой" и "респаундом"?

Кто-нибудь ещё объяснил назначение команд и как должен таг реагировать на ту или иную команду. :?

Автор:  G-man [ 21 окт 2013, 09:34 ]
Заголовок сообщения:  Re: "Аскет" - пульт

Pingvin писал(а):
А в чем разница между "новой игрой" и "респаундом"?

В теории респаунд от новой игры отличается тем что респашийся игрок не всегда мертв, он может быть ранен или без патронов. для него респ = сбросу в режим ожидания, затем следом идет команда - новая игра. Но это в теории, что тамана у ЛВ...

Страница 6 из 33 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/