Math Game for Kids
Info
Created On: April 12, 2023
Created By:
AI
Model: gpt-4-0314
Time: 209 seconds
Prompt Tokens: 1082
Completion Tokens: 1541
Total Token Cost: 2623
Get This App On Your Website
Copy Code
1. Copy the code above with the iframe and link.
2. Paste the code into your website.
3. Resize the iframe to fit your website.
Javascript, HTML, CSS Code
Copy
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript"> window.addEventListener('error', function(event) { var message = JSON.parse(JSON.stringify(event.message)); var source = event.filename; var lineno = event.lineno; var colno = event.colno; var error = event.error; window.parent.postMessage({ type: 'iframeError', details: { message: message, source: source, lineno: lineno, colno: colno, error: error ? error.stack : '' } }, '*'); }); window.addEventListener('unhandledrejection', function(event) { window.parent.postMessage({ type: 'iframePromiseRejection', details: { reason: event.reason } }, '*'); }); </script>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Math Game for Kids</title>
<meta name="description" content="A fun and educational math game for kids to learn addition and subtraction.">
<meta name="keywords" content="math game, kids, addition, subtraction, education">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
<link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
<script type="text/javascript">
var localStoragePrefix = "ct-168126736643497";
var lastSave = 0;
function saveLocal(data) {
if (Date.now() - lastSave < 1000) {
return;
}
let cookie = localStoragePrefix + "=" + JSON.stringify(data) + "; path=" + window.location.pathname + "'; SameSite=Strict";
cookie += "; expires=" + new Date(Date.now() + 1000 * 60 * 60 * 24 * 365 * 1000).toUTCString();
document.cookie = cookie;
lastSave = Date.now();
}
function loadLocal() {
var cookiePrefix = localStoragePrefix + "=";
var cookieStart = document.cookie.indexOf(cookiePrefix);
if (cookieStart > -1) {
let cookieEnd = document.cookie.indexOf(";", cookieStart);
if (cookieEnd == -1) {
cookieEnd = document.cookie.length;
}
var cookieData = document.cookie.substring(cookieStart + cookiePrefix.length, cookieEnd);
return JSON.parse(cookieData);
}
}
</script>
<script type="text/javascript">
// App Javascript Goes Here
$(document).ready(function() {
function generateEquation() {
let num1 = Math.floor(Math.random() * 16);
let num2 = Math.floor(Math.random() * 16);
let operation = Math.random() < 0.5 ? "+" : "-";
if (operation === "-" && num1 < num2) {
[num1, num2] = [num2, num1];
}
let correctAnswer = operation === "+" ? num1 + num2 : num1 - num2;
return { num1, num2, operation, correctAnswer };
}
function generateChoices(correctAnswer) {
let choices = [correctAnswer];
while (choices.length < 3) {
let randomChoice = Math.floor(Math.random() * 31) + 1;
if (!choices.includes(randomChoice)) {
choices.push(randomChoice);
}
}
return choices.sort(() => Math.random() - 0.5);
}
function resetGame() {
let equation = generateEquation();
let choices = generateChoices(equation.correctAnswer);
$("#num1").text(equation.num1);
$("#num2").text(equation.num2);
$("#operation").text(equation.operation);
$(".choice").each(function(index) {
$(this).text(choices[index]).removeClass("wrong correct");
});
$("#tractor").css({ left: "0px", top: "0px" });
}
function checkAnswer() {
let tractorPosition = $("#tractor").position();
let result = false;
let correct = false;
$(".choice").each(function() {
let choicePosition = $(this).position();
if (Math.abs(tractorPosition.left - choicePosition.left) < 75 && Math.abs(tractorPosition.top - choicePosition.top) < 75) {
result = true;
if ($(this).text() === $("#num1").text() + $("#operation").text() + $("#num2").text()) {
correct = true;
$(this).addClass("correct");
setTimeout(resetGame, 3000);
let audio = new Audio('https://ssl.gstatic.com/dictionary/static/sounds/20200429/way_to_go--_gb_1.mp3');
audio.play();
} else {
$(this).addClass("wrong");
}
}
});
return result && correct;
}
$(document).keydown(function(e) {
let tractor = $("#tractor");
let position = tractor.position();
switch (e.which) {
case 37: // left
tractor.css({ left: position.left - 25 + "px" });
break;
case 38: // up
tractor.css({ top: position.top - 25 + "px" });
break;
case 39: // right
tractor.css({ left: position.left + 25 + "px" });
break;
case 40: // down
tractor.css({ top: position.top + 25 + "px" });
break;
}
checkAnswer();
});
resetGame();
});
</script>
<style>
/* App CSS Goes Here */
body {
background: linear-gradient(to right, #ff0000, #ff7f00, #ffff00, #00ff00, #0000ff, #4b0082, #8f00ff);
}
.equation {
font-size: 48px;
font-weight: bold;
color: purple;
display: flex;
justify-content: space-around;
margin-bottom: 50px;
}
.choices {
display: flex;
justify-content: space-between;
margin-bottom: 50px;
}
.choice {
font-size: 48px;
font-weight: bold;
color: purple;
width: 75px;
height: 75px;
text-align: center;
line-height: 75px;
}
.correct::after {
content: "🌟";
}
.wrong::after {
content: "❌";
}
#tractor {
font-size: 48px;
position: relative;
}
</style>
<link rel="canonical" href="https://calculator.tools/prompt/304/">
<meta charset="utf-8">
</head>
<body>
<div id="main-container" class="container">
<!-- App HTML Goes Here -->
<div class="equation">
<span id="num1"></span>
<span id="operation"></span>
<span id="num2"></span>
</div>
<div class="choices">
<div class="choice"></div>
<div class="choice"></div>
<div class="choice"></div>
</div>
<div id="tractor">🚜</div>
</div>
<script type="text/javascript"> var localStoragePrefix = "ct-{{ cachebreaker }}"; var lastSave = 0; function saveLocal(data) { if (Date.now() - lastSave < 1000) { return; } let cookie = localStoragePrefix + "=" + JSON.stringify(data) + "; path=" + window.location.pathname + "'; SameSite=Strict"; cookie += "; expires=" + new Date(Date.now() + 1000 * 60 * 60 * 24 * 365 * 1000).toUTCString(); document.cookie = cookie; lastSave = Date.now(); } function loadLocal() { var cookiePrefix = localStoragePrefix + "="; var cookieStart = document.cookie.indexOf(cookiePrefix); if (cookieStart > -1) { let cookieEnd = document.cookie.indexOf(";", cookieStart); if (cookieEnd == -1) { cookieEnd = document.cookie.length; } var cookieData = document.cookie.substring(cookieStart + cookiePrefix.length, cookieEnd); return JSON.parse(cookieData); } } </script>
<script type="text/javascript"> window.addEventListener('load', function() { var observer = new MutationObserver(function() { window.parent.postMessage({height: document.documentElement.scrollHeight || document.body.scrollHeight},"*"); }); observer.observe(document.body, {attributes: true, childList: true, subtree: true}); window.parent.postMessage({height: document.documentElement.scrollHeight || document.body.scrollHeight},"*"); }); </script>
</body>
</html>