Advertisement
Guest User

Untitled

a guest
May 22nd, 2019
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 68.61 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. #include <windows.h>
  3.  
  4. using namespace std;
  5.  
  6. void pos(short C, short R)
  7. {
  8. COORD xy ;
  9. xy.X = C ;
  10. xy.Y = R ;
  11. SetConsoleCursorPosition(
  12. GetStdHandle(STD_OUTPUT_HANDLE), xy);
  13. }
  14. void cls()
  15. {
  16. pos(0,0);
  17. for(int j=0; j<100; j++)
  18. cout << string(100, ' ');
  19. pos(0,0);
  20. }
  21.  
  22. class TicTacToe
  23. {
  24. private:
  25. string **remiza;
  26. char **sfarsitjoc;
  27.  
  28. public:
  29. int n;
  30. char **a;
  31. char jucator, calculator;
  32.  
  33. TicTacToe(int dim)
  34. {
  35. n = dim;
  36. a = new char*[n];
  37. for(int i = 0; i < n; i++)
  38. {
  39. a[i] = new char[n];
  40. for(int j = 0; j < n; j++)
  41. a[i][j] = ' ';
  42. }
  43.  
  44. remiza = new string*[50];
  45. for(int i = 0; i < 50; i++)
  46. remiza[i] = new string[50];
  47. }
  48.  
  49.  
  50.  
  51. void AsteaptaNSecunde(int secunde);
  52.  
  53.  
  54. void AfisareBineAiVenit();
  55.  
  56. void AfisareTabla();
  57.  
  58. void AfisarePozitii();
  59.  
  60. void AfisareMesajeRemiza();
  61.  
  62. void AfisareMesajeSfarsitJoc();
  63.  
  64.  
  65. void InstructiuniDeInceput();
  66.  
  67. void DateGresite();
  68.  
  69. void AlegereJucator();
  70.  
  71. int AlegereOrdine();
  72.  
  73. void VerificarePozitiiGresite(int i, int j);
  74.  
  75.  
  76. void Muchie12(); ///Dupa PrimaMutareCalculatorMijloc
  77. void Muchie23(); ///Dupa PrimaMutareCalculatorMijloc
  78. void Muchie32(); ///Dupa PrimaMutareCalculatorMijloc
  79. void Muchie21(); ///Dupa PrimaMutareCalculatorMijloc
  80.  
  81. void Colt11(); ///Dupa PrimaMutareCalculatorMijloc
  82. void Colt13(); ///Dupa PrimaMutareCalculatorMijloc
  83. void Colt33(); ///Dupa PrimaMutareCalculatorMijloc
  84. void Colt31(); ///Dupa PrimaMutareCalculatorMijloc
  85.  
  86. void PrimaMutareCalculatorMijloc();
  87.  
  88.  
  89. void MIJLOC_ADouaMutareJucatorMuchie12();
  90. void MIJLOC_ADouaMutareJucatorMuchie23();
  91. void MIJLOC_ADouaMutareJucatorMuchie32();
  92. void MIJLOC_ADouaMutareJucatorMuchie21();
  93.  
  94. void MIJLOC_ADouaMutareJucatorColt11();
  95. void MIJLOC_ADouaMutareJucatorColt13();
  96. void MIJLOC_ADouaMutareJucatorColt31();
  97.  
  98. void PrimaMutareJucatorMIJLOC();
  99.  
  100.  
  101. void PrimaMutareJucatorMuchie();
  102. void PrimaMutareJucatorColt();
  103. };
  104.  
  105. int main()
  106. {
  107. TicTacToe joc(3);
  108. joc.AfisareBineAiVenit();
  109.  
  110. ///joc.Initializare(3);
  111. joc.InstructiuniDeInceput();
  112. joc.AlegereJucator();
  113. if(joc.AlegereOrdine() == 1)
  114. joc.PrimaMutareCalculatorMijloc(); ///calculator muta primul
  115. else ///jucator muta primul
  116. {
  117. int x,y;
  118. cls();
  119. joc.AfisareTabla();
  120. cout<<"\nCare este prima ta mutare? \n\n";
  121. cin>>x>>y;
  122. joc.VerificarePozitiiGresite(x,y);
  123. joc.a[x-1][y-1] = joc.jucator;
  124. joc.AfisareTabla();
  125.  
  126. if(x == 2 && y == 2)
  127. joc.PrimaMutareJucatorMIJLOC();
  128. else if((x + y) % 2 == 1)
  129. joc.PrimaMutareJucatorMuchie();
  130. else
  131. joc.PrimaMutareJucatorColt();
  132. }
  133.  
  134. return 0;
  135. }
  136.  
  137. inline void TicTacToe :: AsteaptaNSecunde(int secunde)
  138. {
  139. int limita;
  140. time_t now;
  141. now = time(0);
  142. limita = now + secunde;
  143.  
  144. while(now < limita)
  145. now = time(0);
  146. }
  147.  
  148. /**inline void TicTacToe :: Initializare(int dim)
  149. {
  150. n = dim;
  151. a = new char*[n];
  152. for(int i = 0; i < n; i++)
  153. a[i] = new char[n];
  154. }*/
  155.  
  156.  
  157. inline void TicTacToe :: AfisareBineAiVenit()
  158. {
  159. cout<<"\n\n";
  160. cout<<" ____ ____ _ __ ______ ___ ____ _ __ ______ _ __ ____ ______ __\n";
  161. cout<<" / __ ) / _/ / | / / / ____/ / | / _/ | | / / / ____/ / | / / / _/ /_ __/ / /\n";
  162. cout<<" / __ | / / / |/ / / __/ / /| | / / | | / / / __/ / |/ / / / / / / / \n";
  163. cout<<" / /_/ / _/ / / /| / / /___ / ___ | _/ / | |/ / / /___ / /| / _/ / / / /_/ \n";
  164. cout<<"/_____/ /___/ /_/ |_/ /_____/ /_/ |_|/___/ |___/ /_____/ /_/ |_/ /___/ /_/ (_) \n";
  165. cout<<"\n";
  166.  
  167. AsteaptaNSecunde(4);
  168. cls();
  169. }
  170.  
  171. inline void TicTacToe :: AfisareTabla()
  172. {
  173. cout<<"\n";
  174. cout<<"\t | | \n";
  175. cout<<"\t "<<a[0][0]<<" | "<<a[0][1]<<" | "<<a[0][2]<<"\n";
  176. cout<<"\t_____|_____|_____\n";
  177. cout<<"\t | | \n";
  178. cout<<"\t "<<a[1][0]<<" | "<<a[1][1]<<" | "<<a[1][2]<<"\n";
  179. cout<<"\t_____|_____|_____\n";
  180. cout<<"\t | | \n";
  181. cout<<"\t "<<a[2][0]<<" | "<<a[2][1]<<" | "<<a[2][2]<<"\n";
  182. cout<<"\t | | \n\n";
  183. }
  184.  
  185. inline void TicTacToe :: AfisarePozitii()
  186. {
  187. cout<<"\n";
  188. cout<<"\t | | \n";
  189. cout<<"\t 1 1 | 1 2 | 1 3 \n";
  190. cout<<"\t_____|_____|_____\n";
  191. cout<<"\t | | \n";
  192. cout<<"\t 2 1 | 2 2 | 2 3 \n";
  193. cout<<"\t_____|_____|_____\n";
  194. cout<<"\t | | \n";
  195. cout<<"\t 3 1 | 3 2 | 3 3 \n";
  196. cout<<"\t | | \n\n";
  197. }
  198.  
  199. inline void TicTacToe :: AfisareMesajeRemiza()
  200. {
  201.  
  202. }
  203.  
  204. inline void TicTacToe :: AfisareMesajeSfarsitJoc()
  205. {
  206.  
  207. }
  208.  
  209.  
  210. inline void TicTacToe :: InstructiuniDeInceput()
  211. {
  212. cout<<"\n";
  213. cout<<"X si O este un joc pentru doi jucatori, X respectiv O, \n";
  214. cout<<"care marcheaza pe rand cate o casuta dintr-un tabel cu \n";
  215. cout<<"3 linii si 3 coloane. Jucatorul care reuseste primul sa \n";
  216. cout<<"marcheze 3 casute adiacente pe orizontala, verticala \n";
  217. cout<<"sau diagonala castiga jocul. \n\n";
  218.  
  219. cout<<"Asa arata tabla pe care vei juca astazi: \n";
  220. AfisareTabla();
  221. cout<<" \n";
  222.  
  223. cout<<"Pentru a marca un patrat, trebuie sa introduci \n";
  224. cout<<"pozitia corespunzatoare patratului pe care vrei\n";
  225. cout<<"sa il marchezi. \n";
  226. cout<<"Acestea sunt pozitiile patratelor tablii de joc: \n";
  227. AfisarePozitii();
  228.  
  229. cout<<"De exemplu, daca introduci pozitia 2 3 \n";
  230. cout<<"tabla de joc va arata asa dupa marcare: \n";
  231. a[1][2] = 'X';
  232. AfisareTabla();
  233. a[1][2] = ' ';
  234. cout<<" \n";
  235.  
  236. cout<<"ATENTIE! Pozitiile vor fi introduse ca doua numere \n";
  237. cout<<"separate prin spatiu. Orice alt mod de introducere a \n";
  238. cout<<"datelor nu va fi luat in considerare!\n";
  239. cout<<"exemplu: 2 3 sau 3 1 si nu 2,3 sau 3;1\n";
  240. cout<<" \n";
  241.  
  242. cout<<"Sa incepem! Scrie X daca vrei sa fii juatorul care \n";
  243. cout<<"va folsi X sau scrie O in caz contrar. \n";
  244. cout<<" \n";
  245. }
  246.  
  247. inline void TicTacToe :: DateGresite()
  248. {
  249. cout<<"\n\nDATE DE INTRARE GRESITE!\n\n";
  250. exit(0);
  251. }
  252.  
  253. inline void TicTacToe :: AlegereJucator()
  254. {
  255. /// daca pune "X asd" nu e bine ca mai citesc chestii dupa :(
  256. char c[2];
  257. cin>>c;
  258. if(c[1] != NULL)
  259. DateGresite();
  260. if(c[0] == 'X' || c[0] == 'x')
  261. {
  262. jucator = 'X';
  263. calculator = 'O';
  264. }
  265. else if(c[0] == 'O' || c[0] == 'o')
  266. {
  267. jucator = 'O';
  268. calculator = 'X';
  269. }
  270. else
  271. DateGresite();
  272. cout<<" \n";
  273. }
  274.  
  275. inline int TicTacToe :: AlegereOrdine()
  276. {
  277. /// daca pune "DA asd" nu e bine ca mai citesc chestii dupa :(
  278. cout<<"Vrei sa fii primul care marcheaza? ( Raspuns: DA / NU )\n\n";
  279. char c[5];
  280. cin>>c;
  281. cout<<"\n";
  282. if((c[0] == 'D' || c[0] == 'd') && (c[1] == 'A' || c[1] == 'a'))
  283. return 0;
  284. else if((c[0] == 'N' || c[0] == 'n') && (c[1] == 'U' || c[1] == 'u'))
  285. return 1;
  286. else
  287. DateGresite();
  288. return 1;
  289. }
  290.  
  291. inline void TicTacToe :: VerificarePozitiiGresite(int i, int j)
  292. {
  293. if(i < 1 || j < 1 || i > n || j > n)
  294. {
  295. cout<<"\nPatratul de la pozitia "<<i<<" "<<j<<" nu se afla pe tabla de joc!\n";
  296. cout<<"Pentru ca ai incercat sa fentezi sistemul vei fi penalizat cu un joc pierdut!\n";
  297. cout<<"Chiar daca nu ai avut intentii rele, tot esti penalizat pentru ca nu ai fost atent!\n\n";
  298. cout<<"------------------- SFARSIT JOC! -------------------";
  299. exit(0);
  300. }
  301. else if(a[i-1][j-1] == 'X' || a[i-1][j-1] == 'O')
  302. {
  303. cout<<"\nPatratul de la pozitia "<<i<<" "<<j<<" este deja ocupat!\n";
  304. cout<<"Pentru ca ai incercat sa fentezi sistemul vei fi penalizat cu un joc pierdut!\n";
  305. cout<<"Chiar daca nu ai avut intentii rele, tot esti penalizat pentru ca nu ai fost atent!\n\n";
  306. cout<<"------------------- SFARSIT JOC! -------------------";
  307. exit(0);
  308. }
  309. }
  310.  
  311.  
  312. inline void TicTacToe :: Muchie12() ///Dupa Prima Mutare Calculator Mijloc
  313. {
  314. int x,y;
  315.  
  316. a[0][2] = calculator;
  317. cls();
  318. AfisareTabla();
  319. cout<<"\nE randul tau! \n\n";
  320.  
  321. cin>>x>>y;
  322. VerificarePozitiiGresite(x,y);
  323. a[x-1][y-1] = jucator;
  324. cls();
  325. AfisareTabla();
  326.  
  327. if(x != 3 || y != 1)
  328. {
  329. a[2][0] = calculator;
  330. cls(); AfisareTabla();
  331. cout<<"\nAi pierdut!\n\n";
  332. cout<<"------------------- SFARSIT JOC! -------------------";
  333. exit(0);
  334. }
  335.  
  336. a[2][2] = calculator;
  337. cls(); AfisareTabla();
  338. cout<<"\nE randul tau! \n\n";
  339.  
  340. cin>>x>>y;
  341. VerificarePozitiiGresite(x,y);
  342. a[x-1][y-1] = jucator;
  343. cls(); AfisareTabla();
  344. cout<<"\nMuta calculatorul: \n\n";
  345.  
  346. if(x == 1 && y == 1)
  347. {
  348. a[1][2] = calculator;
  349. cls(); AfisareTabla();
  350. cout<<"\nAi pierdut!\n\n";
  351. cout<<"------------------- SFARSIT JOC! -------------------";
  352. exit(0);
  353. }
  354. if(x == 2 && y == 2)
  355. {
  356. a[0][0] = calculator;
  357. cls(); AfisareTabla();
  358. cout<<"\nAi pierdut!\n\n";
  359. cout<<"------------------- SFARSIT JOC! -------------------";
  360. exit(0);
  361. }
  362. a[0][0] = calculator;
  363. cls(); AfisareTabla();
  364. cout<<"\nAi pierdut!\n\n";
  365. cout<<"------------------- SFARSIT JOC! -------------------";
  366. exit(0);
  367. }
  368.  
  369. inline void TicTacToe :: Muchie23() ///Dupa Prima Mutare Calculator Mijloc
  370. {
  371. int x,y;
  372.  
  373. a[2][2] = calculator;
  374. cls();
  375. AfisareTabla();
  376. cout<<"\nE randul tau! \n\n";
  377.  
  378. cin>>x>>y;
  379. VerificarePozitiiGresite(x,y);
  380. a[x-1][y-1] = jucator;
  381. cls();
  382. AfisareTabla();
  383.  
  384. if(x != 1 || y != 1)
  385. {
  386. a[0][0] = calculator;
  387. cls(); AfisareTabla();
  388. cout<<"\nAi pierdut!\n\n";
  389. cout<<"------------------- SFARSIT JOC! -------------------";
  390. exit(0);
  391. }
  392.  
  393. a[2][0] = calculator;
  394. cls();
  395. AfisareTabla();
  396. cout<<"\nE randul tau! \n\n";
  397.  
  398. cin>>x>>y;
  399. VerificarePozitiiGresite(x,y);
  400. a[x-1][y-1] = jucator;
  401. cls();
  402. AfisareTabla();
  403.  
  404. if(x == 1 && y == 3)
  405. {
  406. a[2][1] = calculator;
  407. cls(); AfisareTabla();
  408. cout<<"\nAi pierdut!\n\n";
  409. cout<<"------------------- SFARSIT JOC! -------------------";
  410. exit(0);
  411. }
  412. if(x == 2 && y == 1)
  413. {
  414. a[0][2] = calculator;
  415. cls(); AfisareTabla();
  416. cout<<"\nAi pierdut!\n\n";
  417. cout<<"------------------- SFARSIT JOC! -------------------";
  418. exit(0);
  419. }
  420. a[0][2] = calculator;
  421. cls(); AfisareTabla();
  422. cout<<"\nAi pierdut!\n\n";
  423. cout<<"------------------- SFARSIT JOC! -------------------";
  424. exit(0);
  425. }
  426.  
  427. inline void TicTacToe :: Muchie32() ///Dupa Prima Mutare Calculator Mijloc
  428. {
  429. int x,y;
  430.  
  431. a[2][0] = calculator;
  432. cls();
  433. AfisareTabla();
  434. cout<<"\nE randul tau! \n\n";
  435.  
  436. cin>>x>>y;
  437. VerificarePozitiiGresite(x,y);
  438. a[x-1][y-1] = jucator;
  439. cls();
  440. AfisareTabla();
  441.  
  442. if(x != 1 || y != 3)
  443. {
  444. a[0][2] = calculator;
  445. cls(); AfisareTabla();
  446. cout<<"\nAi pierdut!\n\n";
  447. cout<<"------------------- SFARSIT JOC! -------------------";
  448. exit(0);
  449. }
  450.  
  451. a[0][0] = calculator;
  452. cls();
  453. AfisareTabla();
  454. cout<<"\nE randul tau! \n\n";
  455.  
  456. cin>>x>>y;
  457. VerificarePozitiiGresite(x,y);
  458. a[x-1][y-1] = jucator;
  459. cls();
  460. AfisareTabla();
  461.  
  462. if(x == 2 && y == 1)
  463. {
  464. a[2][2] = calculator;
  465. cls(); AfisareTabla();
  466. cout<<"\nAi pierdut!\n\n";
  467. cout<<"------------------- SFARSIT JOC! -------------------";
  468. exit(0);
  469. }
  470. if(x == 3 && y == 3)
  471. {
  472. a[1][0] = calculator;
  473. cls(); AfisareTabla();
  474. cout<<"\nAi pierdut!\n\n";
  475. cout<<"------------------- SFARSIT JOC! -------------------";
  476. exit(0);
  477. }
  478. a[1][0] = calculator;
  479. cls(); AfisareTabla();
  480. cout<<"\nAi pierdut!\n\n";
  481. cout<<"------------------- SFARSIT JOC! -------------------";
  482. exit(0);
  483. }
  484.  
  485. inline void TicTacToe :: Muchie21() ///Dupa Prima Mutare Calculator Mijloc
  486. {
  487. int x,y;
  488.  
  489. a[0][0] = calculator;
  490. cls();
  491. AfisareTabla();
  492. cout<<"\nE randul tau! \n\n";
  493.  
  494. cin>>x>>y;
  495. VerificarePozitiiGresite(x,y);
  496. a[x-1][y-1] = jucator;
  497. cls();
  498. AfisareTabla();
  499.  
  500. if(x != 3 || y != 3)
  501. {
  502. a[2][2] = calculator;
  503. cls(); AfisareTabla();
  504. cout<<"\nAi pierdut!\n\n";
  505. cout<<"------------------- SFARSIT JOC! -------------------";
  506. exit(0);
  507. }
  508.  
  509. a[0][2] = calculator;
  510. cls();
  511. AfisareTabla();
  512. cout<<"\nE randul tau! \n\n";
  513.  
  514. cin>>x>>y;
  515. VerificarePozitiiGresite(x,y);
  516. a[x-1][y-1] = jucator;
  517. cls();
  518. AfisareTabla();
  519.  
  520. if(x == 1 && y == 2)
  521. {
  522. a[2][0] = calculator;
  523. cls(); AfisareTabla();
  524. cout<<"\nAi pierdut!\n\n";
  525. cout<<"------------------- SFARSIT JOC! -------------------";
  526. exit(0);
  527. }
  528. if(x == 3 && y == 1)
  529. {
  530. a[0][1] = calculator;
  531. cls(); AfisareTabla();
  532. cout<<"\nAi pierdut!\n\n";
  533. cout<<"------------------- SFARSIT JOC! -------------------";
  534. exit(0);
  535. }
  536. a[0][1] = calculator;
  537. cls(); AfisareTabla();
  538. cout<<"\nAi pierdut!\n\n";
  539. cout<<"------------------- SFARSIT JOC! -------------------";
  540. exit(0);
  541. }
  542.  
  543.  
  544. inline void TicTacToe :: Colt11() ///Dupa Prima Mutare Calculator Mijloc
  545. {
  546. int x,y;
  547.  
  548. a[2][2] = calculator;
  549. cls();
  550. AfisareTabla();
  551. cout<<"\nE randul tau! \n\n";
  552.  
  553. cin>>x>>y;
  554. VerificarePozitiiGresite(x,y);
  555. a[x-1][y-1] = jucator;
  556. cls();
  557. AfisareTabla();
  558.  
  559. if((x + y) % 2 == 1) ///pune pe muchie
  560. {
  561. if(x == 1 && y == 2) ///sus
  562. {
  563. a[0][2] = calculator;
  564. cls(); AfisareTabla();
  565. cout<<"\nE randul tau! \n\n";
  566.  
  567. cin>>x>>y;
  568. VerificarePozitiiGresite(x,y);
  569. a[x-1][y-1] = jucator;
  570. cls(); AfisareTabla();
  571. cout<<"\nMuta calculatorul: \n\n";
  572.  
  573. if(x == 2 && y == 3)
  574. {
  575. a[2][0] = calculator;
  576. cls(); AfisareTabla();
  577. cout<<"\nAi pierdut!\n\n";
  578. cout<<"------------------- SFARSIT JOC! -------------------";
  579. exit(0);
  580. }
  581. if(x == 3 && y == 1)
  582. {
  583. a[1][2] = calculator;
  584. cls(); AfisareTabla();
  585. cout<<"\nAi pierdut!\n\n";
  586. cout<<"------------------- SFARSIT JOC! -------------------";
  587. exit(0);
  588. }
  589.  
  590. a[1][2] = calculator;
  591. cls(); AfisareTabla();
  592. cout<<"\nAi pierdut!\n\n";
  593. cout<<"------------------- SFARSIT JOC! -------------------";
  594. exit(0);
  595. }
  596.  
  597. if(x == 3 && y == 2) ///jos
  598. {
  599. a[0][2] = calculator;
  600. cls(); AfisareTabla();
  601. cout<<"\nE randul tau! \n\n";
  602.  
  603. cin>>x>>y;
  604. VerificarePozitiiGresite(x,y);
  605. a[x-1][y-1] = jucator;
  606. cls(); AfisareTabla();
  607. cout<<"\nMuta calculatorul: \n\n";
  608.  
  609. if(x == 3 && y == 1)
  610. {
  611. a[1][2] = calculator;
  612. cls(); AfisareTabla();
  613. cout<<"\nAi pierdut!\n\n";
  614. cout<<"------------------- SFARSIT JOC! -------------------";
  615. exit(0);
  616. }
  617. if(x == 2 && y == 3)
  618. {
  619. a[2][0] = calculator;
  620. cls(); AfisareTabla();
  621. cout<<"\nAi pierdut!\n\n";
  622. cout<<"------------------- SFARSIT JOC! -------------------";
  623. exit(0);
  624. }
  625.  
  626. a[1][2] = calculator;
  627. cls(); AfisareTabla();
  628. cout<<"\nAi pierdut!\n\n";
  629. cout<<"------------------- SFARSIT JOC! -------------------";
  630. exit(0);
  631. }
  632.  
  633. if(x == 2 && y == 1) ///stanga
  634. {
  635. a[2][0] = calculator;
  636. cls(); AfisareTabla();
  637. cout<<"\nE randul tau! \n\n";
  638.  
  639. cin>>x>>y;
  640. VerificarePozitiiGresite(x,y);
  641. a[x-1][y-1] = jucator;
  642. cls(); AfisareTabla();
  643. cout<<"\nMuta calculatorul: \n\n";
  644.  
  645. if(x == 1 && y == 3)
  646. {
  647. a[2][1] = calculator;
  648. cls(); AfisareTabla();
  649. cout<<"\nAi pierdut!\n\n";
  650. cout<<"------------------- SFARSIT JOC! -------------------";
  651. exit(0);
  652. }
  653. if(x == 3 && y == 2)
  654. {
  655. a[0][2] = calculator;
  656. cls(); AfisareTabla();
  657. cout<<"\nAi pierdut!\n\n";
  658. cout<<"------------------- SFARSIT JOC! -------------------";
  659. exit(0);
  660. }
  661.  
  662. a[0][2] = calculator;
  663. cls(); AfisareTabla();
  664. cout<<"\nAi pierdut!\n\n";
  665. cout<<"------------------- SFARSIT JOC! -------------------";
  666. exit(0);
  667. }
  668.  
  669. if(x == 2 && y == 3) ///dreapta
  670. {
  671. a[2][0] = calculator;
  672. cls(); AfisareTabla();
  673. cout<<"\nE randul tau! \n\n";
  674.  
  675. cin>>x>>y;
  676. VerificarePozitiiGresite(x,y);
  677. a[x-1][y-1] = jucator;
  678. cls(); AfisareTabla();
  679. cout<<"\nMuta calculatorul: \n\n";
  680.  
  681. if(x == 1 && y == 3)
  682. {
  683. a[2][1] = calculator;
  684. cls(); AfisareTabla();
  685. cout<<"\nAi pierdut!\n\n";
  686. cout<<"------------------- SFARSIT JOC! -------------------";
  687. exit(0);
  688. }
  689. if(x == 3 && y == 2)
  690. {
  691. a[0][2] = calculator;
  692. cls(); AfisareTabla();
  693. cout<<"\nAi pierdut!\n\n";
  694. cout<<"------------------- SFARSIT JOC! -------------------";
  695. exit(0);
  696. }
  697.  
  698. a[0][2] = calculator;
  699. cls(); AfisareTabla();
  700. cout<<"\nAi pierdut!\n\n";
  701. cout<<"------------------- SFARSIT JOC! -------------------";
  702. exit(0);
  703. }
  704. }
  705. else ///pune pe colt
  706. {
  707. if(x == 1 && y == 3) ///dreapta sus
  708. {
  709. a[0][1] = calculator;
  710. cls(); AfisareTabla();
  711. cout<<"\nE randul tau! \n\n";
  712.  
  713. cin>>x>>y;
  714. VerificarePozitiiGresite(x,y);
  715. a[x-1][y-1] = jucator;
  716. cls(); AfisareTabla();
  717. cout<<"\nMuta calculatorul: \n\n";
  718.  
  719. if(x != 3 || y != 2)
  720. {
  721. a[2][1] = calculator;
  722. cls(); AfisareTabla();
  723. cout<<"\nAi pierdut!\n\n";
  724. cout<<"------------------- SFARSIT JOC! -------------------";
  725. exit(0);
  726. }
  727.  
  728. a[1][2] = calculator;
  729. cls(); AfisareTabla();
  730. cout<<"\nE randul tau! \n\n";
  731.  
  732. cin>>x>>y;
  733. VerificarePozitiiGresite(x,y);
  734. a[x-1][y-1] = jucator;
  735. cls(); AfisareTabla();
  736. cout<<"\nMuta calculatorul: \n\n";
  737.  
  738. if(x != 2 || y != 1)
  739. {
  740. a[1][0] = calculator;
  741. cls(); AfisareTabla();
  742. cout<<"\nAi pierdut!\n\n";
  743. cout<<"------------------- SFARSIT JOC! -------------------";
  744. exit(0);
  745. }
  746.  
  747. a[2][0] = calculator;
  748. cls(); AfisareTabla();
  749. cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
  750. cout<<"------------------- SFARSIT JOC! -------------------";
  751. exit(0);
  752. }
  753.  
  754. if(x == 3 && y == 1) ///stanga jos
  755. {
  756. a[1][0] = calculator;
  757. cls(); AfisareTabla();
  758. cout<<"\nE randul tau! \n\n";
  759.  
  760. cin>>x>>y;
  761. VerificarePozitiiGresite(x,y);
  762. a[x-1][y-1] = jucator;
  763. cls(); AfisareTabla();
  764. cout<<"\nMuta calculatorul: \n\n";
  765.  
  766. if(x != 2 || y != 3)
  767. {
  768. a[1][2] = calculator;
  769. cls(); AfisareTabla();
  770. cout<<"\nAi pierdut!\n\n";
  771. cout<<"------------------- SFARSIT JOC! -------------------";
  772. exit(0);
  773. }
  774.  
  775. a[0][1] = calculator;
  776. cls(); AfisareTabla();
  777. cout<<"\nE randul tau! \n\n";
  778.  
  779. cin>>x>>y;
  780. VerificarePozitiiGresite(x,y);
  781. a[x-1][y-1] = jucator;
  782. cls(); AfisareTabla();
  783. cout<<"\nMuta calculatorul: \n\n";
  784.  
  785. if(x != 3 || y != 2)
  786. {
  787. a[2][1] = calculator;
  788. cls(); AfisareTabla();
  789. cout<<"\nAi pierdut!\n\n";
  790. cout<<"------------------- SFARSIT JOC! -------------------";
  791. exit(0);
  792. }
  793.  
  794. a[0][2] = calculator;
  795. cls(); AfisareTabla();
  796. cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
  797. cout<<"------------------- SFARSIT JOC! -------------------";
  798. exit(0);
  799. }
  800. }
  801. }
  802.  
  803. inline void TicTacToe :: Colt13() ///Dupa Prima Mutare Calculator Mijloc
  804. {
  805. int x,y;
  806.  
  807. a[2][0] = calculator;
  808. cls();
  809. AfisareTabla();
  810. cout<<"\nE randul tau! \n\n";
  811.  
  812. cin>>x>>y;
  813. VerificarePozitiiGresite(x,y);
  814. a[x-1][y-1] = jucator;
  815. cls();
  816. AfisareTabla();
  817.  
  818. if((x + y) % 2 == 1) ///pune pe muchie
  819. {
  820. if(x == 1 && y == 2) ///sus
  821. {
  822. a[0][0] = calculator;
  823. cls(); AfisareTabla();
  824. cout<<"\nE randul tau! \n\n";
  825.  
  826. cin>>x>>y;
  827. VerificarePozitiiGresite(x,y);
  828. a[x-1][y-1] = jucator;
  829. cls(); AfisareTabla();
  830. cout<<"\nMuta calculatorul: \n\n";
  831.  
  832. if(x == 2 && y == 1)
  833. {
  834. a[2][2] = calculator;
  835. cls(); AfisareTabla();
  836. cout<<"\nAi pierdut!\n\n";
  837. cout<<"------------------- SFARSIT JOC! -------------------";
  838. exit(0);
  839. }
  840. if(x == 3 && y == 3)
  841. {
  842. a[1][0] = calculator;
  843. cls(); AfisareTabla();
  844. cout<<"\nAi pierdut!\n\n";
  845. cout<<"------------------- SFARSIT JOC! -------------------";
  846. exit(0);
  847. }
  848.  
  849. a[1][0] = calculator;
  850. cls(); AfisareTabla();
  851. cout<<"\nAi pierdut!\n\n";
  852. cout<<"------------------- SFARSIT JOC! -------------------";
  853. exit(0);
  854. }
  855.  
  856. if(x == 3 && y == 2) ///jos
  857. {
  858. a[0][0] = calculator;
  859. cls(); AfisareTabla();
  860. cout<<"\nE randul tau! \n\n";
  861.  
  862. cin>>x>>y;
  863. VerificarePozitiiGresite(x,y);
  864. a[x-1][y-1] = jucator;
  865. cls(); AfisareTabla();
  866. cout<<"\nMuta calculatorul: \n\n";
  867.  
  868. if(x == 2 && y == 1)
  869. {
  870. a[2][2] = calculator;
  871. cls(); AfisareTabla();
  872. cout<<"\nAi pierdut!\n\n";
  873. cout<<"------------------- SFARSIT JOC! -------------------";
  874. exit(0);
  875. }
  876. if(x == 3 && y == 3)
  877. {
  878. a[1][0] = calculator;
  879. cls(); AfisareTabla();
  880. cout<<"\nAi pierdut!\n\n";
  881. cout<<"------------------- SFARSIT JOC! -------------------";
  882. exit(0);
  883. }
  884.  
  885. a[1][0] = calculator;
  886. cls(); AfisareTabla();
  887. cout<<"\nAi pierdut!\n\n";
  888. cout<<"------------------- SFARSIT JOC! -------------------";
  889. exit(0);
  890. }
  891.  
  892. if(x == 2 && y == 1) ///stanga
  893. {
  894. a[2][2] = calculator;
  895. cls(); AfisareTabla();
  896. cout<<"\nE randul tau! \n\n";
  897.  
  898. cin>>x>>y;
  899. VerificarePozitiiGresite(x,y);
  900. a[x-1][y-1] = jucator;
  901. cls(); AfisareTabla();
  902. cout<<"\nMuta calculatorul: \n\n";
  903.  
  904. if(x == 3 && y == 2)
  905. {
  906. a[0][0] = calculator;
  907. cls(); AfisareTabla();
  908. cout<<"\nAi pierdut!\n\n";
  909. cout<<"------------------- SFARSIT JOC! -------------------";
  910. exit(0);
  911. }
  912. if(x == 1 && y == 1)
  913. {
  914. a[2][1] = calculator;
  915. cls(); AfisareTabla();
  916. cout<<"\nAi pierdut!\n\n";
  917. cout<<"------------------- SFARSIT JOC! -------------------";
  918. exit(0);
  919. }
  920.  
  921. a[2][1] = calculator;
  922. cls(); AfisareTabla();
  923. cout<<"\nAi pierdut!\n\n";
  924. cout<<"------------------- SFARSIT JOC! -------------------";
  925. exit(0);
  926. }
  927.  
  928. if(x == 2 && y == 3) ///dreapta
  929. {
  930. a[2][2] = calculator;
  931. cls(); AfisareTabla();
  932. cout<<"\nE randul tau! \n\n";
  933.  
  934. cin>>x>>y;
  935. VerificarePozitiiGresite(x,y);
  936. a[x-1][y-1] = jucator;
  937. cls(); AfisareTabla();
  938. cout<<"\nMuta calculatorul: \n\n";
  939.  
  940. if(x == 3 && y == 2)
  941. {
  942. a[0][0] = calculator;
  943. cls(); AfisareTabla();
  944. cout<<"\nAi pierdut!\n\n";
  945. cout<<"------------------- SFARSIT JOC! -------------------";
  946. exit(0);
  947. }
  948. if(x == 1 && y == 1)
  949. {
  950. a[2][1] = calculator;
  951. cls(); AfisareTabla();
  952. cout<<"\nAi pierdut!\n\n";
  953. cout<<"------------------- SFARSIT JOC! -------------------";
  954. exit(0);
  955. }
  956.  
  957. a[0][0] = calculator;
  958. cls(); AfisareTabla();
  959. cout<<"\nAi pierdut!\n\n";
  960. cout<<"------------------- SFARSIT JOC! -------------------";
  961. exit(0);
  962. }
  963. }
  964. else ///pune pe colt
  965. {
  966. if(x == 1 && y == 1) ///stanga sus
  967. {
  968. a[0][1] = calculator;
  969. cls(); AfisareTabla();
  970. cout<<"\nE randul tau! \n\n";
  971.  
  972. cin>>x>>y;
  973. VerificarePozitiiGresite(x,y);
  974. a[x-1][y-1] = jucator;
  975. cls(); AfisareTabla();
  976. cout<<"\nMuta calculatorul: \n\n";
  977.  
  978. if(x != 3 || y != 2)
  979. {
  980. a[2][1] = calculator;
  981. cls(); AfisareTabla();
  982. cout<<"\nAi pierdut!\n\n";
  983. cout<<"------------------- SFARSIT JOC! -------------------";
  984. exit(0);
  985. }
  986.  
  987. a[1][0] = calculator;
  988. cls(); AfisareTabla();
  989. cout<<"\nE randul tau! \n\n";
  990.  
  991. cin>>x>>y;
  992. VerificarePozitiiGresite(x,y);
  993. a[x-1][y-1] = jucator;
  994. cls(); AfisareTabla();
  995. cout<<"\nMuta calculatorul: \n\n";
  996.  
  997. if(x != 2 || y != 3)
  998. {
  999. a[1][2] = calculator;
  1000. cls(); AfisareTabla();
  1001. cout<<"\nAi pierdut!\n\n";
  1002. cout<<"------------------- SFARSIT JOC! -------------------";
  1003. exit(0);
  1004. }
  1005.  
  1006. a[2][2] = calculator;
  1007. cls(); AfisareTabla();
  1008. cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
  1009. cout<<"------------------- SFARSIT JOC! -------------------";
  1010. exit(0);
  1011. }
  1012.  
  1013. if(x == 3 && y == 3) ///dreapta jos
  1014. {
  1015. a[1][2] = calculator;
  1016. cls(); AfisareTabla();
  1017. cout<<"\nE randul tau! \n\n";
  1018.  
  1019. cin>>x>>y;
  1020. VerificarePozitiiGresite(x,y);
  1021. a[x-1][y-1] = jucator;
  1022. cls(); AfisareTabla();
  1023. cout<<"\nMuta calculatorul: \n\n";
  1024.  
  1025. if(x != 2 || y != 1)
  1026. {
  1027. a[1][0] = calculator;
  1028. cls(); AfisareTabla();
  1029. cout<<"\nAi pierdut!\n\n";
  1030. cout<<"------------------- SFARSIT JOC! -------------------";
  1031. exit(0);
  1032. }
  1033.  
  1034. a[0][1] = calculator;
  1035. cls(); AfisareTabla();
  1036. cout<<"\nE randul tau! \n\n";
  1037.  
  1038. cin>>x>>y;
  1039. VerificarePozitiiGresite(x,y);
  1040. a[x-1][y-1] = jucator;
  1041. cls(); AfisareTabla();
  1042. cout<<"\nMuta calculatorul: \n\n";
  1043.  
  1044. if(x != 3 || y != 2)
  1045. {
  1046. a[2][1] = calculator;
  1047. cls(); AfisareTabla();
  1048. cout<<"\nAi pierdut!\n\n";
  1049. cout<<"------------------- SFARSIT JOC! -------------------";
  1050. exit(0);
  1051. }
  1052.  
  1053. a[0][0] = calculator;
  1054. cls(); AfisareTabla();
  1055. cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
  1056. cout<<"------------------- SFARSIT JOC! -------------------";
  1057. exit(0);
  1058. }
  1059. }
  1060. }
  1061.  
  1062. inline void TicTacToe :: Colt33() ///Dupa Prima Mutare Calculator Mijloc
  1063. {
  1064. int x,y;
  1065.  
  1066. a[0][0] = calculator;
  1067. cls();
  1068. AfisareTabla();
  1069. cout<<"\nE randul tau! \n\n";
  1070.  
  1071. cin>>x>>y;
  1072. VerificarePozitiiGresite(x,y);
  1073. a[x-1][y-1] = jucator;
  1074. cls();
  1075. AfisareTabla();
  1076.  
  1077. if((x + y) % 2 == 1) ///pune pe muchie
  1078. {
  1079. if(x == 1 && y == 2) ///sus
  1080. {
  1081. a[2][0] = calculator;
  1082. cls(); AfisareTabla();
  1083. cout<<"\nE randul tau! \n\n";
  1084.  
  1085. cin>>x>>y;
  1086. VerificarePozitiiGresite(x,y);
  1087. a[x-1][y-1] = jucator;
  1088. cls(); AfisareTabla();
  1089. cout<<"\nMuta calculatorul: \n\n";
  1090.  
  1091. if(x == 2 && y == 1)
  1092. {
  1093. a[0][2] = calculator;
  1094. cls(); AfisareTabla();
  1095. cout<<"\nAi pierdut!\n\n";
  1096. cout<<"------------------- SFARSIT JOC! -------------------";
  1097. exit(0);
  1098. }
  1099. if(x == 1 && y == 3)
  1100. {
  1101. a[1][0] = calculator;
  1102. cls(); AfisareTabla();
  1103. cout<<"\nAi pierdut!\n\n";
  1104. cout<<"------------------- SFARSIT JOC! -------------------";
  1105. exit(0);
  1106. }
  1107.  
  1108. a[1][0] = calculator;
  1109. cls(); AfisareTabla();
  1110. cout<<"\nAi pierdut!\n\n";
  1111. cout<<"------------------- SFARSIT JOC! -------------------";
  1112. exit(0);
  1113. }
  1114.  
  1115. if(x == 3 && y == 2) ///jos
  1116. {
  1117. a[2][0] = calculator;
  1118. cls(); AfisareTabla();
  1119. cout<<"\nE randul tau! \n\n";
  1120.  
  1121. cin>>x>>y;
  1122. VerificarePozitiiGresite(x,y);
  1123. a[x-1][y-1] = jucator;
  1124. cls(); AfisareTabla();
  1125. cout<<"\nMuta calculatorul: \n\n";
  1126.  
  1127. if(x == 2 && y == 1)
  1128. {
  1129. a[0][2] = calculator;
  1130. cls(); AfisareTabla();
  1131. cout<<"\nAi pierdut!\n\n";
  1132. cout<<"------------------- SFARSIT JOC! -------------------";
  1133. exit(0);
  1134. }
  1135. if(x == 1 && y == 3)
  1136. {
  1137. a[1][0] = calculator;
  1138. cls(); AfisareTabla();
  1139. cout<<"\nAi pierdut!\n\n";
  1140. cout<<"------------------- SFARSIT JOC! -------------------";
  1141. exit(0);
  1142. }
  1143.  
  1144. a[0][2] = calculator;
  1145. cls(); AfisareTabla();
  1146. cout<<"\nAi pierdut!\n\n";
  1147. cout<<"------------------- SFARSIT JOC! -------------------";
  1148. exit(0);
  1149. }
  1150.  
  1151. if(x == 2 && y == 1) ///stanga
  1152. {
  1153. a[0][2] = calculator;
  1154. cls(); AfisareTabla();
  1155. cout<<"\nE randul tau! \n\n";
  1156.  
  1157. cin>>x>>y;
  1158. VerificarePozitiiGresite(x,y);
  1159. a[x-1][y-1] = jucator;
  1160. cls(); AfisareTabla();
  1161. cout<<"\nMuta calculatorul: \n\n";
  1162.  
  1163. if(x == 3 && y == 1)
  1164. {
  1165. a[0][1] = calculator;
  1166. cls(); AfisareTabla();
  1167. cout<<"\nAi pierdut!\n\n";
  1168. cout<<"------------------- SFARSIT JOC! -------------------";
  1169. exit(0);
  1170. }
  1171. if(x == 1 && y == 2)
  1172. {
  1173. a[2][0] = calculator;
  1174. cls(); AfisareTabla();
  1175. cout<<"\nAi pierdut!\n\n";
  1176. cout<<"------------------- SFARSIT JOC! -------------------";
  1177. exit(0);
  1178. }
  1179.  
  1180. a[2][0] = calculator;
  1181. cls(); AfisareTabla();
  1182. cout<<"\nAi pierdut!\n\n";
  1183. cout<<"------------------- SFARSIT JOC! -------------------";
  1184. exit(0);
  1185. }
  1186.  
  1187. if(x == 2 && y == 3) ///dreapta
  1188. {
  1189. a[0][2] = calculator;
  1190. cls(); AfisareTabla();
  1191. cout<<"\nE randul tau! \n\n";
  1192.  
  1193. cin>>x>>y;
  1194. VerificarePozitiiGresite(x,y);
  1195. a[x-1][y-1] = jucator;
  1196. cls(); AfisareTabla();
  1197. cout<<"\nMuta calculatorul: \n\n";
  1198.  
  1199. if(x == 3 && y == 1)
  1200. {
  1201. a[0][1] = calculator;
  1202. cls(); AfisareTabla();
  1203. cout<<"\nAi pierdut!\n\n";
  1204. cout<<"------------------- SFARSIT JOC! -------------------";
  1205. exit(0);
  1206. }
  1207. if(x == 1 && y == 2)
  1208. {
  1209. a[2][0] = calculator;
  1210. cls(); AfisareTabla();
  1211. cout<<"\nAi pierdut!\n\n";
  1212. cout<<"------------------- SFARSIT JOC! -------------------";
  1213. exit(0);
  1214. }
  1215.  
  1216. a[0][1] = calculator;
  1217. cls(); AfisareTabla();
  1218. cout<<"\nAi pierdut!\n\n";
  1219. cout<<"------------------- SFARSIT JOC! -------------------";
  1220. exit(0);
  1221. }
  1222. }
  1223. else ///pune pe colt
  1224. {
  1225. if(x == 1 && y == 3) ///dreapta sus
  1226. {
  1227. a[1][2] = calculator;
  1228. cls(); AfisareTabla();
  1229. cout<<"\nE randul tau! \n\n";
  1230.  
  1231. cin>>x>>y;
  1232. VerificarePozitiiGresite(x,y);
  1233. a[x-1][y-1] = jucator;
  1234. cls(); AfisareTabla();
  1235. cout<<"\nMuta calculatorul: \n\n";
  1236.  
  1237. if(x != 2 || y != 1)
  1238. {
  1239. a[1][0] = calculator;
  1240. cls(); AfisareTabla();
  1241. cout<<"\nAi pierdut!\n\n";
  1242. cout<<"------------------- SFARSIT JOC! -------------------";
  1243. exit(0);
  1244. }
  1245.  
  1246. a[0][1] = calculator;
  1247. cls(); AfisareTabla();
  1248. cout<<"\nE randul tau! \n\n";
  1249.  
  1250. cin>>x>>y;
  1251. VerificarePozitiiGresite(x,y);
  1252. a[x-1][y-1] = jucator;
  1253. cls(); AfisareTabla();
  1254. cout<<"\nMuta calculatorul: \n\n";
  1255.  
  1256. if(x != 3 || y != 2)
  1257. {
  1258. a[2][1] = calculator;
  1259. cls(); AfisareTabla();
  1260. cout<<"\nAi pierdut!\n\n";
  1261. cout<<"------------------- SFARSIT JOC! -------------------";
  1262. exit(0);
  1263. }
  1264.  
  1265. a[2][0] = calculator;
  1266. cls(); AfisareTabla();
  1267. cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
  1268. cout<<"------------------- SFARSIT JOC! -------------------";
  1269. exit(0);
  1270. }
  1271.  
  1272. if(x == 3 && y == 1) ///stanga jos
  1273. {
  1274. a[2][1] = calculator;
  1275. cls(); AfisareTabla();
  1276. cout<<"\nE randul tau! \n\n";
  1277.  
  1278. cin>>x>>y;
  1279. VerificarePozitiiGresite(x,y);
  1280. a[x-1][y-1] = jucator;
  1281. cls(); AfisareTabla();
  1282. cout<<"\nMuta calculatorul: \n\n";
  1283.  
  1284. if(x != 1 || y != 2)
  1285. {
  1286. a[0][1] = calculator;
  1287. cls(); AfisareTabla();
  1288. cout<<"\nAi pierdut!\n\n";
  1289. cout<<"------------------- SFARSIT JOC! -------------------";
  1290. exit(0);
  1291. }
  1292.  
  1293. a[1][0] = calculator;
  1294. cls(); AfisareTabla();
  1295. cout<<"\nE randul tau! \n\n";
  1296.  
  1297. cin>>x>>y;
  1298. VerificarePozitiiGresite(x,y);
  1299. a[x-1][y-1] = jucator;
  1300. cls(); AfisareTabla();
  1301. cout<<"\nMuta calculatorul: \n\n";
  1302.  
  1303. if(x != 2 || y != 3)
  1304. {
  1305. a[1][2] = calculator;
  1306. cls(); AfisareTabla();
  1307. cout<<"\nAi pierdut!\n\n";
  1308. cout<<"------------------- SFARSIT JOC! -------------------";
  1309. exit(0);
  1310. }
  1311.  
  1312. a[0][2] = calculator;
  1313. cls(); AfisareTabla();
  1314. cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
  1315. cout<<"------------------- SFARSIT JOC! -------------------";
  1316. exit(0);
  1317. }
  1318. }
  1319. }
  1320.  
  1321. inline void TicTacToe :: Colt31() ///Dupa Prima Mutare Calculator Mijloc
  1322. {
  1323. int x,y;
  1324.  
  1325. a[0][2] = calculator;
  1326. cls();
  1327. AfisareTabla();
  1328. cout<<"\nE randul tau! \n\n";
  1329.  
  1330. cin>>x>>y;
  1331. VerificarePozitiiGresite(x,y);
  1332. a[x-1][y-1] = jucator;
  1333. cls();
  1334. AfisareTabla();
  1335.  
  1336. if((x + y) % 2 == 1) ///pune pe muchie
  1337. {
  1338. if(x == 1 && y == 2) ///sus
  1339. {
  1340. a[2][2] = calculator;
  1341. cls(); AfisareTabla();
  1342. cout<<"\nE randul tau! \n\n";
  1343.  
  1344. cin>>x>>y;
  1345. VerificarePozitiiGresite(x,y);
  1346. a[x-1][y-1] = jucator;
  1347. cls(); AfisareTabla();
  1348. cout<<"\nMuta calculatorul: \n\n";
  1349.  
  1350. if(x == 1 && y == 1)
  1351. {
  1352. a[1][2] = calculator;
  1353. cls(); AfisareTabla();
  1354. cout<<"\nAi pierdut!\n\n";
  1355. cout<<"------------------- SFARSIT JOC! -------------------";
  1356. exit(0);
  1357. }
  1358. if(x == 2 && y == 3)
  1359. {
  1360. a[0][0] = calculator;
  1361. cls(); AfisareTabla();
  1362. cout<<"\nAi pierdut!\n\n";
  1363. cout<<"------------------- SFARSIT JOC! -------------------";
  1364. exit(0);
  1365. }
  1366.  
  1367. a[0][0] = calculator;
  1368. cls(); AfisareTabla();
  1369. cout<<"\nAi pierdut!\n\n";
  1370. cout<<"------------------- SFARSIT JOC! -------------------";
  1371. exit(0);
  1372. }
  1373.  
  1374. if(x == 3 && y == 2) ///jos
  1375. {
  1376. a[2][2] = calculator;
  1377. cls(); AfisareTabla();
  1378. cout<<"\nE randul tau! \n\n";
  1379.  
  1380. cin>>x>>y;
  1381. VerificarePozitiiGresite(x,y);
  1382. a[x-1][y-1] = jucator;
  1383. cls(); AfisareTabla();
  1384. cout<<"\nMuta calculatorul: \n\n";
  1385.  
  1386. if(x == 1 && y == 1)
  1387. {
  1388. a[1][2] = calculator;
  1389. cls(); AfisareTabla();
  1390. cout<<"\nAi pierdut!\n\n";
  1391. cout<<"------------------- SFARSIT JOC! -------------------";
  1392. exit(0);
  1393. }
  1394. if(x == 2 && y == 3)
  1395. {
  1396. a[0][0] = calculator;
  1397. cls(); AfisareTabla();
  1398. cout<<"\nAi pierdut!\n\n";
  1399. cout<<"------------------- SFARSIT JOC! -------------------";
  1400. exit(0);
  1401. }
  1402.  
  1403. a[1][2] = calculator;
  1404. cls(); AfisareTabla();
  1405. cout<<"\nAi pierdut!\n\n";
  1406. cout<<"------------------- SFARSIT JOC! -------------------";
  1407. exit(0);
  1408. }
  1409.  
  1410. if(x == 2 && y == 1) ///stanga
  1411. {
  1412. a[0][0] = calculator;
  1413. cls(); AfisareTabla();
  1414. cout<<"\nE randul tau! \n\n";
  1415.  
  1416. cin>>x>>y;
  1417. VerificarePozitiiGresite(x,y);
  1418. a[x-1][y-1] = jucator;
  1419. cls(); AfisareTabla();
  1420. cout<<"\nMuta calculatorul: \n\n";
  1421.  
  1422. if(x == 1 && y == 2)
  1423. {
  1424. a[2][2] = calculator;
  1425. cls(); AfisareTabla();
  1426. cout<<"\nAi pierdut!\n\n";
  1427. cout<<"------------------- SFARSIT JOC! -------------------";
  1428. exit(0);
  1429. }
  1430. if(x == 3 && y == 3)
  1431. {
  1432. a[0][1] = calculator;
  1433. cls(); AfisareTabla();
  1434. cout<<"\nAi pierdut!\n\n";
  1435. cout<<"------------------- SFARSIT JOC! -------------------";
  1436. exit(0);
  1437. }
  1438.  
  1439. a[0][1] = calculator;
  1440. cls(); AfisareTabla();
  1441. cout<<"\nAi pierdut!\n\n";
  1442. cout<<"------------------- SFARSIT JOC! -------------------";
  1443. exit(0);
  1444. }
  1445.  
  1446. if(x == 2 && y == 3) ///dreapta
  1447. {
  1448. a[0][0] = calculator;
  1449. cls(); AfisareTabla();
  1450. cout<<"\nE randul tau! \n\n";
  1451.  
  1452. cin>>x>>y;
  1453. VerificarePozitiiGresite(x,y);
  1454. a[x-1][y-1] = jucator;
  1455. cls(); AfisareTabla();
  1456. cout<<"\nMuta calculatorul: \n\n";
  1457.  
  1458. if(x == 1 && y == 2)
  1459. {
  1460. a[2][2] = calculator;
  1461. cls(); AfisareTabla();
  1462. cout<<"\nAi pierdut!\n\n";
  1463. cout<<"------------------- SFARSIT JOC! -------------------";
  1464. exit(0);
  1465. }
  1466. if(x == 3 && y == 3)
  1467. {
  1468. a[0][1] = calculator;
  1469. cls(); AfisareTabla();
  1470. cout<<"\nAi pierdut!\n\n";
  1471. cout<<"------------------- SFARSIT JOC! -------------------";
  1472. exit(0);
  1473. }
  1474.  
  1475. a[2][2] = calculator;
  1476. cls(); AfisareTabla();
  1477. cout<<"\nAi pierdut!\n\n";
  1478. cout<<"------------------- SFARSIT JOC! -------------------";
  1479. exit(0);
  1480. }
  1481. }
  1482. else ///pune pe colt
  1483. {
  1484. if(x == 1 && y == 1) ///stanga sus
  1485. {
  1486. a[1][0] = calculator;
  1487. cls(); AfisareTabla();
  1488. cout<<"\nE randul tau! \n\n";
  1489.  
  1490. cin>>x>>y;
  1491. VerificarePozitiiGresite(x,y);
  1492. a[x-1][y-1] = jucator;
  1493. cls(); AfisareTabla();
  1494. cout<<"\nMuta calculatorul: \n\n";
  1495.  
  1496. if(x != 2 || y != 3)
  1497. {
  1498. a[1][2] = calculator;
  1499. cls(); AfisareTabla();
  1500. cout<<"\nAi pierdut!\n\n";
  1501. cout<<"------------------- SFARSIT JOC! -------------------";
  1502. exit(0);
  1503. }
  1504.  
  1505. a[0][1] = calculator;
  1506. cls(); AfisareTabla();
  1507. cout<<"\nE randul tau! \n\n";
  1508.  
  1509. cin>>x>>y;
  1510. VerificarePozitiiGresite(x,y);
  1511. a[x-1][y-1] = jucator;
  1512. cls(); AfisareTabla();
  1513. cout<<"\nMuta calculatorul: \n\n";
  1514.  
  1515. if(x != 3 || y != 2)
  1516. {
  1517. a[2][1] = calculator;
  1518. cls(); AfisareTabla();
  1519. cout<<"\nAi pierdut!\n\n";
  1520. cout<<"------------------- SFARSIT JOC! -------------------";
  1521. exit(0);
  1522. }
  1523.  
  1524. a[2][2] = calculator;
  1525. cls(); AfisareTabla();
  1526. cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
  1527. cout<<"------------------- SFARSIT JOC! -------------------";
  1528. exit(0);
  1529. }
  1530.  
  1531. if(x == 3 && y == 3) ///dreapta jos
  1532. {
  1533. a[2][1] = calculator;
  1534. cls(); AfisareTabla();
  1535. cout<<"\nE randul tau! \n\n";
  1536.  
  1537. cin>>x>>y;
  1538. VerificarePozitiiGresite(x,y);
  1539. a[x-1][y-1] = jucator;
  1540. cls(); AfisareTabla();
  1541. cout<<"\nMuta calculatorul: \n\n";
  1542.  
  1543. if(x != 1 || y != 2)
  1544. {
  1545. a[0][1] = calculator;
  1546. cls(); AfisareTabla();
  1547. cout<<"\nAi pierdut!\n\n";
  1548. cout<<"------------------- SFARSIT JOC! -------------------";
  1549. exit(0);
  1550. }
  1551.  
  1552. a[1][0] = calculator;
  1553. cls(); AfisareTabla();
  1554. cout<<"\nE randul tau! \n\n";
  1555.  
  1556. cin>>x>>y;
  1557. VerificarePozitiiGresite(x,y);
  1558. a[x-1][y-1] = jucator;
  1559. cls(); AfisareTabla();
  1560. cout<<"\nMuta calculatorul: \n\n";
  1561.  
  1562. if(x != 2 || y != 3)
  1563. {
  1564. a[1][2] = calculator;
  1565. cls(); AfisareTabla();
  1566. cout<<"\nAi pierdut!\n\n";
  1567. cout<<"------------------- SFARSIT JOC! -------------------";
  1568. exit(0);
  1569. }
  1570.  
  1571. a[0][0] = calculator;
  1572. cls(); AfisareTabla();
  1573. cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
  1574. cout<<"------------------- SFARSIT JOC! -------------------";
  1575. exit(0);
  1576. }
  1577. }
  1578. }
  1579.  
  1580.  
  1581. inline void TicTacToe :: PrimaMutareCalculatorMijloc()
  1582. {
  1583. int x,y;
  1584.  
  1585. a[1][1] = calculator;
  1586. cls();
  1587. AfisareTabla();
  1588. cout<<"\nE randul tau! \n\n";
  1589.  
  1590. cin>>x>>y;
  1591. VerificarePozitiiGresite(x,y);
  1592. a[x-1][y-1] = jucator;
  1593. cls();
  1594. AfisareTabla();
  1595.  
  1596. ///muchii
  1597. if(x == 1 && y == 2)
  1598. Muchie12(); ///sus
  1599. if(x == 2 && y == 3)
  1600. Muchie23(); ///dreapta
  1601. if(x == 3 && y == 2)
  1602. Muchie32(); ///jos
  1603. if(x == 2 && y == 1)
  1604. Muchie21(); ///stanga
  1605.  
  1606. ///colturi
  1607. if(x == 1 && y == 1)
  1608. Colt11(); ///stanga sus
  1609. if(x == 1 && y == 3)
  1610. Colt13(); ///dreapta sus
  1611. if(x == 3 && y == 3)
  1612. Colt33(); ///dreapta jos
  1613. if(x == 3 && y == 1)
  1614. Colt31(); ///stanga jos
  1615. }
  1616.  
  1617.  
  1618.  
  1619. inline void TicTacToe :: MIJLOC_ADouaMutareJucatorMuchie12()
  1620. {
  1621. int x,y;
  1622.  
  1623. a[2][1] = calculator;
  1624. cls();
  1625. AfisareTabla();
  1626. cout<<"\nE randul tau! \n\n";
  1627.  
  1628. cin>>x>>y;
  1629. VerificarePozitiiGresite(x,y);
  1630. a[x-1][y-1] = jucator;
  1631. cls();
  1632. AfisareTabla();
  1633.  
  1634. if(x != 3 || y != 1)
  1635. {
  1636. a[2][0] = calculator;
  1637. cls(); AfisareTabla();
  1638. cout<<"\nAi pierdut!\n\n";
  1639. cout<<"------------------- SFARSIT JOC! -------------------";
  1640. exit(0);
  1641. }
  1642.  
  1643. a[0][2] = calculator;
  1644. cls();
  1645. AfisareTabla();
  1646. cout<<"\nE randul tau! \n\n";
  1647.  
  1648. cin>>x>>y;
  1649. VerificarePozitiiGresite(x,y);
  1650. a[x-1][y-1] = jucator;
  1651. cls();
  1652. AfisareTabla();
  1653.  
  1654. if(x != 2 || y != 3)
  1655. {
  1656. a[1][2] = calculator;
  1657. cls(); AfisareTabla();
  1658. cout<<"\nAi pierdut!\n\n";
  1659. cout<<"------------------- SFARSIT JOC! -------------------";
  1660. exit(0);
  1661. }
  1662.  
  1663. a[1][0] = calculator;
  1664. cls(); AfisareTabla();
  1665. cout<<"\nE randul tau! \n\n";
  1666.  
  1667. ///nu mai are rost
  1668. cin>>x>>y;
  1669. VerificarePozitiiGresite(x,y);
  1670. a[x-1][y-1] = jucator;
  1671. cls(); AfisareTabla();
  1672. cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
  1673. cout<<"------------------- SFARSIT JOC! -------------------";
  1674. exit(0);
  1675. }
  1676.  
  1677. inline void TicTacToe :: MIJLOC_ADouaMutareJucatorMuchie23()
  1678. {
  1679. int x,y;
  1680.  
  1681. a[1][0] = calculator;
  1682. cls();
  1683. AfisareTabla();
  1684. cout<<"\nE randul tau! \n\n";
  1685.  
  1686. cin>>x>>y;
  1687. VerificarePozitiiGresite(x,y);
  1688. a[x-1][y-1] = jucator;
  1689. cls();
  1690. AfisareTabla();
  1691.  
  1692. ///muchii:
  1693. if(x == 1 && y == 2)
  1694. {
  1695. a[2][1] = calculator;
  1696. cls(); AfisareTabla();
  1697. cout<<"\nE randul tau! \n\n";
  1698.  
  1699. cin>>x>>y;
  1700. VerificarePozitiiGresite(x,y);
  1701. a[x-1][y-1] = jucator;
  1702. cls(); AfisareTabla();
  1703. cout<<"\nMuta calculatorul: \n\n";
  1704.  
  1705. if(x != 3 || y != 1)
  1706. {
  1707. a[2][0] = calculator;
  1708. cls(); AfisareTabla();
  1709. cout<<"\nAi pierdut!\n\n";
  1710. cout<<"------------------- SFARSIT JOC! -------------------";
  1711. exit(0);
  1712. }
  1713.  
  1714. a[0][2] = calculator;
  1715. cls(); AfisareTabla();
  1716. cout<<"\nE randul tau! \n\n";
  1717.  
  1718. ///nu mai are rost
  1719. cin>>x>>y;
  1720. VerificarePozitiiGresite(x,y);
  1721. a[x-1][y-1] = jucator;
  1722. cls(); AfisareTabla();
  1723. cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
  1724. cout<<"------------------- SFARSIT JOC! -------------------";
  1725. exit(0);
  1726. }
  1727. else if(x == 3 && y == 2)
  1728. {
  1729. a[0][1] = calculator;
  1730. cls(); AfisareTabla();
  1731. cout<<"\nE randul tau! \n\n";
  1732.  
  1733. cin>>x>>y;
  1734. VerificarePozitiiGresite(x,y);
  1735. a[x-1][y-1] = jucator;
  1736. cls(); AfisareTabla();
  1737. cout<<"\nMuta calculatorul: \n\n";
  1738.  
  1739. if(x == 3 || y == 1)
  1740. {
  1741. a[0][2] = calculator;
  1742. cls(); AfisareTabla();
  1743. cout<<"\nE randul tau! \n\n";
  1744.  
  1745. ///nu mai are rost
  1746. cin>>x>>y;
  1747. VerificarePozitiiGresite(x,y);
  1748. a[x-1][y-1] = jucator;
  1749. cls(); AfisareTabla();
  1750. cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
  1751. cout<<"------------------- SFARSIT JOC! -------------------";
  1752. exit(0);
  1753. }
  1754.  
  1755. a[2][0] = calculator;
  1756. cls(); AfisareTabla();
  1757. cout<<"\nE randul tau! \n\n";
  1758.  
  1759. ///nu mai are rost
  1760. cin>>x>>y;
  1761. VerificarePozitiiGresite(x,y);
  1762. a[x-1][y-1] = jucator;
  1763. cls(); AfisareTabla();
  1764. cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
  1765. cout<<"------------------- SFARSIT JOC! -------------------";
  1766. exit(0);
  1767. }
  1768. else
  1769.  
  1770. ///colturi:
  1771. if(x == 1 && y == 1)
  1772. {
  1773. a[2][0] = calculator;
  1774. cls(); AfisareTabla();
  1775. cout<<"\nE randul tau! \n\n";
  1776.  
  1777. cin>>x>>y;
  1778. VerificarePozitiiGresite(x,y);
  1779. a[x-1][y-1] = jucator;
  1780. cls(); AfisareTabla();
  1781. cout<<"\nMuta calculatorul: \n\n";
  1782.  
  1783. if(x != 3 || y != 2)
  1784. {
  1785. a[2][1] = calculator;
  1786. cls(); AfisareTabla();
  1787. cout<<"\nAi pierdut!\n\n";
  1788. cout<<"------------------- SFARSIT JOC! -------------------";
  1789. exit(0);
  1790. }
  1791.  
  1792. a[0][1] = calculator;
  1793. cls(); AfisareTabla();
  1794. cout<<"\nE randul tau! \n\n";
  1795.  
  1796. ///nu mai are rost
  1797. cin>>x>>y;
  1798. VerificarePozitiiGresite(x,y);
  1799. a[x-1][y-1] = jucator;
  1800. cls(); AfisareTabla();
  1801. cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
  1802. cout<<"------------------- SFARSIT JOC! -------------------";
  1803. exit(0);
  1804. }
  1805. else if(x == 1 && y == 3)
  1806. {
  1807. a[2][0] = calculator;
  1808. cls(); AfisareTabla();
  1809. cout<<"\nE randul tau! \n\n";
  1810.  
  1811. cin>>x>>y;
  1812. VerificarePozitiiGresite(x,y);
  1813. a[x-1][y-1] = jucator;
  1814. cls(); AfisareTabla();
  1815. cout<<"\nMuta calculatorul: \n\n";
  1816.  
  1817. if(x != 1 || y != 1)
  1818. {
  1819. a[0][0] = calculator;
  1820. cls(); AfisareTabla();
  1821. cout<<"\nAi pierdut!\n\n";
  1822. cout<<"------------------- SFARSIT JOC! -------------------";
  1823. exit(0);
  1824. }
  1825. else
  1826. {
  1827. a[2][1] = calculator;
  1828. cls(); AfisareTabla();
  1829. cout<<"\nE randul tau! \n\n";
  1830.  
  1831. ///nu mai are rost
  1832. cin>>x>>y;
  1833. VerificarePozitiiGresite(x,y);
  1834. a[x-1][y-1] = jucator;
  1835. cls(); AfisareTabla();
  1836. cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
  1837. cout<<"------------------- SFARSIT JOC! -------------------";
  1838. exit(0);
  1839. }
  1840. }
  1841. else if(x == 3 && y == 1)
  1842. {
  1843. a[0][2] = calculator;
  1844. cls(); AfisareTabla();
  1845. cout<<"\nE randul tau! \n\n";
  1846.  
  1847. cin>>x>>y;
  1848. VerificarePozitiiGresite(x,y);
  1849. a[x-1][y-1] = jucator;
  1850. cls(); AfisareTabla();
  1851. cout<<"\nMuta calculatorul: \n\n";
  1852.  
  1853. if(x == 1 && y == 2)
  1854. {
  1855. a[2][1] = calculator;
  1856. cls(); AfisareTabla();
  1857. cout<<"\nE randul tau! \n\n";
  1858.  
  1859. ///nu mai are rost
  1860. cin>>x>>y;
  1861. VerificarePozitiiGresite(x,y);
  1862. a[x-1][y-1] = jucator;
  1863. cls(); AfisareTabla();
  1864. cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
  1865. cout<<"------------------- SFARSIT JOC! -------------------";
  1866. exit(0);
  1867. }
  1868. else
  1869.  
  1870. a[0][1] = calculator;
  1871. cls(); AfisareTabla();
  1872. cout<<"\nE randul tau! \n\n";
  1873.  
  1874. ///nu mai are rost
  1875. cin>>x>>y;
  1876. VerificarePozitiiGresite(x,y);
  1877. a[x-1][y-1] = jucator;
  1878. cls(); AfisareTabla();
  1879. cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
  1880. cout<<"------------------- SFARSIT JOC! -------------------";
  1881. exit(0);
  1882. }
  1883. }
  1884.  
  1885. inline void TicTacToe :: MIJLOC_ADouaMutareJucatorMuchie32()
  1886. {
  1887. int x,y;
  1888.  
  1889. a[0][1] = calculator;
  1890. cls();
  1891. AfisareTabla();
  1892. cout<<"\nE randul tau! \n\n";
  1893.  
  1894. cin>>x>>y;
  1895. VerificarePozitiiGresite(x,y);
  1896. a[x-1][y-1] = jucator;
  1897. cls();
  1898. AfisareTabla();
  1899.  
  1900. ///muchii:
  1901. if(x == 2 && y == 1)
  1902. {
  1903. a[1][2] = calculator;
  1904. cls(); AfisareTabla();
  1905. cout<<"\nE randul tau! \n\n";
  1906.  
  1907. cin>>x>>y;
  1908. VerificarePozitiiGresite(x,y);
  1909. a[x-1][y-1] = jucator;
  1910. cls(); AfisareTabla();
  1911. cout<<"\nMuta calculatorul: \n\n";
  1912.  
  1913. if(x != 1 || y != 3)
  1914. {
  1915. a[0][2] = calculator;
  1916. cls(); AfisareTabla();
  1917. cout<<"\nAi pierdut!\n\n";
  1918. cout<<"------------------- SFARSIT JOC! -------------------";
  1919. exit(0);
  1920. }
  1921.  
  1922. a[2][0] = calculator;
  1923. cls(); AfisareTabla();
  1924. cout<<"\nE randul tau! \n\n";
  1925.  
  1926. ///nu mai are rost
  1927. cin>>x>>y;
  1928. VerificarePozitiiGresite(x,y);
  1929. a[x-1][y-1] = jucator;
  1930. cls(); AfisareTabla();
  1931. cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
  1932. cout<<"------------------- SFARSIT JOC! -------------------";
  1933. exit(0);
  1934. }
  1935. else if(x == 2 && y == 3)
  1936. {
  1937. a[1][0] = calculator;
  1938. cls(); AfisareTabla();
  1939. cout<<"\nE randul tau! \n\n";
  1940.  
  1941. cin>>x>>y;
  1942. VerificarePozitiiGresite(x,y);
  1943. a[x-1][y-1] = jucator;
  1944. cls(); AfisareTabla();
  1945. cout<<"\nMuta calculatorul: \n\n";
  1946.  
  1947. if(x == 3 || y == 1)
  1948. {
  1949. a[0][2] = calculator;
  1950. cls(); AfisareTabla();
  1951. cout<<"\nE randul tau! \n\n";
  1952.  
  1953. ///nu mai are rost
  1954. cin>>x>>y;
  1955. VerificarePozitiiGresite(x,y);
  1956. a[x-1][y-1] = jucator;
  1957. cls(); AfisareTabla();
  1958. cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
  1959. cout<<"------------------- SFARSIT JOC! -------------------";
  1960. exit(0);
  1961. }
  1962.  
  1963. a[2][0] = calculator;
  1964. cls(); AfisareTabla();
  1965. cout<<"\nE randul tau! \n\n";
  1966.  
  1967. ///nu mai are rost
  1968. cin>>x>>y;
  1969. VerificarePozitiiGresite(x,y);
  1970. a[x-1][y-1] = jucator;
  1971. cls(); AfisareTabla();
  1972. cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
  1973. cout<<"------------------- SFARSIT JOC! -------------------";
  1974. exit(0);
  1975. }
  1976. else
  1977.  
  1978. ///colturi:
  1979. if(x == 1 && y == 1)
  1980. {
  1981. a[0][2] = calculator;
  1982. cls(); AfisareTabla();
  1983. cout<<"\nE randul tau! \n\n";
  1984.  
  1985. cin>>x>>y;
  1986. VerificarePozitiiGresite(x,y);
  1987. a[x-1][y-1] = jucator;
  1988. cls(); AfisareTabla();
  1989. cout<<"\nMuta calculatorul: \n\n";
  1990.  
  1991. if(x != 2 || y != 3)
  1992. {
  1993. a[1][2] = calculator;
  1994. cls(); AfisareTabla();
  1995. cout<<"\nAi pierdut!\n\n";
  1996. cout<<"------------------- SFARSIT JOC! -------------------";
  1997. exit(0);
  1998. }
  1999.  
  2000. a[1][0] = calculator;
  2001. cls(); AfisareTabla();
  2002. cout<<"\nE randul tau! \n\n";
  2003.  
  2004. ///nu mai are rost
  2005. cin>>x>>y;
  2006. VerificarePozitiiGresite(x,y);
  2007. a[x-1][y-1] = jucator;
  2008. cls(); AfisareTabla();
  2009. cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
  2010. cout<<"------------------- SFARSIT JOC! -------------------";
  2011. exit(0);
  2012. }
  2013. else if(x == 1 && y == 3)
  2014. {
  2015. a[2][0] = calculator;
  2016. cls(); AfisareTabla();
  2017. cout<<"\nE randul tau! \n\n";
  2018.  
  2019. cin>>x>>y;
  2020. VerificarePozitiiGresite(x,y);
  2021. a[x-1][y-1] = jucator;
  2022. cls(); AfisareTabla();
  2023. cout<<"\nMuta calculatorul: \n\n";
  2024.  
  2025. if(x == 2 && y == 3)
  2026. {
  2027. a[1][0] = calculator;
  2028. cls(); AfisareTabla();
  2029. cout<<"\nE randul tau! \n\n";
  2030.  
  2031. ///nu mai are rost
  2032. cin>>x>>y;
  2033. VerificarePozitiiGresite(x,y);
  2034. a[x-1][y-1] = jucator;
  2035. cls(); AfisareTabla();
  2036. cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
  2037. cout<<"------------------- SFARSIT JOC! -------------------";
  2038. exit(0);
  2039. }
  2040.  
  2041. a[1][2] = calculator;
  2042. cls(); AfisareTabla();
  2043. cout<<"\nE randul tau! \n\n";
  2044.  
  2045. ///nu mai are rost
  2046. cin>>x>>y;
  2047. VerificarePozitiiGresite(x,y);
  2048. a[x-1][y-1] = jucator;
  2049. cls(); AfisareTabla();
  2050. cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
  2051. cout<<"------------------- SFARSIT JOC! -------------------";
  2052. exit(0);
  2053.  
  2054. }
  2055. else if(x == 3 && y == 1)
  2056. {
  2057. a[0][2] = calculator;
  2058. cls(); AfisareTabla();
  2059. cout<<"\nE randul tau! \n\n";
  2060.  
  2061. cin>>x>>y;
  2062. VerificarePozitiiGresite(x,y);
  2063. a[x-1][y-1] = jucator;
  2064. cls(); AfisareTabla();
  2065. cout<<"\nMuta calculatorul: \n\n";
  2066.  
  2067. if(x != 2 || y != 3)
  2068. {
  2069. a[1][2] = calculator;
  2070. cls(); AfisareTabla();
  2071. cout<<"\nAi pierdut!\n\n";
  2072. cout<<"------------------- SFARSIT JOC! -------------------";
  2073. exit(0);
  2074. }
  2075. else
  2076. {
  2077. a[1][0] = calculator;
  2078. cls(); AfisareTabla();
  2079. cout<<"\nE randul tau! \n\n";
  2080.  
  2081. ///nu mai are rost
  2082. cin>>x>>y;
  2083. VerificarePozitiiGresite(x,y);
  2084. a[x-1][y-1] = jucator;
  2085. cls(); AfisareTabla();
  2086. cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
  2087. cout<<"------------------- SFARSIT JOC! -------------------";
  2088. exit(0);
  2089. }
  2090. }
  2091. }
  2092.  
  2093. inline void TicTacToe :: MIJLOC_ADouaMutareJucatorMuchie21()
  2094. {
  2095. int x,y;
  2096.  
  2097. a[1][2] = calculator;
  2098. cls();
  2099. AfisareTabla();
  2100. cout<<"\nE randul tau! \n\n";
  2101.  
  2102. cin>>x>>y;
  2103. VerificarePozitiiGresite(x,y);
  2104. a[x-1][y-1] = jucator;
  2105. cls();
  2106. AfisareTabla();
  2107.  
  2108. if(x != 1 || y != 3)
  2109. {
  2110. a[0][2] = calculator;
  2111. cls(); AfisareTabla();
  2112. cout<<"\nAi pierdut!\n\n";
  2113. cout<<"------------------- SFARSIT JOC! -------------------";
  2114. exit(0);
  2115. }
  2116.  
  2117. a[2][0] = calculator;
  2118. cls();
  2119. AfisareTabla();
  2120. cout<<"\nE randul tau! \n\n";
  2121.  
  2122. cin>>x>>y;
  2123. VerificarePozitiiGresite(x,y);
  2124. a[x-1][y-1] = jucator;
  2125. cls();
  2126. AfisareTabla();
  2127.  
  2128. if(x != 3 || y != 2)
  2129. {
  2130. a[2][1] = calculator;
  2131. cls(); AfisareTabla();
  2132. cout<<"\nAi pierdut!\n\n";
  2133. cout<<"------------------- SFARSIT JOC! -------------------";
  2134. exit(0);
  2135. }
  2136.  
  2137. a[0][1] = calculator;
  2138. cls(); AfisareTabla();
  2139. cout<<"\nE randul tau! \n\n";
  2140.  
  2141. ///nu mai are rost
  2142. cin>>x>>y;
  2143. VerificarePozitiiGresite(x,y);
  2144. a[x-1][y-1] = jucator;
  2145. cls(); AfisareTabla();
  2146. cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
  2147. cout<<"------------------- SFARSIT JOC! -------------------";
  2148. exit(0);
  2149. }
  2150.  
  2151.  
  2152. inline void TicTacToe :: MIJLOC_ADouaMutareJucatorColt11()
  2153. {
  2154. int x,y;
  2155.  
  2156. a[0][2] = calculator;
  2157. cls();
  2158. AfisareTabla();
  2159. cout<<"\nE randul tau! \n\n";
  2160.  
  2161. cin>>x>>y;
  2162. VerificarePozitiiGresite(x,y);
  2163. a[x-1][y-1] = jucator;
  2164. cls();
  2165. AfisareTabla();
  2166.  
  2167. if(x != 2 || y != 3)
  2168. {
  2169. a[1][2] = calculator;
  2170. cls(); AfisareTabla();
  2171. cout<<"\nAi pierdut!\n\n";
  2172. cout<<"------------------- SFARSIT JOC! -------------------";
  2173. exit(0);
  2174. }
  2175.  
  2176. a[1][0] = calculator;
  2177. cls();
  2178. AfisareTabla();
  2179. cout<<"\nE randul tau! \n\n";
  2180.  
  2181. cin>>x>>y;
  2182. VerificarePozitiiGresite(x,y);
  2183. a[x-1][y-1] = jucator;
  2184. cls();
  2185. AfisareTabla();
  2186.  
  2187. if(x == 1 && y == 2)
  2188. {
  2189. a[2][1] = calculator;
  2190. cls(); AfisareTabla();
  2191. cout<<"\nE randul tau!\n\n";
  2192.  
  2193. ///nu mai are rost
  2194. cin>>x>>y;
  2195. VerificarePozitiiGresite(x,y);
  2196. a[x-1][y-1] = jucator;
  2197. cls(); AfisareTabla();
  2198. cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
  2199. cout<<"------------------- SFARSIT JOC! -------------------";
  2200. exit(0);
  2201. }
  2202. else if(x == 3 && y == 2)
  2203. {
  2204. a[0][1] = calculator;
  2205. cls(); AfisareTabla();
  2206. cout<<"\nE randul tau!\n\n";
  2207.  
  2208. ///nu mai are rost
  2209. cin>>x>>y;
  2210. VerificarePozitiiGresite(x,y);
  2211. a[x-1][y-1] = jucator;
  2212. cls(); AfisareTabla();
  2213. cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
  2214. cout<<"------------------- SFARSIT JOC! -------------------";
  2215. exit(0);
  2216. }
  2217. else
  2218. {
  2219. ///nu mai are rost
  2220. a[2][1] = calculator;
  2221. cls(); AfisareTabla();
  2222. cout<<"\nE randul tau!\n\n";
  2223.  
  2224. ///nu mai are rost
  2225. cin>>x>>y;
  2226. VerificarePozitiiGresite(x,y);
  2227. a[x-1][y-1] = jucator;
  2228. cls(); AfisareTabla();
  2229. cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
  2230. cout<<"------------------- SFARSIT JOC! -------------------";
  2231. exit(0);
  2232. }
  2233. }
  2234.  
  2235. inline void TicTacToe :: MIJLOC_ADouaMutareJucatorColt13()
  2236. {
  2237. int x,y;
  2238.  
  2239. a[2][0] = calculator;
  2240. cls();
  2241. AfisareTabla();
  2242. cout<<"\nE randul tau! \n\n";
  2243.  
  2244. cin>>x>>y;
  2245. VerificarePozitiiGresite(x,y);
  2246. a[x-1][y-1] = jucator;
  2247. cls();
  2248. AfisareTabla();
  2249.  
  2250. if(x != 3 || y != 2)
  2251. {
  2252. a[2][1] = calculator;
  2253. cls(); AfisareTabla();
  2254. cout<<"\nAi pierdut!\n\n";
  2255. cout<<"------------------- SFARSIT JOC! -------------------";
  2256. exit(0);
  2257. }
  2258.  
  2259. a[0][1] = calculator;
  2260. cls();
  2261. AfisareTabla();
  2262. cout<<"\nE randul tau! \n\n";
  2263.  
  2264. cin>>x>>y;
  2265. VerificarePozitiiGresite(x,y);
  2266. a[x-1][y-1] = jucator;
  2267. cls();
  2268. AfisareTabla();
  2269.  
  2270. if(x == 2 && y == 1)
  2271. {
  2272. a[1][2] = calculator;
  2273. cls(); AfisareTabla();
  2274. cout<<"\nE randul tau!\n\n";
  2275.  
  2276. ///nu mai are rost
  2277. cin>>x>>y;
  2278. VerificarePozitiiGresite(x,y);
  2279. a[x-1][y-1] = jucator;
  2280. cls(); AfisareTabla();
  2281. cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
  2282. cout<<"------------------- SFARSIT JOC! -------------------";
  2283. exit(0);
  2284. }
  2285. else if(x == 2 && y == 3)
  2286. {
  2287. a[1][0] = calculator;
  2288. cls(); AfisareTabla();
  2289. cout<<"\nE randul tau!\n\n";
  2290.  
  2291. ///nu mai are rost
  2292. cin>>x>>y;
  2293. VerificarePozitiiGresite(x,y);
  2294. a[x-1][y-1] = jucator;
  2295. cls(); AfisareTabla();
  2296. cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
  2297. cout<<"------------------- SFARSIT JOC! -------------------";
  2298. exit(0);
  2299. }
  2300. else
  2301. {
  2302. ///nu mai are rost
  2303. a[1][2] = calculator;
  2304. cls(); AfisareTabla();
  2305. cout<<"\nE randul tau!\n\n";
  2306.  
  2307. ///nu mai are rost
  2308. cin>>x>>y;
  2309. VerificarePozitiiGresite(x,y);
  2310. a[x-1][y-1] = jucator;
  2311. cls(); AfisareTabla();
  2312. cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
  2313. cout<<"------------------- SFARSIT JOC! -------------------";
  2314. exit(0);
  2315. }
  2316. }
  2317.  
  2318. inline void TicTacToe :: MIJLOC_ADouaMutareJucatorColt31()
  2319. {
  2320. int x,y;
  2321.  
  2322. a[0][2] = calculator;
  2323. cls();
  2324. AfisareTabla();
  2325. cout<<"\nE randul tau! \n\n";
  2326.  
  2327. cin>>x>>y;
  2328. VerificarePozitiiGresite(x,y);
  2329. a[x-1][y-1] = jucator;
  2330. cls();
  2331. AfisareTabla();
  2332.  
  2333. if(x != 2 || y != 3)
  2334. {
  2335. a[1][2] = calculator;
  2336. cls(); AfisareTabla();
  2337. cout<<"\nAi pierdut!\n\n";
  2338. cout<<"------------------- SFARSIT JOC! -------------------";
  2339. exit(0);
  2340. }
  2341.  
  2342. a[1][0] = calculator;
  2343. cls();
  2344. AfisareTabla();
  2345. cout<<"\nE randul tau! \n\n";
  2346.  
  2347. cin>>x>>y;
  2348. VerificarePozitiiGresite(x,y);
  2349. a[x-1][y-1] = jucator;
  2350. cls();
  2351. AfisareTabla();
  2352.  
  2353. if(x == 1 && y == 2)
  2354. {
  2355. a[2][1] = calculator;
  2356. cls(); AfisareTabla();
  2357. cout<<"\nE randul tau!\n\n";
  2358.  
  2359. ///nu mai are rost
  2360. cin>>x>>y;
  2361. VerificarePozitiiGresite(x,y);
  2362. a[x-1][y-1] = jucator;
  2363. cls(); AfisareTabla();
  2364. cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
  2365. cout<<"------------------- SFARSIT JOC! -------------------";
  2366. exit(0);
  2367. }
  2368. else if(x == 3 && y == 2)
  2369. {
  2370. a[0][1] = calculator;
  2371. cls(); AfisareTabla();
  2372. cout<<"\nE randul tau!\n\n";
  2373.  
  2374. ///nu mai are rost
  2375. cin>>x>>y;
  2376. VerificarePozitiiGresite(x,y);
  2377. a[x-1][y-1] = jucator;
  2378. cls(); AfisareTabla();
  2379. cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
  2380. cout<<"------------------- SFARSIT JOC! -------------------";
  2381. exit(0);
  2382. }
  2383. else
  2384. {
  2385. ///nu mai are rost
  2386. a[0][1] = calculator;
  2387. cls(); AfisareTabla();
  2388. cout<<"\nE randul tau!\n\n";
  2389.  
  2390. ///nu mai are rost
  2391. cin>>x>>y;
  2392. VerificarePozitiiGresite(x,y);
  2393. a[x-1][y-1] = jucator;
  2394. cls(); AfisareTabla();
  2395. cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
  2396. cout<<"------------------- SFARSIT JOC! -------------------";
  2397. exit(0);
  2398. }
  2399. }
  2400.  
  2401.  
  2402. inline void TicTacToe :: PrimaMutareJucatorMIJLOC()
  2403. {
  2404. int x,y;
  2405.  
  2406. a[2][2] = calculator;
  2407. cls();
  2408. AfisareTabla();
  2409. cout<<"\nE randul tau! \n\n";
  2410.  
  2411. cin>>x>>y;
  2412. VerificarePozitiiGresite(x,y);
  2413. a[x-1][y-1] = jucator;
  2414. cls();
  2415. AfisareTabla();
  2416.  
  2417. if((x + y) % 2 == 1) ///a doua mutare jucator : muchie
  2418. {
  2419. if(x == 1 && y == 2)
  2420. MIJLOC_ADouaMutareJucatorMuchie12();
  2421. if(x == 2 && y == 3)
  2422. MIJLOC_ADouaMutareJucatorMuchie23();
  2423. if(x == 3 && y == 2)
  2424. MIJLOC_ADouaMutareJucatorMuchie32();
  2425. if(x == 2 && y == 1)
  2426. MIJLOC_ADouaMutareJucatorMuchie21();
  2427. }
  2428. else ///a doua mutare jucator : colt
  2429. {
  2430. if(x == 1 && y == 1)
  2431. MIJLOC_ADouaMutareJucatorColt11();
  2432. if(x == 1 && y == 3)
  2433. MIJLOC_ADouaMutareJucatorColt13();
  2434. if(x == 3 && y == 1)
  2435. MIJLOC_ADouaMutareJucatorColt31();
  2436. }
  2437.  
  2438. }
  2439.  
  2440.  
  2441.  
  2442. inline void TicTacToe :: PrimaMutareJucatorMuchie()
  2443. {
  2444.  
  2445. }
  2446.  
  2447. inline void TicTacToe :: PrimaMutareJucatorColt()
  2448. {
  2449. cout<<"Colt\n";
  2450. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement