loja_random.cpp

Shkarkuar 571 herë. Ngarkuar më Mars 2010

loje
random
rand
srand
c++
cpp
Shkarko Kthehu ne C++
/**
 * Loje ne c++ e cila krijon nje numer te rastesishem
 * dhe perdoruesi duhet ta gjeje ate me sa me pak prova
 *
 * @author Emirald Mateli
 */

#include <iostream>
#include <ctime>

using namespace std;

/**
 * Kthen nje numer te rastesishem nga lo deri te hi
 *
 * @param int lo numri minimal
 * @param int hi numri maksimal
 * @return int numri i rastesishem
 */
int get_random_number(int lo, int hi)
{
    return lo+++ (rand() % hi);
}

int main()
{
    // Inicializohet fara (seed) e qe prodhon
    // numrat e rastesishem
    srand((unsigned)time(0));

    // ans do te ruaje pergjigjen e perdoruesit
    // the_number do te jete numri i cili do gjendet
    // max_range do jete numri maksimal qe the_number do mund te kete
    // tries eshte numri i provave te bera
    int ans,the_number, max_range, tries;
	
	tries = 0;


    cout << "Mireseerdhet ne \"Po e gjete fiton\"\nTek ne ti loz e fiton por edhe po s'fitove te pakten loze!\n";
    cout << "Shtyp nje numer (1-3) per te zgjedhur veshtiresine\n\n";
    cout << "\t1: Pertac (1-30)\n\t2: Fallxhor (1-100)\n\t3: Nostradamus (1-200)\n";

    cout << "\nPergjigju tani, ose hesht pergjithmone : ";
    // Lexojme pergjigjen e perdoruesit
    cin >> ans;
    cout << endl;

    // Kontrollojme pergjigjen
    switch(ans)
    {
        case 1: max_range = 30;
                cout <<"\t===_PERTAC_===";  break;

        case 2: max_range = 100;
                cout <<"\t===_FALLXHOR_==="; break;

        case 3: max_range = 200;
                cout <<"\t===_NOSTRADAMUS_===\nHallal plako!"; break;

        default:
            cout << "Ia fute kot tani, po e marr si fillestar.";
            max_range = 30;
            cout <<"\t===_PERTAC_===";
    }

    cout << endl;

    // Prodhojme nje numer te rastesishem nga 1
    // deri te max_range e cila do ndryshoje ne baze te veshtiresise
    the_number = get_random_number(1, max_range);

    // Loop infinit
    // Na duhet qe perdoruesi te kete sa prova
    // te doje
    for(;;)
    {
        // Lexojme nje pergjigje tjeter
        cout << "Jep nje numer : ";
        cin >> ans;

        // Nese e ka gjetur afishojme mesazhin e suksesit
        if (ans == the_number)
        {
            cout << "\n\nTi fitove kete loje! Sapo shpetove boten dhe princeshen nga dragoi i keq\n";
            cout << "Ti ia fute kot " << tries << " here. E turpshme!\n";

            system("pause");
            return 0;
        }
        else
        // Numer me i madh ose me i vogel
        // afishojme mesazhin perkates
        // dhe rrisim numrin e provave
        // te deshtuara
        if (ans > the_number)
        {
            cout << "Na duhet nje numer me i vogel\n";
            tries++;
        }
        else
        {
            cout << "Na duhet nje numer me i madh\n";
            tries++;
        }
    }

    return 0;
}