Czy wiecie dlaczego w tym:
if (!bendstop3) {
nLogic = rand() % 100 + 1;
// nLogic z dwójką zainicjonowany NIE PRZYPADKOWO, by pokazać, że dla kompilatora 2 <= 5 to fałsz ?!
nLogic = 2;
cout << nLogic << " ? " << ostrzal << "; " << nLogic << " ? " << fastdead << endl << endl;
if (nLogic > ostrzal) cout << "- Bandyci chyba maja zeza. Auto nie odnosi obr. od ostrzalu!" << endl;
else if (nLogic <= ostrzal) {
cout << "- Bandyci ostrzeliwuja twoje auto: -" << obrazenia << " HP samochodu!" << endl;
zycieauto -= obrazenia;
}
nLogic = rand() % 100 + 1;
if (nLogic > fastdead) {
nLogic3 = rand() % 5 + 1;
switch (nLogic3) {
case 1: cout << "- Niemalze obok ciebie wybucha rakieta z F-18! Cud!" << endl; break;
case 2: cout << "- Kilka metrow dalej wybucha rakieta. Masz szczescie!" << endl; break;
case 3: cout << "- W lusterku dostrzegasz wybuch rakiety. Ufff...." << endl; break;
case 4: cout << "- Wystrzelona z F-18 rakieta omija twoj samochod. Uff..." << endl; break;
case 5: cout << "- Masz farta. Tym razem piloci zle cie namierzyli i nie trafili!" << endl; break;
}
}
// i tu się pojawia felerna instrukcja, gdzie 2 <= 5 to fałsz...
else if (nLogic <= fastdead) {
cout << "- Rakieta! Uwazaj... aj... kopnales w kalendarz..." << endl;
Koniec(true, false, "none", 67, 23);
}
}
warunek else if (nLogic <= fastdead) nigdy się nie spełnia, nawet pomimo testowego przypisania do wartości nLogic wartości 2 - czyli mniejszej od zakładanej wartości 5 przy fastdead?
P.S zmienna prawda/fałsz bendstop3 odpowiada za określenie sytuacji, czy gracz załapał bonusa na 3 tury bez ryzyka ostrzelania. Tak dla wyjaśnienia.