Advertisement
Guest User

Untitled

a guest
Apr 9th, 2020
193
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 9.04 KB | None | 0 0
  1. #include <SFML/Graphics.hpp>
  2. #include <SFML/System.hpp>
  3. #include <SFML/Audio.hpp>
  4. #include <iostream>
  5. #include <string>
  6. //#include "Menu.h"
  7. using namespace std;
  8. using namespace sf;
  9.  
  10.  
  11. //Functions
  12. //First Function To Check If the Number is repeated in a Row..
  13. bool first_check(int arr[9][9])
  14. {
  15.     bool first = false;
  16.  
  17.     bool one = false, two = false, three = false, four = false, five = false, six = false, seven = false, eight = false, nine = false;
  18.  
  19.     for (int row = 0; row <9; row++)
  20.     {
  21.         for (int col = 0; col<9; col++)
  22.         {
  23.  
  24.             switch (arr[row][col])
  25.             {
  26.             case 1: one = true;
  27.                 break;
  28.             case 2: two = true;
  29.                 break;
  30.             case 3: three = true;
  31.                 break;
  32.             case 4: four = true;
  33.                 break;
  34.             case 5: five = true;
  35.                 break;
  36.             case 6: six = true;
  37.                 break;
  38.             case 7: seven = true;
  39.                 break;
  40.             case 8: eight = true;
  41.                 break;
  42.             case 9: nine = true;
  43.                 break;
  44.             }
  45.  
  46.         }
  47.  
  48.  
  49.         if (one == true && two == true && three == true &&
  50.             four == true && five == true && six == true &&
  51.             seven == true && eight == true && nine == true)
  52.         {
  53.             first = true;
  54.         }
  55.  
  56.         else
  57.         {
  58.             first = false;
  59.             break;
  60.         }
  61.         one = false, two = false, three = false, four = false, five = false, six = false, seven = false, eight = false, nine = false;
  62.  
  63.     }
  64.  
  65.     return first;
  66. }
  67. //Second Function To Check If a Number is repeated in a Column..
  68. bool second_check(int arr[9][9])
  69. {
  70.     bool second = false;
  71.  
  72.     bool one = false, two = false, three = false, four = false, five = false, six = false, seven = false, eight = false, nine = false;
  73.  
  74.     for (int col = 0; col <9; col++)
  75.     {
  76.         for (int row = 0; row<9; row++)
  77.         {
  78.  
  79.             switch (arr[row][col])
  80.             {
  81.             case 1: one = true;
  82.                 break;
  83.             case 2: two = true;
  84.                 break;
  85.             case 3: three = true;
  86.                 break;
  87.             case 4: four = true;
  88.                 break;
  89.             case 5: five = true;
  90.                 break;
  91.             case 6: six = true;
  92.                 break;
  93.             case 7: seven = true;
  94.                 break;
  95.             case 8: eight = true;
  96.                 break;
  97.             case 9: nine = true;
  98.                 break;
  99.             }
  100.         }
  101.  
  102.  
  103.  
  104.         if (one == true && two == true && three == true &&
  105.             four == true && five == true && six == true &&
  106.             seven == true && eight == true && nine == true)
  107.         {
  108.             second = true;
  109.         }
  110.         else
  111.         {
  112.             second = false;
  113.             break;
  114.         }
  115.  
  116.         one = false, two = false, three = false, four = false, five = false, six = false, seven = false, eight = false, nine = false;
  117.  
  118.     }
  119.  
  120.     return second;
  121. }
  122. //Third Function To Check If a Number repeated in a Block..
  123. bool third_check(int arr[9][9])
  124. {
  125.     bool third = false;
  126.  
  127.     bool one = false, two = false, three = false, four = false, five = false, six = false, seven = false, eight = false, nine = false;
  128.  
  129.     for (int startx = 0; startx <= 6; startx = startx + 3)
  130.     {
  131.         for (int starty = 0; starty <= 6; starty = starty + 3)
  132.         {
  133.             for (int raw = startx; raw<startx + 3; raw++)
  134.             {
  135.                 for (int col = starty; col<starty + 3; col++)
  136.                 {
  137.                     switch (arr[raw][col])
  138.                     {
  139.                     case 1: one = true;
  140.                         break;
  141.                     case 2: two = true;
  142.                         break;
  143.                     case 3: three = true;
  144.                         break;
  145.                     case 4: four = true;
  146.                         break;
  147.                     case 5: five = true;
  148.                         break;
  149.                     case 6: six = true;
  150.                         break;
  151.                     case 7: seven = true;
  152.                         break;
  153.                     case 8: eight = true;
  154.                         break;
  155.                     case 9: nine = true;
  156.                         break;
  157.                     }
  158.                 }
  159.             }
  160.  
  161.             if (one == true && two == true && three == true &&
  162.                 four == true && five == true && six == true &&
  163.                 seven == true && eight == true && nine == true)
  164.             {
  165.                 third = true;
  166.             }
  167.  
  168.             else
  169.             {
  170.                 third = false;
  171.                 break;
  172.             }
  173.             one = false, two = false, three = false, four = false, five = false, six = false, seven = false, eight = false, nine = false;
  174.  
  175.         }
  176.     }
  177.  
  178.     return third;
  179. }
  180.  
  181. int main()
  182. {
  183.     int puzzle[9][9] = { { 5,5,4,6,7,8,9,1,2 } ,{ 6,7,2,1,9,5,3,4,8 } ,{ 1,9,8,3,4,2,5,6,7 } ,
  184.     { 8,5,9,7,6,1,4,2,3 } ,{ 4,2,6,8,5,3,7,9,1 } ,{ 7,1,3,9,2,4,8,5,6 } ,
  185.     { 9,6,1,5,3,7,2,8,4 } ,{ 2,8,7,4,1,9,6,3,5 } ,{ 3,4,5,2,8,6,1,7,9 } };
  186.  
  187.     bool win = false;
  188.  
  189.     if (first_check(puzzle))
  190.     {
  191.         if (second_check(puzzle))
  192.         {
  193.             if (third_check(puzzle))
  194.             {
  195.                 win = true;
  196.             }
  197.  
  198.         }
  199.     }
  200.  
  201.     (win == true) ? cout << "win" << endl : cout << "lose" << endl;
  202.     //creation the window
  203.     sf::RenderWindow window(sf::VideoMode(1000, 800), "SFML works!");
  204.  
  205.     //Menu Menu(window.getSize().x, window.getSize().y);
  206.  
  207.  
  208.     //setting the framerate limit
  209.  
  210.     // window.setFramerateLimit(60);
  211.     //IMAGE//new
  212.     sf::Texture SUU;
  213.     if (SUU.loadFromFile("data/SUU.png") == -1) {
  214.         return 1;
  215.     }
  216.   //font//new
  217.     sf::Font font;
  218.         if (font.loadFromFile("data/arialbd.ttf") == 0) {
  219.             return 1;
  220.         }
  221.     //Text//new
  222.     sf::Text TT;
  223.     TT.setFont(font);
  224.     TT.setCharacterSize(70);
  225.     TT.setStyle(Text::Bold);
  226.     TT.setString("Sudoku");
  227.     TT.setPosition(400, 50);
  228.     TT.setFillColor(Color::Red);
  229.  
  230.     //sound&music
  231.     sf::Music mountain;
  232.     if (mountain.openFromFile("data/music.ogg") == 0) {
  233.         return 1;
  234.     }
  235.     mountain.setLoop(2);
  236.     mountain.play();
  237.     mountain.setVolume(200);
  238.  
  239.  
  240.  
  241.     window.setKeyRepeatEnabled(false);
  242.  
  243.     //SHAPE//new
  244.     sf::RectangleShape rect;
  245.     rect.setFillColor(sf::Color::White);
  246.     rect.setSize(sf::Vector2f(800, 600));
  247.     rect.setPosition(120, 140);
  248.     rect.setTexture(&SUU);
  249.     //variable that keeps the game loop running
  250.     bool play = true;
  251.     bool leftClick = false;
  252.     bool RightClick = false;
  253.     int NumOfLeftClicks = 0, NumOfRightClicks = 0, mouseX, mouseY; //to store the mouse position & the number of clicks
  254.  
  255.                                            
  256.                                                                    //Game looop
  257. while (play == true)
  258.     {
  259.         // Events
  260.         sf::Event event;
  261.         while (window.pollEvent(event))
  262.         {
  263.             //KEYBOARD EVENT
  264.             //pressed
  265.             if (event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Numpad1)
  266.                 cout << "Key has been pressed" << endl;
  267.             if (event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Numpad2)
  268.                 cout << "Key has been pressed" << endl;
  269.             if (event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Numpad3)
  270.                 cout << "Key has been pressed" << endl;
  271.             if (event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Numpad4)
  272.                 cout << "Key has been bressed" << endl;
  273.             if (event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Numpad5)
  274.                 cout << "Key has been pressed" << endl;
  275.             if (event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Numpad6)
  276.                 cout << "Key has been pressed" << endl;
  277.             if (event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Numpad7)
  278.                 cout << "Key has been pressed" << endl;
  279.             if (event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Numpad8)
  280.                 cout << "Key has been pressed" << endl;
  281.             if (event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Numpad9)
  282.                 cout << "Key has been pressed" << endl;
  283.             // released
  284.             if (event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Numpad1)
  285.                 cout << "Key has been released" << endl;
  286.             if (event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Numpad2)
  287.                 cout << "Key has been released" << endl;
  288.             if (event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Numpad3)
  289.                 cout << "Key has been released" << endl;
  290.             if (event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Numpad4)
  291.                 cout << "Key has been released" << endl;
  292.             if (event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Numpad5)
  293.                 cout << "Key has been released" << endl;
  294.             if (event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Numpad6)
  295.                 cout << "Key has been released" << endl;
  296.             if (event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Numpad7)
  297.                 cout << "Key has been released" << endl;
  298.             if (event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Numpad8)
  299.                 cout << "Key has been released" << endl;
  300.             if (event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Numpad9)
  301.                 cout << "Key has been released" << endl;
  302.  
  303.             //MOUSE EVENT
  304.  
  305.             if (event.type == sf::Event::MouseButtonPressed && event.mouseButton.button == sf::Mouse::Left)
  306.             {
  307.                 leftClick = true;
  308.             }
  309.             if (event.type == sf::Event::MouseButtonPressed && event.mouseButton.button == sf::Mouse::Right)
  310.             {
  311.             RightClick = true;
  312.             }
  313.  
  314.  
  315.             if (leftClick == true)
  316.             {
  317.                 NumOfLeftClicks++;
  318.                 cout << "The Num Of Left Clicks is " << ' ' << NumOfLeftClicks << endl;
  319.                 leftClick = false;
  320.             }
  321.             if (RightClick == true)
  322.             {
  323.                 NumOfRightClicks++;
  324.                 cout << "The Num Of Right Clicks is " << ' ' << NumOfRightClicks << endl;
  325.                 RightClick = false;
  326.             }
  327.  
  328.  
  329.  
  330.             if (event.type == sf::Event::MouseMoved)
  331.             {
  332.                 mouseX = event.mouseMove.x;
  333.                 mouseY = event.mouseMove.y;
  334.             }
  335.  
  336.             //Event type to Window closed
  337.             if (event.type == sf::Event::Closed)
  338.             {
  339.                 play = false;
  340.             }
  341.         //  cout << " MOUSE X :" << mouseX << ' ' << "MOUSE Y :" << ' ' << mouseY << endl;
  342.             //           window.close();
  343.         }
  344.         //Clean up
  345.         window.clear();
  346.         window.draw(rect);
  347.     //  menu.draw(window);
  348.         window.draw(TT);
  349.         window.display();
  350.    
  351.  
  352.     }
  353.  
  354.     return 0;
  355.     system("pause");
  356. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement