maksim писал(а):
Люблю когда все понятно))))Вот схема ,вот прошивка
Вы же вроде хотели AVR и вдруг побежали на Pic ?
Проект Томми, на авр
--------------
** main.c: логика ружья
Код:
//если пришёл пакет, то обрабатываем его
if (incoming_ir.state != PACKAGE_EMPTY) {
if (incoming_ir.state == PACKAGE_BROKEN) {
//правило: пролетающая мимо пуля не перебивает звук выстрела
//проверяем по выключенности прерывания переполнения таймера1 (так нельзя)
if (!(TIMSK & (1<<TOIE2))) { // 5 мая 2015, исправление на Таймер2
if (player.alive==TRUE)
{ play_sound(sound_nearmiss); } //****
};
} else {
if (incoming_ir.state == PACKAGE_COMMAND) {
process_ir_command();
} else {
//сначала проверям, чтоб игрок не был неуязвим и жив
if ((!timer_vulnerable.active) && (player.alive)) {
//и не убил сам себя отражением
if ((incoming_ir.id != player.id) || (incoming_ir.team != player.team) || CONFIG_SELFDAMAGE) {
//а потом ещё и проверка на убийство члена команды
если incoming_ir.team = зелёным тогда зажечь зелёную лампочку
если incoming_ir.team = красным тогда зажечь красную лампочку
и тд
[b] Всё контрольная точка с подсветкой разных команд готова[/b] - буквально :)
if ((incoming_ir.team != player.team) || (CONFIG_FRENDLYFIRE) || (CONFIG_SELFDAMAGE)) {
process_ir_hit();
};
};
};
};
};
incoming_ir.state = PACKAGE_EMPTY; //всё, пакет обработан, всё готово к следующему
};