Piano Game
Info
Created On: June 29, 2023
Created By:
AI
Model: gpt-3.5-turbo-16k-0613
Time: 24 seconds
Prompt Tokens: 812
Completion Tokens: 929
Total Token Cost: 1741
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>Piano Game</title>
<meta name="description" content="Play the piano by pressing the keys">
<meta name="keywords" content="piano, game, keys, music">
<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">
<!-- Piano Game CSS -->
<style>
body {
background-color: #f5f5f5;
font-family: 'Open Sans', sans-serif;
}
h1 {
text-align: center;
margin-top: 50px;
color: #333;
}
.piano-container {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: flex-end;
margin-top: 50px;
}
.piano-key {
width: 60px;
height: 200px;
margin: 10px;
background-color: #e9e9e9;
border-radius: 10px;
box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.2);
transition: background-color 0.3s;
cursor: pointer;
}
.piano-key:hover {
background-color: #ddd;
}
.piano-key.active {
background-color: #aaa;
}
</style>
<!-- Piano Game Javascript -->
<script type="text/javascript">
$(document).ready(function() {
var pianoKeys = ['C', 'D', 'E', 'F', 'G', 'A', 'B'];
function playSound(note) {
var audio = new Audio('https://www.myinstants.com/media/sounds/piano_' + note.toLowerCase() + '.mp3');
audio.play();
}
$('.piano-key').on('mousedown touchstart', function() {
var note = $(this).attr('data-note');
$(this).addClass('active');
playSound(note);
});
$('.piano-key').on('mouseup touchend', function() {
$(this).removeClass('active');
});
$(document).on('keydown', function(e) {
var index = e.keyCode - 65;
if (index >= 0 && index < pianoKeys.length) {
var note = pianoKeys[index];
$('.piano-key[data-note="' + note + '"]').addClass('active');
playSound(note);
}
});
$(document).on('keyup', function(e) {
var index = e.keyCode - 65;
if (index >= 0 && index < pianoKeys.length) {
var note = pianoKeys[index];
$('.piano-key[data-note="' + note + '"]').removeClass('active');
}
});
});
</script>
<link rel="canonical" href="https://calculator.tools/prompt/915/">
<meta charset="utf-8">
</head>
<body>
<div id="main-container" class="container">
<h1>Piano Game</h1>
<div class="piano-container">
<div class="piano-key" data-note="C"></div>
<div class="piano-key" data-note="D"></div>
<div class="piano-key" data-note="E"></div>
<div class="piano-key" data-note="F"></div>
<div class="piano-key" data-note="G"></div>
<div class="piano-key" data-note="A"></div>
<div class="piano-key" data-note="B"></div>
</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>