maze-cpp/demos/MaskFromFile.cpp

38 lines
1.0 KiB
C++

#include "Mask.h"
#include "Grid.h"
#include "algorithms/RecursiveBacktracker.h"
#include "SfmlUtils.h"
#include <iostream>
#include <SFML/Graphics.hpp>
const int CELL_SIZE = 50;
int main() {
Mask mask = Mask::fromFile("data/mask.txt");
MaskedGrid grid(mask);
RecursiveBacktracker::on(grid);
sf::RenderWindow window(sf::VideoMode(grid.getCols() * CELL_SIZE, grid.getRows() * CELL_SIZE),
"s: Sidewinder b: BinaryTree a: AldousBroder w: Wilsons h: HuntAndKill, r: RecursiveBacktracker");
while (window.isOpen()) {
sf::Event event;
while (window.pollEvent(event)) {
if (event.type == sf::Event::Closed) {
window.close();
}
}
if (sf::Keyboard::isKeyPressed(sf::Keyboard::Escape)) {
window.close();
}
window.clear(sf::Color::Blue);
sf::RenderTexture render_texture;
utils::sfml::drawGridToTexture(render_texture, grid, CELL_SIZE);
const sf::Texture &texture = render_texture.getTexture();
sf::Sprite sprite(texture);
window.draw(sprite);
window.display();
}
}