Nestr писал(а):
Получаем пакет (RX_COMPLETE) а как будет выглядет разбор етих пакетов?? что это пакет выстрела или это пакет старт игра. может в краце хоть
Только что выше привел кусок кода
case RX_MESSAGE_COMPLITE://принято сообщение
{
if(get_buffer_bit(0)) //если этот бит равен 1, то это пакет с командой
{
ir_message = get_ir_message_from_buffer();//выдергиваем значения команды из буфера ИК приемника
if (ir_message.control_byte ==Valid_value )//сообщение принято корректно (контрольный байт принят без ошибок)
{
switch(ir_message.ID)//если имя команды
{
case Add_Health: //добавить "жизни" {
//код для добавления жизни
break;
}
case Add_Rounds://добавить "патронов" {
//код для добавления патронов
break;
}
case Command://какая то дополнительноя команда {
switch(ir_message.param)//выясним, какая это командв
{
case 0x05://начать новую игру немедленно {
init_var(); //инициализируем переменные
joystick_event=no_pressing; //очищаем события джойстика
keyboard_event=no_key_pressing;//очищаем события триггера
reload_key_event=no_key_pressing;//очищаем события перезарядки
rx_event = NOT_EVENT; //очищаем события ИК приемника
display_status();//обновляем информацию на дисплее
WOUND_LED_ON;
play_sound_6();
//код обработки дополнительной команды
WOUND_LED_OFF;
break;
}
case 0x00://"выключить" игрока
{
break;
}
default: break;
}
Вот определены некоторые команды
#define Add_Health 0x80 //сообщение добавить жизни
#define Add_Rounds 0x81 //сообщение добавить патронов
#define Command 0x83 //сообщение-команда
#define Valid_value 0xE8 //корректное значение контрольного байта сообщения