Refactoring

This commit is contained in:
aronmal 2022-08-15 23:16:31 +02:00
parent 54df49341c
commit 6eeea185ea
Signed by: aronmal
GPG key ID: 816B7707426FC612
9 changed files with 231 additions and 118 deletions

52
frontend/src/helpers.ts Normal file
View file

@ -0,0 +1,52 @@
import { HitType, HitDispatchType } from "./interfaces";
export const hitReducer = (formObject: HitType[], action: HitDispatchType) => {
switch (action.type) {
case 'fireMissle': {
const result = [...formObject, action.payload];
return result;
}
default:
return formObject;
}
}
export const fieldIndex = (count: number, x: number, y: number) => y*(count+2)+x;
export const cornerCN = (count: number, x: number, y: number) => {
if (x === 0 && y === 0)
return 'left-top-corner';
if (x === count+1 && y === 0)
return 'right-top-corner';
if (x === 0 && y === count+1)
return 'left-bottom-corner';
if (x === count+1 && y === count+1)
return 'right-bottom-corner';
return '';
};
export const borderCN = (count: number, x: number, y: number) => {
if (x === 0)
return 'left';
if (y === 0)
return 'top';
if (x === count+1)
return 'right';
if (y === count+1)
return 'bottom';
return '';
};
export const initlialTarget = {
show: false,
x: 0,
y: 0
};
export const initlialTargetPreview = {
newX: 0,
newY: 0,
shouldShow: false,
appearOK: false,
eventReady: true,
show: false,
x: 0,
y: 0
};