WISIELEC - gra w zgadywanie wyrazu:
Opis gry.
- Wyraz do odgadnięcia jest losowany ze słownika z dostępnymi wyrazami.
- Na początku zamiast każdej litery jest *.
- W kolejnym roku podajesz literę i jeśli jest ona w wyrazie, to na odpowiednich miejscach zamiast * pojawia się ta litera.
- Jeśli podanej litery nie ma w wyrazie, to zmniejsza się ilość możliwych pomyłek i dorysowuje się kolejny fragment szubienicy.
- Koniec gry jest, gdy wyraz zostanie odgadnięty (WYGRANA), lub gdy zgadyjący "zawiśnie" na szubienicy (PRZEGRANA).
Przykładowy kod programu:
#include <iostream> #include <cstdlib> #include <ctime> #include <cmath> using namespace std; const string w0="\ ============="; const string w1="\ | \n\ | \n\ | \n\ | \n\ | \n\ | \n\ | \n\ ============="; const string w2="\ +========+ \n\ | \n\ | \n\ | \n\ | \n\ | \n\ | \n\ | \n\ ============="; const string w3="\ +========+ \n\ | | \n\ | \n\ | \n\ | \n\ | \n\ | \n\ | \n\ ============="; const string w4="\ +========+ \n\ | | \n\ | | \n\ | \n\ | \n\ | \n\ | \n\ | \n\ ============="; const string w5="\ +========+ \n\ | | \n\ | | \n\ | O \n\ | \n\ | \n\ | \n\ | \n\ ============="; const string w6="\ +========+ \n\ | | \n\ | | \n\ | O \n\ | | \n\ | \n\ | \n\ | \n\ ============="; const string w7="\ +========+ \n\ | | \n\ | | \n\ | O \n\ | /| \n\ | \n\ | \n\ | \n\ ============="; const string w8="\ +========+ \n\ | | \n\ | | \n\ | O \n\ | /|\\ \n\ | \n\ | \n\ | \n\ ============="; const string w9="\ +========+ \n\ | | \n\ | | \n\ | O \n\ | /|\\ \n\ | / \n\ | \n\ | \n\ ============="; const string w10="\ +========+ \n\ | | \n\ | | \n\ | O \n\ | /|\\ \n\ | / \\ \n\ | \n\ | \n\ ============="; int main(){ srand(time(NULL)); string wisielec[]={w0, w1, w2, w3, w4, w5, w6, w7, w8, w9, w10}; string slownik[8]={"biedronka", "wisielec", "informatyka", "matematyka", "programowanie", "katastrofa", "liceum", "kalambury"}; string haslo=slownik[rand()%8]; string odgadywane(haslo.length(),'*'); // wypełnienie znakami * bool jest=true; int zleProby=0; char litera; // podawana litera int i; cout << "Zgaduj wyraz!! Mozesz podac zla litere co najwyzej 11 razy. Potem wisisz :(\n"; cout << "==========================================================================="; while((odgadywane!=haslo) && zleProby<=10){ jest=false; cout << "\n\nZGADNIJ WYRAZ: " << odgadywane << endl; cout << "ilosc blednych prob: " << zleProby << endl; cout << "dostepne proby: " << 11-zleProby << endl; cout << "podaj litere: "; cin >> litera; for(i=0; i<haslo.length(); i++){ if(haslo[i]==litera) { odgadywane[i]=litera; jest=true; } } if(jest==false) { cout << wisielec[zleProby]; zleProby++; } } cout << "\n\n=========================================================\n"; if(haslo==odgadywane) cout << "Gratulacje - haslo to: " << odgadywane; else cout << "WISISZ :( Haslo nie zostalo odgadniete :("; return 0; }
Wykorzystanie kodów:
- Powyższy kod można wykorzystać w środowisku Dev C++ lub innym. Wystarczy utworzyć nowy projekt i wkleić ten kod zamiast istniejącego.
- Można też użyć kodu na jednej ze stron WWW z kompilatorami on-line, na przykład na stronie: www.cpp.sh