Popularna gra: Szubienica! Polega na tym, że komputer losuje wyraz z puli wyraz wpisanych w program. My podając litery odgadujemy ten wyraz, zaś kiedy nie ma danej literki w wyrazie to jest to błąd i buduje się szubienica. Koniec gry jest wtedy, gdy odgadniemy wyraz lub zbudujemy całą szubienicę. Można rozbudować program o kategorię (poziomy) zgadywanych wyrazów, np. pierwszy poziom wyrazy 3-literowe, następny poziom 4-literowe, itd.
C++
#include <iostream>
#include <windows.h>
#include <cstdlib>
#include <time.h>
using namespace std;
void error0() {
cout << endl << endl << endl << endl << endl << endl << endl << endl << endl;
}
void error1() {
cout << endl << endl << endl << endl << endl << endl << endl << endl;
cout << "----------------" << endl;
}
void error2() {
cout << endl;
cout << " | " << endl;
cout << " | " << endl;
cout << " | " << endl;
cout << " | " << endl;
cout << " | " << endl;
cout << " | " << endl;
cout << " | " << endl;
cout << "----------------" << endl;
}
void error3() {
cout << " --------------" << endl;
cout << " | " << endl;
cout << " | " << endl;
cout << " | " << endl;
cout << " | " << endl;
cout << " | " << endl;
cout << " | " << endl;
cout << " | " << endl;
cout << "----------------" << endl;
}
void error4() {
cout << " --------------" << endl;
cout << " | |" << endl;
cout << " | " << endl;
cout << " | " << endl;
cout << " | " << endl;
cout << " | " << endl;
cout << " | " << endl;
cout << " | " << endl;
cout << "----------------" << endl;
}
void error5() {
cout << " -------------- " << endl;
cout << " | | " << endl;
cout << " | ( ) " << endl;
cout << " | | " << endl;
cout << " | /|\\ " << endl;
cout << " | | " << endl;
cout << " | / \\ " << endl;
cout << " | " << endl;
cout << "---------------- " << endl;
}
void start(int i) {
cout << " GRA SZUBIENICA" << endl;
cout << " POZIOM " << i+1 << endl << endl;
}
void koniec(int i) {
cout << " KONIEC GRY. " << endl;
cout << " POZIOM: " << i << endl;
}
int main()
{
// baza wyrazow do gry
string level[4][3] = {
{"los", "dom", "raz"},
{"kran", "gram", "stop"},
{"hamak", "klasa", "obraz"},
{"garnek","rozkaz","krawat"}
};
// losowanie wyrazu
int poziom = 0;
int error = 0;
do {
srand(time(NULL));
int los = rand()%3;
string wyraz = level[poziom][los];
string szukany_wyraz;
for (int i=0; i<level[poziom][los].length(); i++)
szukany_wyraz += "-";
do {
system("cls");
start(poziom);
if (error==0) error0();
if (error==1) error1();
if (error==2) error2();
if (error==3) error3();
if (error==4) error4();
if (error==5) {
error5();
break;
}
bool zmienna = true;
cout << szukany_wyraz << endl;
cout << "podaj litere: ";
char litera;
cin >> litera;
for (int x=0; x<wyraz.length(); x++)
if (litera == wyraz[x]) {
szukany_wyraz[x] = litera;
zmienna = false;
}
if (zmienna) error++;
cout << szukany_wyraz << endl;
} while (szukany_wyraz!=wyraz);
if (szukany_wyraz==wyraz) {
system("cls");
cout << " WYGRANA!!!" << endl;
poziom++;
if (poziom == 4) {
koniec(poziom);
break;
}
} else {
system("cls");
koniec(poziom);
error5();
cout << " PRZEGRANA!!!" << endl;
break;
}
} while (poziom < 5);
return 0;
}
JAVA