Egor_Vakar

main.cpp (coursework)

Dec 26th, 2022
182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 22.41 KB | None | 0 0
  1. #include <iostream>
  2. #define WIN32_LEAN_AND_MEAN
  3. #include <windows.h>
  4. #include <ctime>
  5. #include <SFML/Graphics.hpp>
  6. #include <SFML/Audio.hpp>
  7. #include <SFML/Audio/SoundBuffer.hpp>
  8. #include <string>
  9.  
  10. #include "Button.hpp"
  11. #include "Core.hpp"
  12. #include <fstream>
  13.  
  14. using namespace std;
  15.  
  16. int showMessage(int wigth, int high, string title, string text)
  17. {
  18.     bool running = true;
  19.     sf::RenderWindow messageBox(sf::VideoMode(wigth, high, 32), title, sf::Style::Close);
  20.  
  21.     sf::Text messageText;
  22.     sf::Font font;
  23.     font.loadFromFile("E:/C labs/MyBlackJack/font/SuperMario256.ttf");
  24.     messageText.setFont(font);
  25.     messageText.setFillColor(sf::Color::White);
  26.     messageText.setPosition(sf::Vector2f(0, 0));
  27.     messageText.setCharacterSize(24);
  28.  
  29.     sf::Texture bgTex;
  30.     sf::Sprite bgSprite;
  31.     bgTex.loadFromFile("E:/C labs/MyBlackJack/resource/bg.png");
  32.     bgSprite.setTexture(bgTex);
  33.  
  34.     sf::Image icon;
  35.     if (!icon.loadFromFile("E:/C labs/MyBlackJack/resource/icon.png"))
  36.     {
  37.         return 1;
  38.     }
  39.     messageBox.setIcon(32, 32, icon.getPixelsPtr());
  40.  
  41.     messageText.setString(text);
  42.     sf::Event event{};
  43.     while(running)
  44.     {
  45.         while(messageBox.pollEvent(event))
  46.         {  if(event.type == sf::Event::KeyPressed) {
  47.                 if (event.key.code == sf::Keyboard::Escape) {
  48.                     messageBox.close();
  49.                     return 0;
  50.                 }
  51.             }
  52.             if(event.type == sf::Event::Closed){
  53.                 messageBox.close();
  54.                 return 0;
  55.             } }
  56.  
  57.  
  58.  
  59.         messageBox.clear(sf::Color::White);
  60.  
  61.         messageBox.draw(bgSprite);
  62.         messageBox.draw(messageText);
  63.  
  64.         messageBox.display();
  65.     }
  66. }
  67.  
  68.     string const FIRST_PAGE_STR = "THE GOAL OF THE GAME:\n\tCollect a combination that gives more points than the dealer, but does not exceed 21\nOPTIONS:\n\t1.Get the card(be careful, so you can exceed 21 and automatically lose)\n\t2.Stop(Stay with the number of points you have and pass the move to the dealer)";
  69.     string const FIRST_PAGE_TITLE = "VALUE OF EACH CARD";
  70.     string const FIRST_PAGE_IMAGE = "E:/C labs/MyBlackJack/resource/points.jpg";
  71.  
  72.     string const SEACOND_PAGE_STR = "CARDS PART:\n\tYou can see your cards, number of points and yellow turn identifier\nBUTTONS:\n\t1.Get the card(the yellow one on left)\n\t2.Stop(the one in the middle)";
  73.     string const SEACOND_PAGE_TITLE = "USERS GUIDE";
  74.     string const SEACOND_PAGE_IMAGE = "E:/C labs/MyBlackJack/resource/guide2.jpg";
  75.  
  76.     string const THIRD_PAGE_STR = "BETTING:\n\tYou can bet your chips, if you are confident about your hand\nCAREFUL:\n\tIf you lose all your chips you lose";
  77.     string const THIRD_PAGE_TITLE = "BETTING PART";
  78.     string const THIRD_PAGE_IMAGE = "E:/C labs/MyBlackJack/resource/guide3.jpg";
  79.  
  80.     string const FOURTH_PAGE_STR = "SAVES:\n\tYou can save your game and continue it later\nATTENTION:\n\tThere are can be only 3 saved games";
  81.     string const FOURTH_PAGE_TITLE = "SAVES PART";
  82.     string const FOURTH_PAGE_IMAGE = "E:/C labs/MyBlackJack/resource/guide4.jpg";
  83.  
  84.  
  85.  
  86. int main() {
  87.     setlocale(LC_ALL,"Rus");
  88.     srand(time(NULL));
  89.     sf::RenderWindow menu(sf::VideoMode(500, 600), "Blackjack - By Egor Vakar 151002", sf::Style::Close);
  90.     menu.setFramerateLimit(60);
  91.  
  92.     sf::Event event;
  93.  
  94.     // # System Variables
  95.     sf::Clock clock;
  96.     float dt;
  97.  
  98.     sf::Image icon;
  99.     if (!icon.loadFromFile("E:/C labs/MyBlackJack/resource/icon.png"))
  100.     {
  101.         return 1;
  102.     }
  103.     menu.setIcon(32, 32, icon.getPixelsPtr());
  104.  
  105.     sf::Texture bgTex;
  106.     sf::Sprite bgSprite;
  107.     bgTex.loadFromFile("E:/C labs/MyBlackJack/resource/bg.png");
  108.     bgSprite.setTexture(bgTex);
  109.  
  110.     // # Load Buttons Sprites
  111.     sf::Texture playBtn;
  112.     playBtn.loadFromFile("E:/C labs/MyBlackJack/resource/playBtn.png");
  113.     sf::Texture developerBtn;
  114.     developerBtn.loadFromFile("E:/C labs/MyBlackJack/resource/dev.png");
  115.     sf::Texture guideBtn;
  116.     guideBtn.loadFromFile("E:/C labs/MyBlackJack/resource/guide.png");
  117.  
  118.     // # Load Buttons Textures
  119.     sf::Texture btn_ask_tex;
  120.     btn_ask_tex.loadFromFile("E:/C labs/MyBlackJack/resource/btn_1.png");
  121.     sf::Texture btn_stop_tex;
  122.     btn_stop_tex.loadFromFile("E:/C labs/MyBlackJack/resource/btn_2.png");
  123.     sf::Texture btn_quit_tex;
  124.     btn_quit_tex.loadFromFile("E:/C labs/MyBlackJack/resource/btn_3.png");
  125.     sf::Texture btn_bet_tex;
  126.     btn_bet_tex.loadFromFile("E:/C labs/MyBlackJack/resource/btn_4.png");
  127.     sf::Texture saveBtn;
  128.     saveBtn.loadFromFile("E:/C labs/MyBlackJack/resource/save.png");
  129.  
  130.     // # Table sprite
  131.     sf::Texture tableTex;
  132.     sf::Sprite tableSprite;
  133.     tableTex.loadFromFile("E:/C labs/MyBlackJack/resource/table.jpg");
  134.     tableSprite.setTexture(tableTex);
  135.  
  136.     // # Load Cards Sprite
  137.     sf::Texture CardsSprite;
  138.     CardsSprite.loadFromFile("E:/C labs/MyBlackJack/resource/cards.png");
  139.  
  140.     // # Instances
  141.     TableHandle* table = new TableHandle(CardsSprite, dt);
  142.  
  143.     // # Buttons instances
  144.     Button* btn_hit = new Button(table);
  145.     btn_hit->setLocation(sf::Vector2f(340, 600));
  146.     btn_hit->setImage(btn_ask_tex);
  147.     btn_hit->setEvent(TableHandle::Actions::Hit);
  148.  
  149.     Button* btn_stop = new Button(table);
  150.     btn_stop->setLocation(sf::Vector2f(460, 600));
  151.     btn_stop->setImage(btn_stop_tex);
  152.     btn_stop->setEvent(TableHandle::Actions::AskStop);
  153.  
  154.     Button* btn_quit = new Button(table);
  155.     btn_quit->setLocation(sf::Vector2f(580, 600));
  156.     btn_quit->setImage(btn_quit_tex);
  157.     btn_quit->setEvent(TableHandle::Actions::AskQuit);
  158.  
  159.     Button* btn_bet = new Button(table);
  160.     btn_bet->setLocation(sf::Vector2f(250, 480));
  161.     btn_bet->setImage(btn_bet_tex);
  162.     btn_bet->setEvent(TableHandle::Actions::MakeBet);
  163.  
  164.     Button* btn_play = new Button(table);
  165.     btn_play->setLocation(sf::Vector2f(70, 70));
  166.     btn_play->setImage(playBtn);
  167.     btn_play->setEvent(TableHandle::Actions::Play);
  168.  
  169.     Button* btn_dev = new Button(table);
  170.     btn_dev->setLocation(sf::Vector2f(100, 220));
  171.     btn_dev->setImage(developerBtn);
  172.     btn_dev->setEvent(TableHandle::Actions::DevInfo);
  173.  
  174.     Button* btn_guide = new Button(table);
  175.     btn_guide->setLocation(sf::Vector2f(230, 225));
  176.     btn_guide->setImage(guideBtn);
  177.     btn_guide->setEvent(TableHandle::Actions::ShowGuide);
  178.  
  179.     Button* btn_guide1 = new Button(table);
  180.     btn_guide1->setLocation(sf::Vector2f(50, 120));
  181.     btn_guide1->setImage(guideBtn);
  182.     btn_guide1->setEvent(TableHandle::Actions::ShowGuide);
  183.  
  184.     Button* btn_save = new Button(table);
  185.     btn_save->setLocation(sf::Vector2f(50, 230));
  186.     btn_save->setImage(saveBtn);
  187.     btn_save->setEvent(TableHandle::Actions::SaveGame);
  188.  
  189.     Button* btn_save1 = new Button(table);
  190.     btn_save1->setLocation(sf::Vector2f(340, 230));
  191.     btn_save1->setImage(saveBtn);
  192.     btn_save1->setEvent(TableHandle::Actions::UpdGame);
  193.  
  194.     while(menu.isOpen()){
  195.  
  196.         dt = clock.restart().asSeconds();
  197.  
  198.         while(menu.pollEvent(event)){
  199.  
  200.             if(event.type == sf::Event::KeyPressed) {
  201.                 if (event.key.code == sf::Keyboard::Escape) {
  202.                     menu.close();
  203.                     return 0;
  204.                 }
  205.             }
  206.             if(event.type == sf::Event::Closed){
  207.                 menu.close();
  208.                 return 0;
  209.             }
  210.         }
  211.  
  212.         // # Update Methods
  213.         btn_play->EventHandle(menu, dt);
  214.         btn_dev->EventHandle(menu, dt);
  215.         btn_guide->EventHandle(menu, dt);
  216.         btn_save1->EventHandle(menu, dt);
  217.  
  218.         if (table->newGame){
  219.             menu.close();
  220.         }
  221.  
  222.         if (table->showDevInfo){
  223.             table->showDevInfo = false;
  224.             showMessage(570, 80, "Developer info", "Program was created by Egor Vakar.\nBSUIR group 151002\nMinsk 2022");
  225.         }
  226.         if (table->showGuide){
  227.             table->showGuide = false;
  228.             bool running = true;
  229.             sf::RenderWindow messageBox(sf::VideoMode(860, 550, 32), "Guide", sf::Style::Close);
  230.  
  231.             sf::Font font;
  232.             font.loadFromFile("E:/C labs/MyBlackJack/font/SuperMario256.ttf");
  233.  
  234.             sf::Text guideText;
  235.             guideText.setFont(font);
  236.             guideText.setFillColor(sf::Color::White);
  237.             guideText.setPosition(sf::Vector2f(0, 0));
  238.             guideText.setCharacterSize(14);
  239.  
  240.             sf::Text pageNum;
  241.             pageNum.setFont(font);
  242.             pageNum.setFillColor(sf::Color::White);
  243.             pageNum.setPosition(sf::Vector2f(20, 500));
  244.             pageNum.setCharacterSize(30);
  245.  
  246.             sf::Text guideTitle;
  247.             guideTitle.setFont(font);
  248.             guideTitle.setFillColor(sf::Color::White);
  249.             guideTitle.setPosition(sf::Vector2f(330, 100));
  250.             guideTitle.setCharacterSize(20);
  251.  
  252.             sf::Texture guidePic;
  253.             sf::Sprite guideSprite;
  254.             guideSprite.setPosition(sf::Vector2f(10, 130));
  255.  
  256.             sf::Texture leftBtn;
  257.             leftBtn.loadFromFile("E:/C labs/MyBlackJack/resource/left.png");
  258.             sf::Texture rightBtn;
  259.             rightBtn.loadFromFile("E:/C labs/MyBlackJack/resource/right.png");
  260.  
  261.             Button* btn_left = new Button(table);
  262.             btn_left->setLocation(sf::Vector2f(350, 480));
  263.             btn_left->setImage(leftBtn);
  264.             btn_left->setEvent(TableHandle::Actions::SwipeLeft);
  265.  
  266.             Button* btn_right = new Button(table);
  267.             btn_right->setLocation(sf::Vector2f(450, 480));
  268.             btn_right->setImage(rightBtn);
  269.             btn_right->setEvent(TableHandle::Actions::SwipeRight);
  270.             float dt;
  271.             btn_left->EventHandle(messageBox, dt);
  272.             btn_right->EventHandle(messageBox, dt);
  273.  
  274.             sf::Image icon;
  275.             if (!icon.loadFromFile("E:/C labs/MyBlackJack/resource/icon.png"))
  276.             {
  277.                 return 1;
  278.             }
  279.             messageBox.setIcon(32, 32, icon.getPixelsPtr());
  280.  
  281.             sf::Texture bgTex;
  282.             sf::Sprite bgSprite;
  283.             bgTex.loadFromFile("E:/C labs/MyBlackJack/resource/bg.png");
  284.             bgSprite.setTexture(bgTex);
  285.  
  286.             guideText.setString(FIRST_PAGE_STR);
  287.             guideTitle.setString(FIRST_PAGE_TITLE);
  288.             guidePic.loadFromFile(FIRST_PAGE_IMAGE);
  289.  
  290.  
  291.             sf::Event event{};
  292.  
  293.             while(running)
  294.             {
  295.  
  296.                 while(messageBox.pollEvent(event))
  297.                 {  if(event.type == sf::Event::KeyPressed) {
  298.                         if (event.key.code == sf::Keyboard::Escape) {
  299.                             messageBox.close();
  300.                             goto a1;
  301.                         }
  302.                     }
  303.                     if(event.type == sf::Event::Closed){
  304.                         messageBox.close();
  305.                         goto a1;
  306.                     }
  307.                     if(event.type == sf::Event::KeyPressed) {
  308.                         if (event.key.code == sf::Keyboard::Right) {
  309.                             if (table->guidePage < 4) {
  310.                                 table->guidePage++;
  311.                             }
  312.                         }
  313.                     }
  314.                     if(event.type == sf::Event::KeyPressed) {
  315.                         if (event.key.code == sf::Keyboard::Left) {
  316.                             if (table->guidePage > 1) {
  317.                                 table->guidePage--;
  318.                             }
  319.                         }
  320.                     }
  321.  
  322.                 }
  323.  
  324.                 btn_left->EventHandle(messageBox, dt);
  325.                 btn_right->EventHandle(messageBox, dt);
  326.                 switch (table->guidePage) {
  327.                     case 1:
  328.                         guideText.setString(FIRST_PAGE_STR);
  329.                         guideTitle.setString(FIRST_PAGE_TITLE);
  330.                         guidePic.loadFromFile(FIRST_PAGE_IMAGE);
  331.                         guideSprite.setTexture(guidePic);
  332.                         btn_left->Draw(messageBox);
  333.                         btn_right->Draw(messageBox);
  334.                         break;
  335.                     case 2:
  336.                         guideText.setString(SEACOND_PAGE_STR);
  337.                         guideTitle.setString(SEACOND_PAGE_TITLE);
  338.                         guidePic.loadFromFile(SEACOND_PAGE_IMAGE);
  339.                         guideSprite.setTexture(guidePic);
  340.                         btn_left->Draw(messageBox);
  341.                         btn_right->Draw(messageBox);
  342.                         break;
  343.                     case 3:
  344.                         guideText.setString(THIRD_PAGE_STR);
  345.                         guideTitle.setString(THIRD_PAGE_TITLE);
  346.                         guidePic.loadFromFile(THIRD_PAGE_IMAGE);
  347.                         guideSprite.setTexture(guidePic);
  348.                         btn_left->Draw(messageBox);
  349.                         btn_right->Draw(messageBox);
  350.                         break;
  351.                     case 4:
  352.                         guideText.setString(FOURTH_PAGE_STR);
  353.                         guideTitle.setString(FOURTH_PAGE_TITLE);
  354.                         guidePic.loadFromFile(FOURTH_PAGE_IMAGE);
  355.                         guideSprite.setTexture(guidePic);
  356.                         btn_left->Draw(messageBox);
  357.                         btn_right->Draw(messageBox);
  358.                         break;
  359.                 }
  360.                 pageNum.setString(std::to_string(table->guidePage));
  361.  
  362.                 messageBox.clear(sf::Color::White);
  363.  
  364.  
  365.                 messageBox.draw(bgSprite);
  366.                 messageBox.draw(guideText);
  367.                 messageBox.draw(guideTitle);
  368.                 messageBox.draw(guideSprite);
  369.                 messageBox.draw(pageNum);
  370.                 btn_left->Draw(messageBox);
  371.                 btn_right->Draw(messageBox);
  372.  
  373.                 messageBox.display();
  374.         }
  375.         }
  376. a1:
  377.  
  378.         menu.clear();
  379.  
  380. //         # Draw Object
  381.         menu.draw(bgSprite);
  382.  
  383.         btn_play->Draw(menu);
  384.         btn_dev->Draw(menu);
  385.         btn_guide->Draw(menu);
  386.         btn_save1->Draw(menu);
  387.  
  388.  
  389.         menu.display();
  390.     }
  391.  
  392.     sf::RenderWindow app(sf::VideoMode(1024, 768), "Blackjack - By Egor Vakar 151002", sf::Style::Close);
  393.     app.setFramerateLimit(60);
  394.  
  395.  
  396.  
  397.  
  398.  
  399.     app.setIcon(32, 32, icon.getPixelsPtr());
  400.     while(app.isOpen()){
  401.  
  402.         dt = clock.restart().asSeconds();
  403.  
  404.         while(app.pollEvent(event)){
  405.  
  406.             if(event.type == sf::Event::KeyPressed) {
  407.                 if (event.key.code == sf::Keyboard::Escape) {
  408.                     app.close();
  409.                 }
  410.  
  411.                 if (event.key.code == sf::Keyboard::Down) {
  412.                     if (table->bet > 0) {
  413.                         table->bet -= 20;
  414.                         table->chips += 20;
  415.                     }
  416.                 }
  417.  
  418.                 if (event.key.code == sf::Keyboard::Up) {
  419.                     if (table->chips > 0) {
  420.                         table->bet += 20;
  421.                         table->chips -= 20;
  422.                     }
  423.                 }
  424.             }
  425.  
  426.             if(event.type == sf::Event::Closed){
  427.                 app.close();
  428.             }
  429.         }
  430.  
  431.         // # Update Methods
  432.         btn_hit->EventHandle(app, dt);
  433.         btn_stop->EventHandle(app, dt);
  434.         btn_quit->EventHandle(app, dt);
  435.         btn_bet->EventHandle(app, dt);
  436.         btn_guide1->EventHandle(app,dt);
  437.         btn_save->EventHandle(app,dt);
  438.         table->GameRun(dt);
  439.  
  440.         if (table->showGuide){
  441.             table->showGuide = false;
  442.             bool running = true;
  443.             sf::RenderWindow messageBox(sf::VideoMode(860, 550, 32), "Guide", sf::Style::Close);
  444.  
  445.             sf::Font font;
  446.             font.loadFromFile("E:/C labs/MyBlackJack/font/SuperMario256.ttf");
  447.  
  448.             sf::Text guideText;
  449.             guideText.setFont(font);
  450.             guideText.setFillColor(sf::Color::White);
  451.             guideText.setPosition(sf::Vector2f(0, 0));
  452.             guideText.setCharacterSize(14);
  453.  
  454.             sf::Text pageNum;
  455.             pageNum.setFont(font);
  456.             pageNum.setFillColor(sf::Color::White);
  457.             pageNum.setPosition(sf::Vector2f(20, 500));
  458.             pageNum.setCharacterSize(30);
  459.  
  460.             sf::Text guideTitle;
  461.             guideTitle.setFont(font);
  462.             guideTitle.setFillColor(sf::Color::White);
  463.             guideTitle.setPosition(sf::Vector2f(330, 100));
  464.             guideTitle.setCharacterSize(20);
  465.  
  466.             sf::Texture guidePic;
  467.             sf::Sprite guideSprite;
  468.             guideSprite.setPosition(sf::Vector2f(10, 130));
  469.  
  470.             sf::Texture leftBtn;
  471.             leftBtn.loadFromFile("E:/C labs/MyBlackJack/resource/left.png");
  472.             sf::Texture rightBtn;
  473.             rightBtn.loadFromFile("E:/C labs/MyBlackJack/resource/right.png");
  474.  
  475.             Button* btn_left = new Button(table);
  476.             btn_left->setLocation(sf::Vector2f(350, 480));
  477.             btn_left->setImage(leftBtn);
  478.             btn_left->setEvent(TableHandle::Actions::SwipeLeft);
  479.  
  480.             Button* btn_right = new Button(table);
  481.             btn_right->setLocation(sf::Vector2f(450, 480));
  482.             btn_right->setImage(rightBtn);
  483.             btn_right->setEvent(TableHandle::Actions::SwipeRight);
  484.             float dt;
  485.             btn_left->EventHandle(messageBox, dt);
  486.             btn_right->EventHandle(messageBox, dt);
  487.  
  488.             sf::Image icon;
  489.             if (!icon.loadFromFile("E:/C labs/MyBlackJack/resource/icon.png"))
  490.             {
  491.                 return 1;
  492.             }
  493.             messageBox.setIcon(32, 32, icon.getPixelsPtr());
  494.  
  495.             sf::Texture bgTex;
  496.             sf::Sprite bgSprite;
  497.             bgTex.loadFromFile("E:/C labs/MyBlackJack/resource/bg.png");
  498.             bgSprite.setTexture(bgTex);
  499.  
  500.             guideText.setString(FIRST_PAGE_STR);
  501.             guideTitle.setString(FIRST_PAGE_TITLE);
  502.             guidePic.loadFromFile(FIRST_PAGE_IMAGE);
  503.  
  504.  
  505.             sf::Event event{};
  506.  
  507.             while(running)
  508.             {
  509.                 while(messageBox.pollEvent(event))
  510.                 {  if(event.type == sf::Event::KeyPressed) {
  511.                         if (event.key.code == sf::Keyboard::Escape) {
  512.                             messageBox.close();
  513.                             goto a1;
  514.                         }
  515.                     }
  516.                     if(event.type == sf::Event::Closed){
  517.                         messageBox.close();
  518.                         goto a1;
  519.                     }
  520.                     if(event.type == sf::Event::KeyPressed) {
  521.                         if (event.key.code == sf::Keyboard::Right) {
  522.                             if (table->guidePage < 4) {
  523.                                 table->guidePage++;
  524.                             }
  525.                         }
  526.                     }
  527.                     if(event.type == sf::Event::KeyPressed) {
  528.                         if (event.key.code == sf::Keyboard::Left) {
  529.                             if (table->guidePage > 1) {
  530.                                 table->guidePage--;
  531.                             }
  532.                         }
  533.                     }
  534.  
  535.                 }
  536.  
  537.                 btn_left->EventHandle(messageBox, dt);
  538.                 btn_right->EventHandle(messageBox, dt);
  539.                 switch (table->guidePage) {
  540.                     case 1:
  541.                         guideText.setString(FIRST_PAGE_STR);
  542.                         guideTitle.setString(FIRST_PAGE_TITLE);
  543.                         guidePic.loadFromFile(FIRST_PAGE_IMAGE);
  544.                         guideSprite.setTexture(guidePic);
  545.                         btn_left->Draw(messageBox);
  546.                         btn_right->Draw(messageBox);
  547.                         break;
  548.                     case 2:
  549.                         guideText.setString(SEACOND_PAGE_STR);
  550.                         guideTitle.setString(SEACOND_PAGE_TITLE);
  551.                         guidePic.loadFromFile(SEACOND_PAGE_IMAGE);
  552.                         guideSprite.setTexture(guidePic);
  553.                         btn_left->Draw(messageBox);
  554.                         btn_right->Draw(messageBox);
  555.                         break;
  556.                     case 3:
  557.                         guideText.setString(THIRD_PAGE_STR);
  558.                         guideTitle.setString(THIRD_PAGE_TITLE);
  559.                         guidePic.loadFromFile(THIRD_PAGE_IMAGE);
  560.                         guideSprite.setTexture(guidePic);
  561.                         btn_left->Draw(messageBox);
  562.                         btn_right->Draw(messageBox);
  563.                         break;
  564.                     case 4:
  565.                         guideText.setString(FOURTH_PAGE_STR);
  566.                         guideTitle.setString(FOURTH_PAGE_TITLE);
  567.                         guidePic.loadFromFile(FOURTH_PAGE_IMAGE);
  568.                         guideSprite.setTexture(guidePic);
  569.                         btn_left->Draw(messageBox);
  570.                         btn_right->Draw(messageBox);
  571.                         break;
  572.                 }
  573.                 pageNum.setString(std::to_string(table->guidePage));
  574.  
  575.                 messageBox.clear(sf::Color::White);
  576.  
  577.  
  578.                 messageBox.draw(bgSprite);
  579.                 messageBox.draw(guideText);
  580.                 messageBox.draw(guideTitle);
  581.                 messageBox.draw(guideSprite);
  582.                 messageBox.draw(pageNum);
  583.                 btn_left->Draw(messageBox);
  584.                 btn_right->Draw(messageBox);
  585.  
  586.                 messageBox.display();
  587.             }
  588.         }
  589.  
  590.         if( !table->gamerun )
  591.             app.close();
  592.  
  593.         if (table->saveGame){
  594.             table->saveGame = false;
  595.             fstream out;
  596.             out.open("E:/C labs/MyBlackJack/save.txt", fstream::out);
  597.             out << table->chips << endl;
  598.             out << table->wins << endl;
  599.             out << table->lose << endl;
  600.             out << table->tie << endl;
  601.             out.close();
  602.         }
  603.         if (table->updGame) {
  604.             table->updGame = false;
  605.             fstream in;
  606.             in.open("E:/C labs/MyBlackJack/save.txt", fstream::in);
  607.             in >> table->chips;
  608.             in >> table->wins;
  609.             in >> table->lose;
  610.             in >> table->tie;
  611.             in.close();
  612.         }
  613.  
  614.         app.clear();
  615.  
  616. //         # Draw Object
  617.         app.draw(tableSprite);
  618.  
  619.         btn_hit->Draw(app);
  620.         btn_stop->Draw(app);
  621.         btn_quit->Draw(app);
  622.         btn_bet->Draw(app);
  623.         btn_save->Draw(app);
  624.         btn_guide1->Draw(app);
  625.  
  626.  
  627.         table->DrawTable(app, dt);
  628.  
  629.         app.display();
  630.  
  631.     }
  632.     return 0;
  633. }
  634.  
  635.  
  636.  
Add Comment
Please, Sign In to add comment