move to workspace mode

This commit is contained in:
cool-mist
2026-01-22 15:52:52 +05:30
parent 8cd1f86ba6
commit 86d160cab0
34 changed files with 202 additions and 195 deletions
+71
View File
@@ -0,0 +1,71 @@
mod game;
use game::{Game, sound::Sounds};
use macroquad::{audio, prelude::*};
use miniquad::date;
use game::constants;
fn window_conf() -> Conf {
let window_title = {
if cfg!(debug_assertions) {
"Debug: Puzzle Game"
} else {
constants::WINDOW_TITLE
}
};
Conf {
window_title: String::from(window_title),
fullscreen: false,
..Default::default()
}
}
#[macroquad::main(window_conf)]
async fn main() {
rand::srand(date::now() as u64);
let background_color = Color::from_rgba(196, 195, 208, 255);
let mut game = init().await;
loop {
clear_background(background_color);
game.handle_input();
game.draw();
next_frame().await
}
}
macro_rules! load_sound {
($file_name:expr) => {
audio::load_sound_from_bytes(include_bytes!($file_name))
.await
.unwrap()
};
}
async fn init() -> Game {
let texture_bytes = include_bytes!("../assets/pieces.png");
let texture_res = Texture2D::from_file_with_format(&texture_bytes[..], None);
texture_res.set_filter(FilterMode::Nearest);
build_textures_atlas();
let click = load_sound!("../assets/click.wav");
let win = load_sound!("../assets/win.wav");
let loss = load_sound!("../assets/loss.wav");
let button = load_sound!("../assets/button.wav");
let mode = load_sound!("../assets/mode.wav");
let sounds = Sounds {
click,
win,
loss,
button,
mode,
};
let font_ttf = include_bytes!("../assets/caskaydia.ttf");
let Ok(font) = load_ttf_font_from_bytes(font_ttf) else {
panic!("Failed to load font");
};
Game::new_game(texture_res, sounds, font)
}