@haelp/teto
Version:
A typescript-based controllable TETR.IO client.
563 lines (561 loc) • 8.96 kB
text/typescript
export interface TetrominoData {
matrix: {
w: number;
h: number;
dx: number;
dy: number;
data: [number, number, number][][];
};
preview: {
w: number;
h: number;
data: [number, number, number][];
};
xweight?: number;
}
export const tetrominoes: { [k: string]: TetrominoData } = {
i1: {
matrix: {
w: 1,
h: 1,
dx: 0,
dy: 1,
data: [[[0, 0, 255]], [[0, 0, 255]], [[0, 0, 255]], [[0, 0, 255]]]
},
preview: { w: 1, h: 1, data: [[0, 0, 255]] }
},
i2: {
matrix: {
w: 2,
h: 2,
dx: 0,
dy: 1,
data: [
[
[],
[]
],
[
[],
[]
],
[
[],
[]
],
[
[],
[]
]
]
},
preview: {
w: 2,
h: 1,
data: [
[],
[]
]
}
},
i3: {
matrix: {
w: 3,
h: 3,
dx: 1,
dy: 1,
data: [
[
[],
[],
[]
],
[
[],
[],
[]
],
[
[],
[],
[]
],
[
[],
[],
[]
]
]
},
preview: {
w: 3,
h: 1,
data: [
[],
[],
[]
]
}
},
l3: {
matrix: {
w: 2,
h: 2,
dx: 0,
dy: 1,
data: [
[
[],
[],
[]
],
[
[],
[],
[]
],
[
[],
[],
[]
],
[
[],
[],
[]
]
]
},
preview: {
w: 2,
h: 2,
data: [
[],
[],
[]
]
}
},
i5: {
matrix: {
w: 5,
h: 5,
dx: 2,
dy: 2,
data: [
[
[],
[],
[],
[],
[]
],
[
[],
[],
[],
[],
[]
],
[
[],
[],
[],
[],
[]
],
[
[],
[],
[],
[],
[]
]
]
},
preview: {
w: 5,
h: 1,
data: [
[],
[],
[],
[],
[]
]
}
},
z: {
matrix: {
w: 3,
h: 3,
dx: 1,
dy: 1,
data: [
[
[],
[],
[],
[]
],
[
[],
[],
[],
[]
],
[
[],
[],
[],
[]
],
[
[],
[],
[],
[]
]
]
},
preview: {
w: 3,
h: 2,
data: [
[],
[],
[],
[]
]
}
},
l: {
matrix: {
w: 3,
h: 3,
dx: 1,
dy: 1,
data: [
[
[],
[],
[],
[]
],
[
[],
[],
[],
[]
],
[
[],
[],
[],
[]
],
[
[],
[],
[],
[]
]
]
},
preview: {
w: 3,
h: 2,
data: [
[],
[],
[],
[]
]
}
},
o: {
matrix: {
w: 2,
h: 2,
dx: 0,
dy: 1,
data: [
[
[],
[],
[],
[]
],
[
[],
[],
[],
[]
],
[
[],
[],
[],
[]
],
[
[],
[],
[],
[]
]
]
},
preview: {
w: 2,
h: 2,
data: [
[],
[],
[],
[]
]
}
},
s: {
matrix: {
w: 3,
h: 3,
dx: 1,
dy: 1,
data: [
[
[],
[],
[],
[]
],
[
[],
[],
[],
[]
],
[
[],
[],
[],
[]
],
[
[],
[],
[],
[]
]
]
},
preview: {
w: 3,
h: 2,
data: [
[],
[],
[],
[]
]
}
},
i: {
matrix: {
w: 4,
h: 4,
dx: 1,
dy: 1,
data: [
[
[],
[],
[],
[]
],
[
[],
[],
[],
[]
],
[
[],
[],
[],
[]
],
[
[],
[],
[],
[]
]
]
},
preview: {
w: 4,
h: 1,
data: [
[],
[],
[],
[]
]
}
},
j: {
matrix: {
w: 3,
h: 3,
dx: 1,
dy: 1,
data: [
[
[],
[],
[],
[]
],
[
[],
[],
[],
[]
],
[
[],
[],
[],
[]
],
[
[],
[],
[],
[]
]
]
},
preview: {
w: 3,
h: 2,
data: [
[],
[],
[],
[]
]
}
},
t: {
matrix: {
w: 3,
h: 3,
dx: 1,
dy: 1,
data: [
[
[],
[],
[],
[]
],
[
[],
[],
[],
[]
],
[
[],
[],
[],
[]
],
[
[],
[],
[],
[]
]
]
},
preview: {
w: 3,
h: 2,
data: [
[],
[],
[],
[]
]
}
},
oo: {
matrix: {
w: 4,
h: 4,
dx: 1,
dy: 1,
data: [
[
[],
[],
[],
[],
[],
[],
[],
[]
],
[
[],
[],
[],
[],
[],
[],
[],
[]
],
[
[],
[],
[],
[],
[],
[],
[],
[]
],
[
[],
[],
[],
[],
[],
[],
[],
[]
]
]
},
preview: {
w: 4,
h: 2,
data: [
[],
[],
[],
[],
[],
[],
[],
[]
]
},
xweight: 1
}
};