#[macro_use] extern crate itertools;
use ggez::{Context, ContextBuilder, GameResult};
use ggez::event::{self, EventHandler};
use ggez::graphics;
use std::path::Path;
#[allow(dead_code)]
mod consts {
pub const SPEED: u32 = 2;
pub const TILE_SIZE: u32 = 24;
pub const HALF_TILE: u32 = TILE_SIZE / 2;
pub const QUARTER_TILE: u32 = TILE_SIZE / 4;
pub const BOARD_WIDTH: usize = 16;
pub const BOARD_HEIGHT: usize = 12;
pub const SCALE: u32 = 3;
pub const TILED_TRUE: tiled::PropertyValue =
tiled::PropertyValue::BoolValue(true);
}
#[derive(Debug)]
struct Board {
tiles: Vec