Advertisement
Guest User

Untitled

a guest
Dec 6th, 2019
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.56 KB | None | 0 0
  1. // Robert Cichocki 180330 EiT gr 2
  2.  
  3. #include <iostream>
  4. #include <cstdlib>
  5. #include <ctime>
  6. #include <cstdio>
  7. #include <vector>
  8. #include "func.h"
  9.  
  10.  
  11. using namespace std;
  12.  
  13. int select;
  14. char x;
  15. int kolumna;
  16.  
  17. void wyjdz();
  18. void menu();
  19. void pomoc();
  20. void gra();
  21. void RysujPlansze();
  22. void PokazMenu();
  23. void ZmienKart();
  24. void DolozKarty();
  25.  
  26. void LosujKartyNaPlanszy();
  27. void GenerujKarty();
  28.  
  29. vector<Karta> wszystkieKarty;
  30. vector<Karta*> kartyNaPlanszy;
  31. vector<vector<Karta*>> grupka;
  32. vector<vector<Karta*>> kol;
  33.  
  34. int main()
  35. {
  36. menu();
  37. }
  38.  
  39. void wyjdz() {
  40. system("cls");
  41. cout << "Do zobaczenia!" << endl;
  42. system("exit");
  43. }
  44.  
  45. void menu() {
  46.  
  47. GenerujKarty();
  48. cout << "*****MENU*****" << endl;
  49. cout << "1.Rozpocznij gre!" << endl;
  50. cout << "2.Jak grac?" << endl;
  51. cout << "3.Wyjscie" << endl;
  52. cout << "> ";
  53. cin >> x;
  54.  
  55.  
  56.  
  57. switch (x) {
  58. case '1':
  59. system("cls");
  60. gra();
  61. cout << hex;
  62. break;
  63. case '2':
  64. pomoc();
  65. break;
  66. case '3':
  67. wyjdz();
  68. break;
  69. default:
  70. menu();
  71. break;
  72. }
  73. }
  74.  
  75.  
  76.  
  77. void pomoc() {
  78. system("cls");
  79. int select;
  80. cout << "Zasady:" << endl;
  81. cout << "Posiadamy 8 kompletow klockow oznaczonych 0,1,2,3,4,5,6,7,8,9,A,B,C" << endl;
  82. cout << "Podana kolejnosc jest jednoczesnie porzadkiem klockow:" << endl;
  83. cout << "- Klocki 0 sa najmniejsze" << endl;
  84. cout << "- Klocki C sa najwieksze" << endl;
  85. cout << "Na poczatku gry klocki umieszczone sa w dziesiaciu kolumnach:" << endl;
  86. cout << "- W pierwszysch 4 kolumnach znajduje sie 6 klockow" << endl;
  87. cout << "- W nastepnych 6 kolumnach jest po 5 klockow" << endl;
  88. cout << "Tylko ostatni klocek z kazdej kolumny jest widoczny." << endl;
  89. cout << "Klocek zostaje odsloniety, gdy jest ostatni w kolumnie." << endl;
  90. cout << "Pozostale klocki sa zgrupowane w pieciu grupach po 10 klockow." << endl;
  91. cout << "Seria, to sekwencja klockow, ktore sa ustawione w kolejnosci malejacej o 1:" << endl;
  92. cout << "- np. 5 4 3 jest seria." << endl;
  93. cout << "Mozliwe ruchy:" << endl;
  94. cout << "- dowolona ostatnie serie klockow kolumn mozna przelozyc na ostatnie miejsce w innej" << endl;
  95. cout << "kolumnie tylko wtedy, gdy po takiej operacji dlugosc przekladanej serii zwiekszy sie" << endl;
  96. cout << "przynajmniej o jeden np. majac serie 6 5 4 3 i 5 serie 4 3 mozna przelozyc na serie 5" << endl;
  97. cout << "otrzymujac tym samym serie 6 5 oraz 5 4 3" << endl;
  98. cout << "- dowolnej dlugosci serie mozna przelozyc na pusta kolumne" << endl;
  99. cout << "- wylozenie zgrupowanych klockow - 10 klockow z grupy zostaje ustawione jako ostatnie w kolumnach" << endl;
  100. cout << "Jesli po kilku ruchach powstaje seria dlugosci 13, czyli zawierajaca wszystkie klocki, wtedy" << endl;
  101. cout << "wszystkie klocki z tej serii zostaja automatycznie usuniete z gry. Gracz wygrywa, gdy usunie" << endl;
  102. cout << "wszystkie klocki, natomiast przegrywa, gdy nie ma ruchu." << endl;
  103. cout << "" << endl;
  104. cout << "Poruszanie sie:" << endl;
  105. cout << "----------------------------------------------------------------------------------------------" << endl;
  106. cout << "1.Wroc do MENU" << endl;
  107. cout << "> ";
  108. cin >> select;
  109. switch (select) {
  110. case 1:
  111. system("cls");
  112. menu();
  113. break;
  114. default:
  115. pomoc();
  116. break;
  117. }
  118. }
  119.  
  120. void gra()
  121. {
  122. LosujKartyNaPlanszy();
  123. while (x != '3')
  124. {
  125. system("CLS");
  126. PokazMenu();
  127. RysujPlansze();
  128.  
  129. switch (x) {
  130. case '1':
  131. system("cls");
  132.  
  133. break;
  134. case '2':
  135.  
  136. break;
  137. case '3':
  138. wyjdz();
  139. break;
  140. default:
  141. gra();
  142. break;
  143. }
  144.  
  145.  
  146.  
  147. }
  148. }
  149.  
  150. void PokazMenu()
  151. {
  152. cout << "*****MENU*****" << endl;
  153. cout << "1.Przestaw karty Wybrana Kolumna: "<< kolumna << endl;
  154. cout << "2.Doloz karty" << endl;
  155. cout << "3.Wyjscie" << endl;
  156. cout << "> ";
  157. cin >> x;
  158.  
  159.  
  160.  
  161.  
  162. }
  163.  
  164. void ZmienKarty()
  165. {
  166.  
  167. }
  168.  
  169. void DolozKarty()
  170. {
  171.  
  172. }
  173.  
  174. void GenerujKarty()
  175. {
  176. for (int i = 0; i < 8; i++)
  177. {
  178. for (int j = 0; j < 13; j++)
  179. {
  180. Karta* temp = new Karta((char)j,false,-1);
  181. wszystkieKarty.push_back(*temp);
  182. delete temp;
  183. }
  184. }
  185.  
  186. for (int i = 0; i < 5; i++)
  187. {
  188. vector<Karta*> row;
  189. grupka.push_back(row);
  190. }
  191.  
  192. for (int i = 0; i < 10; i++)
  193. {
  194. vector<Karta*> row;
  195. kol.push_back(row);
  196. }
  197. }
  198.  
  199. void LosujKartyNaPlanszy()
  200. {
  201. for (int i = 0; i < 54; i++)
  202. {
  203. Karta* temp = nullptr;
  204. while (temp->kolumna != -1)
  205. {
  206. int liczba = rand() % 104;
  207. temp = &wszystkieKarty[104];
  208. }
  209. kartyNaPlanszy.push_back(temp);
  210. kartyNaPlanszy[i]->kolumna = i % 10;
  211. kol[i % 10].push_back(temp);
  212. }
  213.  
  214. for (int i = kartyNaPlanszy.size() - 1; i > 11; i--)
  215. {
  216. kartyNaPlanszy[i]->Odkryj();
  217. }
  218. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement