Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Rekomendowane odpowiedzi

Opublikowano

Witam zwracam się z uprzejmą prośbą o poprawę mojego projektu. Program ładnie działa kompiluje się i wszystko jest ogólnie w porządku potrzebuję jednak przerobić go aby na początku gry gracz miał możliwość wyboru czy chce grać o czy x bardzo proszę o pomoc. Z góry dziękuję

 

#include <iostream>

 

using namespace std;

 

// Funkcja rysuje planszę gry w kółko i krzyżyk

//---------------------------------------------

void plansza(char t[])

{

for(int i = 1; i <= 9; i++)

{

cout << " " << t << " ";

if(i % 3)

cout << "|";

else if(i != 9)

cout << "\n---+---+---\n";

else cout << endl;

}

}

 

// Funkcja zwraca true, jeśli nastąpiła

// wygrana danego zawodnika

//-------------------------------------

bool wygrana(char t[], char g)

{

bool test;

int i;

 

test = false;

for(i = 1; i <= 7; i += 3)

test |= ((t == g) && (t[i+1] == g) && (t[i+2] == g));

for(i = 1; i <= 3; i++)

test |= ((t == g) && (t[i+3] == g) && (t[i+6] == g));

test |= ((t[1] == g) && (t[5] == g) && (t[9] == g));

test |= ((t[3] == g) && (t[5] == g) && (t[7] == g));

if(test)

{

plansza(t);

cout << "\nGRACZ " << g << " WYGRYWA!!!\n\n";

return true;

}

return false;

}

 

// Funkcja zwraca true, jeśli na planszy nie ma już

// żadnego wolnego pola na ruch.

//-------------------------------------------------

bool remis(char t[])

{

for(int i = 1; i <= 9; i++)

if(t == ' ') return false;

plansza(t);

cout << "\nREMIS !!!\n\n";

return true;

}

 

// Funkcja umożliwia ruch gracza

// Po ruchu następuje zamiana gracza

//------------------------------------

void ruch(char t[], char &gracz)

{

int z,r;

 

plansza(t);

gracz=(z=='x') ? false : true;

cout << "\nGRACZ " << gracz << " : Twoj ruch : ";

cin >> r;

cout << "-----------------------\n\n";

if((r >= 1) && (r <= 9) && (t[r] == ' ')) t[r] = gracz;

gracz = (gracz == 'X') ? 'X' : 'O';

}

 

main()

{

char p[10],g,w,z;

 

do

{

cout << "Gra w Kolko i Krzyzyk dla dwoch graczy\n"

"======================================\n\n";

for(int i = 1; i <= 9; i++) p = ' ';

g = z;

while(!wygrana(p,'X') && !wygrana(p,'O') && !remis(p)) ruch(p,g);

cout << "Jeszcze raz ? (T = TAK) : ";

cin >> w;

cout << "\n\n\n";

} while((w == 'T') || (w == 't'));

}

×
×
  • Dodaj nową pozycję...