🚀 bootstrap workspace

This commit is contained in:
platane
2020-07-16 01:19:21 +02:00
commit e9654e7e66
14 changed files with 7679 additions and 0 deletions

25
packages/compute/grid.ts Normal file
View File

@@ -0,0 +1,25 @@
export type Color = number;
export type Grid = {
width: number;
height: number;
data: (Color | null)[];
};
export const getIndex = (grid: Grid, x: number, y: number) =>
x * grid.height + y;
export const isInside = (grid: Grid, x: number, y: number) =>
x >= 0 && y >= 0 && x < grid.width && y < grid.height;
export const getColor = (grid: Grid, x: number, y: number) =>
grid.data[getIndex(grid, x, y)];
export const setColor = (
grid: Grid,
x: number,
y: number,
color: Color | null
) => {
grid.data[getIndex(grid, x, y)] = color;
};