Guest User

Untitled

a guest
Dec 20th, 2017
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 7.12 KB | None | 0 0
  1.  
  2. #include <cstdio>
  3. #include <iostream>
  4. #include <string>
  5. #include <vector>
  6. #include <thread>
  7. #include <chrono>
  8. #include <stdlib.h>
  9. #include <time.h>
  10. #include <process.h>
  11. #include <fstream>
  12. using namespace std;
  13.  
  14. // szam teszt
  15. void hiba() {
  16.     printf("\n\nNe trukkozz. Szamot adj meg!\n\n");
  17.     cin.clear();
  18.     cin.ignore(256, '\n');
  19. }
  20.  
  21. //much wow
  22. void intro() {
  23.  
  24.     for (int i = 0; i < 10; i++)
  25.     {
  26.         printf("\n");
  27.         std::this_thread::sleep_for(100ms);
  28.     }
  29.  
  30.         printf("................................................\n");       std::this_thread::sleep_for(100ms);
  31.         printf("................................................\n");       std::this_thread::sleep_for(100ms);
  32.         printf("888....d8P....................888...............\n");       std::this_thread::sleep_for(100ms);
  33.         printf("888...d8P.....................888...............\n");       std::this_thread::sleep_for(100ms);
  34.         printf("888..d8P......................888...............\n");       std::this_thread::sleep_for(100ms);
  35.         printf("888d88K.......d88b.....d8888b.888..888..8888b...\n");       std::this_thread::sleep_for(100ms);
  36.         printf("8888888b....d88..88b.d88P.....888..88P......88b.\n");       std::this_thread::sleep_for(100ms);
  37.         printf("888..Y88b...888..888.888......888888K...d888888.\n");       std::this_thread::sleep_for(100ms);
  38.         printf("888...Y88b..Y88..88P.Y88b.....888..88b.888..888.\n");       std::this_thread::sleep_for(100ms);
  39.         printf("888....Y88b...Y88P.....Y8888P.888..888..Y888888.\n");       std::this_thread::sleep_for(100ms);
  40.         printf("................................................\n");       std::this_thread::sleep_for(100ms);
  41.         printf("................................................\n");       std::this_thread::sleep_for(100ms);
  42.         printf("................................................\n");       std::this_thread::sleep_for(100ms);
  43.         printf("..888888..........888............888............\n");       std::this_thread::sleep_for(100ms);
  44.         printf(".....88b..........888............888............\n");       std::this_thread::sleep_for(100ms);
  45.         printf(".....888..........888............888............\n");       std::this_thread::sleep_for(100ms);
  46.         printf(".....888..8888b...888888..d88b...888..888.......\n");       std::this_thread::sleep_for(100ms);
  47.         printf(".....888......88b.888...d8P..Y8b.888..88P.......\n");       std::this_thread::sleep_for(100ms);
  48.         printf(".....888..d888888.888...88888888.888888K........\n");       std::this_thread::sleep_for(100ms);
  49.         printf(".....88P.888..888.Y88b..Y8b......888..88b.......\n");       std::this_thread::sleep_for(100ms);
  50.         printf(".....888..Y888888...Y888..Y8888..888..888.......\n");       std::this_thread::sleep_for(100ms);
  51.         printf("....d88P........................................\n");       std::this_thread::sleep_for(100ms);
  52.         printf("..d88P..........................................\n");       std::this_thread::sleep_for(100ms);
  53.         printf("888P............................................\n");       std::this_thread::sleep_for(100ms);
  54.  
  55.  
  56.  
  57. for (int i = 0; i < 5; i++)
  58. {
  59.     printf("\n");
  60.     std::this_thread::sleep_for(100ms);
  61. }
  62. }
  63.  
  64.  
  65. //jatek elemei
  66. int gurit() {
  67.     srand(time(0));
  68.     int x = 1 + (rand() % 6);
  69.     return x;
  70. }
  71.  
  72. //kiirjuk a mentett jatekot
  73. void loadgame() {
  74.  
  75.     cout << endl;
  76.     cout << endl;
  77.     string line;
  78.     ifstream savefile("savegame.txt");
  79.     if (savefile.is_open())
  80.     {
  81.         while (getline(savefile, line))
  82.         {
  83.             cout << line << '\n';
  84.         }
  85.         savefile.close();
  86.     }
  87.  
  88.     else cout << "Nincs ilyen fajl vagy nem lehet megnyitni.";
  89.     cout << endl;
  90.     cout << endl;
  91. }
  92.  
  93. //
  94. //     MAIN
  95. //
  96. int main(int argc, char ** argv) {
  97.     //Start game
  98.     int playerz = 1;
  99.     intro();
  100.  
  101. mainmenu:
  102.  
  103.     int menuOpt = 1;
  104.     printf("MAJN MENU\n\n[1]Start Game\n[2]Load Game\n[3]Hagyjalbeken\n\nSelect: ");
  105.     cin >> menuOpt;
  106.  
  107.     //csekk hiba input
  108.     while (cin.fail()) {
  109.         hiba();
  110.         goto mainmenu;
  111.     }
  112.  
  113.     //ha jo a szam megyunk tovabb
  114.     if (menuOpt <= 3 && menuOpt >= 1)
  115.     {
  116.     }
  117.     //ha nemjo akkor hiba
  118.     else
  119.     {
  120.         printf("\nSZAMOT ADJ MEG!\n\n");
  121.         goto mainmenu;
  122.     }
  123.  
  124.     if (menuOpt == 1)
  125.     {goto startgame;}
  126.  
  127.     if (menuOpt == 2)
  128.     {loadgame();
  129.     goto mainmenu;
  130.     }
  131.  
  132.     if (menuOpt == 3)
  133.     {return 0;}
  134.  
  135. startgame:
  136.  
  137.  
  138.     //Ask for players
  139.     printf("\nAdd meg a jatekosok szamat: ");
  140.     cin >> playerz;
  141.     printf("\n");
  142.  
  143.     //Check if motherfucker entered int
  144.     while (cin.fail()) {
  145.         hiba();
  146.         printf("Add meg a jatekosok szamat: ");
  147.         cin >> playerz;
  148.         printf("\n\n");
  149.     }
  150.  
  151.     //Request names one-by-one
  152.  
  153.     std::vector<std::string> names;
  154.  
  155.     for (int i = 0; i < playerz; ++i)
  156.     {
  157.         // beolvasas
  158.         string tmpName;
  159.         printf("%d. Jatekos neve:  ", i + 1);
  160.         cin >> tmpName;
  161.  
  162.         // vektorba iras
  163.         names.push_back(tmpName);
  164.     }
  165.  
  166.     //nem tudom miert nemjo, ez kell ide kulonben nem all meg inputra varva a kov. elso loopnal
  167.     cin.clear();
  168.     cin.ignore(10000, '\n');
  169.  
  170.     //Jatekszabaly
  171.  
  172.     cout << "\nJatekszabaly:\nMindenki ketszer dob, a dobasok osszege szamit. A nyertes fizet nekem egy sort.\n" << names.at(0) << " dob eloszor!" << endl << endl;
  173.    
  174.     cout << endl << "Folytatashoz nyomj Entert...";
  175.     cin.clear();
  176.     cin.ignore(10000, '\n');
  177.     cout << endl << endl;
  178.  
  179.         // countdown
  180.         std::this_thread::sleep_for(1000ms);
  181.         for (int i = 2; i >= 0; --i)
  182.         {
  183.             cout << i + 1 << "\n";
  184.             std::this_thread::sleep_for(1000ms);
  185.         }
  186.         printf("\nFIGHT!!\n\n");
  187.         std::this_thread::sleep_for(2000ms);
  188.  
  189.         // kezdodjon a jatek
  190.  
  191.         //elmentjuk a szamokat loopban
  192.         vector<int> dobasok;
  193.  
  194.         for (int i = 0; i < playerz; i++)
  195.         {
  196.             for (int x = 0; x < 2; x++)
  197.             {
  198.                 cout << names.at(i) << " " << x + 1 << ". dobasa!";
  199.  
  200.                     cout << endl << "Guritashoz nyomj Entert...";
  201.                     cin.clear();
  202.                     cin.ignore(10000, '\n');
  203.  
  204.                     int dob = gurit();
  205.  
  206.                 cout << endl << "Eredmeny: " << dob;
  207.                 cout << endl << endl;
  208.                 dobasok.push_back(dob);
  209.             }
  210.         }
  211.  
  212.         /*szamoljuk ossze az eredmenyeket
  213.        
  214.         dobas vector helyek:
  215.         1. user - 0,1
  216.         2. user - 2,3
  217.         3. user - 4,5
  218.         4. user - 6,7
  219.         */
  220.  
  221.         vector<int> eredmeny;
  222.        
  223.         for (int i = 0; i < playerz; i++)
  224.         {
  225.             int tmperedmeny;
  226.             if (i == 0)
  227.             {
  228.                 tmperedmeny = dobasok.at(0) + dobasok.at(1);
  229.             }
  230.             else
  231.             {
  232.                 int cnt = i * 2;
  233.                 tmperedmeny = dobasok.at(cnt) + dobasok.at(cnt+1);
  234.             }
  235.             eredmeny.push_back(tmperedmeny);
  236.         }
  237.  
  238.         //irjuk ki
  239.  
  240.         cout << endl << endl << "Jatek vege!" << endl << "EREDMENYEK:" << endl;
  241.  
  242.         for (int i = 0; i < playerz; i++)
  243.         {
  244.             cout << names.at(i) << " eredmenye: " << eredmeny.at(i) << endl;
  245.         }
  246.  
  247.         savegame:
  248.         cout << endl << endl << "Mentsuk a jatekot? \n\n[1] Igen\n[2] Nem\n(1/2): ";
  249.         int mentes;
  250.         cin >> mentes;
  251.         cout << endl;
  252.  
  253.         //check hiba
  254.         while (cin.fail()) {
  255.             hiba();
  256.             goto savegame;
  257.         }
  258.  
  259.         if (mentes == 1)
  260.         {
  261.             ofstream savefile;
  262.             savefile.open("savegame.txt");
  263.             //beirjuk a datumot
  264.             time_t t = time(0);
  265.             struct tm * now = localtime(&t);
  266.             savefile << "Jatek " << (now->tm_year + 1900) << '-' << (now->tm_mon + 1) << '-' << now->tm_mday << "-kor:" << endl;
  267.  
  268.             for (int i = 0; i < playerz; i++)
  269.             {
  270.                 savefile << names.at(i) << " eredmenye: " << eredmeny.at(i) << endl;
  271.             }
  272.             savefile << "-----------------------------------------\n";
  273.             savefile.close();
  274.             goto mainmenu;
  275.         }
  276.         if (mentes == 2)
  277.         {
  278.             goto mainmenu;
  279.         }
  280.         else
  281.         {
  282.             goto savegame;
  283.         }
  284.         return 0;
  285. }
Advertisement
Add Comment
Please, Sign In to add comment