Untitled

mail@pastecode.io avatar
unknown
plain_text
18 days ago
3.9 kB
2
Indexable
Never
#include <iostream>

using namespace std;

char katrori[9] = {'0', '1', '2', '3', '4', '5', '6', '7', '8'};
int fitoret_lojtari1 = 0;
int fitoret_lojtari2 = 0;

int checkwin() {
    if (katrori[0] == katrori[1] && katrori[1] == katrori[2]) {
        return (katrori[0] == 'X') ? 1 : 2;
    }
    if (katrori[3] == katrori[4] && katrori[4] == katrori[5]) {
        return (katrori[3] == 'X') ? 1 : 2;
    }
    if (katrori[6] == katrori[7] && katrori[7] == katrori[8]) {
        return (katrori[6] == 'X') ? 1 : 2;
    }
    if (katrori[0] == katrori[3] && katrori[3] == katrori[6]) {
        return (katrori[0] == 'X') ? 1 : 2;
    }
    if (katrori[1] == katrori[4] && katrori[4] == katrori[7]) {
        return (katrori[1] == 'X') ? 1 : 2;
    }
    if (katrori[2] == katrori[5] && katrori[5] == katrori[8]) {
        return (katrori[2] == 'X') ? 1 : 2;
    }
    if (katrori[0] == katrori[4] && katrori[4] == katrori[8]) {
        return (katrori[0] == 'X') ? 1 : 2;
    }
    if (katrori[2] == katrori[4] && katrori[4] == katrori[6]) {
        return (katrori[2] == 'X') ? 1 : 2;
    }
    return 0; // No nuk ka fitues
}

void pozicioni(int lojtari, int kutia_perkatese) {
    if (kutia_perkatese < 0 || kutia_perkatese >= 9 || katrori[kutia_perkatese] == 'X' || katrori[kutia_perkatese] == 'O') {
        cout << "Ky eshte nje pozicion i gabuar" << endl;
        return;
    }

    katrori[kutia_perkatese] = (lojtari == 1) ? 'X' : 'O';
}

void shfaqja() {
    for (int i = 0; i < 9; i++) {
        cout << katrori[i] << "\t";
        if (i == 2 || i == 5 || i == 8)
            cout << "\n";
    }
}

void displayLeaderboard() {
    cout << "\nTabela e fitoreve:" << endl;
    cout << "Lojtari 1 (X): " << fitoret_lojtari1 << " fiton" << endl;
    cout << "Lojtari 2 (O): " << fitoret_lojtari2 << " fiton" << endl;
}

int main() {
    int kutia_perkatese, rezultati = 0, flag = 0;
    int total_games = 0;

    while ( fitoret_lojtari1< 15 && fitoret_lojtari2 < 15) {
        // Reset-i i tabeles se fitoreve
        for (int i = 0; i < 9; i++) {
            katrori[i] = '0' + i;
        }

        cout << "Po fillon nje loje e re" << endl;

        for (int i = 0; i < 5; i++) {
            // Rradha e lojtarit 1 qe te luaje
            cout << "\nLojetari 1 (X) - Vendos numrin e kutise  ku do te vendosesh X: ";
            cin >> kutia_perkatese;
            pozicioni(1, kutia_perkatese);
            shfaqja();
            // fitore per lojtarin1 
            rezultati = checkwin();
            if (rezultati == 1) {
                cout << "\nUrime! Lojtari 1 (X) fiton lojen!";
                fitoret_lojtari1++;
                flag = 1;
                break;
            }
            if (rezultati == 2) {
                cout << "\nUrime! Lojtari 2 (O) ka fituar lojen!";
                fitoret_lojtari2++;
                flag = 1;
                break;
            }

            // Rradha e lojtarit2
            cout << "\nLojtari 2 (O) - Vendos numrin e kutise  ku do te vendosesh O: ";
            cin >> kutia_perkatese;
            pozicioni(2, kutia_perkatese);
            shfaqja();

            rezultati = checkwin();
            if (rezultati == 1) {
                cout << "\nUrime! Lojtari 1 (X) ka fituar lojen!";
                fitoret_lojtari1++;
                flag = 1;
                break;
            }
            if (rezultati == 2) {
                cout << "\nUrime! Lojtari 2 (O) ka fituar lojen!";
                fitoret_lojtari2++;
                flag = 1;
                break;
            }
        }
        
        if (flag == 0) {
            cout << "\nNuk ka fituar asnje lojtar!";
        }

        displayLeaderboard();
        total_games++;
        flag = 0; // Reset-i i fitoreve per rradhen tjeter
    }

    cout << "\nGame over! Rezultati final:" << endl;
    displayLeaderboard();

    return 0;
}
Leave a Comment