Gra w zgadywanie wyrazu (populany wisielec)

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