Advertisement
rekinosyt

Untitled

Jul 19th, 2020
28
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 21.50 KB | None | 0 0
  1. using namespace std;
  2.  
  3. void console (int x, int y){
  4. HANDLE okno = GetStdHandle(STD_OUTPUT_HANDLE);
  5.  
  6. COORD size;
  7. size.X = x;
  8. size.Y = x;
  9.  
  10. SetConsoleScreenBufferSize(okno, size);
  11.  
  12. }
  13.  
  14. int wstep () {
  15. MessageBoxA (NULL, "Warcaby by Arkadiusz Wróbel! \nUpewnij siê czy masz w³¹czony capslock", "Warcaby", MB_ICONEXCLAMATION ) ;
  16. char data;
  17. SetConsoleTitleA( "Warcaby by Arkadiusz Wróbel" ) ;
  18. cout << "Witaj w grze warcaby!" << endl;
  19. cout << endl;
  20. cout << endl;
  21. cout << " MENU GLOWNE: " << endl;
  22. cout << " WCISNIJ KLAWISZ 1 ABY URUCHOMIC GRE MULTIPLAYER " <<endl;
  23. cout << " WCISNIJ KLAWISZ 2 ABY URUCHOMIC GRE SINGLE " <<endl;
  24. cout << " WCISNIJ KLAWISZ 3 ABY WYLACZYC GRE " <<endl;
  25. data = getch();
  26. return data;
  27. }
  28.  
  29. string nazwa (){
  30. string gracz;
  31. cin >> gracz;
  32. return gracz;
  33. }
  34.  
  35. void czysc(){
  36. HANDLE hOut;
  37. hOut = GetStdHandle(STD_OUTPUT_HANDLE);
  38. cout << "CLEANED" << endl << endl;
  39. }
  40.  
  41. void clear() {
  42. system("cls");
  43. }
  44.  
  45. string explode ( const string & str, const char ch, const unsigned int v)
  46. {
  47. string ret = "";
  48. for( size_t i = 0, tmp = 0; i < str.size(); ++i ) {
  49. if( str[ i ] == ch ) {
  50. if( tmp > v ) break;
  51. else ++tmp;
  52.  
  53. }
  54. else if ( tmp == v ) ret += str[ i ];
  55. }
  56. return ret;
  57. }
  58.  
  59. void biale_tlo(){
  60. HANDLE hOut; // Uchwyt kolorow
  61. hOut = GetStdHandle( STD_OUTPUT_HANDLE ); //Przypisujemy do zmiennej
  62. SetConsoleTextAttribute( hOut, BACKGROUND_GREEN | BACKGROUND_RED | BACKGROUND_BLUE );
  63.  
  64. }
  65.  
  66. void brazowe_tlo(){
  67. HANDLE hOut; // Uchwyt kolorow
  68. hOut = GetStdHandle ( STD_OUTPUT_HANDLE ); //Przypisujemy do zmiennej
  69. SetConsoleTextAttribute( hOut, BACKGROUND_GREEN | BACKGROUND_RED );
  70.  
  71. }
  72. void biala_szachownica( string text, bool newline){
  73. HANDLE hOut; // Uchwyt kolorow
  74. hOut = GetStdHandle ( STD_OUTPUT_HANDLE ); //Przypisujemy do zmiennej
  75. SetConsoleTextAttribute( hOut, FOREGROUND_GREEN | FOREGROUND_RED | FOREGROUND_BLUE );
  76. if(newline == true) {
  77. cout << text << endl;
  78.  
  79. }else {
  80. cout << text;
  81. }
  82. }
  83. void generuj_kolor(int nr, bool biale){
  84. if(biale != true) {
  85. nr++;
  86. }
  87. if(nr % 2 == 0){
  88. brazowe_tlo();
  89. }else{
  90. biale_tlo;
  91. }
  92.  
  93. }
  94.  
  95. void generuj_linie (bool zamiana, int tab[], int licznik) {
  96. char alfabet[8] = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'h'};
  97. cout << " ";
  98. // FOR POCZTKOWY !!!!!
  99. for (int up = 1; up <=8; up++) {
  100. // Zaczynamy dla nieparzytych = bialemu
  101. biala_szachownica ("", false );
  102. generuj_kolor (up, zamiana);
  103. cout << " ";
  104.  
  105.  
  106. }
  107. // przeskakujemy nizej
  108. biala_szachownica("", true);
  109. // Tutaj wyœwietlamy pionka if jest
  110. cout << alfabet[licznik] << " ";
  111. for (int center = 1; center <= 8; center++){
  112. if(tab[center-1] == 1) {
  113. biala_szachownica("", false);
  114. generuj_kolor (center, zamiana);
  115. cout << " w ";
  116. }else if(tab[center-1] == 2) {
  117. biala_szachownica("", false);
  118. generuj_kolor(center, zamiana);
  119. cout <<" B ";
  120.  
  121. }
  122. else if(tab[center-1] == 3) {
  123. biala_szachownica ("", false);
  124. generuj_kolor(center, zamiana);
  125. cout <<" W_W ";
  126.  
  127. } else if(tab[center-1] == 4) {
  128. biala_szachownica ("", false);
  129. generuj_kolor(center, zamiana);
  130. cout <<" B-B ";
  131.  
  132. }else{
  133. biala_szachownica("", false);
  134. generuj_kolor(center , zamiana);
  135. cout << " ";
  136. for(int line=1; line<=8; line++){
  137. biala_szachownica("", false);
  138. generuj_kolor(line, zamiana);
  139. cout <<" ";
  140. }
  141. biala_szachownica("", true);
  142.  
  143. }
  144. }
  145. }
  146. void tworzenie_plikow(string const_prog){
  147. string data[8] = {"line_0.txt", "line_1.txt", "line_2.txt", "line_3.txt", "line_4.txt", "line_5.txt", "line_6.txt", "line_7.txt"} ;
  148. string co = "copy" + const_prog + "\\data\\";
  149. string gdzie = " " + const_prog + "\\temp_data\\temp_" ;
  150.  
  151. system("mkdir temp_data");
  152.  
  153.  
  154. for(int x = 0; x <= 7; x++){
  155.  
  156. string temp = co + data[x] + gdzie + data[x];
  157. char* buf = new char [temp.size()+1];
  158. strcpy(buf, temp.c_str());
  159. system(buf);
  160. }
  161.  
  162. }
  163. void plansza(string const_prog){
  164. string data[8] = {"line_0.txt", "line_1.txt", "line_2.txt", "line_3.txt", "line_4.txt", "line_5.txt", "line_6.txt", "line_7.txt"} ;
  165. string gdzie = " " + const_prog + "\\temp_data\\temp_" ;
  166. string temps[8];
  167.  
  168. for(int i = 0; 1 <=7; i++){
  169. string temp = gdzie + data[i];
  170.  
  171.  
  172. char temp_line[25];
  173. FILE *zw;
  174. zw = fopen(temp.c_str(), "r");
  175. fgets(temp_line,25,zw); //czytanie pliku.
  176. temps[i] = temp_line;
  177. fclose(zw);
  178. }
  179. int tab[8];
  180. for(int x = 0; x <= 7; x++){
  181. for(int y = 0; y <= 7; y++){
  182. if(explode (temps[x], ' ', y ) != "0" ){
  183. if(explode (temps[x], ' ', y) == "W-1"){
  184. tab[y] = 1;
  185.  
  186. }else if(explode (temps[x], ' ', y) == "B-1"){
  187. tab[y] = 2;
  188.  
  189. }else if(explode (temps[x], ' ', y) == "W-2"){
  190. tab[y] = 3;
  191.  
  192. }else if(explode (temps[x], ' ', y) == "B-2"){
  193. tab[y] = 4;
  194. }
  195.  
  196. }else{
  197. tab[y] = 0;
  198. }
  199. }
  200. if((x+2) % 2 == 0){
  201. generuj_linie (true, tab, x);
  202.  
  203. }else {
  204. generuj_linie(false, tab, x);
  205. }
  206. }
  207.  
  208. }
  209. string czytaj_ruch(int z ) {
  210. if(z == 1) {
  211. cout << "Wybierz pionka: np. HS: ";
  212.  
  213. }else{
  214. cout << "Wskaz gdzie ma isc: ";
  215. }
  216.  
  217. char alfabet[8] = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'};
  218. char liczby[8] = {'1', '2', '3', '4', '5', '6', '7', '8'};
  219. string temp_move;
  220. int error = 0;
  221.  
  222.  
  223.  
  224.  
  225. while (error ==0){
  226. cin >> temp_move;
  227.  
  228. char* buf = new char[temp_move.size()];
  229. strcpy(buf,temp_move.c_str());
  230.  
  231. for(int i=0; i <=7; i++){
  232. for(int x=0; x<=7; x++){
  233. if(alfabet[i] == buf[0] && liczby[x] == buf [1]){
  234. cout << "Wybrales: " << temp_move << endl;
  235. return temp_move;
  236. }
  237. }
  238.  
  239. }
  240. cout << "Bledne dane " << endl;
  241.  
  242. }
  243.  
  244. }
  245.  
  246.  
  247. bool veryfikuj(string moves[], string const_prog, int kto){
  248.  
  249. char alfabet2[8] = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'};
  250. char liczby2[8] = {'1', '2', '3', '4', '5', '6', '7', '8'};
  251. string data2[8] = {"line_0.txt", "line_1.txt", "line_2.txt", "line_3.txt", "line_4.txt", "line_5.txt", "line_6.txt", "line_7.txt"} ;
  252. string mozliwe_ruchy[4];
  253. string dane = const_prog + "\\temp_data\\temp_" ;
  254. int jaki_plik;
  255. int jaka_liczba;
  256. int errors=0;
  257.  
  258.  
  259. string plik [8];
  260.  
  261. char* movin = new char[moves[0].size()+1];
  262. strcpy (movin, moves[0].c_str());
  263.  
  264. char* movout = new char[moves[1].size()+1];
  265. strcpy(movout, moves[1].c_str());
  266.  
  267.  
  268. for(int x=0; x<=7; x++){
  269.  
  270. if(alfabet2[x] == movin[0]){
  271. jaki_plik = x;
  272.  
  273. }
  274. }
  275. for(int i=0; i<=7; i++){
  276.  
  277. if(liczby2[i] == movin[1]){
  278. jaka_liczba = i;
  279.  
  280. }
  281. }
  282. for(int n = 0; n<=7; n++) {
  283.  
  284. string temp = dane +data2[n];
  285.  
  286.  
  287. char temp_line[25];
  288. FILE *zw;
  289. zw = fopen(temp.c_str(), "r");
  290. fgets(temp_line,25,zw);
  291. plik[n] = temp_line;
  292. fclose(zw);
  293. }
  294.  
  295. if(kto == 1){
  296. if(explode(plik[jaki_plik], ' ', jaka_liczba) == "W-1"){
  297. string litera(1, alfabet2[jaki_plik+1]);
  298. string liczA(1, liczby2[jaka_liczba+1]);
  299. string liczB(1, liczby2[jaka_liczba-1]);
  300. mozliwe_ruchy[0] = litera + liczA;
  301. mozliwe_ruchy[1] = litera + liczB;
  302. mozliwe_ruchy[2] = "";
  303. mozliwe_ruchy[3] = "";
  304. }else{
  305. string literaA(1, alfabet2[jaki_plik+1]);
  306. string literaB(1, alfabet2[jaki_plik-1]);
  307. string liczA(1, liczby2[jaka_liczba+1]);
  308. string liczB(1, liczby2[jaka_liczba-1]);
  309. mozliwe_ruchy[0] = literaA + liczA;
  310. mozliwe_ruchy[1] = literaA + liczB;
  311. mozliwe_ruchy[2] = literaB + liczB;
  312. mozliwe_ruchy[3] = literaB + liczA;
  313. }
  314.  
  315.  
  316.  
  317. }else{
  318.  
  319. if(explode(plik[jaki_plik], ' ', jaka_liczba) == "B-1"){
  320. string litera(1, alfabet2[jaki_plik-1]);
  321. string liczA(1, liczby2[jaka_liczba+1]);
  322. string liczB(1, liczby2[jaka_liczba-1]);
  323. mozliwe_ruchy[0] = litera + liczA;
  324. mozliwe_ruchy[1] = litera + liczB;
  325. mozliwe_ruchy[2] = "";
  326. mozliwe_ruchy[3] = "";
  327. }else{
  328. string literaA(1, alfabet2[jaki_plik+1]);
  329. string literaB(1, alfabet2[jaki_plik-1]);
  330. string liczA(1, liczby2[jaka_liczba+1]);
  331. string liczB(1, liczby2[jaka_liczba-1]);
  332. mozliwe_ruchy[0] = literaA + liczA;
  333. mozliwe_ruchy[1] = literaA + liczB;
  334. mozliwe_ruchy[2] = literaB + liczB;
  335. mozliwe_ruchy[3] = literaA + liczA;
  336. }
  337. }
  338.  
  339. if(explode(plik[jaki_plik], ' ', jaka_liczba) !="0"){
  340.  
  341. if(kto == 1 && explode(plik[jaki_plik], ' ', jaka_liczba) !="W-1"){
  342. if(kto == 1 && explode(plik[jaki_plik], ' ', jaka_liczba) != "W-2"){
  343. return false;
  344. }
  345. }
  346.  
  347. if(kto == 0 && explode(plik[jaki_plik], ' ', jaka_liczba) != "B-1"){
  348. if(kto == 0 && explode(plik[jaki_plik], ' ', jaka_liczba) != "B-2"){
  349. return false;
  350. }
  351. }
  352. }else{
  353. return false;
  354. }
  355.  
  356. for(int x=0; x<=7; x++){
  357.  
  358. if(alfabet2[x] == movout[0]){
  359. jaki_plik = x;
  360. }
  361. }
  362. for(int i=0; i<=7; i++){
  363. if(liczby2[i] == movout[i]){
  364. jaka_liczba = i;
  365. }
  366. }
  367.  
  368. //SPRAWDZAMY DRUGI RUCH
  369.  
  370. for(int a=0; a<=3; a++){
  371.  
  372. if(moves[1] == mozliwe_ruchy[a]){
  373. errors++;
  374. }
  375. }
  376. if(errors == 0){
  377. return false;
  378. }
  379.  
  380. string tmp = explode(plik[jaki_plik],' ', jaka_liczba);
  381.  
  382. if(tmp !="0"){
  383. if(kto == 1 && tmp == "W-1" || kto == 1 && tmp == "W-2" ){
  384. return false;
  385. }
  386. if(kto == 0 && tmp == "B-1" || kto == 0 && tmp == "B-2"){
  387. return false;
  388. }
  389. }
  390.  
  391. return true;
  392.  
  393.  
  394.  
  395.  
  396. }
  397.  
  398. int rusz(int kiery, string moves[], string const_prog){
  399.  
  400. string plik[8];
  401. char alfabet2[8] = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'};
  402. char liczby2[8] = {'1', '2', '3', '4', '5', '6', '7', '8'};
  403. string data2[8] = { "line_0.txt", "line_1.txt", "line_2.txt", "line_3.txt", "line_4.txt", "line_5.txt", "line_6.txt", "line_7.txt"};
  404. string dane = const_prog + "\\temp_data\\temp_";
  405. int jaki_plik, jaka_liczba;
  406.  
  407. char* movin = new char[moves[0].size()+1];
  408. strcpy(movin,moves[0].c_str());
  409.  
  410. char* movout = new char[moves[1].size()+1];
  411. strcpy(movout,moves[1].c_str());
  412.  
  413. for(int n = 0; n<=7; n++){
  414.  
  415. string temp = dane + data2[n];
  416.  
  417.  
  418. char temp_line[25];
  419. FILE *zw;
  420. zw = fopen(temp.c_str(), "r");
  421. fgets(temp_line,25,zw);
  422. plik[n] = temp_line;
  423. fclose(zw);
  424.  
  425. }
  426.  
  427. for(int x=0; x<=7; x++){
  428.  
  429. if(alfabet2[x] == movin[0]){
  430. jaki_plik = x;
  431. }
  432. if(liczby2[x] == movin[1]){
  433. jaka_liczba = x;
  434. }
  435. }
  436.  
  437. string zmiana, dopis;
  438. string co_przenies = explode(plik[jaki_plik], ' ',jaka_liczba);
  439. for(int p=0; p<=7; p++){
  440. if(p == jaka_liczba){
  441. zmiana = zmiana + "0 ";
  442. }else{
  443. zmiana = zmiana + explode(plik[jaki_plik], ' ', p) + " ";
  444. }
  445. }
  446.  
  447. char* zapis = new char[zmiana.size()+1];
  448. strcpy(zapis,zmiana.c_str());
  449.  
  450. string temp2 = dane + data2[jaki_plik];
  451. char* bef = new char[temp2.size()+1];
  452. strcpy(bef,temp2.c_str());
  453.  
  454. ofstream NowyPlik;
  455. NowyPlik.open(bef);
  456. NowyPlik << zmiana;
  457. NowyPlik.close();
  458.  
  459. for(int x=0; x<=7; x++){
  460. if(alfabet2[x] == movout[0]){
  461. jaki_plik = x;
  462. {
  463. if(liczby2[x] == movout[1]){
  464. jaka_liczba = x;
  465. }
  466. }
  467.  
  468.  
  469. // jesli dojdzie do konca planszy
  470. if(kiery == 1 && alfabet2[jaki_plik] == 'H' && co_przenies == "W-1"){
  471. co_przenies = "W-2";
  472. }
  473. if(kiery == 1 && alfabet2[jaki_plik] == 'H' && co_przenies == "B-1"){
  474. co_przenies = "B-2";
  475. }
  476.  
  477. // end jesli dojdzie do konca planszy
  478.  
  479. for(int c=0; c<=7; c++){
  480. if(c == jaka_liczba){
  481. dopis = dopis + co_przenies + " ";
  482. }else{
  483. dopis = dopis + explode(plik[jaki_plik], ' ', c) + " ";
  484. }
  485. }
  486.  
  487. char* dop = new char[dopis.size()+1];
  488. strcpy(dop,dopis.c_str());
  489.  
  490. string temp3 = dane + data2[jaki_plik];
  491. char*beff = new char[temp3.size()+1];
  492. strcpy(beff,temp3.c_str());
  493.  
  494. ofstream NowyPlika;
  495. NowyPlika.open(beff);
  496. NowyPlika << dopis;
  497. NowyPlika.close();
  498.  
  499.  
  500. if(kiery == 1 ){
  501. return 0;
  502. }else{
  503. return 1;
  504. }
  505.  
  506.  
  507.  
  508. }
  509.  
  510. bool end_it(string const_prog, string gracz[], int kto);
  511.  
  512. string plik[8];
  513. string data2[8] = { "line_0.txt", "line_1.txt", "line_2.txt", "line_3.txt", "line_4.txt", "line_5.txt", "line_6.txt","line_7txt"};
  514. string dane = const_prog + "\\temp_data\\temp_";
  515. int ile_W = 0;
  516. int ile_B = 0;
  517.  
  518. for(int n = 0; n<=7; n++){
  519.  
  520. string temp = dane + data2[n];
  521.  
  522.  
  523.  
  524. char temp_line[25];
  525. FILE *zw;
  526. zw = fopen(temp.c_str(), "r");
  527. fgets(temp_line,25,zw);
  528. plik[n] = temp_line;
  529. fclose(zw);
  530.  
  531. }
  532.  
  533. for(int i=0; i<=7;i++){
  534. for(int x=0; x<=7; x++){
  535.  
  536. if(explode(plik[i], ' ', x) != "0"){
  537. if(explode(plik[i], ' ', x) == "W-1" || explode(plik[i], ' ', x) == "W-2"){
  538. ile_W++;
  539. }
  540. if (explode(plik[i], ' ', x) == "B-1" || explode(plik[1], ' ', x) == "B-2"){
  541. ile_B++;
  542. }
  543. }
  544. }
  545. }
  546.  
  547. if(ile_W == 0 || ile_B == 0){
  548. MessageBoxA( NULL, "Gra skonczona! \nDzieki za gre", "Warcaby", MB_ICONEXCLAMATION );
  549. clear();
  550. return true;
  551. }
  552. return false;
  553.  
  554.  
  555. }
  556.  
  557. bool gra();
  558. tworzenie_plikow("D:\\Warcaby");
  559. bool game_over = false;
  560. string move[2];
  561. string gracze[2];
  562. int player_move = 1;
  563. time_t start, koniec;
  564. double roznica;
  565.  
  566.  
  567. clear();
  568. cout << "Podaj nick bialego" << endl;
  569. gracze[1] = nazwa();
  570. cout << "Podaj nick czarnego" << endl;
  571. gracze[0] = nazwa();
  572. clear();
  573.  
  574. time( & start );
  575. while(game_over == false){
  576.  
  577. clear();
  578. cout << "---------------------------------------------" << endl;
  579. cout << " Teraz ruszaja: " << endl;
  580.  
  581. if(player_move == 1){
  582. cout << " " << gracze [1] << " Biale (W)" << endl;
  583. }else{
  584. cout << " " << gracze [0] << " Czarne (B)" << endl;
  585. }
  586. cout << "----------------------------------------------" << endl;
  587.  
  588. plansza("D:\\Warcaby");
  589. moves[0] = czytaj_ruch(1);
  590. moves[1] = czytaj_ruch(0);
  591.  
  592. if(veryfikuj(moves, "D:\\Warcaby", player_move) == false){
  593. cout << "NIE MOZESZ TAK RUSZYC" << endl;
  594. }else{
  595. cout << "Twoj ruch: " << moves[0] << " ---> " << moves[1] << endl;
  596. int tmp_move = player_move;
  597. player_move = rusz(tmp_move, moves, "D:\\Warcaby");
  598. }
  599.  
  600. system("pause");
  601. game_over = ("D:\\Warcaby", gracze, player_move);
  602.  
  603. }
  604. time( & koniec );
  605. roznica = difftime( koniec, start );
  606. cout << "Poprzednia gra trwala: " << roznica << "sek" << endl;
  607.  
  608.  
  609.  
  610.  
  611. return false;
  612. }
  613.  
  614.  
  615. bool single(){
  616. tworzenie_plikow("D:\\Warcaby");
  617. bool game_over = false;
  618. string moves[2];
  619. string gracze[1];
  620. int player_move = 1;
  621.  
  622. clear();
  623. cout << "Podaj twoj nick:" << endl;
  624. gracze[0] = nazwa();
  625. clear();
  626.  
  627.  
  628. while(game_over == false){
  629. game_over = ("D:\\Warcaby", gracze, player_move);
  630. clear();
  631. cout << "----------------------------------------------" << endl;
  632. cout << " Teraz ruszaja: " << endl;
  633.  
  634. if(player_move == 1){
  635. cout << " " << gracze[0] << "Biale (W)" << endl;
  636. }else{
  637. cout << " Komputer: Czarne (B)" << endl;
  638. }
  639. cout << "----------------------------------------------" << endl;
  640.  
  641. plansza("D:\\Warcaby");
  642.  
  643. if(player_move == 1){
  644. moves[0] = czytaj_ruch(1);
  645. moves[1] = czytaj_ruch(0);
  646.  
  647. if(veryfikuj(moves, "D:\\Warcaby", player_move) == false){
  648. cout << "NIE MOZESZ TAK RUSZYC" << endl;
  649.  
  650. }else{
  651. cout << "Twoj ruch: " << moves[0] << " ---> " << endl;
  652. int tmp_move = player_move;
  653. player_move = rusz(tmp_move, moves, "D:\\Warcaby");
  654. }
  655. }else{
  656. int bot_rand[2];
  657.  
  658. char alf[8] = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'};
  659. char lb[8] = {'1', '2', '3', '4', '5', '6', '7', '8'};
  660. string data2[8] = { "line_0.txt", "line_1.txt", "line_2.txt", "line_3.txt", "line_4.txt", "line_5.txt", "line_6.txt", "line_7.txt"};
  661. string mozliwe_ruchy[4];
  662. string dane = "D:\\Warcaby\\temp_data\\temp_";
  663. string plik[8];
  664. string wysli[2];
  665. bool find = false;
  666.  
  667. while(find == false){
  668.  
  669. for(int i=0;i<=2;i++){
  670. if (i>=0){
  671. bot_rand[i] = rand()%8;
  672. }
  673. }
  674.  
  675. string lit(1, alf[bot_rand[0]]);
  676. string cyf(1,lb[bot_rand[1]]);
  677. string moves = lit + cyf;
  678.  
  679.  
  680.  
  681. for(int n = 0; n<=7; n++){
  682.  
  683. string temp = dane + data2[n];
  684.  
  685.  
  686. char temp_line[25];
  687. FILE *zw;
  688. zw=fopen(temp.c_str(), "r");
  689. fgets(temp_line,25,zw);
  690. plik[n] = temp_line;
  691. fclose(zw);
  692. }
  693.  
  694. if(explode(plik[bot_rand[0]], ' ', bot_rand[1]) == "B-1"){
  695.  
  696. string litera(1, alf[bot_rand[0]-1]);
  697. string liczA(1, lb[bot_rand[1]+1]);
  698. string liczB(1, lb[bot_rand[1]-1]);
  699. mozliwe_ruchy[0] = litera + liczA;
  700. mozliwe_ruchy[1] = litera + liczB;
  701. mozliwe_ruchy[2] = "";
  702. mozliwe_ruchy[3] = "";
  703.  
  704. }else if(explode(plik[bot_rand[0]], ' ', bot_rand[1]) == "B-2"){
  705.  
  706. string literaA(1, alf[bot_rand[0]+1]);
  707. string literaB(1, alf[bot_rand[0]-1]);
  708. string liczA(1, lb[bot_rand[1]+1]);
  709. string liczB(1, lb[bot_rand[1]-1]);
  710. mozliwe_ruchy[0] = literaA + liczA;
  711. mozliwe_ruchy[1] = literaA + liczB;
  712. mozliwe_ruchy[2] = literaB + liczB;
  713. mozliwe_ruchy[3] = literaB + liczA;
  714. }
  715.  
  716. for(int c=0; c<=3; c++){
  717. wysli[0] = moves;
  718. wysli[1] = mozliwe_ruchy[c];
  719.  
  720. char* mov = new char[wysli[1].size()+1];
  721. strcpy(mov,wysli[1].c_str());
  722.  
  723. for(int i=0; i <=7; i++){
  724. for(int x=0; x<=7; x++){
  725. if(alf[i] == mov[0] && lb[x] == mov[1]){
  726. if(veryfikuj(wysli, "D:\\Warcaby", 0) != false){
  727.  
  728. cout << "Ruch kompa: " << moves << "---> " << mozliwe_ruchy[c] << endl;
  729. int tmp_move = player_move;
  730. player_move = rusz(tmp_move, wysli, "D:\\Warcaby");
  731. find = true;
  732. c=3;
  733.  
  734. }
  735. }
  736. }
  737. }
  738.  
  739.  
  740. }
  741. }
  742.  
  743. system("pause");
  744.  
  745. }
  746. }
  747. return false;
  748. }
  749.  
  750.  
  751. // ROZGRYWKA
  752. int main(){
  753.  
  754. srand( time ( NULL ) );
  755. bool exit = false;
  756. console(80, 25);
  757.  
  758. while(exit == false){
  759. switch (wstep()){
  760. case '1':
  761. clear();
  762. cout << "Powodzenia!" << endl;
  763. cout << "Gra zaraz sie rozpocznie!" << endl;
  764. cout << "Ladowanie: ";
  765. for(int x = 0 ; x <= 25; x++){
  766.  
  767. Sleep(70);
  768. cout << ">" << flush;
  769. }
  770. system("cls");
  771.  
  772.  
  773.  
  774. break;
  775. case '2':
  776. clear();
  777.  
  778. cout << "Nie wygrasz z komputerem!" << endl;
  779. cout << "Ladowanie: ";
  780. for(int x = 0; x <= 25; x++){
  781.  
  782. Sleep(110);
  783. cout << ">" << flush;
  784. }
  785.  
  786. exit = single();
  787.  
  788. break;
  789. case '3':
  790. system("cls");
  791. cout << "Zapraszamy ponownie!" << endl;
  792. exit = true;
  793. system("pause");
  794. break;
  795. default:
  796.  
  797. system("cls");
  798. cout << "Wykryto niepoprawny znak !!!!" << endl;
  799. cout << endl;
  800. system("pause");
  801. system("cls");
  802.  
  803. break;
  804. }
  805.  
  806.  
  807.  
  808. }
  809.  
  810. return 0;
  811. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement