#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")] // hide console window on Windows in release mod algo; mod gui; use bgtu_ai_utility::gui::{boot_eframe, subwindow}; use eframe::egui; fn main() -> eframe::Result { return boot_eframe( "Annealing Simulation for Chess Queens Task", || gui::MyApp::new() ); } impl eframe::App for gui::MyApp { fn update(&mut self, ui: &eframe::egui::Context, _frame: &mut eframe::Frame) { egui::CentralPanel::default().show(ui, |ui| { gui::input(ui, self); match &self.result { None => {} Some(board) => { subwindow( ui, "board", "Board", |vb| { return vb .with_inner_size(gui::get_board_size(self.boardSize)) .with_resizable(false); }, |ui| gui::draw_board(ui, board), ).on_close(|| self.result = None); } }; }); } }