Skip to content

Commit

Permalink
feat: creates the parserManager to export func
Browse files Browse the repository at this point in the history
  • Loading branch information
artrsousa1 committed Dec 2, 2024
1 parent 786940f commit aa1088d
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 11 deletions.
8 changes: 5 additions & 3 deletions front/src/components/Grid.jsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import React, { useState } from 'react';
import parseMap from '../utils/parser';
import parserManager from '../utils/parser';
import Button from '../components/Button';

const asset = {
Expand Down Expand Up @@ -30,8 +30,10 @@ function Grid({ map, startGrid }) {
};

const handleSolve = async (currentState, map) => {
const parsed = parseMap(currentState, map);
console.log(parsed);
const parsed = parserManager.parseMap(currentState, map);
const { decodedMap, decodedState } = parserManager.resrap(parsed);
console.log(decodedMap);
console.log(decodedState);
}

return (
Expand Down
41 changes: 33 additions & 8 deletions front/src/utils/parser.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,17 +20,42 @@ const dict = {
"03": line_vert
}

export default function parseMap(currentState, map) {
let parsedArray = Array(7).fill().map(() => Array(7).fill(null));
for (let i = 0; i < 7; i++) {
for (let j = 0; j < 7; j++) {
const key = String(map[i][j]) + String(currentState[i][j]);
parsedArray[i][j] = dict[key];
const parserManager = {
parseMap(currentState, map) {
let parsedArray = Array(7).fill().map(() => Array(7).fill(null));
for (let i = 0; i < 7; i++) {
for (let j = 0; j < 7; j++) {
const key = String(map[i][j]) + String(currentState[i][j]);
parsedArray[i][j] = dict[key];
}
}

return parsedArray;
},
resrap(parsed) {
let decodedMap = Array(7).fill().map(() => Array(7).fill(0));
let decodedState = Array(7).fill().map(() => Array(7).fill(0));
for (let i = 0; i < 7; i++) {
for (let j = 0; j < 7; j++) {
const value = parsed[i][j];
const key = Object.keys(dict).find(key => dict[key] === value);
decodedMap[i][j] = parseInt(key[0]);
decodedState[i][j] = parseInt(key[1]);
}
}
}

return parsedArray;
decodedMap[0][0] = 8;
decodedMap[6][6] = 9;

return {
decodedMap,
decodedState
}
}
}


export default parserManager;



0 comments on commit aa1088d

Please sign in to comment.