#include #include #include #include #include #include #include "puzzle.hpp" #include "gameplay.hpp" #include "menu_callbacks.hpp" class MainWindow : public Fl_Window { public: MainWindow(int w, int h, const char *title) : Fl_Window(w, h, title) {} /* * Ending program by esc key while the computer is solving a puzzle */ int handle(int event) { if(event == FL_KEYDOWN && Fl::event_length() != 0 && Fl::event_key() == FL_Escape) { exit(0); } return Fl_Window::handle(event); } }; int main() { srand(time(nullptr)); MainWindow *win = new MainWindow(320, 355, "Picture puzzle"); GameParams *params = GameParams::SetUpParams(win); Fl_Sys_Menu_Bar *sys_bar = new Fl_Sys_Menu_Bar(0, 0, 355, 20, nullptr); sys_bar->add("&File/&New game", nullptr, new_game_callback, params); sys_bar->add("&File/&Load file", nullptr, load_file_callback); sys_bar->add("&File/&Exit", nullptr, exit_callback); sys_bar->add("&Options/&Show solution", nullptr, solve_problem_callback, params); sys_bar->add("&About", nullptr, about_callback); PuzzleGame::StartGame(params); win->show(); return Fl::run(); return 0; }