Advertisement
Guest User

Untitled

a guest
Jan 15th, 2020
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.93 KB | None | 0 0
  1. #define _CRT_SECURE_NO_WARNINGS
  2. /*PATCH NOTES
  3. 1.01 - dodano zapisywanie nowych pytan i odpowiedzi
  4. 1.02 - poprawienie bledu z wychodzeniem poza tablice, dodanie pytania do publicznosci i telefonu do przyjaciela (zupelnie losowo) dodanie funkcji powrotu do menu ( z 1 dziala z 2 nie dziala)
  5. 1.02137 - dodano losowosc odpowiedzi
  6. 1.02138 - dodanie pol na pol i chyba cos jeszcze poprawilem (nie wiem)
  7. 1.02139 - dodanie struktur do kodu jednak jeszcze cos wypierdala
  8. 1.03 Przyjaciel ma 65% na podanie prawidlowej odpowiedzi ale u filipka wciaz zjebane pozderki
  9.  
  10.  
  11. */
  12. #include<stdio.h>
  13. #include<stdlib.h>
  14. #include<math.h>
  15. #include<time.h>
  16. #include<conio.h>
  17. #include<Windows.h>
  18. // jakies funkcje zobaczymy jakie()
  19.  
  20. struct milionerzy {
  21. char *imie;
  22. char* odp_a, * odp_b, * odp_c, * odp_d, * odpowiedz, * poprawna, * dobraodp;
  23. int kolo_50n50, kolo_pytdopub, kolo_teldoprzy;
  24. char* pytanie;
  25. int ilosc_pytan/*ile jest pytan i odpowiedzi*/;
  26. int tryb_gry, i, j, numer_pytania, losu, random_odp;
  27. char* zdanie;
  28. char powrot_do_menu;
  29.  
  30.  
  31. };
  32.  
  33. void ClrScr()
  34. {
  35. printf("\033[2J"); // Czysci ekran
  36. printf("\033[0;0f"); // Ustawia kursor w lewym, górnym rogu
  37. }
  38. int piec_na_piec(char odpA[], char odpB[], char odpC[], char odpD[], int wersja) // trzeba przekazac odpowiedzi podczas wywolywania i jeszcze random_odp bo inaczej *****
  39. {
  40. if (wersja == 1) {
  41. printf("a)%s\n", odpA);
  42. printf("c)%s\n", odpC);
  43. }
  44. else if (wersja == 2) {
  45. printf("a)%s\n", odpB);
  46. printf("b)%s\n", odpA);
  47. }
  48. else if (wersja == 3) {
  49. printf("c)%s\n", odpA);
  50. printf("d)%s\n", odpB);
  51. }
  52. else if (wersja == 4) {
  53. printf("b)%s\n", odpC);
  54. printf("d)%s\n", odpA);
  55. }
  56.  
  57. }
  58. int pytanie_do_pulicznosci()
  59. {
  60. int prA, prB, prC, prD;
  61. prA = rand() % 51;
  62. prB = rand() % 41;
  63. prC = (100 - prA - prB) / 3;
  64. prD = 100 - prA - prB - prC;
  65. printf("Statystki wygladaja nastepujaco:\n");
  66. for (int i = 3; i > 0; i--) {
  67. printf("%i...\n", i);
  68. Sleep(1000);
  69. }
  70. printf("Odp A:%i% ", prA);
  71. for (int i = 0; i < prA / 2; i++) {
  72. printf("|");
  73. }
  74. printf("\n");
  75. printf("Odp B:%i% ", prB);
  76. for (int i = 0; i < prB / 2; i++) {
  77. printf("|");
  78. }
  79. printf("\n");
  80. printf("Odp C:%i% ", prC);
  81. for (int i = 0; i < prC / 2; i++) {
  82. printf("|");
  83. }
  84. printf("\n");
  85. printf("Odp D:%i% ", prD);
  86. for (int i = 0; i < prD / 2; i++) {
  87. printf("|");
  88. }
  89. printf("\n");
  90. return 0;
  91. }
  92. int telefon_do_przyjaciela(char odpA,char odpB,char odpC,char odpD)
  93. {
  94. int liczba;
  95.  
  96. liczba = rand() % 100;
  97. if (liczba >= 0 && liczba < 64) {
  98. printf("Nie jestem pewien ale zdaje mi sie ze poprawna odpowiedz to: %s", odpA);
  99. }
  100. else if (liczba >= 64 && liczba < 76) {
  101. printf("Nie jestem pewien ale zdaje mi sie ze poprawna odpowiedz to: %s", odpB);
  102. }
  103. else if (liczba >= 76 && liczba < 88) {
  104. printf("Nie jestem pewien ale zdaje mi sie ze poprawna odpowiedz to: %s", odpC);
  105. }
  106. else if (liczba >= 88 && liczba 100) {
  107. printf("Nie jestem pewien ale zdaje mi sie ze poprawna odpowiedz to: %s", odpD);
  108. }
  109. /*
  110. if (liczba >= 0 && liczba < 24) {
  111. odp = 'A';
  112. }
  113. if (liczba >= 24 && liczba < 49) {
  114. odp = 'B';
  115. }
  116. if (liczba >= 49 && liczba < 74) {
  117. odp = 'C';
  118. }
  119. if (liczba >= 74 && liczba < 99) {
  120. odp = 'D';
  121. }
  122. */
  123. printf("No czesc, nie jestem pewien ale wydaje mi sie ze poprawna odpowiedz to %c", odp);
  124. return 0;
  125. }
  126. int dodanie_pytania()
  127. {
  128. char pytanie[1000], odpowiedz[1000];
  129.  
  130. FILE* pyt = fopen("pytania.txt", "a"), * odp = fopen("odpowiedzi.txt", "a");
  131.  
  132. if (pyt == NULL) {
  133. printf("Pliku pytania nie udalo sie otworzyc");
  134. return -1;
  135. }
  136. else {
  137. printf("Podaj pytanie\n");
  138. while ((getchar()) != '\n'); { //czyszczenie buforu
  139. fgets(pytanie, sizeof(pytanie), stdin);
  140. fputs(pytanie, pyt);
  141. }
  142. }
  143.  
  144. if (odp == NULL) {
  145. printf("Pliku odpowiedzi nie udalo sie otworzyc");
  146. fclose(pyt);
  147. return -2;
  148. }
  149. else {
  150. printf("Podaj 4 odpowiedzi, pierwsza musi byc prawidlowa.\n");
  151. for (int i = 0; i < 4; i++) {
  152. fgets(odpowiedz, sizeof(odpowiedz), stdin);
  153. fputs(odpowiedz, odp);
  154.  
  155. }
  156. }
  157. fclose(pyt);
  158. fclose(odp);
  159. return 0;
  160. }
  161.  
  162.  
  163.  
  164.  
  165. int main()
  166. {
  167. /*
  168. -wybranie trybu gry 1) dla milionerow 2) dla dodawania pytan
  169. -podannie swego imienia
  170. -lecimy pytanka
  171. -input odpowiedzi, rezygacja albo kola ratunkowe(sprawdzanie czy te kolo jest dostepne)
  172. -hajs rosnie w miare rozgrywki suma gwarantowana za odpadanie
  173. -wygranko
  174.  
  175. */
  176.  
  177. struct milionerzy PP;
  178. PP.kolo_50n50 = 1, PP.kolo_pytdopub = 1, PP.kolo_teldoprzy = 1, PP.numer_pytania = 1;
  179. srand(time(0));
  180. do {
  181. //ClrScr();
  182. system("cls");
  183. printf("WITAM \n Wybierz tryb gry, aby dodawac pytania wpisz '1',a aby grac w milionerow wpisz '2'\n");
  184. scanf("%d", &PP.tryb_gry);
  185. switch (PP.tryb_gry)
  186. {
  187. case 1:
  188. {
  189. dodanie_pytania();
  190. printf("Chcesz powrocic do menu? T/N\n");
  191. scanf("%c", &PP.powrot_do_menu);
  192. break;
  193. }
  194. case 2:
  195. {
  196. {
  197. FILE* odpowiedzi = fopen("odpowiedzi.txt", "r");
  198. FILE* pytania = fopen("pytania.txt", "r");
  199.  
  200. printf("Witam w grze milionerzy! Nazywam sie HOST, na poczatek zadam ci pytanie Nr0: Jak masz na imie?\n");
  201. PP.imie = "Mariusz";
  202. system("cls");
  203. printf("Zajebiscie %s zaczynajmy wiec\n", PP.imie);
  204. for (PP.i = 1; PP.i <= 2; PP.i++)
  205. {
  206. //system("cls");//czyszczenie ekranu
  207. printf("Pytanie nr %d :\n", PP.numer_pytania);
  208. PP.numer_pytania++;
  209. PP.losu = rand() % 2 + 1;
  210. for (PP.j = 0; PP.j < PP.losu; PP.j++)
  211. {
  212. fgets(PP.pytanie,sizeof(PP.pytanie), pytania);
  213. fgets(PP.odp_a, sizeof(PP.odp_a), odpowiedzi);
  214. fgets(PP.odp_b, sizeof(PP.odp_b), odpowiedzi);
  215. fgets(PP.odp_c, sizeof(PP.odp_c), odpowiedzi);
  216. fgets(PP.odp_d, sizeof(PP.odp_d), odpowiedzi);
  217. }
  218. PP.dobraodp = PP.odp_a;
  219. //teren budowy nic nie ruszac
  220. PP.random_odp = rand() % 4 + 1;
  221. switch (PP.random_odp)
  222.  
  223. {
  224. case 1:
  225. {
  226. printf("%s\n", PP.pytanie);
  227. printf("a)%s\n", PP.odp_a);
  228. printf("b)%s\n", PP.odp_b);
  229. printf("c)%s\n", PP.odp_c);
  230. printf("d)%s\n\n", PP.odp_d);
  231. PP.poprawna[0] = 'a';
  232. break;
  233. }
  234. case 2:
  235. {
  236. printf("%s\n", PP.pytanie);
  237. printf("a)%s\n", PP.odp_b);
  238. printf("b)%s\n", PP.odp_a);
  239. printf("c)%s\n", PP.odp_d);
  240. printf("d)%s\n\n", PP.odp_c);
  241. PP.poprawna[0] = 'b';
  242. break;
  243. }
  244. case 3:
  245. {
  246. printf("%s\n", PP.pytanie);
  247. printf("a)%s\n", PP.odp_c);
  248. printf("b)%s\n", PP.odp_d);
  249. printf("c)%s\n", PP.odp_a);
  250. printf("d)%s\n\n", PP.odp_b);
  251. PP.poprawna[0] = 'c';
  252. break;
  253. }
  254. case 4:
  255. {
  256. printf("%s\n", PP.pytanie);
  257. printf("a)%s\n", PP.odp_d);
  258. printf("b)%s\n", PP.odp_c);
  259. printf("c)%s\n", PP.odp_b);
  260. printf("d)%s\n\n", PP.odp_a);
  261. PP.poprawna[0] = 'd';
  262. break;
  263. }
  264. default: printf("BLAD LOSOWANIA (raczej nie mozliwe)");
  265. break;
  266. }
  267.  
  268.  
  269.  
  270. //koniec terenu
  271. printf("%d", PP.random_odp);
  272. printf("%s, ktora z tych odpowiedzi jest wedlug Ciebie poprawna?\n", PP.imie);
  273. Sleep(3000);
  274. if (PP.kolo_50n50 == 1 || PP.kolo_pytdopub == 1 || PP.kolo_teldoprzy == 1)
  275. {
  276. printf("Byc moze nie jestes jescze pewny, wiec zapropouje ci uzycie jednego z kol ratunkowych,\n aby uzyc kola wpisz cyfre odpowiadajaca kolu. Masz dostepne:\n");
  277. if (PP.kolo_50n50 == 1) printf("1)Piecdziesiat na piecdziesiat\n");
  278. if (PP.kolo_pytdopub == 1) printf("2)Pytanie do publicznosci\n");
  279. if (PP.kolo_teldoprzy == 1) printf("3)Telefon do przyjaciela\n");
  280. }
  281. else printf("Dla przypomnienia nie masz dostepnego zadnego kola ratunkowego.\n");
  282.  
  283. fflush(stdin);
  284. scanf("%c", PP.odpowiedz[0]);
  285.  
  286.  
  287.  
  288. printf("Chcesz powrocic do menu? T/N\n");
  289. scanf("%c", &PP.powrot_do_menu);
  290. }
  291.  
  292. }
  293. break;
  294. }
  295.  
  296. default: printf("bledna wartosc");
  297. break;
  298.  
  299. }
  300. } while (PP.powrot_do_menu == 'T' || PP.powrot_do_menu == 't');
  301.  
  302. return 0;
  303. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement