2020-04-12 13:38:07 +00:00
|
|
|
use crate::*;
|
2020-04-12 11:48:07 +00:00
|
|
|
|
|
|
|
pub mod image {
|
2020-04-12 13:28:11 +00:00
|
|
|
use crate::Image;
|
2020-04-12 11:48:07 +00:00
|
|
|
|
|
|
|
pub(crate) fn chequers_1() -> Image {
|
|
|
|
Image {
|
|
|
|
pixels: vec![
|
|
|
|
1, 0, 1, 0, 1, 0, 1, 0,
|
|
|
|
0, 1, 0, 1, 0, 1, 0, 1,
|
|
|
|
1, 0, 1, 0, 1, 0, 1, 0,
|
|
|
|
0, 1, 0, 1, 0, 1, 0, 1,
|
|
|
|
1, 0, 1, 0, 1, 0, 1, 0,
|
|
|
|
0, 1, 0, 1, 0, 1, 0, 1,
|
|
|
|
1, 0, 1, 0, 1, 0, 1, 0,
|
|
|
|
0, 1, 0, 1, 0, 1, 0, 1,
|
|
|
|
]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
pub fn chequers_2() -> Image {
|
|
|
|
Image {
|
|
|
|
pixels: vec![
|
|
|
|
0,1,0,1,0,1,0,1,
|
|
|
|
1,0,1,0,1,0,1,0,
|
|
|
|
0,1,0,1,0,1,0,1,
|
|
|
|
1,0,1,0,1,0,1,0,
|
|
|
|
0,1,0,1,0,1,0,1,
|
|
|
|
1,0,1,0,1,0,1,0,
|
|
|
|
0,1,0,1,0,1,0,1,
|
|
|
|
1,0,1,0,1,0,1,0,
|
|
|
|
]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
pub fn avatar() -> Avatar {
|
|
|
|
Avatar {
|
|
|
|
animation_frames: vec![
|
|
|
|
Image {
|
|
|
|
pixels: vec![
|
|
|
|
0,0,0,0,0,0,0,0,
|
|
|
|
0,0,1,1,1,1,0,0,
|
|
|
|
0,1,1,1,1,1,1,0,
|
|
|
|
1,1,1,0,1,1,1,0,
|
|
|
|
1,0,0,1,1,0,0,1,
|
|
|
|
1,1,1,1,1,1,1,1,
|
|
|
|
1,1,1,1,1,1,1,1,
|
|
|
|
0,1,1,1,1,1,1,0,
|
|
|
|
]
|
|
|
|
},
|
|
|
|
Image {
|
|
|
|
pixels: vec![
|
|
|
|
0,0,0,0,0,0,0,0,
|
|
|
|
0,0,0,0,0,0,0,0,
|
|
|
|
0,0,1,1,1,1,0,0,
|
|
|
|
0,1,1,1,1,1,1,0,
|
|
|
|
1,1,1,0,1,1,1,0,
|
|
|
|
1,0,0,1,1,0,0,1,
|
|
|
|
1,1,1,1,1,1,1,1,
|
|
|
|
0,1,1,1,0,1,1,0,
|
|
|
|
]
|
|
|
|
},
|
|
|
|
],
|
|
|
|
room: "0".to_string(),
|
|
|
|
position: Position { x: 2, y: 5 }
|
|
|
|
}
|
|
|
|
}
|
2020-04-12 12:35:17 +00:00
|
|
|
|
|
|
|
pub(crate) fn sprite() -> Sprite {
|
|
|
|
Sprite {
|
|
|
|
id: "a".to_string(),
|
|
|
|
name: Some("hatch".to_string()),
|
|
|
|
animation_frames: vec![
|
|
|
|
Image {
|
|
|
|
pixels: vec![
|
|
|
|
0,0,0,0,0,0,0,0,
|
|
|
|
0,1,1,1,1,0,0,0,
|
|
|
|
0,1,0,0,1,0,0,0,
|
|
|
|
0,0,1,1,1,1,0,0,
|
|
|
|
0,0,1,1,1,1,0,0,
|
|
|
|
0,1,0,1,1,1,1,0,
|
|
|
|
0,1,0,1,1,1,1,0,
|
|
|
|
0,1,1,0,1,1,1,1,
|
|
|
|
]
|
|
|
|
}
|
|
|
|
],
|
|
|
|
dialogue: Some("SPR_0".to_string()),
|
|
|
|
room: "4".to_string(),
|
|
|
|
position: Position {
|
|
|
|
x: 9,
|
|
|
|
y: 7
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2020-04-12 12:46:55 +00:00
|
|
|
|
|
|
|
pub fn item() -> Item {
|
|
|
|
Item {
|
|
|
|
id: "6".to_string(),
|
|
|
|
animation_frames: vec![
|
|
|
|
Image {
|
|
|
|
pixels: vec![
|
|
|
|
0,1,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,1,0,0,
|
|
|
|
0,0,1,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,1,0,
|
|
|
|
]
|
|
|
|
}
|
|
|
|
],
|
|
|
|
name: Some("door".to_string()),
|
|
|
|
dialogue: Some("ITM_2".to_string())
|
|
|
|
}
|
|
|
|
}
|
2020-04-12 13:28:11 +00:00
|
|
|
|
|
|
|
pub fn room() -> Room {
|
|
|
|
Room {
|
|
|
|
id: "a".to_string(),
|
|
|
|
palette: "9".to_string(),
|
|
|
|
name: Some("cellar 7".to_string()),
|
|
|
|
tiles: vec![
|
|
|
|
"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"1l".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),
|
|
|
|
"y".to_string(),"x".to_string(),"0".to_string(),"0".to_string(),"1j".to_string(),"0".to_string(),"0".to_string(),"1j".to_string(),"1l".to_string(),"0".to_string(),"1j".to_string(),"0".to_string(),"0".to_string(),"1j".to_string(),"0".to_string(),"0".to_string(),
|
|
|
|
"y".to_string(),"y".to_string(),"x".to_string(),"k".to_string(),"k".to_string(),"1c".to_string(),"1x".to_string(),"1y".to_string(),"1m".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),
|
|
|
|
"y".to_string(),"y".to_string(),"y".to_string(),"x".to_string(),"k".to_string(),"s".to_string(),"s".to_string(),"s".to_string(),"k".to_string(),"k".to_string(),"k".to_string(),"k".to_string(),"k".to_string(),"1g".to_string(),"1f".to_string(),"k".to_string(),
|
|
|
|
"k".to_string(),"z".to_string(),"z".to_string(),"z".to_string(),"1i".to_string(),"1u".to_string(),"1u".to_string(),"1u".to_string(),"1v".to_string(),"11".to_string(),"19".to_string(),"1b".to_string(),"1a".to_string(),"1e".to_string(),"10".to_string(),"k".to_string(),
|
|
|
|
"k".to_string(),"z".to_string(),"z".to_string(),"11".to_string(),"12".to_string(),"z".to_string(),"z".to_string(),"z".to_string(),"z".to_string(),"10".to_string(),"17".to_string(),"z".to_string(),"18".to_string(),"1e".to_string(),"12".to_string(),"k".to_string(),
|
|
|
|
"k".to_string(),"z".to_string(),"z".to_string(),"z".to_string(),"z".to_string(),"z".to_string(),"z".to_string(),"z".to_string(),"z".to_string(),"1k".to_string(),"14".to_string(),"15".to_string(),"16".to_string(),"1h".to_string(),"z".to_string(),"k".to_string(),
|
|
|
|
"k".to_string(),"z".to_string(),"z".to_string(),"z".to_string(),"z".to_string(),"z".to_string(),"z".to_string(),"10".to_string(),"1d".to_string(),"1v".to_string(),"1r".to_string(),"1s".to_string(),"1r".to_string(),"1q".to_string(),"1z".to_string(),"k".to_string(),
|
|
|
|
"k".to_string(),"z".to_string(),"z".to_string(),"12".to_string(),"10".to_string(),"z".to_string(),"z".to_string(),"z".to_string(),"1i".to_string(),"1n".to_string(),"1o".to_string(),"1o".to_string(),"1o".to_string(),"1p".to_string(),"z".to_string(),"k".to_string(),
|
|
|
|
"k".to_string(),"z".to_string(),"z".to_string(),"z".to_string(),"z".to_string(),"z".to_string(),"z".to_string(),"z".to_string(),"z".to_string(),"z".to_string(),"z".to_string(),"z".to_string(),"10".to_string(),"z".to_string(),"z".to_string(),"k".to_string(),
|
|
|
|
"k".to_string(),"z".to_string(),"z".to_string(),"z".to_string(),"z".to_string(),"z".to_string(),"11".to_string(),"z".to_string(),"z".to_string(),"z".to_string(),"z".to_string(),"z".to_string(),"z".to_string(),"z".to_string(),"z".to_string(),"k".to_string(),
|
|
|
|
"k".to_string(),"z".to_string(),"z".to_string(),"z".to_string(),"z".to_string(),"z".to_string(),"z".to_string(),"z".to_string(),"z".to_string(),"z".to_string(),"12".to_string(),"z".to_string(),"z".to_string(),"10".to_string(),"12".to_string(),"k".to_string(),
|
|
|
|
"k".to_string(),"k".to_string(),"k".to_string(),"k".to_string(),"k".to_string(),"k".to_string(),"k".to_string(),"k".to_string(),"k".to_string(),"k".to_string(),"k".to_string(),"k".to_string(),"k".to_string(),"k".to_string(),"k".to_string(),"k".to_string(),
|
|
|
|
"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),
|
|
|
|
"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),
|
|
|
|
"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string()
|
|
|
|
],
|
|
|
|
items: vec![
|
|
|
|
Instance {position: Position { x: 11, y: 5}, id: "d".to_string()},
|
|
|
|
Instance {position: Position { x: 8, y: 3}, id: "e".to_string()},
|
|
|
|
Instance {position: Position { x: 1, y: 0}, id: "5".to_string()},
|
|
|
|
Instance {position: Position { x: 2, y: 1}, id: "6".to_string()},
|
|
|
|
Instance {position: Position { x: 3, y: 2}, id: "6".to_string()},
|
|
|
|
],
|
|
|
|
exits: vec![
|
|
|
|
ExitInstance {
|
|
|
|
position: Position { x: 3, y: 3},
|
|
|
|
exit: Exit { room: "3".to_string(), position: Position { x: 10, y: 6}}
|
|
|
|
},
|
|
|
|
],
|
|
|
|
endings: vec![
|
|
|
|
Instance{position: Position { x: 8, y: 7 }, id: "undefined".to_string()},
|
|
|
|
],
|
|
|
|
}
|
|
|
|
}
|
2020-04-12 13:38:07 +00:00
|
|
|
|
|
|
|
pub(crate) fn game_default() -> Game {
|
|
|
|
Game {
|
|
|
|
name: "Write your game's title here".to_string(),
|
|
|
|
version: 6.5,
|
|
|
|
room_format: 1,
|
|
|
|
palettes: vec![
|
|
|
|
Palette {
|
|
|
|
id: "0".to_string(),
|
|
|
|
name: None,
|
|
|
|
colours: vec![
|
|
|
|
Colour {red: 0, green: 82, blue: 204 },
|
|
|
|
Colour {red: 128, green: 159, blue: 255 },
|
|
|
|
Colour {red: 255, green: 255, blue: 255 },
|
|
|
|
]
|
|
|
|
}
|
|
|
|
],
|
|
|
|
rooms: vec![
|
|
|
|
Room {
|
|
|
|
id: "0".to_string(),
|
|
|
|
palette: "0".to_string(),
|
|
|
|
name: None,
|
|
|
|
tiles: vec![
|
|
|
|
"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),
|
|
|
|
"0".to_string(),"a".to_string(),"a".to_string(),"a".to_string(),"a".to_string(),"a".to_string(),"a".to_string(),"a".to_string(),"a".to_string(),"a".to_string(),"a".to_string(),"a".to_string(),"a".to_string(),"a".to_string(),"a".to_string(),"0".to_string(),
|
|
|
|
"0".to_string(),"a".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"a".to_string(),"0".to_string(),
|
|
|
|
"0".to_string(),"a".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"a".to_string(),"0".to_string(),
|
|
|
|
"0".to_string(),"a".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"a".to_string(),"0".to_string(),
|
|
|
|
"0".to_string(),"a".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"a".to_string(),"0".to_string(),
|
|
|
|
"0".to_string(),"a".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"a".to_string(),"0".to_string(),
|
|
|
|
"0".to_string(),"a".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"a".to_string(),"0".to_string(),
|
|
|
|
"0".to_string(),"a".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"a".to_string(),"0".to_string(),
|
|
|
|
"0".to_string(),"a".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"a".to_string(),"0".to_string(),
|
|
|
|
"0".to_string(),"a".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"a".to_string(),"0".to_string(),
|
|
|
|
"0".to_string(),"a".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"a".to_string(),"0".to_string(),
|
|
|
|
"0".to_string(),"a".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"a".to_string(),"0".to_string(),
|
|
|
|
"0".to_string(),"a".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"a".to_string(),"0".to_string(),
|
|
|
|
"0".to_string(),"a".to_string(),"a".to_string(),"a".to_string(),"a".to_string(),"a".to_string(),"a".to_string(),"a".to_string(),"a".to_string(),"a".to_string(),"a".to_string(),"a".to_string(),"a".to_string(),"a".to_string(),"a".to_string(),"0".to_string(),
|
|
|
|
"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),"0".to_string(),
|
|
|
|
],
|
|
|
|
items: vec![],
|
|
|
|
exits: vec![],
|
|
|
|
endings: vec![]
|
|
|
|
}
|
|
|
|
],
|
|
|
|
tiles: vec![
|
|
|
|
Tile {
|
|
|
|
id: "a".to_string(),
|
|
|
|
name: None,
|
|
|
|
wall: false,
|
|
|
|
animation_frames: vec![
|
|
|
|
Image {
|
|
|
|
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,
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
],
|
|
|
|
avatar: Avatar {
|
|
|
|
animation_frames: vec![
|
|
|
|
Image {
|
|
|
|
pixels: vec![
|
|
|
|
0,0,0,1,1,0,0,0,
|
|
|
|
0,0,0,1,1,0,0,0,
|
|
|
|
0,0,0,1,1,0,0,0,
|
|
|
|
0,0,1,1,1,1,0,0,
|
|
|
|
0,1,1,1,1,1,1,0,
|
|
|
|
1,0,1,1,1,1,0,1,
|
|
|
|
0,0,1,0,0,1,0,0,
|
|
|
|
0,0,1,0,0,1,0,0,
|
|
|
|
]
|
|
|
|
}
|
|
|
|
],
|
|
|
|
room: "0".to_string(),
|
|
|
|
position: Position { x: 4, y: 4 }
|
|
|
|
},
|
|
|
|
sprites: vec![
|
|
|
|
Sprite {
|
|
|
|
id: "a".to_string(),
|
|
|
|
name: None,
|
|
|
|
animation_frames: vec![
|
|
|
|
Image {
|
|
|
|
pixels: vec![
|
|
|
|
0,0,0,0,0,0,0,0,
|
|
|
|
0,0,0,0,0,0,0,0,
|
|
|
|
0,1,0,1,0,0,0,1,
|
|
|
|
0,1,1,1,0,0,0,1,
|
|
|
|
0,1,1,1,0,0,1,0,
|
|
|
|
0,1,1,1,1,1,0,0,
|
|
|
|
0,0,1,1,1,1,0,0,
|
|
|
|
0,0,1,0,0,1,0,0,
|
|
|
|
]
|
|
|
|
}
|
|
|
|
],
|
|
|
|
dialogue: Some("SPR_0".to_string()),
|
|
|
|
room: "0".to_string(),
|
|
|
|
position: Position { x: 8, y: 12 }
|
|
|
|
}
|
|
|
|
],
|
|
|
|
items: vec![
|
|
|
|
Item {
|
|
|
|
id: "0".to_string(),
|
|
|
|
animation_frames: vec![
|
|
|
|
Image {
|
|
|
|
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,1,1,1,1,0,0,
|
|
|
|
0,1,1,0,0,1,0,0,
|
|
|
|
0,0,1,0,0,1,0,0,
|
|
|
|
0,0,0,1,1,0,0,0,
|
|
|
|
0,0,0,0,0,0,0,0,
|
|
|
|
]
|
|
|
|
},
|
|
|
|
],
|
|
|
|
name: Some("tea".to_string()),
|
|
|
|
dialogue: Some("ITM_0".to_string())
|
|
|
|
},
|
|
|
|
],
|
|
|
|
dialogues: vec![
|
|
|
|
Dialogue {
|
|
|
|
id: "SPR_0".to_string(),
|
|
|
|
contents: "I'm a cat".to_string(),
|
|
|
|
},
|
|
|
|
Dialogue {
|
|
|
|
id: "ITM_0".to_string(),
|
|
|
|
contents: "You found a nice warm cup of tea".to_string(),
|
|
|
|
},
|
|
|
|
],
|
|
|
|
endings: vec![],
|
|
|
|
variables: vec![
|
|
|
|
Variable { id: "a".to_string(), initial_value: "42".to_string() }
|
|
|
|
],
|
|
|
|
}
|
|
|
|
}
|