// ==UserScript== // @name Mathletics Auto Math Solver // @namespace / http://tampermonkey.net // @version 2.0 // @description Automatically solves Mathletics math problems when "A" is pressed. // @author nukerboss // @match https://*.mathletics.com/* // @grant none // @downloadURL none // ==/UserScript== (function() { 'use strict'; // Function to solve addition, subtraction, and multiplication equations function solveEquation() { var equation = document.getElementsByClassName('questions-text-alignment whiteTextWithShadow question-size-v4')[0].innerText.trim(); var result; if (equation.includes("=")) { var equationParts = equation.split('='); var leftPart = equationParts[0].trim(); var rightSide = parseInt(equationParts[1].trim()); if (leftPart.includes("_")) { // Solve for blank space in the equation if (leftPart.includes("+")) { var parts = leftPart.split("+"); var leftNumber = parseInt(parts[0].trim()); result = rightSide - leftNumber; } else if (leftPart.includes("-")) { var parts = leftPart.split("-"); var leftNumber = parseInt(parts[0].trim()); result = leftNumber - rightSide; } else if (leftPart.includes("×")) { var parts = leftPart.split("×"); var leftNumber = parseInt(parts[0].trim()); result = rightSide / leftNumber; } } else { // Handle standard equations var parts = leftPart.split(" "); var firstNum = parseInt(parts[0].trim()); var operator = parts[1]; var secondNum = parseInt(parts[2].trim()); switch (operator) { case "+": result = firstNum + secondNum; break; case "-": result = firstNum - secondNum; break; case "×": result = firstNum * secondNum; break; } } // Display the result document.getElementById("dashow").innerText = result; document.getElementsByClassName("questions-input-adjustment questions-input-width-v3")[0].value = result; } } // Event listener for the "A" key to solve the equation window.addEventListener("keydown", function(e) { if (e.key === "A" || e.key === "a") { solveEquation(); } }); })();