Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "MinesweeperBoard.h"
- #include "MSSFMLView.h"
- MSSFMLView::MSSFMLView(MinesweeperBoard &sfml_board) : board(sfml_board)
- {
- }
- void MSSFMLView::draw(sf::RenderWindow & window, int board_width, int board_height, int cel_len)
- {
- sf::Music music;
- music.openFromFile("saper_music.ogg");
- // music.play();
- sf::Texture texture;
- if (!texture.loadFromFile("cosmos.png"))
- {
- std::cout << "error";
- }
- sf::Texture flag;
- if(!flag.loadFromFile("flaga.png"))
- {
- std::cout << "flaga nie wczytuje sie" << std::endl;
- }
- sf::Texture bomb;
- if(!bomb.loadFromFile("bomb.png"))
- {
- std::cout << "bomba nie dziala" << std::endl;
- }
- sf::Texture odkryte;
- if(!odkryte.loadFromFile("pole.png"))
- {
- std::cout << "pole odkryte nie dziala" << std::endl;
- }
- sf::RectangleShape rectangle(sf::Vector2f(board_width,board_height));
- sf::Texture field;
- if (!field.loadFromFile("pytajnik.png"))
- {
- std::cout << "pytajnik nie dziala" << std::endl;
- }
- field.setSmooth(true);
- odkryte.setSmooth(true);
- sf::Sprite sprite;
- sprite.setTexture(texture);
- while (window.isOpen())
- {
- window.clear();
- window.draw(sprite);
- for(int x=1; x<=10; ++x)
- for (int y=1;y<=10; ++y)
- {
- rectangle.setPosition(x*cel_len,y*cel_len);
- rectangle.setTexture(&field);
- window.draw(rectangle);
- }
- sf::Event event;
- while (window.pollEvent(event))
- {
- if (event.type == sf::Event::Closed)
- window.close();
- if (event.type == sf::Event::MouseButtonPressed)
- {
- int wiersz;
- wiersz = event.mouseButton.x/cel_len;
- int kolumna;
- kolumna=event.mouseButton.y/cel_len;
- if (sf::Mouse::isButtonPressed(sf::Mouse::Left))
- {
- if(event.mouseButton.x>35 and event.mouseButton.x<353 and event.mouseButton.y>43 and event.mouseButton.y<353)
- {
- board.revealField(wiersz, kolumna);
- field.update(odkryte);
- // std:: cout << "odkrywam pole " << std::endl;
- }
- }
- if (sf::Mouse::isButtonPressed(sf::Mouse::Right))
- {
- if(event.mouseButton.x>35 and event.mouseButton.x<353 and event.mouseButton.y>43 and event.mouseButton.y<353)
- {
- board.toggleFlag(wiersz, kolumna);
- field.swap(flag);
- // std:: cout << "stawiam flage " << std::endl;
- }
- }
- }
- }
- window.display();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement