{"version":3,"sources":["numberSolver.js","Board.js","Calculations.js","arithemetic.js","Options.js","SetNumbers.js","Game.js","index.js"],"names":["NumberPuzzle","target","numBigOnes","numSelections","bigOnes","littleOnes","this","random","standardBigOnes","standardLittleOnes","shuffle","reverse","values","i","push","pop","numLittleOnes","littles","n","Math","floor","a","length","j","t","map","Value","solns","best","all","forEach","v","consider","solveImpl","sort","v1","v2","compareTo","join","lhs","rhs","operator","steps","number","Number","isInteger","Error","lDist","abs","rDist","lSteps","rSteps","toString","String","toExpression","Function","replace","fn","trim","expr","plusReduce","minusReduce","multReduce","divReduce","value","operations","op","result","combine","reduce","skipIndex1","skipIndex2","combined","copy","module","exports","Command","props","className","onClick","style","color","CalculationCommand","NormalButton","NoClickButton","DisabledButton","Solution","Success","SummaryLines","listItems","summaryLines","line","index","Board","symbolExpr","isAvailable","itemValue","onSymbolClick","itemIndex","isUsed","symbol","command","onCommandClick","text1","lines","difference","renderCommand","renderSymbol","expressionItems","renderCalulationCommand","renderSolution","solution","renderSummaryLines","calculatedLines","renderSummary","targetNumber","calculatedTotal","renderResult","React","Component","getNumbers","largeCount","smallCount","results","largeNumbers","numberRands","Array","fill","numberIndexs","maxValue","maxIndex","expressionItem","arithmeticExpression","formulaHistory","bracketCount","calculatedErrors","newNumbers","setNumbers","newNumber","getTargetNumber","calculateTotal","setCalculatedTotal","setAvailableItems","exprs","soln","index1","value1","calculateFormula","numberArray","clearFormula","isNumbersAvailable","isSymbolsAvailable","isLeftBracketAvailable","isRightBracketAvailable","lastItem","isNumber","isRightBracket","formulaArray","isBaseLevel","isError","levelResult","newFormulaArray","isBracketsRemoved","newElement","tempArray","slice","num","parseInt","splice","divisor","dividend","quotient","toFixed","isCalculation","element","isNaN","parmIndex","parmSymbol","solnArray","solve","split","expr1","x","includes","concat","leftBracketIndex","getOperator","rightBracketIndex","multiplyIndex","prevIndex","s","thisIndex","e","Options","handleLargeNumberChange","parm1","numberCount","state","largeNumberCount","setState","handleTotalNumberChange","totalNumberCount","id","Modal","show","onHide","handleClose","Header","Title","Body","Container","Row","type","size","readOnly","Footer","Button","variant","onCloseClick","onSaveClick","SetNumbers","handleNumberClick","clickedNumber","selectedNums","selectedNumbers","targetNum","is25Available","is50Available","is75Available","is100Available","is10Available","is0Available","isNumsAvailable","isComplete","numberExpr","DisplayButton","AcceptButton","onAcceptClick","renderSelected","renderNumber","renderAcceptButton","Game","isOptions","smallNumberCount","isSetNumbers","newGame","setStateFromArithmeticExpression","parmText","window","confirm","removeItemFromFormula","alert","solvePuzzle","addItemToFormula","setLargeSmall","changeNumbers","numbers","setGame","parms","handleCommandClick","handleSymbolClick","handleCloseModalClick","parm2","handleSaveModalClick","closeModal","handleSetNumbersModalClick","ReactDOM","render","document","getElementById"],"mappings":"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","file":"static/js/main.c465b3cf.chunk.js","sourcesContent":["/**\r\n * The input for a numbers round: a target number and a list of values\r\n * that can be used to compute the target.\r\n */\r\n export class NumberPuzzle {\r\n /** The target number to reach. */\r\n target;\r\n /** @type {number[]} The numbers to combine to reach the target. */\r\n values;\r\n\r\n /**\r\n * Create a new numbers round. All arguments are optional; any that are\r\n * omitted will use the standard rules.\r\n * \r\n * @param {number} target The target to solve for.\r\n * @param {number} numBigOnes The number of random \"big numbers\" to select.\r\n * @param {number} numSelections The total number of numbers to select (big and little).\r\n * @param {number[]} bigOnes Array of the big numbers to choose from.\r\n * @param {number[]} littleOnes Array of the little numbers to choose from.\r\n */\r\n constructor(target, numBigOnes, numSelections, bigOnes, littleOnes) {\r\n if (target == null) target = 100 + this.random(900);\r\n if (numBigOnes == null) numBigOnes = 2;\r\n if (numSelections == null) numSelections = 6;\r\n if (bigOnes == null) bigOnes = this.standardBigOnes();\r\n if (littleOnes == null) littleOnes = this.standardLittleOnes();\r\n\r\n bigOnes = [...bigOnes];\r\n littleOnes = [...littleOnes];\r\n\r\n if (numBigOnes !== numSelections) {\r\n this.shuffle(bigOnes);\r\n this.shuffle(littleOnes);\r\n } else {\r\n // if given a list of the exact numbers to use, reverse\r\n // them to preserve their order after popping\r\n bigOnes.reverse();\r\n }\r\n\r\n this.values = [];\r\n for (let i = 0; i < numBigOnes; ++i) {\r\n this.values.push(bigOnes.pop());\r\n }\r\n const numLittleOnes = numSelections - numBigOnes;\r\n for (let i = 0; i < numLittleOnes; ++i) {\r\n this.values.push(littleOnes.pop());\r\n }\r\n\r\n this.target = target;\r\n }\r\n\r\n /** Return an array of the standard big numbers. */\r\n standardBigOnes() {\r\n return [100, 75, 50, 25];\r\n }\r\n\r\n /** Return an array of the standard little numbers. */\r\n standardLittleOnes() {\r\n const littles = [];\r\n for (let i = 1; i <= 10; ++i) {\r\n littles.push(i, i);\r\n }\r\n return littles;\r\n }\r\n\r\n /** Choose a random integer from 0 to n-1. */\r\n random(n) {\r\n return Math.floor(Math.random() * Math.floor(n));\r\n }\r\n\r\n /** Randomize the elements in an array. */\r\n shuffle(a) {\r\n for (let i = 0; i < a.length; ++i) {\r\n const j = this.random(a.length);\r\n const t = a[i];\r\n a[i] = a[j];\r\n a[j] = t;\r\n }\r\n }\r\n\r\n /**\r\n * Returns solutions for the puzzle, if any.\r\n * @returns {{best: Value, all: Value[]}} The best (or closest) solution,\r\n * and all exact solutions.\r\n */\r\n solve() {\r\n let values = this.values.map(n => new Value(n));\r\n let solns = {\r\n best: values[0],\r\n all: []\r\n }\r\n values.forEach(v => consider(v, this.target, solns));\r\n solveImpl(values, this.target, solns);\r\n solns.all.sort((v1, v2) => v1.compareTo(v2, this.target));\r\n return solns;\r\n }\r\n\r\n toString() {\r\n return `Try to make ${this.target} using ${this.values.join(\", \")}.`;\r\n }\r\n}\r\n\r\n/**\r\n * Describes one value that may be part of a solution, including a description\r\n * of all the steps that led up to this value.\r\n */\r\nclass Value {\r\n number;\r\n lhs = null;\r\n rhs = null;\r\n operator = null;\r\n steps = 0;\r\n\r\n /**\r\n * Creates a new Value. The constructor is used to create the starting\r\n * values that act as inputs to the problem.\r\n * \r\n * @param {number} n The input value.\r\n */\r\n constructor(n) {\r\n this.number = n;\r\n }\r\n\r\n /**\r\n * Returns a new value that combines this value with the specified value\r\n * using the given operand. This value must be greater than\r\n * or equal to the rhs value.\r\n * \r\n * @param {Value} rhs The value to combine with this value.\r\n * @param {\"+\"|\"-\"|\"×\"|\"/\"} operator The arithmetic operation to apply.\r\n * @returns {Value} The derived value, or null if the result is not allowed\r\n * (a fraction or number less than one).\r\n */\r\n combine(rhs, operator) {\r\n let n;\r\n switch (operator) {\r\n case \"+\":\r\n n = this.number + rhs.number;\r\n break;\r\n case \"×\":\r\n n = this.number * rhs.number;\r\n break;\r\n case \"-\":\r\n n = this.number - rhs.number;\r\n if (n < 1) return null;\r\n break;\r\n case \"/\":\r\n n = this.number / rhs.number;\r\n if (!Number.isInteger(n)) return null;\r\n break;\r\n default: throw new Error(`unknown operator ${operator}`);\r\n }\r\n\r\n let v = new Value(n);\r\n v.lhs = this;\r\n v.rhs = rhs;\r\n v.operator = operator;\r\n v.steps = this.steps + rhs.steps + 1;\r\n return v;\r\n }\r\n\r\n /**\r\n * Compares this value to another value, returning zero if the values are equal,\r\n * a negative number if this value precedes the other value, or a positive number\r\n * otherwise.\r\n * \r\n * @param {Value} rhs The value to compare this value to.\r\n * @param {number} target The round's target number.\r\n */\r\n compareTo(rhs, target) {\r\n // pick value closest to target\r\n const lDist = Math.abs(this.number - target);\r\n const rDist = Math.abs(rhs.number - target);\r\n if (lDist !== rDist) return lDist - rDist;\r\n\r\n // pick value that requires the fewest steps\r\n const lSteps = this.steps;\r\n const rSteps = rhs.steps;\r\n if (lSteps !== rSteps) return lSteps - rSteps;\r\n\r\n // pick value with shortest string representation\r\n return this.toString().length - rhs.toString().length;\r\n }\r\n\r\n /**\r\n * Returns a string that reprents the steps used to create this value as a JavaScript expression.\r\n */\r\n toExpression() {\r\n if (this.lhs == null) {\r\n return String(this.number);\r\n }\r\n return `(${this.lhs.toExpression()}) ${this.operator} (${this.rhs.toExpression()})`;\r\n }\r\n\r\n /**\r\n * Returns whether the string expression for this Value actually matches its number value.\r\n */\r\n verify() {\r\n let fn = new Function(`return ${this.number} === ${this.toString().replace(/×/g, \"*\")}`);\r\n return fn();\r\n }\r\n\r\n /**\r\n * Returns a string that describes the steps needed to reproduce\r\n * this value from the starting input.\r\n */\r\n toListOfSteps() {\r\n // if this is a starting value, then the only \"step\"\r\n // involved is that the number itself matches the target\r\n if (this.lhs == null) {\r\n return `${this.number} = ${this.number}`;\r\n }\r\n\r\n // recursive helper function that walks the history tree,\r\n // capturing the calculations performed in reverse order\r\n function steps(v) {\r\n // ignore starting values\r\n if (v.lhs == null) return \"\";\r\n // first gather up the steps from deeper in the tree,\r\n // then append this step to the end\r\n const prevSteps = steps(v.lhs) + steps(v.rhs);\r\n return prevSteps + `${v.lhs.number} ${v.operator} ${v.rhs.number} = ${v.number}\\n`;\r\n };\r\n return steps(this).trim();\r\n }\r\n\r\n toString() {\r\n if (this.#simpleExpression == null) {\r\n let expr = this.toExpression();\r\n // replace lone numbers in brackets with just the number\r\n expr = expr.replace(/\\((\\d+)\\)/ug, \"$1\");\r\n\r\n const plusReduce = /\\(\\((\\d+) \\+ (\\d+(?: \\+ \\d+)*)\\) \\+ (\\d+)\\)/ug;\r\n const minusReduce = /\\(\\((\\d+) - (\\d+(?: - \\d+)*)\\) - (\\d+)\\)/ug;\r\n const multReduce = /\\(\\((\\d+) × (\\d+(?: × \\d+)*)\\) × (\\d+)\\)/ug;\r\n const divReduce = /\\(\\((\\d+) \\/ (\\d+(?: \\/ \\d+)*)\\) \\/ (\\d+)\\)/ug;\r\n for (; ;) {\r\n let oldExpr = expr;\r\n expr = expr.replace(plusReduce, \"($1 + $2 + $3)\");\r\n expr = expr.replace(minusReduce, \"($1 - $2 - $3)\");\r\n expr = expr.replace(multReduce, \"($1 × $2 × $3)\");\r\n expr = expr.replace(divReduce, \"($1 / $2 / $3)\");\r\n if (oldExpr === expr) break;\r\n }\r\n this.#simpleExpression = expr;\r\n }\r\n return this.#simpleExpression;\r\n }\r\n #simpleExpression = null;\r\n}\r\n\r\n/**\r\n * Consider a potential solution, adding it to the list if relevant.\r\n * \r\n * @param {Value} value The potential solution to consider.\r\n * @param {number} target The target number.\r\n * @param {{best: Value, all: Value[]}} solns The collection of solutions found so far.\r\n */\r\nfunction consider(value, target, solns) {\r\n if (value.compareTo(solns.best, target) < 0) {\r\n solns.best = value;\r\n }\r\n if (value.number === target) {\r\n solns.all.push(value);\r\n }\r\n}\r\n\r\nconst operations = [\"+\", \"-\", \"×\", \"/\"];\r\n\r\n/**\r\n * Implementation of the puzzle solver.\r\n * \r\n * @param {Value[]} values The number values to use to make the target.\r\n * @param {number} target The target number to reach.\r\n * @param {{best: Value, all: Value[]}} solns Discovered solutions.\r\n */\r\nfunction solveImpl(values, target, solns) {\r\n for (let i = 0; i < values.length - 1; ++i) {\r\n for (let j = i + 1; j < values.length; ++j) {\r\n // get pair of values to combine and ensure they are in sorted order\r\n let lhs = values[i], rhs = values[j];\r\n if (lhs.number < rhs.number) {\r\n [lhs, rhs] = [rhs, lhs];\r\n }\r\n\r\n // try combining the values with each operation\r\n for (let op of operations) {\r\n const result = lhs.combine(rhs, op);\r\n if (result == null) continue;\r\n\r\n consider(result, target, solns);\r\n\r\n // if there are more than two values left in the list,\r\n // we can still make more pairs from the shorter list\r\n if (values.length > 2) {\r\n const reducedValues = reduce(values, i, j, result);\r\n solveImpl(reducedValues, target, solns);\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Returns a copy of a value array with the specified elements\r\n * merged into a single new entry. The indices must be different.\r\n */\r\nfunction reduce(values, skipIndex1, skipIndex2, combined) {\r\n if (combined == null) return null;\r\n const copy = [combined];\r\n for (let i = 0; i < values.length; ++i) {\r\n if (i === skipIndex1 || i === skipIndex2) continue;\r\n copy.push(values[i]);\r\n }\r\n return copy;\r\n}\r\n\r\n\r\nif (typeof module === \"object\" && typeof module.exports === \"object\") {\r\n exports.NumberPuzzle = NumberPuzzle;\r\n exports.Value = Value;\r\n}","import React from 'react';\r\n\r\nfunction Command(props) {\r\n return (\r\n \r\n );\r\n}\r\n\r\nfunction CalculationCommand(props) {\r\n return (\r\n \r\n );\r\n}\r\n\r\nfunction NormalButton(props) {\r\n return (\r\n \r\n );\r\n}\r\nfunction NoClickButton(props) {\r\n return (\r\n \r\n );\r\n}\r\n\r\n\r\nfunction DisabledButton(props) {\r\n return (\r\n \r\n );\r\n}\r\n\r\nfunction Solution(props) {\r\n return (\r\n
\r\n {props.value}\r\n
\r\n );\r\n}\r\n\r\nfunction Success() {\r\n return (\r\n\r\n Success, difference = 0\r\n
\r\n );\r\n}\r\n\r\nfunction SummaryLines(props) {\r\n const lines = props.summaryLines;\r\n const listItems = lines.map((line, index) =>\r\n{line}
\r\n );\r\n return (\r\n