Отчет по лабораторной работе № 1 (990249), страница 2
Текст из файла (страница 2)
}
else
{ FormSostoyanie->cbEstKorablVneSegmenta->Checked = false;
return NO;
}
case 2: // Условие 2 Есть корабль в текущем сегменте
if (est_korabl_v_segmente(active_segment))
{ FormSostoyanie->cbEstKorablVTekushemSegmente->Checked = true;
return YES;
}
else
{ FormSostoyanie->cbEstKorablVTekushemSegmente->Checked = false;
return NO;
}
case 3: // Условие 3 Корабль в текущем сегменте чужой
if (chuzhoy(active_segment))
{ FormSostoyanie->cbKorablVTekushemSegmenteChuzhoy->Checked = true;
return YES;
}
else
{ FormSostoyanie->cbKorablVTekushemSegmenteChuzhoy->Checked = false;
return NO;
}
case 4: // Условие 4 Корабль вне сегмента чужой
KorablVneSegmPeresekKritZonu(active_segment, nomer);
if (est_korabl_vne_segmenta(active_segment))
if (KorablVneSegmentaChuzhoy(nomer))
{ FormSostoyanie->cbKorablVneSegmentaChuzhoy->Checked = true;
return YES;
}
else
{ FormSostoyanie->cbKorablVneSegmentaChuzhoy->Checked = false;
return NO;
}
case 5: // Условие 5 Корабль в сегменте в зоне досягаемости
if (v_zone_dosyag(active_segment))
{ FormSostoyanie->cbKorablVSegmenteVZoneDosyagaemosti->Checked = true;
return YES;
}
else
{ FormSostoyanie->cbKorablVSegmenteVZoneDosyagaemosti->Checked = false;
return NO;
}
case 6: // Условие 6 Есть ли вражеский корабль ближе
if (EstKorablBlizhe(active_segment))
{ FormSostoyanie->cbEstKorablBlizhe->Checked = true;
return YES;
}
else
{ FormSostoyanie->cbEstKorablBlizhe->Checked = false;
return NO;
}
case 7: // Условие 7 Орудие занято
if (Pushka->OrudieZanyato())
{ FormSostoyanie->cbOrudieZanyato->Checked = true;
return YES;
}
else
{ FormSostoyanie->cbOrudieZanyato->Checked = false;
return NO;
}
case 8: // Условие 8 Корабль в сегменте пересек крит зону
if (KorablPeresek(active_segment))
{ FormSostoyanie->cbKorablVSegmenteperesekKritZonu->Checked = true;
return YES;
}
else
{ FormSostoyanie->cbKorablVSegmenteperesekKritZonu->Checked = false;
return NO;
}
case 9: // Условие 9 Корабль вне сегмена пересек крит зону
if (KorablVneSegmPeresekKritZonu(active_segment, nomer))
{ FormSostoyanie->cbKorablVneSegmentaPeresekKritZonu->Checked = true;
return YES;
}
else
{ FormSostoyanie->cbKorablVneSegmentaPeresekKritZonu->Checked = false;
return NO;
}
case 10: // Условие 10 Корабль в текущем сегменте последний
if (KorablPosledniy(active_segment))
{ FormSostoyanie->cbKorablVTekushemSegmentePosledniy->Checked = true;
return YES;
}
else
{ FormSostoyanie->cbKorablVTekushemSegmentePosledniy->Checked = false;
return NO;
}
case 11: // Условие 11 Корабль вне сегмента последний
if (KorablVneSegmentaPosledniy(active_segment))
{ FormSostoyanie->cbKorablVneSegmentaPosledniy->Checked = true;
return YES;
}
else
{ FormSostoyanie->cbKorablVneSegmentaPosledniy->Checked = false;
return NO;
}
case 12: // Условие 12 Снаряд уже летит
if (snaryad_uzhe_letit)
{ FormSostoyanie->cbSnaryadUzheLetit->Checked = true;
return YES;
}
else
{ FormSostoyanie->cbSnaryadUzheLetit->Checked = false;
return NO;
}
case 13: // Условие 13 В этот корабль уже летит ракета
if (VKorablLetitRaketa(active_segment, NomerKorablyaPeredSamoletom))
{ FormSostoyanie->cbVKorablLetitaketa->Checked = true;
return YES;
}
else
{ FormSostoyanie->cbVKorablLetitaketa->Checked = false;
return NO;
}
}
break;
case 3: // Таблица 3 Выстрел
switch(LParam) // Номер условия
{ case 1: // Условие 1 Корабль в зоне досягаемости
if (v_zone_dosyag(active_segment))
{ FormSostoyanie->cbKorablVSegmenteVZoneDosyagaemosti2->Checked = true;
return YES;
}
else
{ FormSostoyanie->cbKorablVSegmenteVZoneDosyagaemosti2->Checked = false;
return NO;
}
case 2: // Условие 2 Орудие заряжено
if (Pushka->OrudieZaryazheno())
{ FormSostoyanie->cbOrudieZaryazheno->Checked = true;
return YES;
}
else
{ FormSostoyanie->cbOrudieZaryazheno->Checked = false;
return NO;
}
case 3: // Условие 3 Орудие исправно
if (Pushka->OrudieIspravno())
{ FormSostoyanie->cbOrudieIspravno->Checked = true;
return YES;
}
else
{ FormSostoyanie->cbOrudieIspravno->Checked = false;
return NO;
}
case 4: // Условие 4 Прицел наведен
if (Pushka->PricelNaveden())
{ FormSostoyanie->cbPricelNaveden->Checked = true;
return YES;
}
else
{ FormSostoyanie->cbPricelNaveden->Checked = false;
return NO;
}
case 5: // Условие 5 Есть снаряды в ящике
if (Pushka->EstSnaryadyVYashike())
{ FormSostoyanie->cbEstSnaryadyVYashike->Checked = true;
return YES;
}
else
{ FormSostoyanie->cbEstSnaryadyVYashike->Checked = false;
return NO;
}
case 6: // Условие 6 Выстрелов больше N
if (Pushka->VystrelovBolsheN())
{ FormSostoyanie->cbVystrelovBolsheN->Checked = true;
return YES;
}
else
{ FormSostoyanie->cbVystrelovBolsheN->Checked = false;
return NO;
}
case 7: // Условие 7 Идет ремонт
if (idet_remont)
{ FormSostoyanie->cbIdetRemont->Checked = true;
return YES;
}
else
{ FormSostoyanie->cbIdetRemont->Checked = false;
return NO;
}
case 8: // Условие 8 Идет зарядка
if (idet_zaryadka)
{ FormSostoyanie->cbIdetZaryadka->Checked = true;
return YES;
}
else
{ FormSostoyanie->cbIdetZaryadka->Checked = false;
return NO;
}
case 9: // Условие 9 Ожидаем ящик с патронами
if (ozhidanie_yashika)
{ FormSostoyanie->cbOzhidanieYashika->Checked = true;
return YES;
}
else
{ FormSostoyanie->cbOzhidanieYashika->Checked = false;
return NO;
}
}
break;
case 4: // Таблица 4 Попадание / промах снаряда
switch(LParam) // Номер условия
{ case 1: // Условие 1 Снаряд пролетел мимо корабля
int xx, yy, hh, ww, vv;
ParametryKorablyaVSegmente(active_segment, xx, yy, hh, ww, vv);
if (Snaryad->ProletelMimoKorablya(yy))
{ FormSostoyanie->cbSnaryadProletelMimoKorablya->Checked = true;
return YES;
}
else
{ FormSostoyanie->cbSnaryadProletelMimoKorablya->Checked = false;
return NO;
}
case 2: // Условие 2 Попал
ParametryKorablyaVSegmente(active_segment, xx, yy, ww, hh, vv);
if (Snaryad->Popal(xx, yy, ww, hh))
{ FormSostoyanie->cbPopal->Checked = true;
return YES;
}
else
{ FormSostoyanie->cbPopal->Checked = false;
return NO;
}
case 3: // Условие 3 Корабль последний
if (KorablPosledniy(active_segment))
{ FormSostoyanie->cbKorablPosledniy->Checked = true;
return YES;
}
else
{ FormSostoyanie->cbKorablPosledniy->Checked = false;
return NO;
}
}
break;
case 5: // Таблица 5 Самолеты
switch(LParam) // Номер условия
{ case 1: // Условие 1 Есть самолет
if (Aircraft::EstSamolet)
{ FormSostoyanieSamoletov->cbEstSamolet->Checked = true;
return YES;
}
else
{ FormSostoyanieSamoletov->cbEstSamolet->Checked = false;
return NO;
}
case 2: // Условие 2 Самолет свой
if (Samolet->Svoy())
{ FormSostoyanieSamoletov->cbSamoletSvoy->Checked = true;
return YES;
}
else
{ FormSostoyanieSamoletov->cbSamoletSvoy->Checked = false;
return NO;
}
case 3: // Условие 3 Своя ракета уже летит
if (Aircraft::SvoyaRaketaLetit)
{ FormSostoyanieSamoletov->cbSvoyaRaketaLetit->Checked = true;
return YES;
}
else
{ FormSostoyanieSamoletov->cbSvoyaRaketaLetit->Checked = false;
return NO;
}
case 4: // Условие 4 Чужая ракета уже летит
if (Aircraft::ChuzhayaRaketaLetit)
{ FormSostoyanieSamoletov->cbChuzhayaRaketaLetit->Checked = true;
return YES;
}
else
{ FormSostoyanieSamoletov->cbChuzhayaRaketaLetit->Checked = false;
return NO;
}
}
break;
case 6: // Таблица 6 Самолет свой
switch(LParam) // Номер условия
{ case 1: // Условие 1 Есть вражеский корабль перед самолетом
if (Aircraft::EstSamolet)
if (EstVrazheskiyKorablPeredSamoletom(NomerKorablyaPeredSamoletom, active_segment))
{ FormSostoyanieSamoletov->cbEstVrazheskiyKorablPeredSamoletom->Checked = true;
return YES;
}
else
{ FormSostoyanieSamoletov->cbEstVrazheskiyKorablPeredSamoletom->Checked = false;
NomerKorablyaPeredSamoletom = -3;
return NO;
}
return NO;
case 2: // Условие 2 Корабль перед самолетом захвачен пушкой
if (!Aircraft::EstSamolet)
return NO;
EstVrazheskiyKorablPeredSamoletom(NomerKorablyaPeredSamoletom, active_segment);
if (korabli[NomerKorablyaPeredSamoletom][1] == 0)
return NO;
if (KorablPeredSamoletomZahvachePushkoy(NomerKorablyaPeredSamoletom, active_segment))
{ FormSostoyanieSamoletov->cbKorablPeredSamoletomZahvachenPushkoy->Checked = true;
return YES;
}
else
{ FormSostoyanieSamoletov->cbKorablPeredSamoletomZahvachenPushkoy->Checked = false;
return NO;
}
case 3: // Условие 3 Есть ракеты на борту
if (Samolet->EstRaketaNaBortu())
{ FormSostoyanieSamoletov->cbEstRaketyNaBortu->Checked = true;
return YES;
}
else
{ FormSostoyanieSamoletov->cbEstRaketyNaBortu->Checked = false;
return NO;
}
case 4: // Условие 4 Ракета уже летит (своя)
if (Aircraft::SvoyaRaketaLetit)
{ FormSostoyanieSamoletov->cbRaketaUzheLetit->Checked = true;
return YES;
}
else
{ FormSostoyanieSamoletov->cbRaketaUzheLetit->Checked = false;
return NO;
}
case 5: // Условие 5 Самолет пересек границу
if (Samolet->PeresekGranicu())
{ FormSostoyanieSamoletov->cbSamoletPeresekGranicu->Checked = true;
return YES;
}
else
{ FormSostoyanieSamoletov->cbSamoletPeresekGranicu->Checked = false;
return NO;
}
}
break;
case 7: // Таблица 7 Самолет чужой
switch(LParam) // Номер условия
{ case 1: // Условие 1 Орудие перед самолетом
if (OrudiePeredSamoletom())
{ FormSostoyanieSamoletov->cbOrudiePeredSamoletom->Checked = true;
return YES;
}
else
{ FormSostoyanieSamoletov->cbOrudiePeredSamoletom->Checked = false;
return NO;
}
case 2: // Условие 2 Есть ракета на борту
if (Samolet->EstRaketaNaBortu())
{ FormSostoyanieSamoletov->cbEstRaketyNaBortu2->Checked = true;
return YES;
}
else
{ FormSostoyanieSamoletov->cbEstRaketyNaBortu2->Checked = false;
return NO;
}
case 3: // Условие 3 Ракета уже летит (чужая)
if (Aircraft::ChuzhayaRaketaLetit)
{ FormSostoyanieSamoletov->cbRaketaUzheLetit2->Checked = true;
return YES;
}
else
{ FormSostoyanieSamoletov->cbRaketaUzheLetit2->Checked = false;
return NO;
}
case 4: // Условие 4 Самолет пересек границу
if (Samolet->PeresekGranicu())
{ FormSostoyanieSamoletov->cbSamoletPeresekGranicu2->Checked = true;
return YES;
}
else
{ FormSostoyanieSamoletov->cbSamoletPeresekGranicu2->Checked = false;
return NO;
}
}
break;
case 8: // Таблица 8 Запуск ракеты
switch(LParam) // Номер условия
{ case 1: // Условие 1 Координаты цели получены
if (Raketa->KoordinatyCeliPolucheny())
{ FormSostoyanieSamoletov->cbKoordinatyCeliPolucheny->Checked = true;
return YES;
}
else
{ FormSostoyanieSamoletov->cbKoordinatyCeliPolucheny->Checked = false;
return NO;
}
case 2: // Условие 2 Ракета исправна
if (Raketa->Ispravna())














