//random hep ayni degerden baslamasin. karistiralim srand(time(0)); //kelimelerimiz arasindan rastgele 1 tane secelim string kelime = kelimeler[rand()%kelimeler.size()]; //oyuncunun tahmini tutacak degisken string tahmin; //cikan harfleri tutacak degisken string cikan; //tahminimizi cizgi karakteri ile dolduralim //ekrana o sekilde yazdirarak kac karakter oldugu hakkinda fikir verecez for (int i = 0; i < kelime.size(); i++) tahmin += '-'; //dar agacimizi cizelim Ciz(0);
//oyuncunun yaptigi tahmini tutacak char karakter = ' '; //hata sayimizi tutacak int hata = 0;
//eger oyuncu kelimeyi bulamadiysa ve hata siniri asmadiysa devam et while ((kelime != tahmin) && (hata < 6)) { //ekranda 20;5 koordinatina git( _ _ _ _ _ için) ekran.X = 20; ekran.Y = 5; SetConsoleCursorPosition(konsol,ekran); //tahmin durumumuzu oraya yazdir. cizgi ve buldugumuz karakterler cout<<tahmin;
cout<<"Cikan Harfler: "<<cikan<<endl; //oyuncudan tahmin iste cout<<"Tahmininiz : "; //oyuncunun tahminini al. 1'den fazla karakter, hatta tum kelimeyi girebilir //her karakter icin dongu tekrarlanacagi icin ayrica kontrol etmeye gerek yok cin>>karakter; //karakteri buyuk harfe cevirelim karakter = toupper(karakter);
// cikan harflere ekleyelim cikan += karakter; //bulunmasi gereken kelimede tahmin ettigimiz harfler var mi kontrolu bool varmi = false; //baslangicta yok sayiyoruz, varsa true yapacaz for (int i = 0; i < kelime.size(); i++) //kelimedeki harfleri tek tek gezelim { if (kelime[i] == karakter) //eger kelimedeki karakter ile tahmin ettigimiz ayni ise var { varmi = true; //buldugumuz icin true, ancak dongu devam edecek, 1'den fazla olabilir ayni harf tahmin.erase(tahmin.begin() + i); //tahminden cizgiyi cikartalim tahmin.insert(tahmin.begin() + i, karakter); //o yere artik buldugumuz karakteri yazalim } } if (!varmi) //eger kullanicinin tahmini dogruysa, hatasini arttirmaya ve yeni cizim yapmaya gerek yok Ciz(++hata); } //buraya gelirse oyun bitti demektir //bitis mesajini yazdirmak icin, ekranda orta bir yere git ekran.X = 20; ekran.Y = 11; SetConsoleCursorPosition(konsol, ekran); //eger hatasi 6 ise kaybetti if (hata == 6) cout<<"KAYBETTINIZ!... "<<"Dogru kelime: "<<kelime;
HANDLE konsol = GetStdHandle(STD_OUTPUT_HANDLE);
Bu kod bloğunda get ve std yi ne için koyduk anlamı nedir ?
COORD ekran;
Ne demek ? Görevi nedir ?
Yardımcı olursanız sevinirim.
< Bu mesaj bu kişi tarafından değiştirildi Fr4nk26 -- 22 Aralık 2016; 21:42:29 >