codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
#include <iostream> #include <array> #include <string> #include <ctime> #include <cstdlib> #include <algorithm> using namespace std; bool open_char(const string& s, string& temp, string& ch, int& shtraf) { if (ch == "0") { shtraf = 10; return false; } bool flag = true; if (s.length() > 1 && s == ch) { return true; } else if (ch.length() == 1) { for (size_t i = 0; i < s.length(); i++) { if (s[i] == ch[0]) { temp[i] = ch[0]; flag = false; } } } if (flag) shtraf++; bool open = false; return open = temp == s; } bool ugadaika(const string &s, string &temp, int& shtraf) { if (shtraf > 9) return false; cout << temp << "\tSHTRAF == " << shtraf << "\n"; string my_word; getline(cin, my_word); if (!open_char(s, temp, my_word, shtraf)) { ugadaika(s, temp, shtraf); } else { shtraf -= 5; if (shtraf < 0) shtraf = 0; cout << "word is open!!! (" << s << ")\n"; } return true; } void replace_str(string&s, const char& ch = '.') { for (size_t i = 0; i < s.length(); i++) s[i] = ch; } bool get_word(const string& word, string temp, int &shtraf) { if (temp.empty()) { temp = word; replace_str(temp); } if (shtraf > 9) return false; return ugadaika(word, temp, shtraf); } int main() { srand(time(0)); int num_word = rand() % 20; array<string, 20> a{ "arbuz","moskwa","reka","pila","dom", "gore","luk","mahina","palma","sila", "lampa","sok","sufle","begemot","znak", "polotno","molot","lopata","grib","son" }; random_shuffle(a.begin(), a.end()); size_t i = 0; int shtraf = 0; string temp; while (i < 20 && shtraf < 10) { cout << "progress " << i + 1 << "//" << 20 << "\n"; get_word(a[i], temp, shtraf); cout << "\n===============================\n\n"; i++; } if (i == 20) { cout << "POZDRAVLAEM!!!! ALL WORDS OPENED!!!!\n"; } else { cout << "WORDS OPENED " << i - 1 << " GAME OVER\n"; } system("PAUSE"); }
Private
[
?
]
Run code
Submit