1export type GridType = {
2 type: Tiles;
3 wallX: boolean;
4 wallY: boolean;
5}[][];
6
7export type N2 = {
8 x: number;
9 y: number;
10};
11
12export const tiles = [
13 "empty",
14 "joker",
15 "green_cog",
16 "green_moon",
17 "green_planet",
18 "green_star",
19 "blue_cog",
20 "blue_moon",
21 "blue_planet",
22 "blue_star",
23 "red_cog",
24 "red_moon",
25 "red_planet",
26 "red_star",
27 "yellow_cog",
28 "yellow_moon",
29 "yellow_planet",
30 "yellow_star",
31] as const;
32
33export type Tiles = (typeof tiles)[number];
34
35export const tilesNoEmpty = tiles.filter(
36 (t): t is TilesNoEmpty => t !== "empty",
37);
38
39export type TilesNoEmpty = Exclude<Tiles, "empty">;
40
41export type Rockets = {
42 red: N2;
43 green: N2;
44 blue: N2;
45 yellow: N2;
46 silver: N2;
47};
48
49export type Rocket = keyof Rockets;