2048 Calculator
Info
Created On: July 29, 2023
Created By:
AI
Model: gpt-3.5-turbo-16k-0613
Time: 20 seconds
Prompt Tokens: 813
Completion Tokens: 1575
Total Token Cost: 2388
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
<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>2048 Calculator</title>
<meta name="description" content="A calculator game inspired by 2048 with numbers from 1 to 2048.">
<meta name="keywords" content="2048, calculator, game, numbers">
<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">
<!-- Built-In Functions for Apps -->
<script type="text/javascript">
var localStoragePrefix = "ct-169067480025742";
var lastSave = 0;
// save to localstorage
function saveLocal(data) {
if (Date.now() - lastSave < 1000) {
return;
}
// save to cookie
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();
}
// load from localstorage
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);
}
}
// Shuffle array
function shuffle(array) {
var currentIndex = array.length, temporaryValue, randomIndex;
// While there remain elements to shuffle...
while (0 !== currentIndex) {
// Pick a remaining element...
randomIndex = Math.floor(Math.random() * currentIndex);
currentIndex -= 1;
// And swap it with the current element.
temporaryValue = array[currentIndex];
array[currentIndex] = array[randomIndex];
array[randomIndex] = temporaryValue;
}
return array;
}
</script>
<style>
body {
background-color: #f8f9fa;
font-family: 'Roboto', sans-serif;
}
#main-container {
max-width: 400px;
margin: 0 auto;
padding-top: 20px;
}
.calculator {
background-color: #ffffff;
border-radius: 10px;
padding: 15px;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
.display {
background-color: #f1f3f5;
border-radius: 5px;
padding: 10px;
font-size: 24px;
text-align: right;
margin-bottom: 15px;
}
.buttons {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 10px;
}
.button {
background-color: #e9ecef;
border-radius: 5px;
padding: 15px;
text-align: center;
font-size: 20px;
cursor: pointer;
transition: background-color 0.3s ease;
}
.button:hover {
background-color: #dee2e6;
}
.button.operator {
background-color: #007bff;
color: #ffffff;
}
.button.operator:hover {
background-color: #0056b3;
}
.button.clear {
background-color: #dc3545;
color: #ffffff;
}
.button.clear:hover {
background-color: #9c2e38;
}
</style>
<link rel="canonical" href="https://calculator.tools/prompt/2652/">
<meta charset="utf-8">
</head>
<body>
<div id="main-container" class="container">
<div class="calculator">
<div class="display" id="display">0</div>
<div class="buttons">
<div class="button clear" onclick="clearDisplay()">C</div>
<div class="button operator" onclick="backspace()"><i class="fa fa-chevron-left"></i></div>
<div class="button operator" onclick="calculate()"><i class="fa fa-equals"></i></div>
<div class="button operator" onclick="addOperator('+')">+</div>
<div class="button" onclick="addNumber(1)">1</div>
<div class="button" onclick="addNumber(2)">2</div>
<div class="button" onclick="addNumber(3)">3</div>
<div class="button operator" onclick="addOperator('-')">-</div>
<div class="button" onclick="addNumber(4)">4</div>
<div class="button" onclick="addNumber(5)">5</div>
<div class="button" onclick="addNumber(6)">6</div>
<div class="button operator" onclick="addOperator('*')">*</div>
<div class="button" onclick="addNumber(7)">7</div>
<div class="button" onclick="addNumber(8)">8</div>
<div class="button" onclick="addNumber(9)">9</div>
<div class="button operator" onclick="addOperator('/')">/</div>
<div class="button" onclick="addNumber(0)">0</div>
<div class="button" onclick="addNumber(10)">10</div>
<div class="button" onclick="addNumber(100)">100</div>
<div class="button operator" onclick="addOperator('^')">^</div>
</div>
</div>
</div>
<script>
var display = document.getElementById('display');
var calculation = '';
function addNumber(number) {
calculation += number;
display.innerText = calculation;
}
function addOperator(operator) {
calculation += ' ' + operator + ' ';
display.innerText = calculation;
}
function clearDisplay() {
calculation = '';
display.innerText = '0';
}
function backspace() {
calculation = calculation.slice(0, -1);
display.innerText = calculation;
}
function calculate() {
try {
var result = eval(calculation);
display.innerText = result;
} catch (error) {
display.innerText = 'Error';
}
}
</script>
<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>