Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define _CRT_SECURE_NO_WARNINGS
- /*PATCH NOTES
- 1.01 - dodano zapisywanie nowych pytan i odpowiedzi
- 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)
- 1.02137 - dodano losowosc odpowiedzi
- 1.02138 - dodanie pol na pol i chyba cos jeszcze poprawilem (nie wiem)
- 1.02139 - dodanie struktur do kodu jednak jeszcze cos wypierdala
- 1.03 Przyjaciel ma 65% na podanie prawidlowej odpowiedzi ale u filipka wciaz zjebane pozderki
- */
- #include<stdio.h>
- #include<stdlib.h>
- #include<math.h>
- #include<time.h>
- #include<conio.h>
- #include<Windows.h>
- // jakies funkcje zobaczymy jakie()
- struct milionerzy {
- char *imie;
- char* odp_a, * odp_b, * odp_c, * odp_d, * odpowiedz, * poprawna, * dobraodp;
- int kolo_50n50, kolo_pytdopub, kolo_teldoprzy;
- char* pytanie;
- int ilosc_pytan/*ile jest pytan i odpowiedzi*/;
- int tryb_gry, i, j, numer_pytania, losu, random_odp;
- char* zdanie;
- char powrot_do_menu;
- };
- void ClrScr()
- {
- printf("\033[2J"); // Czysci ekran
- printf("\033[0;0f"); // Ustawia kursor w lewym, górnym rogu
- }
- 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 *****
- {
- if (wersja == 1) {
- printf("a)%s\n", odpA);
- printf("c)%s\n", odpC);
- }
- else if (wersja == 2) {
- printf("a)%s\n", odpB);
- printf("b)%s\n", odpA);
- }
- else if (wersja == 3) {
- printf("c)%s\n", odpA);
- printf("d)%s\n", odpB);
- }
- else if (wersja == 4) {
- printf("b)%s\n", odpC);
- printf("d)%s\n", odpA);
- }
- }
- int pytanie_do_pulicznosci()
- {
- int prA, prB, prC, prD;
- prA = rand() % 51;
- prB = rand() % 41;
- prC = (100 - prA - prB) / 3;
- prD = 100 - prA - prB - prC;
- printf("Statystki wygladaja nastepujaco:\n");
- for (int i = 3; i > 0; i--) {
- printf("%i...\n", i);
- Sleep(1000);
- }
- printf("Odp A:%i% ", prA);
- for (int i = 0; i < prA / 2; i++) {
- printf("|");
- }
- printf("\n");
- printf("Odp B:%i% ", prB);
- for (int i = 0; i < prB / 2; i++) {
- printf("|");
- }
- printf("\n");
- printf("Odp C:%i% ", prC);
- for (int i = 0; i < prC / 2; i++) {
- printf("|");
- }
- printf("\n");
- printf("Odp D:%i% ", prD);
- for (int i = 0; i < prD / 2; i++) {
- printf("|");
- }
- printf("\n");
- return 0;
- }
- int telefon_do_przyjaciela(char odpA,char odpB,char odpC,char odpD)
- {
- int liczba;
- liczba = rand() % 100;
- if (liczba >= 0 && liczba < 64) {
- printf("Nie jestem pewien ale zdaje mi sie ze poprawna odpowiedz to: %s", odpA);
- }
- else if (liczba >= 64 && liczba < 76) {
- printf("Nie jestem pewien ale zdaje mi sie ze poprawna odpowiedz to: %s", odpB);
- }
- else if (liczba >= 76 && liczba < 88) {
- printf("Nie jestem pewien ale zdaje mi sie ze poprawna odpowiedz to: %s", odpC);
- }
- else if (liczba >= 88 && liczba 100) {
- printf("Nie jestem pewien ale zdaje mi sie ze poprawna odpowiedz to: %s", odpD);
- }
- /*
- if (liczba >= 0 && liczba < 24) {
- odp = 'A';
- }
- if (liczba >= 24 && liczba < 49) {
- odp = 'B';
- }
- if (liczba >= 49 && liczba < 74) {
- odp = 'C';
- }
- if (liczba >= 74 && liczba < 99) {
- odp = 'D';
- }
- */
- printf("No czesc, nie jestem pewien ale wydaje mi sie ze poprawna odpowiedz to %c", odp);
- return 0;
- }
- int dodanie_pytania()
- {
- char pytanie[1000], odpowiedz[1000];
- FILE* pyt = fopen("pytania.txt", "a"), * odp = fopen("odpowiedzi.txt", "a");
- if (pyt == NULL) {
- printf("Pliku pytania nie udalo sie otworzyc");
- return -1;
- }
- else {
- printf("Podaj pytanie\n");
- while ((getchar()) != '\n'); { //czyszczenie buforu
- fgets(pytanie, sizeof(pytanie), stdin);
- fputs(pytanie, pyt);
- }
- }
- if (odp == NULL) {
- printf("Pliku odpowiedzi nie udalo sie otworzyc");
- fclose(pyt);
- return -2;
- }
- else {
- printf("Podaj 4 odpowiedzi, pierwsza musi byc prawidlowa.\n");
- for (int i = 0; i < 4; i++) {
- fgets(odpowiedz, sizeof(odpowiedz), stdin);
- fputs(odpowiedz, odp);
- }
- }
- fclose(pyt);
- fclose(odp);
- return 0;
- }
- int main()
- {
- /*
- -wybranie trybu gry 1) dla milionerow 2) dla dodawania pytan
- -podannie swego imienia
- -lecimy pytanka
- -input odpowiedzi, rezygacja albo kola ratunkowe(sprawdzanie czy te kolo jest dostepne)
- -hajs rosnie w miare rozgrywki suma gwarantowana za odpadanie
- -wygranko
- */
- struct milionerzy PP;
- PP.kolo_50n50 = 1, PP.kolo_pytdopub = 1, PP.kolo_teldoprzy = 1, PP.numer_pytania = 1;
- srand(time(0));
- do {
- //ClrScr();
- system("cls");
- printf("WITAM \n Wybierz tryb gry, aby dodawac pytania wpisz '1',a aby grac w milionerow wpisz '2'\n");
- scanf("%d", &PP.tryb_gry);
- switch (PP.tryb_gry)
- {
- case 1:
- {
- dodanie_pytania();
- printf("Chcesz powrocic do menu? T/N\n");
- scanf("%c", &PP.powrot_do_menu);
- break;
- }
- case 2:
- {
- {
- FILE* odpowiedzi = fopen("odpowiedzi.txt", "r");
- FILE* pytania = fopen("pytania.txt", "r");
- printf("Witam w grze milionerzy! Nazywam sie HOST, na poczatek zadam ci pytanie Nr0: Jak masz na imie?\n");
- PP.imie = "Mariusz";
- system("cls");
- printf("Zajebiscie %s zaczynajmy wiec\n", PP.imie);
- for (PP.i = 1; PP.i <= 2; PP.i++)
- {
- //system("cls");//czyszczenie ekranu
- printf("Pytanie nr %d :\n", PP.numer_pytania);
- PP.numer_pytania++;
- PP.losu = rand() % 2 + 1;
- for (PP.j = 0; PP.j < PP.losu; PP.j++)
- {
- fgets(PP.pytanie,sizeof(PP.pytanie), pytania);
- fgets(PP.odp_a, sizeof(PP.odp_a), odpowiedzi);
- fgets(PP.odp_b, sizeof(PP.odp_b), odpowiedzi);
- fgets(PP.odp_c, sizeof(PP.odp_c), odpowiedzi);
- fgets(PP.odp_d, sizeof(PP.odp_d), odpowiedzi);
- }
- PP.dobraodp = PP.odp_a;
- //teren budowy nic nie ruszac
- PP.random_odp = rand() % 4 + 1;
- switch (PP.random_odp)
- {
- case 1:
- {
- printf("%s\n", PP.pytanie);
- printf("a)%s\n", PP.odp_a);
- printf("b)%s\n", PP.odp_b);
- printf("c)%s\n", PP.odp_c);
- printf("d)%s\n\n", PP.odp_d);
- PP.poprawna[0] = 'a';
- break;
- }
- case 2:
- {
- printf("%s\n", PP.pytanie);
- printf("a)%s\n", PP.odp_b);
- printf("b)%s\n", PP.odp_a);
- printf("c)%s\n", PP.odp_d);
- printf("d)%s\n\n", PP.odp_c);
- PP.poprawna[0] = 'b';
- break;
- }
- case 3:
- {
- printf("%s\n", PP.pytanie);
- printf("a)%s\n", PP.odp_c);
- printf("b)%s\n", PP.odp_d);
- printf("c)%s\n", PP.odp_a);
- printf("d)%s\n\n", PP.odp_b);
- PP.poprawna[0] = 'c';
- break;
- }
- case 4:
- {
- printf("%s\n", PP.pytanie);
- printf("a)%s\n", PP.odp_d);
- printf("b)%s\n", PP.odp_c);
- printf("c)%s\n", PP.odp_b);
- printf("d)%s\n\n", PP.odp_a);
- PP.poprawna[0] = 'd';
- break;
- }
- default: printf("BLAD LOSOWANIA (raczej nie mozliwe)");
- break;
- }
- //koniec terenu
- printf("%d", PP.random_odp);
- printf("%s, ktora z tych odpowiedzi jest wedlug Ciebie poprawna?\n", PP.imie);
- Sleep(3000);
- if (PP.kolo_50n50 == 1 || PP.kolo_pytdopub == 1 || PP.kolo_teldoprzy == 1)
- {
- 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");
- if (PP.kolo_50n50 == 1) printf("1)Piecdziesiat na piecdziesiat\n");
- if (PP.kolo_pytdopub == 1) printf("2)Pytanie do publicznosci\n");
- if (PP.kolo_teldoprzy == 1) printf("3)Telefon do przyjaciela\n");
- }
- else printf("Dla przypomnienia nie masz dostepnego zadnego kola ratunkowego.\n");
- fflush(stdin);
- scanf("%c", PP.odpowiedz[0]);
- printf("Chcesz powrocic do menu? T/N\n");
- scanf("%c", &PP.powrot_do_menu);
- }
- }
- break;
- }
- default: printf("bledna wartosc");
- break;
- }
- } while (PP.powrot_do_menu == 'T' || PP.powrot_do_menu == 't');
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement