feat(jogo): expediente dos mortos, jogo de zumbis em primeira pessoa
Etapa 1 inteira (logica com 100% de cobertura, cena 3D, toque, sons, bancada de desempenho, e2e) e a base da etapa 2 (mapa novo no Tiled, texturas, imagens dos itens, sons conferidos, golpe recortado e medido). Pagina /jogo fora do menu e do sitemap ate a medicao no celular.
This commit is contained in:
1 parent
c7d09d63d4
commit
67b32fcab3
118 files changed
+16730
No files matched your search
@@ -0,0 +1,89 @@
|
||||
// Gerado por `bash 3d/mapa.sh` (`python3 3d/mapa.py converter`) a partir de 3d/mapa/escritorio.tmx: não edite à mão.
|
||||
|
||||
/** Planta do escritório para `lerMapa`: `#` parede ou móvel alto, `M` móvel baixo, `.` chão, `J` início, `N` nascedouro. */
|
||||
export const ESCRITORIO: readonly string[] = [
|
||||
"############################################",
|
||||
"#..MMM.........#............#MMM..........##",
|
||||
"#..............#............#.............##",
|
||||
"#M......MMMM...#..MMMMMMMM.........MMMM...##",
|
||||
"#M.............#..MMMMMMMM.........MMMM...##",
|
||||
"#M.....J.......#............#..............#",
|
||||
"#M.............#............#..............#",
|
||||
"####..######..####..####..####..############",
|
||||
"#........#........................#........#",
|
||||
"#........#........................#........#",
|
||||
"#........#..#########..#####..##..#..#######",
|
||||
"#M..MM......#.................##...........#",
|
||||
"#M..MM......#.................##...........#",
|
||||
"#M.......#..#..MMMMM...MMMMM..##..#..#######",
|
||||
"#M.......#..#..MMMMM...MMMMM...#..#........#",
|
||||
"#MMMM..###........................#........#",
|
||||
"##########........................####..####",
|
||||
"###..MMMM#..#..MMMMM...MMMMM...#..#.......##",
|
||||
"###......#..#..MMMMM...MMMMM...#..#.......##",
|
||||
"###.........#..................#..........##",
|
||||
"###.........#..................#.....###...#",
|
||||
"###...N..#..#########..#########..#........#",
|
||||
"#........#........................#......N.#",
|
||||
"#........#........................###......#",
|
||||
"####..#######..#####..######..########..####",
|
||||
"#................#......#..................#",
|
||||
"#................#......#..................#",
|
||||
"#.N....N.............####...............MMM#",
|
||||
"#....................####...............MMM#",
|
||||
"####..###........#.N.####.N................#",
|
||||
"####..###..MMMM..#...####..######........N.#",
|
||||
"############################################",
|
||||
];
|
||||
|
||||
/** Salas com nome, em células (x para a direita, z para baixo). */
|
||||
export const AMBIENTES: readonly {
|
||||
nome: string;
|
||||
x: number;
|
||||
z: number;
|
||||
largura: number;
|
||||
altura: number;
|
||||
}[] = [
|
||||
{ nome: "recepção", x: 1, z: 1, largura: 14, altura: 6 },
|
||||
{ nome: "sala de reunião", x: 16, z: 1, largura: 12, altura: 6 },
|
||||
{ nome: "diretoria", x: 29, z: 1, largura: 14, altura: 6 },
|
||||
{ nome: "copa", x: 1, z: 8, largura: 8, altura: 8 },
|
||||
{ nome: "banheiros", x: 1, z: 17, largura: 8, altura: 7 },
|
||||
{ nome: "área de mesas", x: 13, z: 11, largura: 18, altura: 10 },
|
||||
{ nome: "sala do servidor", x: 35, z: 8, largura: 8, altura: 8 },
|
||||
{ nome: "almoxarifado", x: 35, z: 17, largura: 8, altura: 7 },
|
||||
{ nome: "hall dos elevadores", x: 1, z: 25, largura: 16, altura: 6 },
|
||||
{ nome: "escada", x: 18, z: 25, largura: 6, altura: 6 },
|
||||
{ nome: "área de serviço", x: 25, z: 25, largura: 18, altura: 6 },
|
||||
];
|
||||
|
||||
/** Células abertas nas paredes, em células. */
|
||||
export const PORTAS: readonly {
|
||||
x: number;
|
||||
z: number;
|
||||
largura: number;
|
||||
altura: number;
|
||||
}[] = [
|
||||
{ x: 4, z: 7, largura: 2, altura: 1 },
|
||||
{ x: 12, z: 7, largura: 2, altura: 1 },
|
||||
{ x: 18, z: 7, largura: 2, altura: 1 },
|
||||
{ x: 24, z: 7, largura: 2, altura: 1 },
|
||||
{ x: 28, z: 3, largura: 1, altura: 2 },
|
||||
{ x: 30, z: 7, largura: 2, altura: 1 },
|
||||
{ x: 9, z: 11, largura: 1, altura: 2 },
|
||||
{ x: 9, z: 19, largura: 1, altura: 2 },
|
||||
{ x: 4, z: 24, largura: 2, altura: 1 },
|
||||
{ x: 13, z: 24, largura: 2, altura: 1 },
|
||||
{ x: 17, z: 27, largura: 1, altura: 2 },
|
||||
{ x: 20, z: 24, largura: 2, altura: 1 },
|
||||
{ x: 28, z: 24, largura: 2, altura: 1 },
|
||||
{ x: 38, z: 24, largura: 2, altura: 1 },
|
||||
{ x: 34, z: 19, largura: 1, altura: 2 },
|
||||
{ x: 38, z: 16, largura: 2, altura: 1 },
|
||||
{ x: 34, z: 11, largura: 1, altura: 2 },
|
||||
{ x: 21, z: 10, largura: 2, altura: 1 },
|
||||
{ x: 28, z: 10, largura: 2, altura: 1 },
|
||||
{ x: 21, z: 21, largura: 2, altura: 1 },
|
||||
{ x: 12, z: 15, largura: 1, altura: 2 },
|
||||
{ x: 31, z: 15, largura: 1, altura: 2 },
|
||||
];
|
||||
Reference in new issue
Block a user