//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.
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.
< Bu mesaj bu kişi tarafından değiştirildi Fr4nk26 -- 22 Aralık 2016; 21:42:29 >