#include #include #include #include #include #include #include #include #include #include using namespace std; class yaris { public: const string f1yariscilari[8] = { "Hamilton","Bottas","Perez","Verstappen","Ricciardo","Leclerc","Sainz","Albon" }; const string motoyariscilari[8] = { "Dovizioso","Zarco","Petrucci","Quartararo","Morbidelli","Lecuona","Nakagami","Rossi" }; int sure = 0; int adim1; int adim2; int f1ilkyarisci; int f1ikinciyarisci; int ilkyarisci; int ikinciyarisci; }; class motoryaris :public yaris { public: void motoryariscisisec(); void motoryarisibaslat(); void mbaslat(); void msonuc(); void sonuckaydet(); fstream mkaydet; int a; }; void motoryaris::sonuckaydet() { if (a==0) { mkaydet.open("msonuclar.txt", ios::out | ios::in | ios::app); mkaydet << adim1 - adim2 << " tur fark ile yarisi kazanan yarisci: " << motoyariscilari[ilkyarisci] << endl; mkaydet.close(); } else if (a == 1) { mkaydet.open("msonuclar.txt", ios::out | ios::in | ios::app); mkaydet << adim2 - adim1 << " tur fark ile yarisi kazanan yarisci: " << motoyariscilari[ikinciyarisci] << endl; mkaydet.close(); } else { mkaydet.open("msonuclar.txt", ios::out | ios::in | ios::app); mkaydet << motoyariscilari[ilkyarisci] << " ile " << motoyariscilari[ikinciyarisci] << " berabere kaldılar " << endl; mkaydet.close(); } } void motoryaris::msonuc() { int a = 0; if (adim1 > adim2) { a = 0; } else if (adim1 < adim2) { a = 1; cout << adim2 - adim1 << " tur fark ile yarisi kazanan yarisci: " << motoyariscilari[ikinciyarisci] << endl; } else { a = 2; cout << motoyariscilari[ilkyarisci] << " ile " << motoyariscilari[ikinciyarisci] << " berabere kaldılar " << endl; } cout << "toplam tur sayilari: " << endl; cout << motoyariscilari[ilkyarisci] << " : " << adim1 << endl; cout << motoyariscilari[ikinciyarisci] << " : " << adim2 << endl; sonuckaydet(); } void motoryaris::motoryariscisisec() { srand(time(0)); for (int i = 0; i < 1; i++) { ilkyarisci = rand() % 8; ikinciyarisci = rand() % 8; if (ilkyarisci == ikinciyarisci) { while (ilkyarisci != ikinciyarisci) { ilkyarisci = rand() % 8; ikinciyarisci = rand() % 8; } } else { cout << motoyariscilari[ilkyarisci] << endl; cout << motoyariscilari[ikinciyarisci] << endl; mbaslat(); } } } void motoryaris::mbaslat() { sure = 0; adim1 = 0; adim2 = 0; srand(time(0)); while (sure < 120) { int r = rand() % 100; sure = sure + 1; Sleep(200); if (r < 15) { adim1 = adim1 + 1; cout << " Ilerleme! " << motoyariscilari[ilkyarisci] << " 1 adim ilerledi. Yarisin suresi : " << sure << endl; } else if (r > 15 && r < 30) { adim2 = adim2 + 1; cout << " Ilerleme! " << motoyariscilari[ikinciyarisci] << " 1 adim ilerledi. Yarisin suresi : " << sure << endl; } else { cout << sure << endl; } } msonuc(); } void motoryaris::motoryarisibaslat() { motoryariscisisec(); } class f1yaris :public yaris { public: void f1yariscisisec(); void f1yarisibaslat(); void f1baslat(); }; void f1yaris::f1yariscisisec() { srand(time(0)); for (int i = 0; i < 1; i++) { f1ilkyarisci = rand() % 8; f1ikinciyarisci = rand() % 8; if (f1ilkyarisci == f1ikinciyarisci) { while (f1ilkyarisci != f1ikinciyarisci) { int f1ilkyarisci = rand() % 8; int f1ikinciyarisci = rand() % 8; } } else { cout << "Ilk yarisci : " << f1yariscilari[f1ilkyarisci] << endl; cout << "Ikinci yarisci : " << f1yariscilari[f1ikinciyarisci] << endl; f1baslat(); } } } void f1yaris::f1baslat() { sure = 0; adim1 = 0; adim2 = 0; srand(time(0)); while (sure < 120) { int r = rand() % 100; sure = sure + 1; Sleep(200); if (r < 15) { adim1 = adim1 + 1; cout << " Ilerleme! " << f1yariscilari[f1ilkyarisci] << " 1 adim ilerledi. Yarisin suresi : " << sure << endl; } else if (r > 15 && r < 30) { adim2 = adim2 + 1; cout << " Ilerleme! " << f1yariscilari[f1ikinciyarisci] << " 1 adim ilerledi. Yarisin suresi : " << sure << endl; } else { cout << sure << endl; } } if (adim1 > adim2) { cout << adim1 - adim2 << " tur fark ile yarisi kazanan yarisci: " << f1yariscilari[f1ilkyarisci] << endl; } else if (adim1 < adim2) { cout << adim2 - adim1 << " tur fark ile yarisi kazanan yarisci: " << f1yariscilari[f1ikinciyarisci] << endl; } else { cout << f1yariscilari[f1ilkyarisci] << " ile " << f1yariscilari[f1ikinciyarisci] << " berabere kaldılar " << endl; } cout << "toplam tur sayilari: " << endl; cout << f1yariscilari[f1ilkyarisci] << " : " << adim1 << endl; cout << f1yariscilari[f1ikinciyarisci] << " : " << adim2 << endl; } void f1yaris::f1yarisibaslat() { f1yariscisisec(); } class Menu { public: string anamenu(); string bilgimenu(); string baslamenu(); }; string Menu::anamenu() { string choice; cout << "-----------------------------------------------------------" << endl; cout << "* 1-Yarisa Basla *" << endl; cout << "* 2-Oyun hakkinda bilgi *" << endl; cout << "* 3-Cikis yap *" << endl; cout << "-----------------------------------------------------------" << endl << endl; cout << "Bir secenek secin lutfen: "; cin >> choice; return choice; } string Menu::bilgimenu() { string choice; cout << "________________________________________________________________________________________________________________________" << endl; cout << "Oyunu baslat secenegine tikladiginizda karsiniza f1 ve moto olarak 2 secenek cikar f1'e tikladiginizda gercekte var olan 8 tane f1 yarismacisi arasından 2 tanesini secip 120 tur yaristirir.Moto ya tikladiginizda ise ayni islem moto gp yariscilari icin gerceklesir" << endl; cout << "________________________________________________________________________________________________________________________" << endl; cout << "____________________________________" << endl; cout << "Ana menuye donmek icin 2 ye basin" << endl; cout << "____________________________________" << endl; cin >> choice; return choice; } string Menu::baslamenu() { string choice; cout << "____________________________________" << endl; cout << "F1 yarisi icin 1 e basiniz" << endl; cout << "____________________________________" << endl; cout << "Motogp yarisi icin 2 ye basiniz" << endl; cout << "____________________________________" << endl; cout << "Ana menuye donmek icin 3 e basiniz" << endl; cin >> choice; return choice; } int main() { Menu m; f1yaris c; motoryaris d; for (;;) { string choice_m = m.anamenu(); if (choice_m == "1") { choice_m = m.baslamenu(); if (choice_m == "1") { c.f1yarisibaslat(); } if (choice_m == "2") { d.motoryarisibaslat(); } if (choice_m == "3") { choice_m = m.anamenu(); } } else if (choice_m == "2") { choice_m = m.bilgimenu(); } else if (choice_m == "3") break; } };