aupl-ss24-sudoku-solver/visualizeResult.ts

36 lines
865 B
TypeScript

// Copyright (C) 2024 AstroGD® Lukas Weber
// Sources used: https://stackoverflow.com/a/32599033
import { createReadStream } from "fs";
import { createInterface } from "readline";
import { visualizeValues } from "./src/visualizeValues";
async function parseInputFile(): Promise<number[]> {
const fileStream = createReadStream("./result.cnf");
const rl = createInterface({
input: fileStream,
crlfDelay: Infinity,
});
const result: number[] = [];
for await (const line of rl) {
if (!line.startsWith("v")) continue;
const values = line.split(" ").slice(1).map(Number);
for (const value of values) {
if (value <= 0) continue;
result.push(value);
}
}
return result;
}
async function main(): Promise<void> {
const values = await parseInputFile();
console.log("Result:");
visualizeValues(values);
}
main();