38 lines
1.0 KiB
C++
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();
|
|
}
|
|
} |