pub mod image { use crate::image::Image; pub fn _bg() -> Image { Image { name: "bg".to_string(), pixels: vec![ 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, ] } } pub fn _block() -> Image { Image { name: "block".to_string(), pixels: vec![ 1,1,1,1,1,1,1,1, 1,0,0,0,0,0,0,1, 1,0,0,0,0,0,0,1, 1,0,0,1,1,0,0,1, 1,0,0,1,1,0,0,1, 1,0,0,0,0,0,0,1, 1,0,0,0,0,0,0,1, 1,1,1,1,1,1,1,1, ] } } pub fn avatar() -> Image { Image { name: "avatar".to_string(), pixels: vec![ 0,0,0,2,2,0,0,0, 0,0,0,2,2,0,0,0, 0,0,0,2,2,0,0,0, 0,0,2,2,2,2,0,0, 0,2,2,2,2,2,2,0, 2,0,2,2,2,2,0,2, 0,0,2,0,0,2,0,0, 0,0,2,0,0,2,0,0, ] } } pub fn _cat() -> Image { Image { name: "cat".to_string(), pixels: vec![ 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,2,0,2,0,0,0,2, 0,2,2,2,0,0,0,2, 0,2,2,2,0,0,2,0, 0,2,2,2,2,2,0,0, 0,0,2,2,2,2,0,0, 0,0,2,0,0,2,0,0, ] } } } pub mod palette { use crate::{Palette, Colour}; pub(crate) fn default() -> Palette { Palette { name: "blueprint".to_string(), colours: vec![ Colour { red: 0, green: 82, blue: 204 }, Colour { red: 128, green: 159, blue: 255 }, Colour { red: 255, green: 255, blue: 255 }, ], } } pub fn soup11() -> Palette { Palette { name: "soup11".into(), colours: vec![ Colour { red: 79, green: 30, blue: 69 }, Colour { red: 150, green: 48, blue: 87 }, Colour { red: 215, green: 68, blue: 89 }, Colour { red: 235, green: 112, blue: 96 }, Colour { red: 255, green: 179, blue: 131 }, Colour { red: 255, green: 255, blue: 255 }, Colour { red: 127, green: 227, blue: 187 }, Colour { red: 92, green: 187, blue: 196 }, Colour { red: 69, green: 126, blue: 163 }, Colour { red: 56, green: 66, blue: 118 }, Colour { red: 50, green: 36, blue: 81 } ] } } } pub mod scenes { use crate::Scene; pub fn zero() -> Scene { Scene { name: "zero".into(), background: vec![ None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, Some("block".into()), Some("block".into()), Some("block".into()), Some("block".into()), Some("block".into()), Some("block".into()), Some("block".into()), Some("block".into()), Some("block".into()), Some("block".into()), Some("block".into()), Some("block".into()), Some("block".into()), Some("block".into()), None, None, Some("block".into()), None, None, None, None, None, None, None, None, None, None, None, None, Some("block".into()), None, None, Some("block".into()), None, None, None, None, None, None, None, None, None, None, None, None, Some("block".into()), None, None, Some("block".into()), None, None, None, None, None, None, None, None, None, None, None, None, Some("block".into()), None, None, Some("block".into()), None, None, None, None, None, None, None, None, None, None, None, None, Some("block".into()), None, None, Some("block".into()), None, None, None, None, None, None, None, None, None, None, None, None, Some("block".into()), None, None, Some("block".into()), None, None, None, None, None, None, None, None, None, None, None, None, Some("block".into()), None, None, Some("block".into()), None, None, None, None, None, None, None, None, None, None, None, None, Some("block".into()), None, None, Some("block".into()), None, None, None, None, None, None, None, None, None, None, None, None, Some("block".into()), None, None, Some("block".into()), None, None, None, None, None, None, None, None, None, None, None, None, Some("block".into()), None, None, Some("block".into()), None, None, None, None, None, None, None, None, None, None, None, None, Some("block".into()), None, None, Some("block".into()), None, None, None, None, None, None, None, None, None, None, None, None, Some("block".into()), None, None, Some("block".into()), None, None, None, None, None, None, None, None, None, None, None, None, Some("block".into()), None, None, Some("block".into()), Some("block".into()), Some("block".into()), Some("block".into()), Some("block".into()), Some("block".into()), Some("block".into()), Some("block".into()), Some("block".into()), Some("block".into()), Some("block".into()), Some("block".into()), Some("block".into()), Some("block".into()), None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, ], foreground: vec![ None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, Some("avatar".into()), None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, Some("cat".into()), None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, ] } } } pub mod entities { use crate::Entity; pub fn bitsy_avatar() -> Entity { Entity { name: "".to_string(), image: "avatar".to_string(), tags: vec!["player".into()] } } pub fn bitsy_cat() -> Entity { Entity { name: "cat".to_string(), image: "cat".to_string(), tags: vec![] } } } pub mod tiles { use crate::Tile; pub fn bitsy_block() -> Tile { Tile { name: "block".into(), images: vec!["block".into()], wall: false } } } pub mod game { use crate::{Config, Game}; pub fn bitsy() -> Game { Game { config: Config { name: Some("Write your game's title here".into()), width: 16, height: 16, tick: 400, starting_room: None, version: (0, 1) }, entities: vec![ crate::mock::entities::bitsy_avatar(), crate::mock::entities::bitsy_cat(), ], images: vec![], palettes: vec![], scenes: vec![ crate::mock::scenes::zero(), ], tiles: vec![ crate::mock::tiles::bitsy_block(), ], music: vec![] } } }