38 lines
1.1 KiB
Rust
38 lines
1.1 KiB
Rust
#![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);
|
|
}
|
|
};
|
|
});
|
|
}
|
|
}
|