Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <SFML/Graphics.hpp>
- #include <SFML/System.hpp>
- #include <SFML/Audio.hpp>
- #include <iostream>
- #include <string>
- //#include "Menu.h"
- using namespace std;
- using namespace sf;
- //Functions
- //First Function To Check If the Number is repeated in a Row..
- bool first_check(int arr[9][9])
- {
- bool first = false;
- bool one = false, two = false, three = false, four = false, five = false, six = false, seven = false, eight = false, nine = false;
- for (int row = 0; row <9; row++)
- {
- for (int col = 0; col<9; col++)
- {
- switch (arr[row][col])
- {
- case 1: one = true;
- break;
- case 2: two = true;
- break;
- case 3: three = true;
- break;
- case 4: four = true;
- break;
- case 5: five = true;
- break;
- case 6: six = true;
- break;
- case 7: seven = true;
- break;
- case 8: eight = true;
- break;
- case 9: nine = true;
- break;
- }
- }
- if (one == true && two == true && three == true &&
- four == true && five == true && six == true &&
- seven == true && eight == true && nine == true)
- {
- first = true;
- }
- else
- {
- first = false;
- break;
- }
- one = false, two = false, three = false, four = false, five = false, six = false, seven = false, eight = false, nine = false;
- }
- return first;
- }
- //Second Function To Check If a Number is repeated in a Column..
- bool second_check(int arr[9][9])
- {
- bool second = false;
- bool one = false, two = false, three = false, four = false, five = false, six = false, seven = false, eight = false, nine = false;
- for (int col = 0; col <9; col++)
- {
- for (int row = 0; row<9; row++)
- {
- switch (arr[row][col])
- {
- case 1: one = true;
- break;
- case 2: two = true;
- break;
- case 3: three = true;
- break;
- case 4: four = true;
- break;
- case 5: five = true;
- break;
- case 6: six = true;
- break;
- case 7: seven = true;
- break;
- case 8: eight = true;
- break;
- case 9: nine = true;
- break;
- }
- }
- if (one == true && two == true && three == true &&
- four == true && five == true && six == true &&
- seven == true && eight == true && nine == true)
- {
- second = true;
- }
- else
- {
- second = false;
- break;
- }
- one = false, two = false, three = false, four = false, five = false, six = false, seven = false, eight = false, nine = false;
- }
- return second;
- }
- //Third Function To Check If a Number repeated in a Block..
- bool third_check(int arr[9][9])
- {
- bool third = false;
- bool one = false, two = false, three = false, four = false, five = false, six = false, seven = false, eight = false, nine = false;
- for (int startx = 0; startx <= 6; startx = startx + 3)
- {
- for (int starty = 0; starty <= 6; starty = starty + 3)
- {
- for (int raw = startx; raw<startx + 3; raw++)
- {
- for (int col = starty; col<starty + 3; col++)
- {
- switch (arr[raw][col])
- {
- case 1: one = true;
- break;
- case 2: two = true;
- break;
- case 3: three = true;
- break;
- case 4: four = true;
- break;
- case 5: five = true;
- break;
- case 6: six = true;
- break;
- case 7: seven = true;
- break;
- case 8: eight = true;
- break;
- case 9: nine = true;
- break;
- }
- }
- }
- if (one == true && two == true && three == true &&
- four == true && five == true && six == true &&
- seven == true && eight == true && nine == true)
- {
- third = true;
- }
- else
- {
- third = false;
- break;
- }
- one = false, two = false, three = false, four = false, five = false, six = false, seven = false, eight = false, nine = false;
- }
- }
- return third;
- }
- int main()
- {
- 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 } ,
- { 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 } ,
- { 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 } };
- bool win = false;
- if (first_check(puzzle))
- {
- if (second_check(puzzle))
- {
- if (third_check(puzzle))
- {
- win = true;
- }
- }
- }
- (win == true) ? cout << "win" << endl : cout << "lose" << endl;
- //creation the window
- sf::RenderWindow window(sf::VideoMode(1000, 800), "SFML works!");
- //Menu Menu(window.getSize().x, window.getSize().y);
- //setting the framerate limit
- // window.setFramerateLimit(60);
- //IMAGE//new
- sf::Texture SUU;
- if (SUU.loadFromFile("data/SUU.png") == -1) {
- return 1;
- }
- //font//new
- sf::Font font;
- if (font.loadFromFile("data/arialbd.ttf") == 0) {
- return 1;
- }
- //Text//new
- sf::Text TT;
- TT.setFont(font);
- TT.setCharacterSize(70);
- TT.setStyle(Text::Bold);
- TT.setString("Sudoku");
- TT.setPosition(400, 50);
- TT.setFillColor(Color::Red);
- //sound&music
- sf::Music mountain;
- if (mountain.openFromFile("data/music.ogg") == 0) {
- return 1;
- }
- mountain.setLoop(2);
- mountain.play();
- mountain.setVolume(200);
- window.setKeyRepeatEnabled(false);
- //SHAPE//new
- sf::RectangleShape rect;
- rect.setFillColor(sf::Color::White);
- rect.setSize(sf::Vector2f(800, 600));
- rect.setPosition(120, 140);
- rect.setTexture(&SUU);
- //variable that keeps the game loop running
- bool play = true;
- bool leftClick = false;
- bool RightClick = false;
- int NumOfLeftClicks = 0, NumOfRightClicks = 0, mouseX, mouseY; //to store the mouse position & the number of clicks
- //Game looop
- while (play == true)
- {
- // Events
- sf::Event event;
- while (window.pollEvent(event))
- {
- //KEYBOARD EVENT
- //pressed
- if (event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Numpad1)
- cout << "Key has been pressed" << endl;
- if (event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Numpad2)
- cout << "Key has been pressed" << endl;
- if (event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Numpad3)
- cout << "Key has been pressed" << endl;
- if (event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Numpad4)
- cout << "Key has been bressed" << endl;
- if (event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Numpad5)
- cout << "Key has been pressed" << endl;
- if (event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Numpad6)
- cout << "Key has been pressed" << endl;
- if (event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Numpad7)
- cout << "Key has been pressed" << endl;
- if (event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Numpad8)
- cout << "Key has been pressed" << endl;
- if (event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Numpad9)
- cout << "Key has been pressed" << endl;
- // released
- if (event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Numpad1)
- cout << "Key has been released" << endl;
- if (event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Numpad2)
- cout << "Key has been released" << endl;
- if (event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Numpad3)
- cout << "Key has been released" << endl;
- if (event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Numpad4)
- cout << "Key has been released" << endl;
- if (event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Numpad5)
- cout << "Key has been released" << endl;
- if (event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Numpad6)
- cout << "Key has been released" << endl;
- if (event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Numpad7)
- cout << "Key has been released" << endl;
- if (event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Numpad8)
- cout << "Key has been released" << endl;
- if (event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Numpad9)
- cout << "Key has been released" << endl;
- //MOUSE EVENT
- if (event.type == sf::Event::MouseButtonPressed && event.mouseButton.button == sf::Mouse::Left)
- {
- leftClick = true;
- }
- if (event.type == sf::Event::MouseButtonPressed && event.mouseButton.button == sf::Mouse::Right)
- {
- RightClick = true;
- }
- if (leftClick == true)
- {
- NumOfLeftClicks++;
- cout << "The Num Of Left Clicks is " << ' ' << NumOfLeftClicks << endl;
- leftClick = false;
- }
- if (RightClick == true)
- {
- NumOfRightClicks++;
- cout << "The Num Of Right Clicks is " << ' ' << NumOfRightClicks << endl;
- RightClick = false;
- }
- if (event.type == sf::Event::MouseMoved)
- {
- mouseX = event.mouseMove.x;
- mouseY = event.mouseMove.y;
- }
- //Event type to Window closed
- if (event.type == sf::Event::Closed)
- {
- play = false;
- }
- // cout << " MOUSE X :" << mouseX << ' ' << "MOUSE Y :" << ' ' << mouseY << endl;
- // window.close();
- }
- //Clean up
- window.clear();
- window.draw(rect);
- // menu.draw(window);
- window.draw(TT);
- window.display();
- }
- return 0;
- system("pause");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement